@import url('https://fonts.googleapis.com/css2?family=Caveat+Brush&display=swap');

:root { --ink:#153454; --paper:#f8f4eb; --coral:#f5a64a; --blue:#294f76; --gold:#f8cc78; --font-brush:'Caveat Brush','Segoe Print','Bradley Hand',cursive; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Arial, Helvetica, sans-serif; }
a { color:inherit; text-decoration:none; }
main { overflow:hidden; }
section[id] { scroll-margin-top:92px; }
.paper-grain { position:fixed; inset:0; z-index:1000; pointer-events:none; opacity:.23; mix-blend-mode:multiply; background-image:repeating-linear-gradient(4deg,rgba(74,54,30,.07) 0,rgba(74,54,30,.07) 1px,transparent 1px,transparent 5px),repeating-linear-gradient(93deg,rgba(255,255,255,.22) 0,rgba(255,255,255,.22) 1px,transparent 1px,transparent 9px),radial-gradient(circle at 12% 26%,rgba(48,37,21,.18) 0 .6px,transparent .9px),radial-gradient(circle at 73% 61%,rgba(48,37,21,.14) 0 .7px,transparent 1px); background-size:97px 71px,83px 113px,17px 19px,23px 29px; }
.nav-wrap { height:92px; display:flex; align-items:center; justify-content:space-between; padding:0 4.5vw; border-bottom:1px solid rgba(21,52,84,.2); position:fixed; top:0; left:0; width:100%; z-index:100; background:rgba(248,244,235,.93); backdrop-filter:blur(13px); -webkit-backdrop-filter:blur(13px); box-shadow:0 6px 20px rgba(21,52,84,.08); }
.nav-wrap:after { content:""; position:absolute; left:0; right:0; bottom:-5px; height:7px; opacity:.38; background:linear-gradient(90deg,transparent 0 2%,var(--coral) 2% 13%,transparent 13% 18%,var(--blue) 18% 31%,transparent 31% 67%,var(--gold) 67% 78%,transparent 78%); clip-path:polygon(0 30%,5% 48%,12% 24%,20% 61%,28% 33%,37% 58%,46% 27%,55% 62%,65% 31%,73% 52%,83% 22%,92% 53%,100% 36%,100% 72%,92% 68%,82% 81%,73% 64%,63% 84%,55% 69%,45% 81%,34% 67%,25% 83%,15% 65%,7% 78%,0 62%); }
.brand { display:flex; align-items:center; gap:11px; font-weight:900; letter-spacing:.04em; line-height:.8; }
.logo-brand { width:86px; height:62px; overflow:hidden; justify-content:center; }.logo-brand img { width:84px; height:auto; display:block; mix-blend-mode:multiply; }.footer-brand.logo-brand { width:185px; height:auto; overflow:visible; }.footer-brand.logo-brand img { width:185px; }
.brand-mark { display:grid; place-items:center; width:38px; height:38px; border:2px solid currentColor; border-radius:50% 47% 44% 52%; font-family:Georgia,serif; font-size:24px; font-style:italic; transform:rotate(-7deg); }
.brand small { display:block; font-size:8px; letter-spacing:.24em; margin-top:7px; }
nav { display:flex; gap:35px; font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.09em; }
nav a { position:relative; } nav a:after { content:""; position:absolute; height:2px; left:0; right:100%; bottom:-7px; background:var(--coral); transition:.3s; } nav a:hover:after { right:0; }
.menu-toggle { display:none; width:48px; height:48px; padding:0; border:0; border-radius:50%; background:var(--ink); color:var(--paper); cursor:pointer; position:relative; z-index:2; }.menu-toggle span { position:absolute; left:13px; width:22px; height:2px; background:currentColor; border-radius:4px; transition:transform .28s,opacity .2s,top .28s; }.menu-toggle span:nth-child(1){top:16px}.menu-toggle span:nth-child(2){top:23px}.menu-toggle span:nth-child(3){top:30px}.menu-toggle.is-open span:nth-child(1){top:23px;transform:rotate(45deg)}.menu-toggle.is-open span:nth-child(2){opacity:0}.menu-toggle.is-open span:nth-child(3){top:23px;transform:rotate(-45deg)}
.pill { display:inline-flex; align-items:center; justify-content:center; gap:24px; min-height:50px; padding:0 22px; border-radius:99px; text-transform:uppercase; letter-spacing:.1em; font-size:11px; font-weight:800; transition:transform .25s, box-shadow .25s; }
.pill:hover { transform:translateY(-3px) rotate(-1deg); box-shadow:5px 7px 0 rgba(24,35,31,.16); }
.pill-dark { background:var(--ink); color:white; } .pill-coral { background:var(--coral); color:white; } .pill-paper { background:var(--paper); color:var(--ink); }
.hero { min-height:760px; height:100vh; max-height:920px; display:grid; grid-template-columns:55% 45%; position:relative; padding-top:92px; }
.hero,.about,.how,.faq,footer { background-color:var(--paper); background-image:linear-gradient(91deg,rgba(90,65,30,.025) 1px,transparent 1px),linear-gradient(rgba(90,65,30,.018) 1px,transparent 1px); background-size:31px 100%,100% 37px; }
.hero-copy { padding:8vh 3vw 5vh 7vw; display:flex; flex-direction:column; justify-content:center; position:relative; z-index:2; }
.kicker { text-transform:uppercase; letter-spacing:.18em; font-size:11px; font-weight:800; display:flex; align-items:center; gap:10px; }
.kicker span { width:30px; height:2px; background:var(--coral); }
h1,h2,h3 { font-family:var(--font-brush); margin:0; font-weight:400; letter-spacing:-.025em; }
blockquote { font-family:Georgia, 'Times New Roman', serif; margin:0; font-weight:400; letter-spacing:-.055em; }
h1 { font-size:clamp(82px,9.6vw,156px); line-height:.72; margin:5vh 0 4vh; transform:rotate(-.5deg); transform-origin:left center; }
h1 em,h2 em { color:var(--coral); font-weight:400; }
.hero-sub { font-family:Georgia,serif; font-size:clamp(18px,1.6vw,24px); line-height:1.45; max-width:520px; margin:0 0 4vh; }
.hero-actions { display:flex; align-items:center; gap:30px; }
.text-link { font-size:12px; text-transform:uppercase; letter-spacing:.08em; font-weight:bold; border-bottom:1px solid; padding-bottom:6px; }
.text-link span { margin-left:10px; }
.hero-art { position:relative; background:var(--blue); overflow:hidden; }
.hero-art:before { content:""; position:absolute; inset:0; opacity:.14; background-image:radial-gradient(#fff 1px,transparent 1px); background-size:9px 9px; }
.sun { position:absolute; width:34vw; height:34vw; min-width:390px; min-height:390px; border-radius:50%; background:var(--gold); right:-10vw; top:11%; box-shadow:inset 20px -15px 0 rgba(187,72,42,.18); animation:breathe 7s ease-in-out infinite; }
.canvas-card { position:absolute; width:220px; height:285px; background:#fffaf0; box-shadow:12px 18px 0 rgba(21,52,84,.28); border:10px solid #eee3d1; display:flex; justify-content:center; align-items:flex-end; padding:14px; font-family:Georgia,serif; font-style:italic; font-size:18px; overflow:hidden; }
.canvas-card:before { content:""; position:absolute; inset:0; background:linear-gradient(145deg,rgba(255,250,240,.12),transparent 55%); z-index:1; pointer-events:none; }
.canvas-card img { position:absolute; inset:14px; width:calc(100% - 28px); height:calc(100% - 28px); object-fit:cover; display:block; }
.card-one { left:12%; top:17%; transform:rotate(-9deg); animation:float 6s ease-in-out infinite; }
.card-two { width:185px; height:235px; right:8%; bottom:10%; transform:rotate(8deg); animation:float2 7s ease-in-out infinite; }
.card-two img { object-fit:contain; background:#000; }
.canvas-card span { z-index:2; background:#fffaf0; padding:3px 10px; box-shadow:2px 3px 0 rgba(21,52,84,.14); }
.pencil { position:absolute; height:12px; width:270px; background:var(--coral); border:2px solid var(--ink); transform-origin:left; }
.pencil:after { content:""; position:absolute; right:-32px; top:-2px; border-top:6px solid transparent; border-bottom:6px solid transparent; border-left:32px solid #e7cc9a; }
.p1 { left:8%; bottom:15%; transform:rotate(-28deg); } .p2 { left:52%; top:13%; transform:rotate(47deg); background:#89a8c2; width:210px; }
.scribble { position:absolute; font-size:90px; color:var(--paper); left:6%; top:7%; transform:rotate(-15deg); }
.art-note { position:absolute; right:8%; top:52%; color:white; font-family:Georgia,serif; font-style:italic; font-size:18px; transform:rotate(4deg); }
.hero-index { position:absolute; bottom:25px; left:2vw; writing-mode:vertical-rl; transform:rotate(180deg); font-size:8px; letter-spacing:.14em; line-height:1.5; }
.brush-stroke { position:absolute; pointer-events:none; z-index:1; }
.brush-stroke i { display:block; position:absolute; height:13px; border-radius:80% 15% 70% 20%; transform-origin:left center; filter:saturate(.95); }
.stroke-hero { width:230px; height:90px; left:4vw; top:23%; transform:rotate(-8deg); opacity:.18; }
.stroke-hero i { width:210px; background:var(--gold); }.stroke-hero i:nth-child(1){top:4px;transform:rotate(2deg)}.stroke-hero i:nth-child(2){top:22px;width:175px;left:20px;transform:rotate(-2deg)}.stroke-hero i:nth-child(3){top:42px;width:115px;left:7px;height:8px}
.ticker { background:var(--ink); color:var(--paper); overflow:hidden; padding:18px 0; white-space:nowrap; transform:rotate(-.6deg) scale(1.01); }
.ticker div { font-family:Georgia,serif; font-size:18px; letter-spacing:.1em; animation:marquee 25s linear infinite; }
.ticker i { color:var(--coral); margin:0 25px; }
.section-pad { padding:120px 7vw; }
.section-label { font-size:10px; font-weight:800; letter-spacing:.18em; text-transform:uppercase; margin-bottom:45px; }.section-label.light { color:#fff; opacity:.6; }
.about { display:grid; grid-template-columns:27% 73%; position:relative; }
.about-copy { max-width:920px; }
.brush-script { font-family:var(--font-brush); color:var(--blue); font-size:34px; margin:0 0 7px; transform:rotate(-2deg); transform-origin:left; }
.about h2,.how h2,.faq h2 { font-size:clamp(66px,8.2vw,122px); line-height:.78; }
.about-copy>p:not(.brush-script) { max-width:660px; font-family:Georgia,serif; font-size:22px; line-height:1.55; margin:45px 0; }
.principles { border-top:1px solid rgba(24,35,31,.3); display:grid; grid-template-columns:repeat(3,1fr); gap:20px; padding-top:24px; }
.principles span { font-size:10px; color:var(--coral); }.principles b { display:block; color:var(--ink); font-size:12px; text-transform:uppercase; letter-spacing:.08em; margin-top:8px; }
.paint-daub { position:absolute; pointer-events:none; width:100px; height:88px; opacity:.22; border-radius:63% 37% 71% 29% / 34% 61% 39% 66%; box-shadow:11px 5px 0 -3px currentColor,-8px 15px 0 -10px currentColor,22px 26px 0 -16px currentColor; transform:rotate(-18deg); }
.daub-blue { color:var(--blue); background:var(--blue); right:6vw; top:13%; }.daub-gold { color:var(--gold); background:var(--gold); left:5vw; bottom:12%; transform:rotate(22deg); }.daub-coral { color:var(--coral); background:var(--coral); right:5vw; top:10%; }
.stroke-about { right:-30px; bottom:70px; width:280px; height:80px; transform:rotate(-13deg); opacity:.19; }.stroke-about i { background:var(--coral); width:260px; }.stroke-about i:nth-child(2){top:18px;width:220px;left:22px}.stroke-about i:nth-child(3){top:37px;width:155px;left:57px;height:9px}
.courses { background:var(--ink); color:var(--paper); position:relative; }
.dry-brush { position:absolute; pointer-events:none; width:280px; height:64px; opacity:.22; background:repeating-linear-gradient(0deg,currentColor 0 4px,transparent 4px 7px); clip-path:polygon(0 35%,4% 17%,8% 32%,13% 8%,18% 28%,24% 4%,31% 23%,38% 2%,45% 18%,53% 6%,60% 25%,69% 4%,76% 20%,84% 8%,92% 27%,100% 15%,97% 70%,89% 58%,81% 83%,74% 61%,66% 88%,58% 66%,50% 91%,42% 68%,34% 86%,25% 63%,16% 83%,8% 61%,0 76%); }
.dry-brush-coral { color:var(--coral); right:3vw; top:70px; transform:rotate(-7deg); }.dry-brush-blue { color:var(--blue); left:50%; bottom:44px; transform:translateX(-50%) rotate(2deg); width:420px; }
.courses-head,.gallery-head { display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:65px; }
.courses h2,.gallery h2,.contact h2 { font-size:clamp(70px,8.7vw,132px); line-height:.75; }
.courses-head>p,.gallery-head>p { max-width:350px; line-height:1.6; opacity:.75; }
.course-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.course-card { min-height:530px; padding:32px; display:flex; flex-direction:column; color:var(--ink); transition:transform .35s; position:relative; overflow:hidden; }
.course-card:hover { transform:translateY(-10px) rotate(.5deg); }
.course-card:after { content:""; width:210px; height:210px; position:absolute; border:2px solid rgba(24,35,31,.2); border-radius:50%; right:-90px; top:45px; box-shadow:0 0 0 18px rgba(255,255,255,.08),0 0 0 36px rgba(255,255,255,.06); }
.course-card.coral { background:#f6b365; }.course-card.blue { background:#89a8c2; }.course-card.gold { background:#f8cf7e; }
.course-no { font-family:Georgia,serif; font-size:14px; }.course-eye { text-transform:uppercase; letter-spacing:.13em; font-size:9px; margin:55px 0 10px; }
.course-card h3 { font-size:68px; line-height:.78; max-width:260px; position:relative; z-index:2; transform:rotate(-1deg); transform-origin:left; }.course-card>p:not(.course-eye) { font-family:Georgia,serif; line-height:1.5; font-size:17px; }
.tags { margin:auto 0 30px; display:flex; flex-wrap:wrap; gap:8px; }.tags span { border:1px solid rgba(24,35,31,.4); border-radius:20px; padding:7px 10px; font-size:9px; text-transform:uppercase; letter-spacing:.06em; }
.course-card>a { border-top:1px solid rgba(24,35,31,.4); padding-top:20px; display:flex; justify-content:space-between; text-transform:uppercase; font-weight:bold; font-size:10px; letter-spacing:.1em; }
.how { position:relative; }.how-layout { display:grid; grid-template-columns:1fr 1fr; gap:10vw; position:relative; z-index:2; }
.how ol { list-style:none; padding:0; margin:0; }.how li { display:grid; grid-template-columns:55px 1fr; gap:15px; padding:23px 0; border-bottom:1px solid rgba(24,35,31,.3); }
.how li>span { color:var(--coral); font-size:11px; }.how li b { font-family:Georgia,serif; font-size:24px; font-weight:400; }.how li p { margin:8px 0 0; opacity:.7; font-size:13px; }
.gallery { background:var(--blue); color:var(--paper); position:relative; }.gallery h2 em { color:var(--gold); }
.stroke-gallery { left:-35px; top:43%; width:300px; height:80px; transform:rotate(78deg); opacity:.2; }.stroke-gallery i { background:var(--gold); width:280px; }.stroke-gallery i:nth-child(2){top:18px;width:235px;left:23px}.stroke-gallery i:nth-child(3){top:38px;width:160px;left:65px;height:8px}
.art-grid { display:grid; grid-template-columns:1.15fr .85fr 1fr; grid-template-rows:260px 260px; gap:14px; }
.art-piece { position:relative; overflow:hidden; border:10px solid rgba(243,237,220,.88); box-shadow:5px 7px 0 rgba(0,0,0,.15); background-color:#e6d7b7; }
.art-piece span { position:absolute; left:14px; bottom:12px; z-index:2; background:var(--paper); color:var(--ink); padding:6px 9px; font-family:Georgia,serif; font-style:italic; font-size:12px; }
.art-a { grid-row:span 2; background:radial-gradient(ellipse at 35% 55%,var(--gold) 0 12%,transparent 13%),radial-gradient(ellipse at 65% 35%,var(--coral) 0 17%,transparent 18%),linear-gradient(65deg,var(--ink) 25%,transparent 26%),#a9bfd0; }
.art-b { background:conic-gradient(from 30deg at 50% 50%,var(--coral),var(--gold),var(--blue),#fff3da,var(--coral)); }.art-c { background:radial-gradient(ellipse at 50% 75%,var(--gold) 0 18%,transparent 19%),radial-gradient(circle at 50% 38%,var(--coral) 0 18%,transparent 19%),linear-gradient(115deg,var(--ink) 0 40%,#c8d5df 41%); }
.art-d { background:linear-gradient(20deg,transparent 40%,var(--ink) 41% 44%,transparent 45%),radial-gradient(circle at 30% 30%,var(--gold) 0 15%,transparent 16%),#f4b06c; }.art-e { background:repeating-radial-gradient(circle at 70% 30%,var(--ink) 0 18px,var(--gold) 19px 36px,var(--coral) 37px 55px); }
.gallery-note { text-align:right; font-family:Georgia,serif; font-style:italic; }.gallery-note span { font-size:30px; margin-left:8px; }
.dynamic-gallery { columns:3; column-gap:16px; width:100%; max-width:100%; }.gallery-image { display:inline-block; vertical-align:top; break-inside:avoid; margin:0 0 16px; position:relative; min-width:0; width:100%; max-width:100%; overflow:hidden; border:10px solid rgba(248,244,235,.92); background:rgba(255,255,255,.12); box-shadow:6px 8px 0 rgba(21,52,84,.24); }.gallery-image img { display:block; width:100%; max-width:100%; height:auto; position:relative; object-fit:contain; transition:transform .6s ease; }.gallery-image:hover img { transform:scale(1.025); }.gallery-image figcaption { position:absolute; z-index:2; left:12px; bottom:12px; max-width:calc(100% - 24px); overflow-wrap:anywhere; padding:7px 10px; background:var(--paper); color:var(--ink); font-family:Georgia,serif; font-style:italic; font-size:12px; text-transform:capitalize; box-shadow:3px 3px 0 rgba(21,52,84,.14); }.gallery-sentinel { width:auto; min-height:110px; margin:0 auto; padding:0 25px; border:0; background:transparent; display:flex; flex-direction:column; justify-content:center; align-items:center; gap:12px; color:rgba(248,244,235,.72); font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.14em; }.gallery-sentinel.has-more { cursor:pointer; }.gallery-sentinel.has-more .gallery-status { border-bottom:1px solid currentColor; padding-bottom:5px; }.gallery-loader { width:28px; height:28px; border:3px solid rgba(248,244,235,.2); border-top-color:var(--gold); border-radius:50%; animation:gallery-spin .8s linear infinite; opacity:0; }.gallery-sentinel.is-loading .gallery-loader { opacity:1; }.gallery-sentinel.is-loading .gallery-status { border-bottom-color:transparent; }.gallery-sentinel.is-complete .gallery-loader { display:none; }.gallery-sentinel.is-complete { min-height:65px; }.gallery-status { text-align:center; }@keyframes gallery-spin{to{transform:rotate(360deg)}}
.testimonials { background:var(--ink); color:var(--paper); position:relative; }.testimonial-heading { display:flex; justify-content:space-between; align-items:flex-end; position:relative; z-index:2; margin-bottom:65px; }.testimonial-heading h2 { font-size:clamp(70px,8.7vw,132px); line-height:.75; }.testimonial-heading h2 em { color:var(--gold); }.testimonial-heading>p { width:330px; line-height:1.6; opacity:.68; }.testimonial-grid { display:grid; grid-template-columns:repeat(6,1fr); gap:24px 20px; position:relative; z-index:2; }.testimonial-card { grid-column:span 2; min-height:420px; background:var(--paper); color:var(--ink); padding:30px; display:flex; flex-direction:column; box-shadow:8px 10px 0 rgba(0,0,0,.2); position:relative; }.testimonial-card:nth-child(1){transform:rotate(-1.4deg)}.testimonial-card:nth-child(2){transform:rotate(1.2deg) translateY(15px)}.testimonial-card:nth-child(3){transform:rotate(-.7deg)}.testimonial-card:nth-child(4){grid-column:span 3;min-height:350px;transform:rotate(.7deg) translateY(12px)}.testimonial-card:nth-child(5){grid-column:span 3;min-height:350px;transform:rotate(-.8deg)}.testimonial-card:before { content:""; position:absolute; width:70px; height:20px; background:rgba(230,173,37,.65); top:-9px; left:50%; transform:translateX(-50%) rotate(-2deg); }.testimonial-card .quote-mark { color:var(--coral); font-family:Georgia,serif; font-size:70px; line-height:.6; }.testimonial-card blockquote { font-size:clamp(21px,1.75vw,28px); line-height:1.27; letter-spacing:-.035em; margin:20px 0 35px; }.testimonial-card footer { margin:auto 0 0; padding:20px 0 0; border-top:1px solid rgba(24,35,31,.25); display:flex; align-items:center; gap:13px; background:none; text-transform:none; letter-spacing:0; }.testimonial-card footer p { margin:0; font-family:Arial,sans-serif; font-style:normal; font-size:11px; }.testimonial-card footer b { display:block; text-transform:uppercase; letter-spacing:.08em; }.testimonial-card footer small { display:block; margin-top:4px; opacity:.57; }.avatar { width:40px; height:40px; border-radius:50%; display:grid; place-items:center; background:var(--coral); color:white; font-size:10px; font-weight:bold; }.testimonial-note { text-align:center; font-family:var(--font-brush); color:var(--gold); font-size:28px; margin:70px 0 0; transform:rotate(-1deg); }.testimonial-brush { position:absolute; right:-70px; top:80px; width:430px; height:110px; background:repeating-linear-gradient(0deg,var(--blue) 0 6px,transparent 6px 10px); opacity:.18; transform:rotate(-9deg); clip-path:polygon(0 24%,100% 0,94% 78%,3% 100%); }
.faq { display:grid; grid-template-columns:.8fr 1.2fr; gap:8vw; padding-top:145px; position:relative; border-top:16px solid var(--coral); }.faq>div,.faq-list{position:relative;z-index:2}.faq-tape { position:absolute!important; z-index:3!important; top:-1px; left:-3%; width:106%; height:48px; display:flex; align-items:center; justify-content:center; white-space:nowrap; overflow:hidden; background:var(--gold); color:var(--ink); font-size:10px; font-weight:900; letter-spacing:.35em; transform:rotate(-.7deg); box-shadow:0 4px 0 rgba(24,35,31,.13); }.faq-list { border-top:1px solid var(--ink); }.faq details { border-bottom:1px solid rgba(24,35,31,.35); padding:25px 0; }.faq summary { list-style:none; cursor:pointer; font-family:Georgia,serif; font-size:21px; display:flex; justify-content:space-between; }.faq summary::-webkit-details-marker { display:none; }.faq summary span { color:var(--coral); font-size:28px; transition:.2s; }.faq details[open] summary span { transform:rotate(45deg); }.faq details p { max-width:560px; line-height:1.6; opacity:.7; }
.contact { background:var(--coral); color:var(--paper); text-align:center; position:relative; }.contact h2 { position:relative; }.contact h2 em { color:var(--ink); }.contact>p { max-width:520px; margin:35px auto 50px; font-family:Georgia,serif; font-size:20px; line-height:1.5; }.contact-splash { position:absolute; width:310px; height:310px; border:2px solid rgba(243,237,220,.24); border-radius:44% 56% 65% 35%; top:45%; left:50%; transform:translate(-50%,-50%) rotate(20deg); box-shadow:0 0 0 35px rgba(243,237,220,.05),0 0 0 70px rgba(243,237,220,.04); }
.contact-links { max-width:1040px; margin:0 auto; display:grid; grid-template-columns:repeat(3,1fr); gap:13px; position:relative; z-index:2; text-align:left; }.contact-links>a { min-height:120px; padding:22px; display:grid; grid-template-columns:52px 1fr auto; align-items:center; gap:16px; background:var(--paper); color:var(--ink); border:1px solid rgba(24,35,31,.25); box-shadow:5px 7px 0 rgba(24,35,31,.12); transition:transform .25s,box-shadow .25s; }.contact-links>a:nth-child(1){transform:rotate(-1.3deg)}.contact-links>a:nth-child(2){transform:rotate(.8deg)}.contact-links>a:nth-child(3){transform:rotate(-.5deg)}.contact-links>a:hover{transform:translateY(-5px) rotate(0);box-shadow:8px 11px 0 rgba(24,35,31,.17)}.contact-links b{display:block;font-family:Georgia,serif;font-size:22px;font-weight:400}.contact-links small{display:block;margin-top:6px;opacity:.63;font-size:10px;text-transform:uppercase;letter-spacing:.07em}.social-icon{width:48px;height:48px;display:grid;place-items:center;position:relative;color:var(--coral)}.instagram-icon{border:3px solid currentColor;border-radius:13px}.instagram-icon:before{content:"";width:17px;height:17px;border:3px solid currentColor;border-radius:50%}.instagram-icon:after{content:"";position:absolute;width:5px;height:5px;border-radius:50%;background:currentColor;right:7px;top:7px}.whatsapp-icon{border:3px solid currentColor;border-radius:50%;font-family:Georgia,serif;font-size:31px;font-weight:bold;transform:rotate(-25deg)}.whatsapp-icon:after{content:"";position:absolute;left:1px;bottom:-5px;width:11px;height:11px;background:var(--paper);border-left:3px solid currentColor;transform:rotate(-25deg)}.email-icon{height:34px;border:3px solid currentColor;border-radius:3px}.email-icon:before,.email-icon:after{content:"";position:absolute;top:4px;width:27px;height:3px;background:currentColor}.email-icon:before{left:1px;transform:rotate(34deg)}.email-icon:after{right:1px;transform:rotate(-34deg)}
footer { padding:45px 5vw 25px; display:grid; grid-template-columns:1fr 1fr 1fr auto; gap:30px; align-items:center; font-size:11px; text-transform:uppercase; letter-spacing:.08em; }.footer-brand { justify-self:start; }footer>p { font-family:Georgia,serif; font-style:italic; text-transform:none; font-size:14px; }.footer-nav { display:flex; gap:20px; }.footer-credit{grid-column:1/-1;text-align:center;border-top:1px solid rgba(24,35,31,.18);padding-top:22px;text-transform:none;letter-spacing:.03em;opacity:.65}.footer-credit a{font-weight:800;border-bottom:1px solid;opacity:1}
@media (min-width:901px){.faq{grid-template-columns:1fr;padding-top:100px}.faq-heading{display:grid;grid-template-columns:.38fr .62fr;align-items:end;margin-bottom:55px}.faq-heading .section-label{align-self:start;margin:12px 0 0}.faq h2{font-size:clamp(78px,8.7vw,126px);line-height:.74}.faq h2 br{display:none}.faq-list{display:grid;grid-template-columns:1fr 1fr;border-top:0;gap:14px}.faq details{padding:26px 28px;border:1px solid rgba(24,35,31,.24);background:rgba(255,255,255,.18);min-height:105px}.faq details[open]{background:rgba(255,255,255,.34);box-shadow:5px 7px 0 rgba(24,35,31,.08)}.faq details p{margin-bottom:0}.faq summary{font-size:20px;gap:18px}}
@keyframes float { 0%,100%{transform:rotate(-9deg) translateY(0)} 50%{transform:rotate(-6deg) translateY(-16px)} } @keyframes float2 { 0%,100%{transform:rotate(8deg) translateY(0)} 50%{transform:rotate(11deg) translateY(13px)} } @keyframes breathe { 0%,100%{transform:scale(1)} 50%{transform:scale(1.04)} } @keyframes marquee { to { transform:translateX(-40%); } }
.reveal { animation:reveal .9s ease-out both; } @keyframes reveal { from{opacity:0;transform:translateY(22px)} }
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
@media (max-width:900px){section[id]{scroll-margin-top:75px}.nav-wrap{height:75px}.nav-wrap nav{display:flex;position:absolute;top:75px;left:0;width:100%;padding:25px 7vw 32px;background:var(--paper);border-bottom:5px solid var(--coral);box-shadow:0 14px 24px rgba(21,52,84,.14);flex-direction:column;gap:0;visibility:hidden;opacity:0;transform:translateY(-14px);pointer-events:none;transition:opacity .25s,transform .25s,visibility .25s}.nav-wrap nav.is-open{visibility:visible;opacity:1;transform:translateY(0);pointer-events:auto}.nav-wrap nav a{font-family:var(--font-brush);font-size:34px;text-transform:none;letter-spacing:0;padding:12px 0;border-bottom:1px solid rgba(21,52,84,.15)}.nav-wrap nav a:after{display:none}.nav-wrap>.pill{display:none}.menu-toggle{display:block}.logo-brand{width:88px;height:58px}.logo-brand img{width:86px}.footer-brand.logo-brand{width:160px}.footer-brand.logo-brand img{width:160px}.hero{min-height:900px;height:auto;max-height:none;grid-template-columns:1fr;padding-top:75px}.hero-copy{padding:70px 7vw 60px}.hero-art{min-height:460px}.hero-index{display:none}.about,.faq{grid-template-columns:1fr}.course-grid{grid-template-columns:1fr}.course-card{min-height:450px}.courses-head,.gallery-head,.testimonial-heading{align-items:flex-start;gap:30px;flex-direction:column}.how-layout{grid-template-columns:1fr}.art-grid{grid-template-columns:1fr 1fr;grid-template-rows:260px 260px 260px}.dynamic-gallery{columns:2}.art-a{grid-row:span 2}.art-e{grid-column:span 2}.section-pad{padding:85px 7vw}footer{grid-template-columns:1fr 1fr}.principles{grid-template-columns:1fr}.about{gap:20px}.dry-brush-coral{right:-80px}.stroke-about{opacity:.1}.contact-links{grid-template-columns:1fr;max-width:580px}.contact-links>a{min-height:96px}.contact-splash{top:34%}.testimonial-grid{grid-template-columns:1fr}.testimonial-card,.testimonial-card:nth-child(4),.testimonial-card:nth-child(5){grid-column:auto;min-height:300px}.testimonial-card:nth-child(2){transform:rotate(1deg)}.testimonial-heading>p{width:auto}}
@media (max-width:540px){h1{font-size:75px}.hero-sub{font-size:18px}.hero-actions{align-items:flex-start;flex-direction:column}.hero-art{min-height:390px}.canvas-card{width:165px;height:220px}.card-two{width:135px;height:180px}.sun{min-width:310px;min-height:310px}.about h2,.how h2,.faq h2,.courses h2,.gallery h2,.contact h2,.testimonial-heading h2{font-size:60px}.course-card h3{font-size:58px}.art-grid{grid-template-columns:1fr;grid-template-rows:repeat(5,260px)}.dynamic-gallery{columns:1}.art-a,.art-e{grid-row:auto;grid-column:auto}.testimonial-card blockquote{font-size:24px}footer{grid-template-columns:1fr}footer>div{flex-wrap:wrap}}
