:root{--ink:#080c0d;--paper:#eef1eb;--mint:#8af4d0;--cyan:#53dfec;--muted:#a8b5b4;--line:rgba(223,247,239,.19);--gutter:clamp(24px,5vw,96px);--header:88px;color-scheme:dark;font-family:Montserrat,Arial,sans-serif;font-synthesis:none;background:var(--ink);color:var(--paper)}
*,*::before,*::after{box-sizing:border-box}
/* Navigation requests smooth motion in app.js; layout measurements need immediate scrolling. */
html{scroll-behavior:auto;scroll-padding-top:95px}
body{margin:0;min-width:320px;overflow-x:clip;-webkit-font-smoothing:antialiased}
button,input{font:inherit}button,a,input,summary{-webkit-tap-highlight-color:transparent}
button,a{touch-action:manipulation}button{color:inherit;cursor:pointer}
a{color:inherit;text-decoration:none}img{display:block;max-width:100%;object-fit:cover}
.arrow-icon{display:block;width:22px;height:22px;flex:none;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
button{border:0;background:none;appearance:none;-webkit-appearance:none}p,h1,h2,h3{margin:0}h1,h2,h3{font-weight:500;letter-spacing:-.06em;line-height:1.03}
p{font-size:16px;line-height:1.65}button,summary{font-size:14px}
svg{display:block}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--mint);outline-offset:7px}
input:focus-visible{outline:0;border-color:var(--mint)}::selection{background:var(--mint);color:var(--ink)}
[hidden]{display:none!important}.skip{position:fixed;left:20px;top:-100px;z-index:200;background:var(--mint);color:var(--ink);padding:14px 22px}.skip:focus{top:16px}
fieldset{border:0;padding:0;margin:0;min-width:0}
.eyebrow{font-size:12px;font-weight:500;letter-spacing:.15em;line-height:1.5;text-transform:uppercase}
.section-pad{padding-left:var(--gutter);padding-right:var(--gutter)}
.header{position:fixed;z-index:80;left:0;top:0;width:100%;height:var(--header);padding:0 var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:24px;transition:background .35s,color .35s,border-color .35s;border-bottom:1px solid transparent}
.header.scrolled{background:rgba(8,12,13,.87);backdrop-filter:blur(16px);border-color:rgba(255,255,255,.06)}
.brand{display:flex;align-items:center;gap:18px}.brand-name{font-weight:700;font-size:49px;line-height:1;letter-spacing:-.09em}.brand-dot{color:var(--mint)}
.brand-descriptor{font-size:9px;line-height:1.35;font-weight:500;letter-spacing:.1em;padding-top:7px}
.header-nav{display:flex;gap:32px;margin-left:auto;margin-right:auto}.header-nav a{font-size:13px;transition:color .2s}.header-nav a:hover{color:var(--mint)}
.header-actions{display:flex;align-items:center;gap:25px}.language{font-size:12px;font-weight:600;min-width:32px;min-height:44px}.header-book{display:flex;gap:18px;font-size:12px;border:1px solid rgba(238,241,235,.4);border-radius:30px;padding:12px 20px;transition:background .2s,color .2s}.header-book span{color:var(--mint)}.header-book:hover{background:var(--mint);color:var(--ink);border-color:var(--mint)}.header-book:hover span{color:inherit}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;min-height:60px;padding:16px 24px;border:1px solid var(--mint);border-radius:4px;font-size:14px;font-weight:600;letter-spacing:-.01em;transition:background .2s,box-shadow .2s;white-space:nowrap}
.button-mint{background:var(--mint);color:var(--ink)}.button-mint:hover{background:#b1ffdf;box-shadow:0 0 40px rgba(138,244,208,.17)}.button svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.3}.button-price{font-weight:500;margin-left:12px}
.accent{color:var(--mint)}
.hero{position:relative}.hero-stage{height:100svh;min-height:720px;position:relative;overflow:hidden;isolation:isolate;background:var(--ink)}
.hero-visual{position:absolute;inset:0;z-index:-1}.hero-photo{height:100%;width:100%;max-width:none;object-position:60% 48%;transform-origin:75% 50%}
.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,12,13,.25),transparent 72%),linear-gradient(0deg,var(--ink),transparent 18%,transparent 85%,rgba(8,12,13,.35))}
.hero-content{position:absolute;left:var(--gutter);right:var(--gutter);top:25%;z-index:3}.hero-kicker{color:#d0e7e1;margin-bottom:36px;font-size:11px}
.hero h1{font-size:clamp(74px,8.5vw,164px);letter-spacing:-.065em;line-height:1.025;font-weight:500}.title-line{display:block;width:max-content;max-width:100%}.title-last{font-weight:400}
.hero-bottom{display:flex;flex-direction:column;align-items:flex-start;gap:24px;margin-top:34px}.hero-bottom p{font-size:15px;color:#c5d0ce;max-width:410px;line-height:1.7}.hero-bottom .button{min-width:250px;min-height:54px}
.hero-foot{position:absolute;left:var(--gutter);right:var(--gutter);bottom:32px;display:flex;justify-content:space-between;align-items:center;font-size:10px;letter-spacing:.15em;color:#b1c4c0;z-index:5}.hero-index{width:90px;text-align:right}.scroll-prompt{display:flex;gap:16px;align-items:center;font-size:10px;letter-spacing:.08em}.scroll-prompt i{width:1px;height:34px;display:block;background:#607f76;position:relative;overflow:hidden}.scroll-prompt i::before{content:"";height:18px;width:1px;background:var(--mint);position:absolute;animation:scroll-line 2s ease-in-out infinite}
@keyframes scroll-line{from{transform:translateY(-20px)}to{transform:translateY(50px)}}
.hero-whisper{position:absolute;left:var(--gutter);bottom:18%;z-index:4;font-size:clamp(52px,6vw,112px);letter-spacing:-.06em;line-height:1.04;opacity:0;visibility:hidden}.hero-whisper span{display:block}.hero-whisper span:last-child{color:var(--mint)}.hero-line{height:2px;position:absolute;bottom:0;left:0;width:100%;background:var(--mint);transform:scaleX(0);transform-origin:left}
.motion-ready .hero{height:220svh}.motion-ready .hero-stage{position:sticky;top:0;height:100svh}
.movement{position:relative;background:#0a1011}.movement-stage{position:relative;overflow:hidden;isolation:isolate}.movement-heading{position:absolute;top:calc(var(--header) + 25px);left:var(--gutter);right:var(--gutter);z-index:12;display:flex;align-items:center;justify-content:space-between;gap:20px}.movement-heading h2{font-size:16px;letter-spacing:-.02em;font-weight:500}.scene-counter{font-size:13px;letter-spacing:.12em;color:#8b9d97}.scene-counter b{font-weight:500;color:var(--mint)}
.movement-track{position:relative}.movement-panel{height:100svh;min-height:760px;position:relative;overflow:hidden;isolation:isolate;background:#0a1011}
.panel-image{position:absolute;inset:0;z-index:-3;overflow:hidden}.panel-image img{width:100%;height:100%;max-width:none;object-position:center;transform-origin:65% 50%}
.panel-pole .panel-image{left:45%;right:5%}.panel-pole .panel-image img{object-fit:contain}.panel-exotic .panel-image{left:40%;right:0}.panel-exotic .panel-image img{object-fit:cover;object-position:50% 64%}.panel-dance .panel-image img{object-position:70% center}.panel-stretch .panel-image{left:25%;right:-12%;top:2%}.panel-stretch .panel-image img{object-fit:contain;object-position:90% 60%}
.panel-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,#0a1011 4%,rgba(10,16,17,.85) 28%,transparent 61%),linear-gradient(0deg,#0a1011,transparent 24%,transparent 75%,rgba(10,16,17,.8))}.panel-pole .panel-shade{background:linear-gradient(0deg,#0a1011,transparent 30%)}
.panel-word{position:absolute;bottom:9%;left:5%;font-size:clamp(160px,22vw,420px);font-weight:600;color:transparent;-webkit-text-stroke:1px rgba(134,229,211,.13);z-index:-1;letter-spacing:-.075em;line-height:1;white-space:nowrap;pointer-events:none}
.panel-copy{position:absolute;left:var(--gutter);top:30%;max-width:510px}.panel-copy .eyebrow{color:var(--mint);margin-bottom:32px}.panel-copy h3{font-size:clamp(52px,5.5vw,105px);margin-bottom:26px}.panel-description{color:#b8c5c1;max-width:355px;line-height:1.75;font-size:15px}.text-link{display:inline-flex;align-items:center;gap:25px;padding:14px 0 10px;border-bottom:1px solid #6c9a8a;margin-top:26px;font-size:14px;line-height:1.5;transition:color .2s}.text-link:hover{color:var(--mint)}
.direction-nav{display:none;position:absolute;left:var(--gutter);right:var(--gutter);bottom:35px;z-index:15;grid-template-columns:repeat(4,1fr);gap:28px}.direction-nav button{position:relative;text-align:left;display:flex;align-items:center;gap:14px;font-size:13px;color:#8c9d98;padding:18px 0;min-height:50px;transition:color .3s}.nav-number{font-size:10px;opacity:.6}.direction-nav i{position:absolute;bottom:0;left:0;height:1px;width:100%;background:rgba(161,209,194,.23)}.direction-nav i::after{content:"";display:block;width:100%;height:2px;background:var(--mint);transform:scaleX(0);transform-origin:left;transition:transform .5s}.direction-nav button[aria-current="true"]{color:var(--mint)}.direction-nav button[aria-current="true"] i::after{transform:scaleX(1)}
.motion-ready .movement{height:390svh}.motion-ready .movement-stage{position:sticky;top:0;height:100svh;min-height:640px}.motion-ready .movement-track{height:100%;width:400%;display:flex;will-change:transform}.motion-ready .movement-panel{width:25%;height:100%;min-height:0;flex-shrink:0}.motion-ready .direction-nav{display:grid}

/* One continuous visual thread. It never intercepts touch or focus. */
.reading-progress{position:absolute;bottom:0;left:0;height:1px;width:100%;background:var(--mint);transform:scaleX(0);transform-origin:left}
.movement-thread{position:fixed;inset:0;width:100%;height:100svh;z-index:32;pointer-events:none;opacity:0;transition:opacity .4s;overflow:visible}.motion-ready .movement-thread{opacity:1}.movement-thread path{fill:none;vector-effect:non-scaling-stroke;stroke-linecap:round}
.hero-aperture{position:absolute;inset:0;border:1px solid rgba(142,222,199,.25);pointer-events:none;z-index:2;opacity:0}.hero-bottom p,.panel-description{font-size:16px}.hero-content{z-index:4}.motion-ready .hero{height:205svh}

/* A contact sheet unfolds as a movement becomes understandable. */
.lesson{background:#e7e9e0;color:#173329;position:relative}.lesson-stage{position:relative;padding:110px var(--gutter) 70px;overflow:hidden}.lesson-heading{display:grid;grid-template-columns:minmax(0,1fr) 295px;gap:22px 50px;align-items:end;position:relative;z-index:4}.lesson-heading .eyebrow{grid-column:1/-1;color:#3b6f5b}.lesson h2{font-size:clamp(40px,min(4.6vw,7.5svh),88px);letter-spacing:-.065em;font-weight:500}.lesson h2>span{display:block}.lesson-intro{font-size:15px;line-height:1.7;color:#466456;max-width:330px;padding-bottom:3px}.lesson-film{margin:55px auto 0;perspective:1400px}.lesson-frames{display:flex;justify-content:center;align-items:flex-start;gap:26px;transform-style:preserve-3d}.lesson-frame{margin:0;flex:0 0 auto;width:clamp(180px,18vw,300px);position:relative;transform-origin:center 65%;will-change:transform}.lesson-photo{aspect-ratio:1/2;background-image:none;background-size:300% 100%;background-repeat:no-repeat;background-color:#c6cbc0;box-shadow:0 16px 40px #233e2717}.photo-one{background-position:left center}.photo-two{background-position:center}.photo-three{background-position:right center}.lesson-frame figcaption{position:relative;padding:17px 0 0 27px;min-height:92px}.lesson-frame figcaption>span{position:absolute;left:0;top:20px;font-size:10px;color:#57816d}.lesson-frame strong{font-size:17px;font-weight:500;letter-spacing:-.025em}.lesson-frame figcaption p{font-size:12px;line-height:1.65;color:#496559;margin-top:7px;max-width:245px}.lesson-controls{display:flex;justify-content:space-between;align-items:center;margin-top:35px;position:relative;z-index:5}.lesson-tabs{display:flex;gap:24px}.lesson-tabs button{font-size:12px;color:#527464;display:flex;gap:10px;padding:13px 0;border-bottom:1px solid #a9beb0}.lesson-tabs button>span:first-child{font-size:9px;padding-top:2px}.lesson-tabs button[aria-pressed=true]{color:#143b28;border-color:#143b28}.lesson-tabs button:focus-visible{outline-color:#173d2e}.dark-link{margin:0;color:#183e2c;border-color:#5e8370;font-size:13px}.dark-link:hover{color:#24794e}.lesson-track{position:absolute;left:0;bottom:0;right:0;height:2px;background:#d0dace}.lesson-track i{display:block;width:100%;height:100%;background:#397657;transform:scaleX(0);transform-origin:left}.motion-ready .lesson{height:220svh}.motion-ready .lesson-stage{position:sticky;top:0;height:100svh;min-height:720px;padding-top:calc(var(--header) + 35px)}.motion-ready .lesson-film{position:absolute;left:0;right:0;top:37%;margin:0}.motion-ready .lesson-frame{width:min(20vw,calc((63svh - 200px)/2))}.motion-ready .lesson-controls{position:absolute;left:var(--gutter);right:var(--gutter);bottom:32px;margin:0}

/* A change of pace: photographs orbit a real choice of class time. */
.day{background:#0b1716;position:relative}.day-stage{min-height:1000px;position:relative;padding:125px var(--gutter) 60px;overflow:hidden;isolation:isolate;transition:background .8s}.day-stage::before{content:'';position:absolute;inset:0;z-index:-2;background:radial-gradient(ellipse at 69% 58%,#2b64572e,transparent 58%)}.day-heading{position:relative;z-index:4;max-width:670px}.day-heading .eyebrow{color:#91b2a5;margin-bottom:35px}.day h2{font-size:clamp(62px,6.1vw,116px);letter-spacing:-.065em}.morning-copy{display:none}.day[data-time=morning] .morning-copy{display:block}.day[data-time=morning] .evening-copy{display:none}.day[data-time=morning] .day-stage{background:#17342f}.day[data-time=morning] .orbit-ring{border-color:#a6d8aa45}.day-choice{position:relative;z-index:5;margin-top:55px;max-width:360px}.day-choice>p{color:#a5beb2;font-size:15px;line-height:1.8}.time-switch{display:inline-flex;align-items:center;gap:24px;margin-top:30px}.time-switch button{position:relative;display:flex;align-items:center;gap:10px;font-size:13px;color:#8aa599;padding:16px 0;border-bottom:1px solid #476457}.time-switch button[aria-pressed=true]{color:#bbf8d8;border-color:#bbf8d8}.time-symbol{display:block;width:14px;height:14px;border-radius:50%;border:1px solid currentColor;position:relative}.sun{box-shadow:0 0 0 3px #8ab7971c}.moon{border-width:0;box-shadow:inset 5px -2px 0 0 currentColor;transform:rotate(-12deg)}.day-choice .text-link{display:flex;width:max-content;margin-top:12px;font-size:13px}.day-facts{position:relative;display:flex;align-items:start;gap:50px;z-index:5;margin-top:90px}.day-facts p{font-size:12px;color:#a4c1b1}.day-facts p>span{display:block;font-size:10px;color:#70947e;margin-bottom:8px}.day-facts strong{font-size:14px;font-weight:500}.day-extra{max-width:310px;margin-left:auto;line-height:1.7}.day-orbit{position:absolute;right:-9vw;top:11%;width:min(70vw,1090px);aspect-ratio:1;z-index:1;transform-origin:center}.orbit-ring{position:absolute;border:1px solid #6bac8b40;border-radius:50%;inset:10%}.orbit-ring-inner{inset:22%;border-style:dashed;border-color:#6bac8b22}.orbit-label{position:absolute;top:5%;left:22%;font-size:9px;letter-spacing:.18em;color:#87b69e;transform:rotate(-28deg)}.orbit-spoke{position:absolute;left:50%;top:50%;width:38%;height:1px;background:linear-gradient(90deg,#96e9b8a8,transparent);transform-origin:left;transform:rotate(-58deg)}.orbit-moment{position:absolute;overflow:hidden;box-shadow:0 20px 60px #0005}.orbit-moment img{height:100%;width:100%;object-fit:cover}.orbit-dance{width:26%;height:39%;right:13%;top:8%;transform:rotate(14deg)}.orbit-dance img{object-position:50% 40%}.orbit-stretch{width:29%;height:23%;left:10%;bottom:12%;transform:rotate(-13deg)}.orbit-stretch img{object-position:50% 65%}.orbit-detail{width:29%;height:22%;right:7%;bottom:11%;transform:rotate(11deg)}.orbit-time{position:absolute;top:42%;left:14%;right:8%;text-align:center;text-shadow:0 4px 45px #06110dcc}.orbit-time>span{font-size:clamp(100px,11vw,210px);font-weight:400;letter-spacing:-.09em;line-height:1;color:#dbf3e6}.time-colon{font-size:.78em;vertical-align:9%;padding:0 .01em}.orbit-time small{margin-top:18px;font-size:11px;color:#a2bdae;letter-spacing:.04em}.motion-ready .day{height:auto}.motion-ready .day-stage{position:relative;height:100svh;min-height:750px;padding-top:calc(var(--header) + 40px)}.motion-ready .day-facts{position:absolute;bottom:40px;left:var(--gutter);right:var(--gutter);margin:0}.motion-ready .day-orbit{top:12%;width:min(67vw,98svh)}

/* The final photographic gesture opens into a tangible trial invitation. */
.mobile-book{display:none}

@media(min-width:1101px){
 .panel-exotic .panel-image{inset:0 35% 0 0;mask-image:linear-gradient(90deg,#000 65%,transparent)}.panel-exotic .panel-image img{object-fit:contain;object-position:20% 55%}.panel-exotic .panel-shade{background:linear-gradient(0deg,#0a1011,transparent 30%,transparent 80%,#0a1011b3)}.panel-exotic .panel-copy{left:57%;top:31%;right:var(--gutter)}.panel-exotic .panel-word{left:25%;bottom:13%}.panel-dance .panel-copy{top:27%}.panel-dance .panel-copy h3{font-size:clamp(70px,7vw,125px)}.panel-dance .panel-word{left:28%;bottom:16%}.panel-stretch .panel-image{inset:25% 10% 7% 10%}.panel-stretch .panel-image img{object-fit:contain;object-position:center bottom}.panel-stretch .panel-copy{top:23%;left:var(--gutter);right:var(--gutter);max-width:none;display:grid;grid-template-columns:1fr 320px;column-gap:14vw}.panel-stretch .panel-copy>.eyebrow{grid-column:1/-1;margin-bottom:20px}.panel-stretch .panel-description{grid-column:2;grid-row:2;align-self:center}.panel-stretch .panel-copy>.text-link{grid-column:2;justify-self:start;margin-top:0;align-self:start}.panel-stretch .panel-copy h3{margin-bottom:0}.panel-stretch .panel-shade{background:linear-gradient(0deg,#0a1011,transparent 24%,transparent 50%,#0a1011bf 80%)}.panel-stretch .panel-word{font-size:19vw;left:4%;top:8%;bottom:auto}
}
@media(min-width:761px) and (max-width:1100px){
 :root{--header:78px}.brand-descriptor{display:none}.header-nav{gap:22px}.hero-content{top:27%}.hero h1{font-size:9.1vw}.hero-bottom p{font-size:14px;max-width:340px}.panel-copy{max-width:47%;top:29%}.panel-copy h3{font-size:6vw}.panel-description{max-width:300px;font-size:14px}.lesson-heading{grid-template-columns:1fr 220px;gap:20px}.lesson h2{font-size:4.6vw}.lesson-intro{font-size:13px}.motion-ready .lesson-film{top:37%}.motion-ready .lesson-frame{width:min(23vw,calc((63svh - 200px)/2))}.lesson-frame figcaption p{font-size:11px}.lesson-tabs{gap:14px}.lesson-tabs button{font-size:11px}.dark-link{font-size:11px}.day h2{font-size:6.5vw}.day-choice{max-width:290px}.day-choice>p{font-size:13px}.day-orbit,.motion-ready .day-orbit{right:-17vw;top:23%;width:80vw}.day-extra{max-width:240px}.day-facts{gap:30px}.day-facts strong{font-size:12px}
}
@media(max-width:760px){
 :root{--gutter:24px;--header:74px}.header{gap:10px}.brand{gap:9px}.brand-name{font-size:40px}.brand-descriptor{font-size:7px;letter-spacing:.03em;padding-top:4px}.header-nav{display:none}.header-actions{gap:9px}.header-book{padding:10px 13px;font-size:10px;gap:9px}.header-book span{display:none}.language{font-size:11px;min-width:30px}.eyebrow{font-size:9px;letter-spacing:.1em}
 .hero-stage{min-height:700px;height:100svh}.motion-ready .hero{height:190svh}.hero-photo{object-position:66% 50%;height:73%;position:absolute;top:19%;left:0;width:100%;transform-origin:72% 45%}.hero-shade{background:linear-gradient(0deg,#080c0d 0%,#080c0df2 10%,transparent 37%,transparent 73%,#080c0dbf 95%)}.hero-content{top:13.5%;left:20px;right:20px}.hero-kicker{font-size:8px;letter-spacing:.08em;margin-bottom:16px}.hero h1{font-size:clamp(47px,11.75vw,85px);line-height:1.045;letter-spacing:-.06em}.hero-bottom{position:absolute;top:50svh;left:4px;right:4px;gap:18px;margin:0;align-items:flex-start}.hero-bottom p{font-size:14px;line-height:1.65;max-width:330px;color:#d1ded8}.hero-bottom .button{min-height:48px;width:auto;min-width:226px;padding:12px 18px;font-size:12px}.button-price{margin-left:5px}.hero-foot{left:24px;right:24px;bottom:18px;font-size:8px}.hero-foot>span:first-child{display:none}.hero-index{font-size:8px}.scroll-prompt{font-size:8px;gap:10px}.scroll-prompt i{height:25px}.hero-whisper{font-size:clamp(41px,10.5vw,74px);left:24px;bottom:19%}
 .movement-heading{top:calc(var(--header) + 20px);left:24px;right:24px}.movement-heading h2{font-size:13px}.scene-counter{font-size:10px}.movement-panel{min-height:780px}.panel-image{inset:0}.panel-pole .panel-image{inset:13% 0 33% 0}.panel-exotic .panel-image{inset:8% 0 26% 6%}.panel-exotic .panel-image img{object-fit:contain;object-position:68% center}.panel-dance .panel-image{inset:8% -25% 27% -40%}.panel-dance .panel-image img{object-fit:cover;object-position:64% center}.panel-stretch .panel-image{inset:8% -32% 26% -27%}.panel-stretch .panel-image img{object-fit:contain;object-position:center}.panel-pole .panel-image img{object-fit:contain;object-position:center}.panel-shade,.panel-pole .panel-shade{background:linear-gradient(0deg,#0a1011 4%,#0a1011f0 24%,transparent 57%,transparent 82%,#0a1011e6)}.panel-word{font-size:33vw;left:1%;bottom:auto;top:22%;z-index:-2;opacity:.55}.panel-copy{top:auto;bottom:115px;left:24px;right:24px;max-width:none}.panel-copy .eyebrow{font-size:9px;margin-bottom:13px}.panel-copy h3{font-size:clamp(38px,10vw,66px);line-height:1.02;margin-bottom:15px}.panel-description{font-size:14px;line-height:1.65;max-width:360px}.text-link{margin-top:14px;font-size:12px;padding:9px 0 8px;gap:20px}.direction-nav{left:24px;right:24px;bottom:32px;gap:12px}.direction-nav button{font-size:10px;display:block;padding:16px 0;min-height:64px}.nav-number{display:block;font-size:8px;margin-bottom:5px}.motion-ready .movement{height:395svh}.motion-ready .movement-stage{height:100svh;min-height:700px}.motion-ready .movement-track{width:100%;height:100%;display:block;transform:none}.motion-ready .movement-panel{position:absolute;inset:0;width:100%;height:100%;min-height:0}.motion-ready .movement-panel:not(:first-child){visibility:hidden;opacity:0}
 .lesson-stage{padding:65px 24px 45px}.lesson-heading{display:block}.lesson h2{font-size:clamp(32px,8.5vw,57px);line-height:1.08}.lesson-heading .eyebrow{margin-bottom:18px}.lesson-intro{font-size:13px;line-height:1.7;margin-top:18px;max-width:350px}.lesson-film{margin-top:40px;overflow:visible}.lesson-frames{flex-direction:column;align-items:center;gap:35px}.lesson-frame{width:min(250px,64vw)}.lesson-frame figcaption{padding-top:15px;min-height:75px}.lesson-frame strong{font-size:16px}.lesson-frame figcaption p{font-size:12px}.lesson-controls{align-items:start;flex-direction:column;gap:12px;margin-top:25px}.lesson-tabs{gap:17px;width:100%}.lesson-tabs button{flex:1;font-size:10px;gap:6px;padding:12px 0}.lesson-tabs button>span:first-child{font-size:8px}.lesson-controls .text-link{font-size:11px}.motion-ready .lesson{height:215svh}.motion-ready .lesson-stage{padding-top:calc(var(--header) + 25px);height:100svh;min-height:700px}.motion-ready .lesson-film{top:35%;left:0;right:0;width:100%;overflow:visible}.motion-ready .lesson-frames{flex-direction:row;justify-content:flex-start;gap:26px;padding-left:calc(50vw - 10.5svh);width:max-content}.motion-ready .lesson-frame{width:21svh}.motion-ready .lesson-controls{left:24px;right:24px;bottom:25px;gap:8px}.motion-ready .lesson-controls .text-link{margin-top:0;padding-top:5px}.motion-ready .lesson-intro{font-size:12px;margin-top:14px}
 .day-stage{padding:80px 24px 45px;min-height:950px}.day-heading .eyebrow{margin-bottom:24px}.day h2{font-size:clamp(43px,11vw,76px);line-height:1.03}.day-choice{margin-top:440px;max-width:360px}.day-choice>p{font-size:13px;line-height:1.7}.time-switch{margin-top:18px;gap:26px}.time-switch button{font-size:12px;padding:14px 0}.day-choice .text-link{font-size:12px;margin-top:8px}.day-orbit{width:110vw;right:-10vw;top:200px}.orbit-time>span{font-size:19vw}.orbit-time small{font-size:9px;margin-top:10px}.orbit-label{font-size:7px}.orbit-dance{right:10%;width:24%;height:35%;top:12%}.orbit-detail{bottom:8%}.orbit-stretch{left:5%;bottom:12%}.day-facts{gap:25px;margin-top:45px;flex-wrap:wrap}.day-facts p{font-size:10px}.day-facts strong{font-size:11px}.day-facts p>span{font-size:9px;margin-bottom:5px}.day-extra{display:none}.motion-ready .day{height:auto}.motion-ready .day-stage{height:100svh;min-height:700px;padding-top:calc(var(--header) + 23px)}.motion-ready .day-orbit{top:25%;width:min(115vw,62svh);right:-6vw}.motion-ready .day-choice{position:absolute;left:24px;right:24px;top:auto;bottom:85px;margin:0;max-width:330px}.motion-ready .day-choice>p{font-size:12px;max-width:325px}.motion-ready .day-facts{left:24px;right:24px;bottom:23px;gap:30px}.motion-ready .time-switch{margin-top:8px}.motion-ready .time-switch button{padding:11px 0}.motion-ready .day-choice .text-link{margin-top:3px}.mobile-book{position:fixed;z-index:60;left:18px;right:18px;bottom:max(16px,env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:52px;padding:14px 20px;border-radius:4px;background:var(--mint);color:#0c2118;font-size:12px;font-weight:500;box-shadow:0 5px 30px #0005;transform:translateY(140%);visibility:hidden;transition:transform .35s,visibility .35s}.mobile-book.visible{transform:none;visibility:visible}.mobile-book b{margin-left:auto;font-weight:500}
}
@media(max-width:370px){:root{--gutter:19px}.header{padding-left:19px;padding-right:19px}.brand-descriptor{display:none}.hero h1{font-size:11.65vw}.hero-content{left:19px;right:19px}.hero-kicker{font-size:7px}.panel-copy{left:19px;right:19px}.direction-nav{left:19px;right:19px}.day-choice{max-width:290px}.lesson-tabs{gap:10px}.lesson-tabs button{font-size:9px}}
@media(max-height:740px) and (min-height:641px){
 .hero-stage,.motion-ready .hero-stage,.motion-ready .movement-stage,.motion-ready .lesson-stage,.motion-ready .day-stage{min-height:0;height:100svh}.hero-kicker{margin-bottom:20px}.hero-bottom{gap:15px}.hero-bottom p{font-size:13px}.hero-bottom .button{min-height:48px}.panel-copy{top:25%}.panel-copy h3{font-size:6vw;margin-bottom:18px}.panel-copy .eyebrow{margin-bottom:20px}.panel-description{font-size:13px}.direction-nav{bottom:20px}.motion-ready .lesson-film{top:37%}.lesson h2{font-size:4.2vw}.lesson-intro{font-size:13px}.lesson-frame figcaption{min-height:75px;padding-top:10px}.lesson-frame strong{font-size:15px}.lesson-frame figcaption p{font-size:11px;margin-top:4px}.lesson-frame figcaption>span{top:13px}.motion-ready .lesson-controls{bottom:18px}.day-heading .eyebrow{margin-bottom:20px}.day-choice{margin-top:25px}.day h2{font-size:6vw}.motion-ready .day-facts{bottom:23px}
}
@media(max-width:760px) and (max-height:740px) and (min-height:641px){
 .hero-content{top:13%}.hero h1{font-size:11.3vw}.hero-kicker{margin-bottom:14px}.hero-bottom p{font-size:13px;line-height:1.6}.panel-copy{top:auto;bottom:103px}.panel-copy h3{font-size:9.7vw;margin-bottom:12px}.panel-copy .eyebrow{margin-bottom:12px}.panel-description{font-size:13px;line-height:1.6}.text-link{margin-top:11px}.direction-nav{bottom:19px}.panel-pole .panel-image{inset:13% 0 36% 0}.lesson h2{font-size:8.3vw}.motion-ready .lesson-stage{padding-top:calc(var(--header) + 16px)}.lesson-heading .eyebrow{margin-bottom:13px}.motion-ready .lesson-intro{font-size:11px;line-height:1.6;margin-top:12px}.motion-ready .lesson-film{top:37%}.motion-ready .lesson-frame{width:18.5svh}.motion-ready .lesson-frames{padding-left:calc(50vw - 9.25svh)}.lesson-frame figcaption p{font-size:10px}.lesson-frame strong{font-size:14px}.lesson-frame figcaption{padding-left:23px}.lesson-controls .text-link{font-size:10px}.lesson-tabs button{padding:10px 0}.day h2{font-size:10.3vw}.day-heading .eyebrow{margin-bottom:18px}.motion-ready .day-choice{bottom:80px}.motion-ready .day-choice>p{font-size:11px;max-width:290px}.motion-ready .day-orbit{top:25%;width:104vw;right:-6vw}.orbit-time>span{font-size:19vw}.orbit-detail{display:none}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.scroll-prompt i::before{display:none}}
.motion-paused .scroll-prompt i::before{animation:none}.motion-paused .movement-thread{display:none}
/* The page remains navigable while the deferred app is arriving. */
html:not([data-ready="true"]) .header{background:#080c0de8}
html:not([data-ready="true"]) :is(.motion-toggle,.direction-nav,.lesson-tabs,.time-switch,#language){visibility:hidden}
.orbit-spin{position:absolute;inset:0;transform-origin:center}.day[data-time=morning] .orbit-stretch{box-shadow:0 15px 60px #9fc6842e}.day[data-time=morning] .orbit-dance{opacity:.55}.orbit-moment{transition:opacity .6s}
/* The caption stays readable while the photographs move; the final headline is
   the arrival of the photographic scene, directly above the actual booking. */
.lesson-current-caption{display:none}.orbit-time>span,.orbit-time small{display:block}.day[data-time=evening] .morning-copy{display:none}.day[data-time=morning] .evening-copy{display:none}
@media(max-width:760px){
 .motion-ready .lesson-frame figcaption{display:none}.motion-ready .lesson-current-caption{display:block;position:absolute;left:24px;right:24px;bottom:120px;max-width:320px;color:#173d2c;z-index:5}.lesson-current-caption strong{font-size:17px;font-weight:500}.lesson-current-caption p{font-size:12px;line-height:1.65;color:#466d58;margin-top:6px}.motion-ready .day-stage{min-height:760px}
}
@media(max-width:760px) and (max-height:740px) and (min-height:641px){.motion-ready .lesson-current-caption{bottom:102px;max-width:290px}.lesson-current-caption p{font-size:11px}.lesson-current-caption strong{font-size:15px}.motion-ready .day-stage{min-height:740px}.motion-ready .day-orbit{width:100vw;top:26%}.motion-ready .day-choice{bottom:90px}}



@media(min-width:761px){.motion-ready .lesson-current-caption{display:block;position:absolute;left:var(--gutter);bottom:100px;max-width:275px;z-index:5;color:#173d2c}.lesson-current-caption strong{font-size:19px;font-weight:500;letter-spacing:-.025em}.lesson-current-caption p{font-size:13px;line-height:1.7;color:#466d58;margin-top:8px}.motion-ready .lesson-frame figcaption{visibility:hidden}}

/* Controls and step numbers sit on the light lesson surface. */
.lesson-tabs button,.lesson-frame figcaption>span{color:#466456}
.lesson :is(a,button,summary):focus-visible{outline-color:#173d2e}
