/* Public homepage only. Motion is opt-in after script initialization. */
body:has(.hero-sequence){--headline:-apple-system,BlinkMacSystemFont,'Inter',Arial,sans-serif;background:#f7f5f0}
body:has(.hero-sequence) .topbar{background:rgba(247,245,240,.88)}
body:has(.hero-sequence) .nav{height:72px}
#main{--nav-height:72px;--screen:calc(100svh - var(--nav-height))}
#main section[id]{scroll-margin-top:92px}
.hero-sequence{background:#121413;color:#fff}
.cinema-hero{height:var(--screen);min-height:620px;display:block;overflow:hidden;isolation:isolate}
.hero-picture{position:absolute;inset:0;display:block}
.cinema-hero .hero-media{width:100%;height:100%;object-fit:cover;object-position:center 55%;transform:scale(var(--hero-scale,1));filter:brightness(.84);will-change:auto}
.cinema-hero:before{background:linear-gradient(180deg,rgba(6,10,10,.55),transparent 48%,rgba(6,10,10,.64));z-index:1}
.cinema-hero:after{background:#111512;opacity:var(--hero-shade,0);z-index:1}
.hero-title,.hero-next{position:relative;z-index:2;text-align:center;padding-top:clamp(44px,7vh,90px)}
.cinema-hero .eyebrow{color:#ead9c5;font-size:.7rem;letter-spacing:.22em}
.cinema-hero h1,.cinema-hero h2{font-family:var(--headline);font-weight:600;font-size:clamp(4.5rem,8.5vw,8.5rem);line-height:.95;letter-spacing:-.075em;margin:25px auto;max-width:1200px;text-wrap:balance}
.cinema-hero h1 em,.cinema-hero h2 em{font-family:var(--serif);font-weight:400;color:#ead1b6;letter-spacing:-.045em}
.cinema-hero p{font-size:1rem;line-height:1.65;max-width:590px;margin:0 auto;color:#f0eeea;text-wrap:pretty}
.hero-next{background:#121413;padding:90px 0;display:none}
.cinema-hero h2{font-size:clamp(3.5rem,6.2vw,6.8rem)}
.hero-bottom{position:absolute;bottom:32px;left:0;right:0;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:24px}
.hero-location,.cinema-hero .hero-scroll{font-size:.62rem;letter-spacing:.13em;text-transform:uppercase;color:#fff;margin:0}
.hero-bottom .btn{font-size:.75rem;padding:14px 22px;gap:22px;box-shadow:0 2px 30px #0002}
.hero-progress{position:absolute;bottom:0;left:0;right:0;height:2px;background:#fff2;z-index:4;display:none}
.hero-progress span{display:block;height:100%;background:#ead1b6;transform:scaleX(var(--hero-progress,0));transform-origin:left}
.hero-sequence.is-motion{height:220svh}
.is-motion .cinema-hero{position:sticky;top:var(--nav-height);min-height:0}
.is-motion .hero-title{opacity:var(--hero-title-opacity,1);transform:translateY(var(--hero-title-y,0px));will-change:transform,opacity}
.is-motion .hero-next{display:block;position:absolute;top:50%;left:0;right:0;transform:translateY(calc(-50% + var(--hero-next-y,45px)));padding:0;background:none;opacity:var(--hero-next-opacity,0);will-change:transform,opacity}
.is-motion .hero-progress{display:block}
.alignment-statement{padding:160px 0;background:#f7f5f0}
.statement-copy{font-family:var(--headline);font-size:clamp(3rem,5.6vw,6rem);line-height:1.1;font-weight:600;letter-spacing:-.065em;max-width:1000px;margin:38px 0}
.statement-copy span{display:block;color:#302e2a}
.alignment-statement.is-motion .statement-copy span{opacity:var(--word-opacity,1)}
.statement-note{color:#71695f;font-size:1rem}
#main .section{padding:140px 0}
#main .section h2{font-family:var(--headline);font-weight:500;font-size:clamp(2.9rem,4.7vw,5rem);line-height:1.07;letter-spacing:-.06em;max-width:1080px}
#main .section.ivory{background:#eeebe5}
#main .section .lead{font-size:1.12rem;line-height:1.75}
#main .grid2{gap:85px}
#main .editorial-photo{border:0;border-radius:22px}
#main .framework{border:0;gap:12px;background:none;overflow:visible}
#main .pillar{border:0;border-radius:16px;background:#f8f6f1;padding:30px 22px}
#main .pillar h3{font-size:2.5rem}
.story-section{background:#111512;color:#f7f5f0}
.story-section>.container{width:100%;max-width:none}
.story-header{width:min(1180px,calc(100% - 48px));max-width:none;margin:auto;padding:120px 0 35px}
.story-header h2{font-family:var(--headline);font-weight:500;font-size:clamp(3.5rem,6.8vw,7rem);line-height:1.02;letter-spacing:-.065em;max-width:1000px;margin:22px 0 32px}
.story-header .lead{max-width:680px;font-size:1.08rem}
.story-skip{display:block;width:min(1180px,calc(100% - 48px));margin:0 auto;padding:0 0 70px;color:#d8b996;font-size:.82rem}
.story-layout{display:block;position:relative}
.story-visual{display:none}
.story-step{opacity:1;min-height:0;padding:60px max(24px,calc((100% - 1180px)/2));display:block}
.story-mobile-image{display:block;width:100%;height:60vh;object-fit:cover;border-radius:18px;margin-bottom:35px}
.story-step h3{font-family:var(--headline);font-size:clamp(3.1rem,6.6vw,7rem);font-weight:500;line-height:1.01;letter-spacing:-.065em;margin:24px 0;max-width:1000px}
.story-step p{font-size:1.08rem;line-height:1.7;max-width:510px;color:#eee9e0}
.story-section.is-motion .story-visual{display:block;position:sticky;top:var(--nav-height);height:var(--screen);width:100%;border-radius:0;margin:0;background:#181d19;overflow:hidden}
.story-section.is-motion .story-visual:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#080b09bd 0%,#080b0950 75%),linear-gradient(0deg,#080b0980,transparent 80%)}
.story-section.is-motion .story-image{opacity:var(--image-opacity,0);transform:scale(var(--image-scale,1.04));transition:none;object-position:center 42%}
.story-section.is-motion .story-image:first-child{object-position:center 38%}
.story-section.is-motion .story-copy{position:relative;margin-top:calc(-1 * var(--screen));pointer-events:none}
.story-section.is-motion .story-step{height:var(--screen);min-height:620px;display:flex;justify-content:center;position:relative;padding-top:80px;padding-bottom:80px;opacity:var(--step-opacity,1);transform:translateY(var(--step-y,0px));transition:none}
.story-section.is-motion .story-mobile-image{display:none}
#main .modules{gap:20px;margin-top:60px}
#main .module-card{border:0;border-radius:20px;background:#eeebe5;padding:36px}
#main .module-card h3{font-family:var(--headline);font-size:1.8rem;letter-spacing:-.04em;line-height:1.2;margin:22px 0}
#main .module-card p{font-size:.94rem}
#main .stats{padding:25px 0;margin-top:70px}
#main .stat strong{font-family:var(--headline);font-size:4.5rem;font-weight:500;letter-spacing:-.07em}
#main .immersion{padding:100px 0;background:#17201b}
#main .immersion-card{padding:35px 0;border:0;background:none;backdrop-filter:none}
#main .immersion-card h2{font-family:var(--headline);font-weight:500;font-size:clamp(3rem,5vw,5rem);letter-spacing:-.06em;margin-top:24px}
#main .immersion-image{border:0;border-radius:20px}
#main .pricing{gap:12px;border-radius:0;overflow:visible}
#main .price{border:0;border-radius:16px;padding:32px 12px;background:#eeebe5}
#main .price strong{font-family:var(--headline);font-weight:500;font-size:2rem;letter-spacing:-.06em;margin-top:14px}
#main .cta{padding:160px 0;background:#e0d3c1}
#main .cta h2{font-family:var(--headline);font-weight:500;font-size:clamp(3rem,5.8vw,6rem);letter-spacing:-.065em;line-height:1.05;margin-top:28px}
@media(min-width:1600px){.hero-title{padding-top:8vh}}
@media(max-width:900px){#main .grid2{gap:45px}#main .framework{grid-template-columns:repeat(2,1fr)}#main .pillar:last-child{grid-column:1/-1}#main .pricing{grid-template-columns:repeat(2,1fr)}#main .price:last-child{grid-column:1/-1}.hero-location{display:none}.hero-bottom{justify-content:center}}
@media(max-width:760px){
 #main{--nav-height:72px}.cinema-hero{min-height:650px}.hero-title{padding-top:50px}.cinema-hero h1{font-size:clamp(3.65rem,14.8vw,6.6rem);letter-spacing:-.07em;margin:22px -4px}.cinema-hero .eyebrow{font-size:.6rem}.cinema-hero p{font-size:.88rem;max-width:310px}.cinema-hero .hero-media{object-position:center 55%}.hero-bottom{bottom:26px;flex-direction:column;gap:20px}.hero-bottom .btn{padding:13px 22px}.hero-scroll{font-size:.58rem!important}.hero-sequence.is-motion{height:210svh}.cinema-hero h2{font-size:clamp(2.9rem,12vw,4.5rem);line-height:1.01}.hero-next p{max-width:330px;font-size:.95rem}.alignment-statement{padding:100px 0}.statement-copy{font-size:clamp(2.8rem,11.5vw,4rem);margin:30px 0}.statement-copy span{margin-bottom:14px}.statement-note{font-size:.85rem}
 #main .section{padding:90px 0}#main .section h2{font-size:2.85rem}#main .section .lead{font-size:1rem}.story-header{padding:90px 0 22px}.story-header h2{font-size:3.3rem}.story-header .lead{font-size:1rem}.story-skip{padding-bottom:50px}.story-step h3{font-size:clamp(2.7rem,11.4vw,4.4rem);line-height:1.04}.story-step p{font-size:.95rem;max-width:330px}.story-section.is-motion .story-step{min-height:0;justify-content:flex-end;padding:55px 24px 100px}.story-section.is-motion .story-visual:after{background:linear-gradient(0deg,#080b09e6, #080b0940 85%)}.story-section.is-motion .story-image{object-position:58% center}.story-section.is-motion .story-image:last-child{object-position:50% center}
 #main .modules{margin-top:36px;gap:14px}#main .module-card{padding:28px}#main .stat{padding:20px 12px}#main .stat strong{font-size:3.6rem}#main .stat span{font-size:.72rem}#main .immersion{padding:70px 0}#main .immersion-card{padding:0}#main .immersion-image{min-height:540px}#main .cta{padding:100px 0}#main .price strong{font-size:2rem}#main .framework{gap:10px}#main .pillar{padding:25px 18px}#main .pillar h3{font-size:2.1rem}
}
@media(max-height:640px) and (min-width:761px){.hero-title{padding-top:24px}.cinema-hero h1{font-size:5rem}.cinema-hero h2{font-size:4rem}.cinema-hero p{font-size:.85rem}.hero-bottom{bottom:18px}.story-section.is-motion .story-step{min-height:0}.story-step h3{font-size:4rem}}
@media(prefers-reduced-motion:reduce){.hero-sequence.is-motion{height:auto}.is-motion .cinema-hero{position:relative;height:auto;min-height:var(--screen)}.is-motion .hero-title{opacity:1;transform:none}.hero-title{padding-bottom:160px}.hero-next,.is-motion .hero-next{display:block;position:relative;top:auto;transform:none;opacity:1;background:#121413;padding:70px 20px}.hero-bottom{position:relative;padding:25px 0 35px;bottom:auto;background:#121413}.hero-progress{display:none!important}.alignment-statement.is-motion .statement-copy span{opacity:1}.story-section.is-motion .story-visual{display:none}.story-section.is-motion .story-copy{margin-top:0}.story-section.is-motion .story-step{height:auto;min-height:0;opacity:1;transform:none;display:block;padding:45px 24px}.story-section.is-motion .story-mobile-image{display:block}.cinema-hero .hero-media{transform:none!important}}

/* Readable baseline if scripting is unavailable. */
.hero-sequence:not(.is-motion) .cinema-hero{height:auto}
.hero-sequence:not(.is-motion) .hero-title{min-height:var(--screen);padding-bottom:110px}
.hero-sequence:not(.is-motion) .hero-next{display:block;padding:70px 20px}
.hero-sequence:not(.is-motion) .hero-bottom{position:relative;bottom:auto;background:#121413;padding:25px 0 40px}
@media(max-width:380px){.cinema-hero h1{font-size:14.8vw}.brandcopy{font-size:.88rem}.brand{gap:9px}.brandmark{width:36px;height:36px}.navlinks{gap:9px}.hero-title{padding-top:32px}.cinema-hero h2{font-size:11.7vw}.hero-next p{font-size:.85rem}.story-step h3{font-size:11.4vw}}
@media(max-height:540px) and (orientation:landscape){.hero-title{padding-top:16px}.cinema-hero h1{font-size:3.4rem;margin:12px auto}.cinema-hero h2{font-size:2.7rem;margin:12px auto}.cinema-hero p{font-size:.8rem;max-width:550px}.hero-bottom{bottom:14px;flex-direction:row}.hero-bottom .btn{padding:10px 16px}.hero-title .eyebrow{font-size:.56rem}.is-motion .hero-next{top:43%}.story-section.is-motion .story-step{justify-content:center;padding:25px 50px}.story-step h3{font-size:3rem;margin:12px 0}.story-step p{font-size:.85rem;max-width:620px;margin:8px 0}}

.hero-scroll svg,.story-skip svg{vertical-align:middle;margin-left:6px}
.hero-sequence:not(.is-motion) .hero-picture{height:var(--screen)}
@media(max-width:900px){body:has(.hero-sequence) .navlinks>a[href="login.html"]{display:inline-flex;font-size:.7rem;white-space:nowrap}}
@media(max-width:380px){body:has(.hero-sequence) .brandcopy{white-space:nowrap;font-size:.78rem;letter-spacing:.1em}}

/* Preserve the original portrait's cap and headlight in both placements. */
.story-section.is-motion .story-image.scrub-portrait{object-fit:contain;object-position:right center}
.story-mobile-image.scrub-portrait{object-fit:contain;background:#102126}
#main .editorial-photo.portrait .scrub-portrait{object-position:50% 25%}
@media(max-width:760px){.story-section.is-motion .story-image.scrub-portrait{object-fit:cover;object-position:52% center}.story-mobile-image.scrub-portrait{object-fit:cover;object-position:50% 25%}}

.engagement-path{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;list-style:none;margin:55px 0 28px;padding:0}
.engagement-path li{background:#eeebe5;border-radius:18px;padding:28px 24px}
.engagement-path h3{font-family:var(--headline);font-size:1.6rem;font-weight:500;letter-spacing:-.045em;line-height:1.15;margin:24px 0 18px}
.engagement-path p{font-size:.92rem;line-height:1.65;color:#625d56}.intake-note{font-size:.85rem;max-width:700px}
@media(max-width:900px){.engagement-path{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.engagement-path{grid-template-columns:1fr;gap:12px;margin-top:35px}.engagement-path li{padding:26px}}
