/* Glow motion edition • 25 September 2026. Content stays visible without JS. */
body.cinematic-ready .reveal{opacity:1;transform:none}
body.cinematic-ready .section-heading h2,body.cinematic-ready [data-scroll-surface],body.cinematic-ready .style-row,body.cinematic-ready .intro,body.cinematic-ready .card{transform:none!important}
.glow-word{display:inline-block;white-space:pre}
body.cinematic-ready .section{isolation:isolate}
body.cinematic-ready .classes-section,body.cinematic-ready .events-section{background-image:radial-gradient(ellipse at 10% 20%,#65d7eb19,transparent 55%),radial-gradient(ellipse at 95% 80%,#62e1e414,transparent 60%)}
body.cinematic-ready .belong-section,body.cinematic-ready .prices-section{background-image:radial-gradient(ellipse at 95% 15%,#63dced20,transparent 60%)}
body.cinematic-ready .style-row,body.cinematic-ready .belong-item,body.cinematic-ready .event-agenda-row{border-radius:18px;transition:border-color .25s,box-shadow .25s;background-clip:padding-box}
body.cinematic-ready .style-row:hover,body.cinematic-ready .belong-item:hover{border-color:#74d9e5;box-shadow:0 12px 40px #48c3d219}
body.cinematic-ready .agenda-main,body.cinematic-ready .agenda-board{filter:none!important;opacity:1!important}
@media(prefers-reduced-motion:reduce){.glow-word{filter:none!important;opacity:1!important;transform:none!important}}

body.cinematic-ready .classes-section,body.cinematic-ready .events-section{background-size:140% 140%;background-position:calc(var(--scene-progress,.5)*100%) center}
/* Second edition: layered flowing light, paced logo reveal and luminous exit. */
body.cinematic-ready h2{perspective:800px}
body.cinematic-ready .style-row,body.cinematic-ready .event-agenda-row{box-shadow:inset 0 1px 0 #a7edfa18,0 20px 45px #00111e18;border-color:#83c7d44d}
body.cinematic-ready .style-row a:focus-visible,body.cinematic-ready button:focus-visible{outline:2px solid #7cdeef;outline-offset:5px}
body.cinematic-ready .belong-item{transition:background .35s,border-color .35s,box-shadow .35s}
body.cinematic-ready .belong-item:hover{box-shadow:inset 3px 0 #69d4e4,0 16px 32px #143f4910}
@media(max-width:680px){}
/* Word wrappers must inherit typography, including the smaller subtitle. */
body.cinematic-ready h1 .glow-word,body.cinematic-ready h2 .glow-word{display:inline-block;font:inherit!important;line-height:inherit!important;letter-spacing:inherit!important;max-width:none;white-space:normal}
/* Edition 3: logo-to-header handoff and masked typography. */
body.cinematic-ready h1 .glow-word-shell,body.cinematic-ready h2 .glow-word-shell{display:inline-block;overflow:clip;vertical-align:bottom;padding:.08em .025em;margin:-.08em -.025em;font:inherit!important;line-height:inherit!important;letter-spacing:inherit!important;max-width:100%}
body.cinematic-ready h1 .glow-word,body.cinematic-ready h2 .glow-word{transform-origin:left bottom;vertical-align:bottom}
body.cinematic-ready .style-row a,body.cinematic-ready .btn{transition:background .2s,box-shadow .2s,border-color .2s}
body.cinematic-ready .btn:hover{box-shadow:0 8px 26px #63d6e42b}
@media(prefers-reduced-motion:reduce){.glow-word-shell{overflow:visible!important}}
/* Explicit surface contrast: heading colour follows the panel, not a global white rule. */
body.cinematic-ready :is(.schedule-studio,.prices-section,.directors-section,.contact-section){--glow-heading:#102c3b;--glow-heading-accent:#086779}
body.cinematic-ready :is(.hero,.belong-section,.classes-section,.events-section){--glow-heading:#f2fbff;--glow-heading-accent:#79dfef}
body.cinematic-ready .free-class{--glow-heading:#102c3b;--glow-heading-accent:#07596b}
body.cinematic-ready :is(.hero,.belong-section,.classes-section,.events-section,.schedule-studio,.prices-section,.directors-section,.contact-section,.free-class) :is(h1,h2){color:var(--glow-heading);-webkit-text-fill-color:currentColor;text-shadow:none}
body.cinematic-ready :is(.hero,.belong-section,.classes-section,.events-section,.schedule-studio,.prices-section,.directors-section,.contact-section,.free-class) :is(h1,h2) em{color:var(--glow-heading-accent);-webkit-text-fill-color:currentColor}
body.cinematic-ready :is(h1,h2) .glow-word-shell,body.cinematic-ready :is(h1,h2) .glow-word{color:inherit!important;-webkit-text-fill-color:currentColor!important;background:none!important}
body.cinematic-ready .price-editorial-card:not(.price-editorial-card--featured) :is(h3,.price-type){color:#102c3b}
body.cinematic-ready .price-editorial-card--featured :is(h3,strong){color:#f2fbff}
body.cinematic-ready .contact-info-card :is(h3,strong){color:#102c3b}
body.cinematic-ready .agenda-class-info h4{color:#102c3b}
body.cinematic-ready .trial-alt-cta-box :is(h2,h3){color:#f2fbff}
body.trial-page.cinematic-ready .intro h1{color:#f2fbff;-webkit-text-fill-color:currentColor}
body.trial-page.cinematic-ready .intro h1 em{color:#79dfef;-webkit-text-fill-color:currentColor}
body.trial-page .modal-card{background:#fff;color:#102c3b}
body.trial-page .modal-card h2{color:#102c3b;-webkit-text-fill-color:currentColor}

/* Critical heading contrast. Independent of JavaScript, animation and viewport. */
html body :is(.schedule-studio,.prices-section,.directors-section,.contact-section,.free-class) :is(h1,h2,h3,h4){--title-ink:#102c3b;--title-accent:#086779}
html body :is(.hero,.belong-section,.classes-section,.events-section) :is(h1,h2,h3,h4){--title-ink:#f2fbff;--title-accent:#79dfef}
html body .price-editorial-card--featured :is(h2,h3,h4){--title-ink:#f2fbff;--title-accent:#79dfef}
html body .trial-alt-cta-box :is(h2,h3,h4){--title-ink:#f2fbff;--title-accent:#79dfef}
html body.trial-page .intro h1{--title-ink:#f2fbff;--title-accent:#79dfef}
html body.trial-page .modal-card{background:#fff!important;color:#102c3b!important}
html body.trial-page .modal-card h2{--title-ink:#102c3b;--title-accent:#086779}
html body :is(h1,h2,h3,h4){color:var(--title-ink,#102c3b)!important;-webkit-text-fill-color:currentColor!important;text-shadow:none!important;mix-blend-mode:normal!important}
html body :is(h1,h2,h3,h4) :is(span,strong,b,i){color:inherit!important;-webkit-text-fill-color:currentColor!important;background:none!important;mix-blend-mode:normal!important}
html body :is(h1,h2,h3,h4) em{color:var(--title-accent,#086779)!important;-webkit-text-fill-color:currentColor!important;background:none!important}

/* Styles and Events: same heading palette as the other sections. */
html body :is(.classes-section,.events-section) h2{--title-ink:#102c3b;--title-accent:#086779}

/* Light heading surface keeps the shared dark palette readable. */
html body :is(.classes-section,.events-section)>.section-heading{background:#eef4f7;border-radius:16px;padding:clamp(24px,4vw,48px);color:#102c3b}
html body :is(.classes-section,.events-section)>.section-heading .kicker{color:#086779}
html body :is(.classes-section,.events-section)>.section-heading>p:not(.kicker){color:#405b69}

/* Reference-inspired section rhythm. Keep native scrolling and all touch controls. */
body.cinematic-ready .glow-motion-group{transform:none!important;opacity:1!important;filter:none!important}
body.cinematic-ready .glow-motion-group :is(h1,h2){transform-origin:left center}
body.cinematic-ready .glow-motion-group>.kicker{transform-origin:left center}
body.cinematic-ready :is(.classes-section,.events-section){background-position:calc(var(--scene-progress,.5)*100%) calc(var(--scene-progress,.5)*60%)}
body.cinematic-ready .style-row,body.cinematic-ready .event-agenda-row{transform-origin:center center}
@media(prefers-reduced-motion:reduce){body.cinematic-ready .glow-motion-group,body.cinematic-ready .glow-motion-group>*{translate:none!important;scale:none!important;filter:none!important;opacity:1!important}}
body.motion-paused .glow-motion-group,body.motion-paused .glow-motion-group>*{translate:none!important;scale:none!important;filter:none!important;opacity:1!important}

/* Dedicated app section, separate from the video cover. */
.hero-without-device .hero-content{width:100%;max-width:940px}
.glow-app-section{background:#eef4f7;color:#102c3b;overflow:hidden}
.glow-app-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:clamp(36px,6vw,100px);align-items:center;max-width:1240px;margin:auto}
.glow-app-copy.section-heading{max-width:none;margin:0}
html body .glow-app-section :is(h2,h3){--title-ink:#102c3b;--title-accent:#086779}
.glow-app-copy h2{font-size:clamp(48px,5.5vw,78px)}
.glow-app-copy .kicker{color:#086779}
.glow-app-copy>p:not(.kicker){max-width:540px;color:#405b69;line-height:1.75}
.glow-app-features{display:grid;margin:30px 0;gap:0}
.glow-app-features article{display:flex;gap:18px;padding:20px 0;border-top:1px solid #cedde4}
.glow-app-features article>span{font:600 13px/1.5 Inter,sans-serif;color:#086779;padding-top:4px}
.glow-app-features h3{font:700 20px/1.3 Inter,sans-serif;margin:0 0 7px;text-transform:none;letter-spacing:-.02em}
.glow-app-features p{font-size:14px;line-height:1.65;color:#405b69;margin:0;max-width:460px}
.glow-app-visual{position:relative;display:grid;place-items:center;padding:36px 0}
.glow-app-section .app-device-scene{position:relative;inset:auto;transform:none;width:clamp(220px,22vw,280px);margin:0 auto;max-width:80%}
.glow-app-section .app-device-caption{color:#102c3b;background:#fff;border:1px solid #cedde4;box-shadow:0 12px 32px #12384912}
.glow-app-section .app-device-caption span{color:#086779}
.glow-app-section .app-device-caption strong,.glow-app-section .app-device-caption b{color:#102c3b}
@media(max-width:760px){.hero-without-device .hero-stage{min-height:80svh;padding-bottom:100px;justify-content:center}.glow-app-layout{grid-template-columns:1fr;gap:24px}.glow-app-visual{padding:15px 0 35px}.glow-app-section .app-device-scene{width:230px}.glow-app-copy h2{font-size:clamp(44px,11vw,66px)}.glow-app-copy>.btn{width:100%;text-align:center}}

/* App feature index: native disclosures remain usable without JavaScript. */
.glow-app-accordion{border-top:1px solid #c4d8e0;gap:0}
.glow-app-feature{border-bottom:1px solid #c4d8e0;padding:0}
.glow-app-feature summary{list-style:none;display:grid;grid-template-columns:26px 1fr 24px;align-items:center;gap:14px;cursor:pointer;padding:18px 0;font:600 16px/1.4 Inter,sans-serif;color:#102c3b;min-height:60px}
.glow-app-feature summary::-webkit-details-marker{display:none}
.glow-app-feature summary:focus-visible{outline:2px solid #086779;outline-offset:4px;border-radius:4px}
.glow-app-feature .app-feature-number{font-size:11px;color:#086779;letter-spacing:.08em}
.glow-app-feature .app-feature-plus{font-size:25px;font-weight:400;color:#086779;transition:transform .25s;text-align:center}
.glow-app-feature[open] .app-feature-plus{transform:rotate(45deg)}
.glow-app-feature>p{margin:0 28px 20px 40px;max-width:450px;font-size:14px;line-height:1.75;color:#405b69}
.glow-app-feature[open]{background:linear-gradient(90deg,transparent,#ffffff80)}
.glow-app-visual{align-self:start;position:sticky;top:140px}
@media(max-width:760px){.glow-app-visual{position:relative;top:auto}.glow-app-feature summary{font-size:15px;gap:10px}.glow-app-feature>p{margin-left:36px}.glow-app-features{margin:24px 0}}
/* Image-ready logo reveal: precise light sweep, then flight into the header. */
@media(prefers-reduced-motion:reduce){.glow-app-feature .app-feature-plus{transition:none}}

/* Real studio photography: independent of hover and background-attachment:fixed. */
.glow-photo-scene{position:relative;height:76vh;height:76svh;min-height:430px;max-height:850px;isolation:isolate;overflow:hidden;background:#07171f;display:flex;align-items:flex-end;padding:clamp(32px,6vw,90px) var(--gutter)}
.glow-photo-scene>img{position:absolute;inset:-8% 0;width:100%;height:116%;object-fit:cover;object-position:50% 50%;z-index:-3;transform:translate3d(0,var(--photo-drift,0px),0) scale(1.02);will-change:transform}
.glow-photo-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(0deg,#03121df0 0%,#03121d85 25%,#03121d00 70%)}
.glow-photo-copy{max-width:800px;color:#fff}
html body .glow-photo-scene h2{--title-ink:#f2fbff;--title-accent:#79dfef;font-size:clamp(48px,7vw,100px);line-height:.97;max-width:850px;text-wrap:balance}
.glow-photo-copy .kicker{color:#9be5ed;font-size:12px;letter-spacing:.18em}
.glow-photo-copy>p:last-child{font-size:clamp(16px,2vw,20px);line-height:1.5;margin-top:22px;color:#e8f3f8}
.glow-life{background:#eef4f7;overflow:hidden;color:#102c3b}
html body .glow-life h2{--title-ink:#102c3b;--title-accent:#086779}
.glow-life .section-heading{margin-bottom:24px}
.glow-life-controls{display:flex;justify-content:flex-end;align-items:center;gap:18px;margin:0 0 20px;color:#405b69;font-size:13px}
.glow-life-controls button{border:1px solid #bccfd8;border-radius:50%;width:46px;height:46px;background:transparent;color:#102c3b;font-size:22px;cursor:pointer}
.glow-life-controls button:hover{background:#d8edf2}
.glow-life-controls button:focus-visible,.glow-life-track:focus-visible{outline:2px solid #086779;outline-offset:4px}
.glow-life-track{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#086779 #d5e5eb;padding-bottom:20px;overscroll-behavior-x:contain}
.glow-life-photo{flex:0 0 42%;margin:0;aspect-ratio:4/3;overflow:hidden;border-radius:16px;scroll-snap-align:start;background:#0b2433}
.glow-life-photo:nth-child(2){flex-basis:28%;aspect-ratio:3/4}
.glow-life-photo img{display:block;width:100%;height:100%;object-fit:cover}
.glow-life>.btn{margin-top:30px}
@media(max-width:680px){.glow-photo-scene{height:66svh;min-height:420px;padding-bottom:40px}.glow-photo-scene>img{object-position:55% center}.glow-photo-scene h2{font-size:clamp(42px,11vw,64px)}.glow-life-track{gap:14px}.glow-life-photo,.glow-life-photo:nth-child(2){flex-basis:82%;aspect-ratio:3/4}.glow-life-controls{justify-content:space-between}.glow-photo-scene>img{will-change:auto}}
@media(prefers-reduced-motion:reduce){.glow-photo-scene>img{transform:none!important}}
body.motion-paused .glow-photo-scene>img{transform:none!important}

/* Single intro sequence: image-ready, WAAPI entrance and fade, no competing transforms. */
.glow-intro{position:fixed;inset:0;z-index:100000;display:grid;place-items:center;overflow:hidden;background:#041018;color:#fff;pointer-events:none;animation:glow-intro-failsafe .15s 5s forwards}
.glow-intro-canvas{position:absolute;inset:0;width:100%;height:100%;opacity:.65}
.glow-intro-halo{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 48%,#46c5df24,transparent 60%)}
.glow-intro-brand{position:relative;width:min(72vw,460px);display:grid;justify-items:center;transform-origin:center}
.glow-intro-logo{display:block;width:100%;height:auto;opacity:0}
.glow-intro-ready .glow-intro-logo{opacity:1}
.glow-intro-line{position:absolute;top:calc(100% + 26px);width:44%;height:1px;background:linear-gradient(90deg,transparent,#8be3ef,transparent);opacity:0;transform-origin:center}
.glow-intro-skip{pointer-events:auto;position:absolute;bottom:max(28px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);padding:12px 22px;min-height:44px;border:1px solid #a5e4ee40;border-radius:30px;background:#0d2634;color:#e3fafc;font:500 13px Inter,Arial,sans-serif;cursor:pointer}
@keyframes glow-intro-failsafe{to{opacity:0;visibility:hidden}}
@media(prefers-reduced-motion:reduce){.glow-intro{display:grid;animation:none}.glow-intro-canvas,.glow-intro-line{display:none}}
