:root{--chalk:#f7f2e8;--paper:#fffaf0;--ink:#2b2925;--terra:#b85f3f;--terra-dark:#7f3f2d;--ochre:#e0a23f;--sun:#f3c96e;--green:#315b4c;--line:#d8cbbb;--shadow:0 18px 50px rgba(62,43,30,.12);--serif:Georgia,"Times New Roman",serif;--sans:Arial,"Helvetica Neue",sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--chalk);color:var(--ink);font-family:var(--sans);line-height:1.6;overflow-x:hidden}
body::before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.22;z-index:20;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.12'/%3E%3C/svg%3E")}
img{display:block;max-width:100%;object-fit:cover}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:4px}
button,input,select,textarea{font:inherit}
button{color:inherit}
.skip{position:fixed;left:1rem;top:-5rem;z-index:100;background:var(--ink);color:white;padding:.7rem 1rem}.skip:focus{top:1rem}
.topbar{min-height:84px;padding:0 clamp(1.2rem,4vw,4.5rem);display:flex;align-items:center;justify-content:space-between;position:relative;z-index:10;border-bottom:1px solid rgba(43,41,37,.12)}
.brand{display:inline-flex;align-items:center;gap:.65rem;font:700 1.35rem var(--serif);text-decoration:none;letter-spacing:-.03em}
.brand-mark{width:38px;height:38px;display:grid;place-items:center;background:var(--terra);color:var(--chalk);border-radius:48% 52% 42% 58%/58% 39% 61% 42%;transform:rotate(-5deg)}
.main-nav{display:flex;align-items:center;gap:clamp(1rem,2.4vw,2.2rem);font-size:.9rem;font-weight:700}.main-nav a{text-decoration:none}.main-nav a:hover,.main-nav a:focus-visible{color:var(--terra)}
.nav-cta{border:1px solid var(--ink);padding:.55rem 1rem;border-radius:50% 46% 48% 52%/55% 47% 53% 45%}
.nav-toggle{display:none;border:1px solid var(--ink);background:transparent;padding:.45rem .75rem;border-radius:999px}
.hero{min-height:calc(100vh - 84px);display:grid;grid-template-columns:1.03fr .97fr;align-items:center;gap:4vw;padding:clamp(3rem,6vw,6rem) clamp(1.2rem,6vw,7rem);position:relative}
.hero::after{content:"";position:absolute;width:18vw;height:10vw;left:37%;bottom:2%;border:2px solid var(--ochre);border-radius:50%;transform:rotate(-13deg);opacity:.45}
.eyebrow{text-transform:uppercase;font-size:.72rem;letter-spacing:.19em;font-weight:800;color:var(--terra);margin:0 0 1.1rem}.eyebrow.light{color:var(--sun)}
h1,h2,h3{font-family:var(--serif);line-height:.98;margin-top:0}h1{font-size:clamp(3.4rem,7.4vw,8rem);letter-spacing:-.065em;margin-bottom:1.7rem}h1 em{font-weight:400;color:var(--terra)}h2{font-size:clamp(2.5rem,5.2vw,5.2rem);letter-spacing:-.055em;margin-bottom:1.5rem}h3{font-size:clamp(1.65rem,2.3vw,2.5rem);letter-spacing:-.035em}
.lead{font:1.1rem/1.7 var(--serif);max-width:650px}.hero-actions{display:flex;align-items:center;gap:1.5rem;margin:2rem 0}.button{display:inline-flex;justify-content:center;align-items:center;min-height:48px;padding:.75rem 1.2rem;border-radius:48% 52% 45% 55%/55% 48% 52% 45%;border:1px solid transparent;font-weight:800;text-decoration:none;cursor:pointer;transition:transform .2s,background .2s}.button:hover,.button:focus-visible{transform:translateY(-2px)}.button.primary{background:var(--terra);color:white}.button.outline{background:transparent;border-color:currentColor}.button.sun{background:var(--sun);color:var(--ink)}.text-link{font-weight:800}.hero-notes{display:flex;gap:1.4rem;flex-wrap:wrap;padding:0;list-style:none;font-size:.8rem;font-weight:700}.hero-notes li::before{content:"●";color:var(--ochre);margin-right:.5rem}
.hero-visual{position:relative;max-width:640px;justify-self:end}.hero-photo{margin:0;position:relative;transform:rotate(1.6deg)}.hero-photo img{aspect-ratio:4/5;clip-path:polygon(8% 1%,92% 3%,100% 11%,98% 88%,89% 99%,8% 96%,0 87%,2% 10%);filter:saturate(.78) contrast(.96)}.hero-photo figcaption{position:absolute;left:-2rem;bottom:4rem;background:var(--paper);padding:.8rem 1.2rem;transform:rotate(-6deg);font:italic 1rem var(--serif);box-shadow:var(--shadow)}.clay-loop{position:absolute;inset:-5% -8%;border:3px solid var(--terra);border-radius:47% 53% 44% 56%/54% 44% 56% 46%;transform:rotate(5deg)}.sun-stamp{position:absolute;right:-1.5rem;top:8%;width:90px;height:90px;background:var(--ochre);display:grid;place-items:center;text-align:center;text-transform:uppercase;font-size:.7rem;font-weight:900;letter-spacing:.14em;border-radius:50%;transform:rotate(8deg)}
.marquee{overflow:hidden;background:var(--terra);color:var(--chalk);padding:.85rem 0;transform:rotate(-.7deg);width:102%;margin-left:-1%}.marquee p{margin:0;white-space:nowrap;text-align:center;font:700 clamp(.9rem,1.5vw,1.15rem) var(--serif);letter-spacing:.13em}.marquee span{color:var(--sun);margin:0 1.4rem}
.section{padding:clamp(5rem,9vw,10rem) clamp(1.2rem,6vw,7rem)}.section-head{max-width:850px;margin-bottom:3.5rem}.section-head>p:last-child{max-width:610px}.section-head.split{max-width:none;display:flex;align-items:end;justify-content:space-between;gap:3rem}.section-head.split>p{max-width:330px}
.course-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.course-card{min-height:480px;padding:2rem;display:flex;flex-direction:column;background:#e7d1bd;border-radius:9% 4% 8% 5%/6% 10% 5% 9%;position:relative;box-shadow:var(--shadow)}.course-card.warm{background:#d8845c;transform:translateY(2rem) rotate(1deg)}.course-card.green{background:#bec9ad;transform:rotate(-1.2deg)}.course-no{font:italic 1.2rem var(--serif)}.course-card h3{margin-top:auto;margin-bottom:.75rem}.course-card p{margin:0 0 1.5rem}.pick-course{align-self:flex-start;border:0;border-bottom:1px solid currentColor;background:transparent;padding:.2rem 0;font-weight:800;cursor:pointer}.mini-vessel{width:130px;height:150px;margin:1rem auto 2rem;position:relative;background:var(--terra-dark);box-shadow:inset -16px -5px 0 rgba(255,255,255,.08)}.mini-vessel::before{content:"";position:absolute;top:-5px;left:12%;width:76%;height:20px;border-radius:50%;background:#5d2b22;box-shadow:inset 0 5px 0 rgba(255,255,255,.12)}.vessel-one{border-radius:30% 30% 45% 45%/12% 12% 18% 18%}.vessel-two{height:125px;margin-top:2.5rem;border-radius:12% 12% 42% 42%/10% 10% 20% 20%;background:#e3a75c}.vessel-three{width:105px;border-radius:42% 42% 25% 25%/18% 18% 12% 12%;background:var(--green)}
.lesson{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(3rem,8vw,8rem);align-items:center;background:var(--paper)}.lesson-image{position:relative}.lesson-image img{aspect-ratio:5/6;border-radius:43% 57% 49% 51%/6% 8% 5% 7%;filter:saturate(.7)}.image-note{position:absolute;right:-2rem;bottom:10%;background:var(--ochre);padding:1rem 1.4rem;font:italic 1.1rem var(--serif);transform:rotate(4deg)}.lesson-list{list-style:none;padding:0;margin:0}.lesson-list li{display:grid;grid-template-columns:55px 1fr;gap:1rem;padding:1rem 0;border-top:1px solid var(--line)}.lesson-list li>span{color:var(--terra);font:italic 1rem var(--serif)}.lesson-list strong{font-family:var(--serif);font-size:1.25rem}.lesson-list p{margin:.15rem 0 0;color:#655d54;font-size:.92rem}
.studio{display:grid;grid-template-columns:.85fr 1.15fr;gap:5vw;align-items:center}.studio-copy>p:not(.eyebrow){max-width:580px}.studio-facts{display:flex;gap:clamp(1rem,3vw,3rem);margin-top:2.5rem}.studio-facts div{display:flex;flex-direction:column}.studio-facts dt{font:italic 3rem var(--serif);color:var(--terra)}.studio-facts dd{margin:0;font-size:.78rem}.studio-photo{margin:0;position:relative}.studio-photo::before{content:"";position:absolute;inset:-14px;border:2px solid var(--ochre);border-radius:49% 51% 47% 53%/8% 6% 9% 7%;transform:rotate(2deg)}.studio-photo img{aspect-ratio:7/5;border-radius:50% 50% 47% 53%/8% 6% 9% 7%;filter:saturate(.72)}
.process{background:var(--green);color:var(--chalk)}.process .eyebrow{color:var(--sun)}.process-track{display:grid;grid-template-columns:repeat(5,1fr);position:relative;gap:1rem}.process-track::before{content:"";position:absolute;top:31px;left:4%;right:4%;border-top:1px dashed rgba(255,255,255,.5)}.process-step{position:relative;padding-right:1rem}.process-step>span{display:grid;place-items:center;width:62px;height:62px;background:var(--sun);color:var(--ink);border-radius:50% 43% 55% 45%;font:italic 1.2rem var(--serif);position:relative;z-index:1;margin-bottom:1.5rem}.process-step strong{font:1.35rem var(--serif)}.process-step p{font-size:.87rem;color:#dbe3dc}
.gallery{background:#ead9c5}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:260px;gap:1rem}.gallery-item{padding:0;border:0;background:transparent;cursor:zoom-in;overflow:hidden;border-radius:3% 7% 4% 6%;position:relative}.gallery-item.tall{grid-row:span 2}.gallery-item.wide{grid-column:span 2}.gallery-item img{width:100%;height:100%;transition:transform .5s;filter:saturate(.72)}.gallery-item:hover img,.gallery-item:focus-visible img{transform:scale(1.04);filter:saturate(.95)}
.schedule-list{border-top:2px solid var(--ink)}.schedule-row{display:grid;grid-template-columns:1.2fr 1fr 1.5fr .7fr auto;align-items:center;gap:1rem;padding:1.15rem .5rem;border-bottom:1px solid var(--line)}.schedule-row strong{font-family:var(--serif);font-size:1.1rem}.places{font-size:.74rem;text-transform:uppercase;letter-spacing:.08em;color:var(--green)}.places.ochre{color:var(--terra)}.slot{border:1px solid var(--ink);background:transparent;border-radius:999px;padding:.4rem .9rem;font-weight:800;cursor:pointer}.slot:hover,.slot:focus-visible{background:var(--ink);color:white}
.pricing{background:var(--paper)}.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;align-items:stretch}.price-card{padding:2rem;background:var(--chalk);border:1px solid var(--line);border-radius:7% 4% 5% 7%/4% 7% 5% 8%;display:flex;flex-direction:column}.price-card.featured{background:#d77852;color:#241e1b;border:0;transform:translateY(-1.2rem) rotate(-.5deg);box-shadow:var(--shadow)}.price-label{text-transform:uppercase;font-size:.7rem;letter-spacing:.14em;font-weight:800}.price{font:italic clamp(2.8rem,5vw,5rem) var(--serif);margin:.8rem 0 0}.price-time{font-weight:800;margin-top:0}.price-card ul{padding-left:1.2rem;flex:1}.price-card li{margin-bottom:.6rem}.price-card .button{align-self:stretch}.price-note{max-width:900px;font-size:.82rem;margin:2rem auto 0;text-align:center}
.faq{display:grid;grid-template-columns:.75fr 1.25fr;gap:8vw}.faq-intro{position:sticky;top:2rem;align-self:start}.faq-intro a{color:var(--terra)}.accordion details{border-top:1px solid var(--line);padding:1.2rem 0}.accordion details:last-child{border-bottom:1px solid var(--line)}.accordion summary{font:1.2rem var(--serif);cursor:pointer;display:flex;justify-content:space-between;gap:1rem;list-style:none}.accordion summary::-webkit-details-marker{display:none}.accordion summary::after{content:"+";color:var(--terra);font:1.5rem var(--sans)}.accordion details[open] summary::after{content:"−"}.accordion details p{max-width:650px;color:#625b53}
.booking{display:grid;grid-template-columns:.8fr 1.2fr;gap:7vw;background:var(--terra-dark);color:var(--chalk)}.booking-copy a{color:var(--sun)}.booking-copy address{font-style:normal;margin-top:2.5rem}.booking-form{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem;background:var(--paper);color:var(--ink);padding:clamp(1.4rem,4vw,3rem);border-radius:4% 7% 5% 8%/7% 4% 8% 5%}.field{display:flex;flex-direction:column;gap:.35rem}.field.full,.full{grid-column:1/-1}.field label{font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.field input,.field select,.field textarea{width:100%;border:0;border-bottom:1px solid #8f8173;background:transparent;padding:.7rem .15rem;border-radius:0}.field textarea{border:1px solid var(--line);padding:.7rem;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--ochre);outline-offset:2px}.check{display:flex;align-items:flex-start;gap:.6rem;font-size:.78rem}.check input{margin-top:.3rem}.form-status{margin:0;font-size:.85rem;min-height:1.4em}
.footer{display:grid;grid-template-columns:1.1fr 1.4fr .6fr;gap:2rem;padding:4rem clamp(1.2rem,6vw,7rem);background:var(--ink);color:var(--chalk);font-size:.8rem}.footer-brand{font-size:1.6rem}.footer nav{display:flex;flex-wrap:wrap;align-content:flex-start;gap:1rem 1.5rem}.link-button,.text-button{border:0;background:transparent;text-decoration:underline;text-underline-offset:4px;cursor:pointer;padding:0}.footer>p{text-align:right}
.lightbox{position:fixed;inset:0;z-index:80;background:rgba(25,20,17,.91);display:grid;place-items:center;padding:5vw}.lightbox[hidden]{display:none}.lightbox img{max-width:90vw;max-height:82vh;width:auto;height:auto}.lightbox-close,.panel-close{position:absolute;right:2rem;top:1.2rem;border:0;background:transparent;color:white;font-size:2.5rem;cursor:pointer}.cookie-banner{position:fixed;left:1rem;right:1rem;bottom:1rem;z-index:70;background:var(--paper);border:1px solid var(--ink);box-shadow:var(--shadow);padding:1.2rem 1.4rem;display:flex;align-items:center;justify-content:space-between;gap:2rem}.cookie-banner[hidden],.cookie-panel[hidden]{display:none}.cookie-banner p{margin:.2rem 0 0;font-size:.82rem;max-width:700px}.cookie-actions{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap}.cookie-actions .button{min-height:40px;padding:.45rem .8rem;font-size:.78rem}.cookie-panel{position:fixed;inset:0;z-index:90;background:rgba(35,29,25,.72);display:grid;place-items:center;padding:1rem}.cookie-box{width:min(620px,96vw);background:var(--paper);padding:2rem;position:relative;border-radius:4% 6% 4% 7%}.cookie-box .panel-close{color:var(--ink);top:.5rem;right:1rem}.cookie-line{display:flex;justify-content:space-between;align-items:center;gap:2rem;padding:1rem 0;border-top:1px solid var(--line)}.cookie-line span{display:flex;flex-direction:column}.cookie-line small{color:#665e56}.cookie-line input{width:22px;height:22px;accent-color:var(--terra)}.cookie-box>a{display:inline-block;margin-left:1rem;font-size:.82rem}
.reveal{opacity:0;transform:translateY(20px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}
.legal-page{max-width:920px;margin:0 auto;padding:clamp(4rem,8vw,8rem) 1.2rem}.legal-page h1{font-size:clamp(3rem,7vw,6rem)}.legal-page h2{font-size:2rem;margin-top:2.5rem}.legal-page h3{font-size:1.25rem;line-height:1.25;margin-top:1.8rem}.legal-page .legal-meta{padding:1rem 1.2rem;background:#ead9c5;border-left:4px solid var(--terra)}.legal-page a{color:var(--terra)}.legal-footer{padding:2rem clamp(1.2rem,6vw,7rem);background:var(--ink);color:white;display:flex;gap:1rem;flex-wrap:wrap;justify-content:space-between}.legal-footer nav{display:flex;gap:1rem;flex-wrap:wrap}
@media (max-width:980px){.main-nav{gap:1rem}.hero{grid-template-columns:1fr 1fr;padding-inline:2.5rem}.section{padding-inline:2.5rem}.course-card{min-height:430px}.process-track{grid-template-columns:repeat(3,1fr);row-gap:2rem}.process-track::before{display:none}.booking{grid-template-columns:1fr}.footer{padding-inline:2.5rem}}
@media (max-width:760px){.topbar{min-height:72px}.nav-toggle{display:block}.main-nav{position:absolute;left:1rem;right:1rem;top:68px;background:var(--paper);padding:1.2rem;box-shadow:var(--shadow);display:none;flex-direction:column;align-items:stretch}.main-nav.open{display:flex}.hero{min-height:auto;grid-template-columns:1fr;padding:3rem 1.2rem 5rem}.hero-visual{max-width:520px;margin-top:1rem}.hero-photo figcaption{left:.4rem}.sun-stamp{right:-.4rem}.section{padding:5rem 1.2rem}.course-grid,.price-grid{grid-template-columns:1fr}.course-card,.course-card.warm,.course-card.green,.price-card.featured{transform:none}.course-card{min-height:420px}.lesson,.studio,.faq{grid-template-columns:1fr}.lesson-image{order:2}.image-note{right:.5rem}.studio-facts{justify-content:space-between}.process-track{grid-template-columns:1fr 1fr}.gallery-grid{grid-template-columns:1fr 1fr;grid-auto-rows:220px}.gallery-item.wide{grid-column:span 2}.schedule-row{grid-template-columns:1fr 1fr}.schedule-row strong{grid-column:1/-1}.schedule-row .slot{justify-self:end}.section-head.split{display:block}.faq-intro{position:static}.booking-form{grid-template-columns:1fr}.booking-form .field{grid-column:1/-1}.footer{grid-template-columns:1fr}.footer>p{text-align:left}.cookie-banner{align-items:stretch;flex-direction:column;gap:1rem}.cookie-actions{justify-content:flex-start}}
@media (max-width:480px){h1{font-size:3.25rem}.hero-actions{align-items:flex-start;flex-direction:column}.hero-notes{flex-direction:column;gap:.4rem}.process-track{grid-template-columns:1fr}.gallery-grid{grid-template-columns:1fr;grid-auto-rows:260px}.gallery-item.tall{grid-row:span 1}.gallery-item.wide{grid-column:span 1}.schedule-row{grid-template-columns:1fr}.schedule-row strong{grid-column:auto}.schedule-row .slot{justify-self:start}.studio-facts{flex-wrap:wrap}.cookie-actions{flex-direction:column;align-items:stretch}.cookie-box>a{margin:1rem 0 0}.legal-footer{flex-direction:column}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}
