.site-header{position:fixed;inset:0 0 auto;background:#05131e20;backdrop-filter:blur(10px);border-bottom-color:#ffffff0a;transition:background .3s}
.site-header.is-past-hero{background:#061a2ef5}
.immersive-hero{height:100svh;overflow:clip;background:#07121b}
.immersive-hero.cinematic-ready{height:960svh}
.immersive-stage{position:sticky;top:0;height:100svh;min-height:560px;overflow:hidden;isolation:isolate;background:#07121b}
.journey-background{position:absolute;inset:-4%;z-index:0;pointer-events:none;will-change:transform,opacity;transform-origin:56% 48%}
.journey-background img{width:100%;height:100%;object-fit:cover;display:block}
.journey-dark{opacity:.85}
.journey-horizon{opacity:0;transform:scale(1.23)}
.journey-vignette{position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(90deg,#04101bac 0%,#04101b28 54%,#04101b06 100%),linear-gradient(0deg,#04101be0 0%,#04101b36 25%,transparent 60%,#04101b80 100%)}
.journey-scene{position:absolute;inset:0;z-index:1;pointer-events:none}
.journey-scene-front{z-index:4}
.mirror-shard{pointer-events:none!important;backface-visibility:visible;will-change:filter,opacity}
.mirror-shard img{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none}
.hero-panel{position:absolute;z-index:3;pointer-events:none;will-change:transform,opacity;max-width:none;opacity:0;visibility:hidden;color:#f6f4ed}
.hero-panel a{pointer-events:auto}
.hero-panel.hero-intro{opacity:1;visibility:visible}
.immersive-hero h1,.immersive-hero h2{font-family:var(--serif);font-weight:400;font-size:clamp(4rem,6.25vw,7rem);line-height:1.025;letter-spacing:-.052em;margin:0;text-wrap:balance}
.immersive-hero h1 em,.immersive-hero h2 em{color:var(--lime);font-weight:400}
.immersive-hero .eyebrow{font-size:.71rem;letter-spacing:.19em;color:#e8edf0;margin:0 0 24px;font-weight:450}
.hero-intro{left:6.5%;top:50%;width:69%;transform:translateY(-45%)}
.immersive-hero h1{font-size:clamp(4.1rem,6.55vw,7.5rem);max-width:1000px}
.immersive-hero h1 em{white-space:nowrap}
.immersive-hero .scene-description{font-family:var(--sans);font-size:clamp(.9rem,1.08vw,1.15rem);line-height:1.75;color:#c9d2d9;margin-top:28px;letter-spacing:0;font-weight:400}
.hero-foundation{left:8%;top:47%;width:61%;transform:translateY(-44%)}
.hero-foundation h2{font-size:clamp(4.5rem,6.75vw,8rem)}
.hero-exploration{right:8%;top:47%;text-align:right;width:48%;transform:translateY(-45%)}
.hero-exploration h2{font-size:clamp(4rem,6vw,7.4rem)}
.hero-exploration h2 em{color:#f6f4ed}
.hero-exploration .exploration-after{font-family:var(--serif);font-size:clamp(1.7rem,2.45vw,3rem);line-height:1.22;color:#d3dde1;margin-top:35px}
.hero-awareness{inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:90px 20px}
.hero-awareness h2{font-size:clamp(5.8rem,10.2vw,12.5rem);line-height:1.02;letter-spacing:-.07em}
.hero-awareness .eyebrow{margin-bottom:30px}
.hero-building{right:7%;top:48%;width:76%;text-align:right;transform:translateY(-45%)}
.hero-building h2{font-size:clamp(5rem,7.5vw,9rem)}
.hero-opening{left:11%;top:50%;width:73%;transform:translateY(-41%)}
.hero-opening h2{font-size:clamp(4rem,6.45vw,8rem)}
.hero-invitation{inset:0;display:flex;justify-content:center;align-items:center;flex-direction:column;text-align:center;padding:110px 24px 95px}
.hero-invitation h2{font-size:clamp(4.5rem,7.2vw,8.5rem)}
.hero-invitation .scene-description{margin:25px 0 30px;color:#e6e7e5}
.hero-invitation .button{min-height:55px;padding:14px 29px;font-size:.93rem}
.journey-method-link{font-size:.85rem;border-bottom:1px solid #d3dde266;margin-top:22px;color:#dde4e7}
.journey-method-link:hover{color:var(--lime)}
.static-cta{display:none}
.journey-words{position:absolute;inset:0;z-index:2;pointer-events:none}
.journey-words span{position:absolute;left:0;top:0;font-size:.61rem;font-weight:450;letter-spacing:.32em;color:#e0e7e8;opacity:0;will-change:transform,opacity;white-space:nowrap}
.immersive-footer{position:absolute;bottom:29px;left:0;right:0;z-index:6;display:flex;align-items:center;justify-content:space-between;gap:24px}
.journey-chapter{display:flex;align-items:center;gap:13px;font-size:.68rem;letter-spacing:.05em;color:#dbe2e6}
.chapter-number{font-size:.75rem;color:var(--lime);font-variant-numeric:tabular-nums}
.chapter-total{font-size:.6rem;color:#9fadb8;margin-left:8px}
.hero-scroll-cue{font-size:.72rem;letter-spacing:.025em;color:#c6d1d8;display:flex;gap:22px;align-items:center}
.hero-scroll-cue span{color:var(--lime);font-size:1.25rem;line-height:1;animation:journey-cue 2.8s ease-in-out infinite}
.hero-skip{font-size:.73rem;white-space:nowrap;color:#c1cbd3;border-bottom:1px solid #b9c8d03d;padding-block:4px}
.hero-skip:hover{color:var(--lime)}
.immersive-progress{position:absolute;bottom:0;left:0;right:0;height:2px;z-index:6;background:#bdcede15}
.immersive-progress span{display:block;height:100%;background:var(--lime);transform-origin:left;transform:scaleX(var(--journey-progress,0))}
@keyframes journey-cue{0%,100%{transform:translateY(-2px);opacity:.5}50%{transform:translateY(4px);opacity:1}}
@media(max-width:1100px){.immersive-hero h1 em{white-space:normal}.hero-intro{width:77%}.hero-scroll-cue{display:none}.hero-exploration{width:64%}.hero-awareness h2{font-size:10.6vw}}
@media(max-width:700px){
 .immersive-hero.cinematic-ready{height:880svh}
 .immersive-stage{min-height:500px}
 .journey-background{inset:-3% -19%;transform-origin:58% 50%}
 .journey-dark img{object-position:60% center}
 .journey-horizon img{object-position:52% center}
 .journey-vignette{background:linear-gradient(0deg,#04101bdc 0%,#04101b6b 38%,#04101b10 74%,#04101b80 100%)}
 .immersive-hero h1,.immersive-hero h2{font-size:clamp(2.8rem,12.1vw,5rem);line-height:1.045;letter-spacing:-.047em}
 .immersive-hero .eyebrow{font-size:.61rem;letter-spacing:.13em;margin-bottom:20px}
 .hero-panel{width:calc(100% - 48px)}
 .hero-intro{left:24px;top:auto;bottom:15%;transform:none;width:calc(100% - 48px)}
 .immersive-hero h1{font-size:clamp(2.85rem,12.8vw,5.3rem);max-width:500px;margin-bottom:0}
 .immersive-hero h1 em{display:block;margin-top:3px;white-space:normal}
 .immersive-hero .scene-description{font-size:.88rem;line-height:1.65;margin-top:23px;max-width:330px}
 .hero-intro .scene-description{max-width:310px}
 .desktop-break{display:none}
 .hero-foundation{left:24px;top:21%;transform:none}
 .hero-foundation h2{font-size:13vw}
 .hero-exploration{right:24px;top:36%;transform:none;text-align:right}
 .hero-exploration h2{font-size:13vw}
 .hero-exploration .exploration-after{font-size:7.2vw;margin-top:28px}
 .hero-awareness{inset:0;width:100%;padding:110px 18px;justify-content:center}
 .hero-awareness h2{font-size:14.4vw;line-height:1.07}
 .hero-awareness .eyebrow{font-size:.59rem;margin-bottom:26px}
 .hero-building{right:24px;top:43%;transform:translateY(-15%);width:calc(100% - 48px);text-align:center}
 .hero-building h2{font-size:12.1vw}
 .hero-building .eyebrow{white-space:nowrap;letter-spacing:.095em}
 .hero-building .scene-description{margin-inline:auto}
 .hero-opening{left:24px;top:auto;bottom:20%;transform:none}
 .hero-opening h2{font-size:11.9vw}
 .hero-invitation{inset:0;width:100%;padding:100px 24px 110px}
 .hero-invitation h2{font-size:13.2vw}
 .hero-invitation .scene-description{font-size:.94rem;margin:25px 0 27px}
 .hero-invitation .button{min-height:52px;padding:14px 19px;font-size:.84rem}
 .journey-method-link{font-size:.79rem;margin-top:21px}
 .immersive-footer{bottom:23px;gap:12px}
 .journey-chapter{gap:9px;font-size:.62rem}
 .chapter-number{font-size:.65rem}.chapter-total{font-size:.56rem;margin-left:2px}
 .hero-skip{font-size:.64rem}
 .journey-words span{font-size:.52rem}
}
@media(max-width:360px){.hero-panel{width:calc(100% - 36px)}.hero-intro,.hero-foundation,.hero-opening{left:18px}.hero-exploration,.hero-building{right:18px}.hero-awareness,.hero-invitation{width:100%}.immersive-hero .scene-description{font-size:.79rem}.hero-intro{bottom:14%}.immersive-hero .eyebrow{font-size:.55rem}.hero-building .eyebrow{letter-spacing:.07em}}
@media(max-height:700px) and (min-width:701px){.immersive-hero h1{font-size:5.7vw}.hero-intro{top:52%}.immersive-hero .scene-description{margin-top:20px;font-size:.9rem}.immersive-hero .eyebrow{margin-bottom:17px}}
.immersive-hero.hero-static{height:auto}
.hero-static .immersive-stage{position:relative;height:auto;min-height:100svh;display:flex;align-items:center;padding:125px 6.5% 105px}
.hero-static .hero-intro{position:relative;left:auto;top:auto;bottom:auto;transform:none!important;width:100%;opacity:1!important;visibility:visible!important}
.hero-static .hero-panel:not(.hero-intro),.hero-static .journey-scene-front,.hero-static .journey-words,.hero-static .hero-scroll-cue,.hero-static .journey-chapter,.hero-static .immersive-progress{display:none}
.hero-static .static-cta{display:inline-flex;margin-top:28px}
.hero-static .immersive-footer{justify-content:flex-end}
@media(prefers-reduced-motion:reduce){.immersive-hero,.immersive-hero.cinematic-ready{height:auto}.immersive-stage{position:relative}.hero-scroll-cue span{animation:none}.hero-panel,.journey-background,.mirror-shard,.journey-words span{will-change:auto}}
/* The portrait itself is cut into irregular mirror polygons, with one UV
   projection shared by every piece once the fragments come together. */
.journey-doorway,.journey-calm{opacity:0;transform:scale(1.12)}
.journey-horizon{display:none}
.reflection-fragment{pointer-events:none!important;backface-visibility:visible;will-change:filter,opacity;filter:drop-shadow(0 0 1px #cfdae3c0)}
.reflection-surface{position:absolute;inset:0;overflow:hidden;background-image:url('/assets/reflection-portrait.webp');background-repeat:no-repeat}
.reflection-alternate,.reflection-light{position:absolute;inset:0;pointer-events:none}
.reflection-alternate{background-position:50% 45%;background-size:cover;opacity:0}
.reflection-light{background:linear-gradient(125deg,#b7e2f324 0%,transparent 24%,#07121b08 50%,#b1d6ef12 65%,transparent 86%);mix-blend-mode:screen;opacity:.5}
.hero-awareness{justify-content:flex-end;padding-bottom:12.5%}
.hero-awareness h2{font-size:clamp(5.2rem,8.7vw,11rem)}
.hero-awareness .scene-description{margin-top:22px}
.hero-building{left:7%;right:auto;top:51%;width:70%;text-align:left;transform:translateY(-40%)}
.hero-building h2{font-size:clamp(3.4rem,5.4vw,6.5rem)}
.hero-opening{left:7%;top:56%;width:66%}
.hero-exploration{top:51%;width:51%}
.hero-foundation h2{font-size:clamp(4rem,6.15vw,7.5rem)}
.hero-signature{inset:0;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:100px 24px 120px}
.signature-symbol{width:78px;height:72px;object-fit:contain;margin-bottom:27px}
.hero-signature .signature-logotype{width:clamp(260px,38vw,560px);max-width:100%;height:auto}
.hero-signature .scene-description{font-size:1.04rem;line-height:1.9;color:#e2e5e6;margin-top:22px}
.hero-signature .journey-method-link{margin-top:35px}
@media(max-width:700px){
 .hero-exploration{top:auto;bottom:16%;right:24px;width:calc(100% - 48px)}
 .hero-exploration h2{font-size:11.8vw}
 .hero-exploration .exploration-after{font-family:var(--sans);font-size:.91rem;line-height:1.6;margin-top:22px}
 .hero-foundation{top:auto;bottom:15%;left:24px;width:calc(100% - 48px)}
 .hero-foundation h2{font-size:11.4vw}
 .hero-awareness{inset:0;justify-content:flex-end;padding:100px 24px 17%;width:100%}
 .hero-awareness h2{font-size:13.2vw;line-height:1.055}
 .hero-awareness .eyebrow{margin-bottom:20px}
 .hero-awareness .scene-description{font-size:.81rem;margin-top:22px}
 .hero-opening{left:24px;top:auto;bottom:15%;width:calc(100% - 48px)}
 .hero-opening h2{font-size:11.25vw}
 .hero-building{left:24px;right:auto;top:auto;bottom:16%;transform:none;width:calc(100% - 48px);text-align:left}
 .hero-building h2{font-size:10.4vw}
 .hero-building .eyebrow{letter-spacing:.10em}
 .hero-building .scene-description{margin-left:0;font-size:.88rem}
 .journey-doorway img{object-position:68% 50%}
 .journey-calm img{object-position:72% 50%}
 .signature-symbol{width:64px;height:60px;margin-bottom:25px}
 .hero-signature .signature-logotype{width:min(90%,360px)}
 .hero-signature .scene-description{font-size:.92rem}
}
@media(max-width:360px){.hero-exploration{right:18px}.hero-foundation,.hero-opening,.hero-building{left:18px;width:calc(100% - 36px)}.hero-awareness .scene-description{font-size:.74rem}.hero-building .scene-description{font-size:.78rem}}
.hero-static .reflection-fragment{opacity:.6!important}
