/* Independent alpha layers. Static narrative is the baseline; scroll is an enhancement. */
.hero{--hero-frame:max(820px,100svh);--world-y:0px;--world-scale:1.03;--portal-y:0px;--portal-scale:1;--cast-y:0px;--cast-scale:1;--foreground-y:0px;--foreground-scale:1.04;position:relative;background:#141e17;color:#f3eddf}
.hero-viewport{position:relative;isolation:isolate}.hero-environment{position:absolute;top:0;left:0;right:0;height:var(--hero-frame);overflow:hidden;z-index:-1;pointer-events:none}.scene-layer{position:absolute;inset:0;pointer-events:none;transform-origin:74% 64%}.scene-layer img{width:100%;height:100%;max-width:none;object-fit:cover;object-position:center}.layer-world{transform:translateY(var(--world-y)) scale(var(--world-scale))}.layer-portal{transform:translateY(var(--portal-y)) scale(var(--portal-scale))}.hero-environment:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#111b15ee 0%,#111b15bc 28%,#111b1510 59%,transparent 76%),linear-gradient(0deg,#111b15dd,transparent 23%,transparent 85%,#111b1555)}.hero-light{position:absolute;inset:0;background:radial-gradient(ellipse at 74% 40%,#e6c2761c,transparent 50%);mix-blend-mode:screen;transform:translate(var(--art-x,0px),var(--art-y,0px));transition:transform 1s ease}
.hero-copy{position:relative;z-index:5}.hero-panel{padding:70px var(--pad);border-top:1px solid #c7bd9636}.hero-panel:first-child{width:64%;height:var(--hero-frame);padding-top:155px;padding-bottom:155px;display:flex;flex-direction:column;justify-content:center;border:0}.hero-kicker{display:flex;align-items:center;gap:12px;font-size:9px;letter-spacing:.18em;color:#d3c8ad;margin-bottom:35px}.hero-kicker>span{width:5px;height:5px;border-radius:50%;background:#e2c38c;box-shadow:0 0 16px #e9c77b;flex:none}.hero h1{font-size:clamp(106px,12.3vw,236px);line-height:.91;letter-spacing:-.044em;margin:0 0 32px}.hero-line{display:block;white-space:nowrap}.hero h1 em,.hero h2 em{color:#dfc294}.hero-panel h2{font-size:clamp(68px,7.3vw,140px);line-height:.98;margin-bottom:28px;letter-spacing:-.035em}.hero-description{max-width:390px;font-size:13px;line-height:1.85;color:#d9dacd}.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:24px;margin-top:26px;max-width:550px}.hero-cta{background:#efe8d8;color:#1d261e;border:1px solid #eee3c7;padding:19px 22px;gap:30px;box-shadow:0 8px 35px #0002}.hero-cta:hover{background:#fff8e9;transform:translateY(-2px)}.hero-secondary{display:inline-flex;align-items:center;gap:14px;font-size:10px;padding:15px 0;color:#e2decf;border-bottom:1px solid #d2c5a54d;width:max-content;max-width:100%}.hero-panel>.hero-secondary{margin-top:24px}.hero-secondary svg{width:13px;height:13px}
.hero-cast{position:absolute;left:53%;right:3%;top:0;height:var(--hero-frame);z-index:3;pointer-events:none;transform:translateY(var(--cast-y)) scale(var(--cast-scale));transform-origin:50% 74%}.cast-character{position:absolute;bottom:14%;margin:0;width:47%}.cast-cyborg{left:0;z-index:2}.cast-centaur{right:0;bottom:15%;z-index:1}.cast-depth{transform:translate(calc(var(--art-x,0px) * 1.2),calc(var(--art-y,0px) * 1.2));transition:transform 1s cubic-bezier(.2,.6,.2,1)}.cast-centaur .cast-depth{transform:translate(calc(var(--art-x,0px) * -.65),calc(var(--art-y,0px) * .6))}.cast-character img{width:100%;height:min(58svh,670px);object-fit:contain;object-position:center bottom;filter:drop-shadow(0 22px 16px #020a0799)}.cast-character figcaption{text-align:center;color:#f5ecdb;font:400 28px/1 var(--serif);margin-top:15px;text-shadow:0 2px 15px #061009}.cast-character figcaption span{display:block;font:500 7px/1.5 var(--sans);letter-spacing:.16em;color:#c9bfa5;margin-top:8px}.cast-ampersand{position:absolute;left:49%;bottom:15%;font:italic 38px/1 var(--serif);color:#c9ac74;transform:translateX(-50%)}.cast-ground{position:absolute;left:-7%;right:-7%;bottom:20%;height:70px;background:radial-gradient(ellipse,#07100bcc,transparent 68%)}.layer-foreground{top:0;bottom:auto;height:var(--hero-frame);z-index:4;overflow:hidden;transform:translateY(var(--foreground-y)) scale(var(--foreground-scale));opacity:.82}
.hero-atmosphere{position:absolute;inset:0;z-index:2}.hero-atmosphere i{position:absolute;width:3px;height:3px;border-radius:50%;background:#f4d99c;box-shadow:0 0 14px 4px #edd5a525;left:62%;top:24%;opacity:.6;animation:drifting-mote 12s ease-in-out infinite alternate}.hero-atmosphere i:nth-child(2){left:88%;top:32%;width:2px;height:2px;animation-delay:-4s;animation-duration:17s}.hero-atmosphere i:nth-child(3){left:51%;top:63%;width:2px;height:2px;animation-delay:-7s}.hero-atmosphere i:nth-child(4){left:76%;top:16%;animation-delay:-2s;animation-duration:14s}.hero-atmosphere i:nth-child(5){left:96%;top:67%;animation-delay:-8s;animation-duration:18s}.hero-atmosphere i:nth-child(6){left:69%;top:81%;width:2px;height:2px;animation-delay:-6s}
.hero-bottom{position:absolute;top:calc(var(--hero-frame) - 91px);left:var(--pad);right:var(--pad);height:91px;z-index:6;display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid #d7c8993b;font-size:8px;letter-spacing:.1em;color:#d1cbb5}.hero-bottom:before{content:'';position:absolute;top:-1px;left:0;right:0;height:1px;background:#e3c994;transform:scaleX(var(--story-progress,0));transform-origin:left}.hero-scroll{display:flex;align-items:center;gap:13px;min-height:44px}.scroll-track{display:block;height:29px;width:17px;border:1px solid #c8bf9d77;border-radius:10px;position:relative}.scroll-track i{position:absolute;top:6px;left:7px;width:1px;height:7px;background:#e0c89a;animation:scroll-invitation 2.5s ease-in-out infinite}.hero-chapters{display:flex;gap:28px}.hero-chapters button{position:relative;display:flex;align-items:center;gap:9px;min-height:44px;padding:0;border:0;background:none;color:#acae9d;font-size:10px}.hero-chapters button span{font-size:8px;color:#8e947f}.hero-chapters button[aria-current]{color:#f4e7ca}.hero-chapters button[aria-current] span{color:#dfbf85}.hero-chapters button:after{content:'';position:absolute;height:1px;left:0;right:0;bottom:7px;background:#dfbf85;transform:scaleX(0);transform-origin:left;transition:transform .35s}.hero-chapters button[aria-current]:after{transform:scaleX(1)}.hero-motion{min-height:44px;display:flex;align-items:center;gap:8px;border:0;color:#ccc8b5;background:none;padding:0;font-size:9px}.hero-motion svg{width:15px;height:15px}.hero-motion .motion-play{display:none}.hero-motion[aria-pressed='true'] .motion-play{display:block}.hero-motion[aria-pressed='true'] .motion-pause{display:none}
.hero a:focus-visible,.hero button:focus-visible,.site-header.is-over-hero a:focus-visible,.site-header.is-over-hero button:focus-visible{outline-color:#edcc83}.site-header.is-over-hero{color:#f2ead9;background:linear-gradient(#101b15db,transparent);box-shadow:none;backdrop-filter:none}.site-header.is-over-hero .brand>img{filter:invert(1);mix-blend-mode:screen}.site-header.is-over-hero .header-contact{background:#efeadc;color:#233024}.site-header.is-over-hero .menu-toggle span{background:#eee7d7}.menu-open .site-header.is-over-hero{background:var(--paper);color:var(--ink)}.menu-open .site-header.is-over-hero .brand>img{filter:none;mix-blend-mode:multiply}.menu-open .site-header.is-over-hero .menu-toggle span{background:var(--ink)}.hero.is-outside .hero-atmosphere i,.hero.is-outside .scroll-track i{animation-play-state:paused}
.hero.story-enabled{--hero-frame:100svh;height:300svh}.story-enabled .hero-viewport{position:sticky;top:0;height:100svh;overflow:hidden}.story-enabled .hero-copy{position:absolute;left:var(--pad);top:50%;width:64%;transform:translateY(-50%)}.story-enabled .hero-panel,.story-enabled .hero-panel:first-child{padding:0;border:0;height:auto;width:100%;display:block}.story-enabled .hero-panel.is-active{animation:panel-reveal .55s cubic-bezier(.2,.65,.2,1) both}.story-enabled .hero-panel h2{font-size:clamp(72px,8.3vw,159px)}.story-enabled .hero-panel .hero-description{max-width:390px}
@keyframes panel-reveal{from{opacity:0;translate:0 18px}to{opacity:1;translate:0 0}}@keyframes drifting-mote{from{transform:translate(0,0);opacity:.25}to{transform:translate(12px,-24px);opacity:.8}}@keyframes scroll-invitation{0%,100%{transform:translateY(0);opacity:.4}50%{transform:translateY(6px);opacity:1}}
@media(min-width:1750px){.hero-description,.story-enabled .hero-panel .hero-description{max-width:475px;font-size:16px}.hero-kicker{font-size:11px}.hero-actions{max-width:660px;gap:30px}.hero-cta{font-size:13px;padding:22px 27px}.hero-secondary{font-size:12px}.cast-character img{height:min(61svh,740px)}.cast-character figcaption{font-size:34px}.cast-character figcaption span{font-size:8px}.hero-bottom{font-size:9px}}
@media(max-width:1100px){.hero{--hero-frame:max(780px,100svh)}.hero h1{font-size:11.4vw}.hero-kicker{font-size:7px;letter-spacing:.14em;margin-bottom:28px}.hero-description,.story-enabled .hero-panel .hero-description{max-width:310px;font-size:12px}.desktop-break{display:none}.hero-actions{max-width:300px;gap:10px;margin-top:22px}.hero-cta{font-size:10px;gap:24px;padding:17px 19px}.hero-secondary{font-size:9px}.hero-cast{left:54%;right:2%}.cast-character img{height:440px}.cast-character figcaption{font-size:25px}.cast-character figcaption span{font-size:6px;letter-spacing:.1em}.cast-ampersand{font-size:30px}.hero-chapters{gap:19px}}
@media(max-width:900px){.hero{--hero-frame:max(800px,100svh)}.hero-panel:first-child{width:100%;justify-content:flex-start;padding:125px var(--pad) 0}.hero-panel{padding:55px var(--pad)}.hero-panel h2{font-size:clamp(46px,10.6vw,83px)}.hero-kicker{font-size:6px;letter-spacing:.15em;gap:9px;margin-bottom:24px}.hero h1{font-size:clamp(64px,17.7vw,119px);line-height:.9;margin-bottom:20px}.hero-description,.story-enabled .hero-panel .hero-description{font-size:12px;max-width:330px;line-height:1.75}.hero-actions{max-width:none;margin-top:18px;gap:18px}.hero-cta{font-size:10px;min-height:44px;padding:13px 16px;gap:25px}.hero-actions .hero-secondary{display:none}.hero-panel>.hero-secondary{margin-top:15px}.hero-environment .scene-layer{top:23%}.scene-layer img{width:178%;margin-left:-70%;object-position:72% center}.hero-environment:after{background:linear-gradient(180deg,#141e17 0%,#141e17 23%,#141e17c7 36%,transparent 57%,transparent 79%,#111b15e0),linear-gradient(90deg,#141e1733,transparent 35%)}.hero-cast{left:12%;right:8%}.cast-character{width:46%;bottom:13%}.cast-centaur{bottom:14%}.cast-character img{height:min(35svh,310px)}.cast-character figcaption{font-size:23px;margin-top:12px}.cast-character figcaption span{font-size:5px;margin-top:6px;letter-spacing:.11em}.cast-ampersand{bottom:14%;font-size:29px}.cast-ground{bottom:18%}.layer-foreground{opacity:.6}.hero-bottom{top:calc(var(--hero-frame) - 75px);height:75px;gap:12px;font-size:6px;letter-spacing:.05em}.hero-scroll{gap:8px}.hero-scroll>span:last-child{display:none}.scroll-track{height:25px;width:15px}.scroll-track i{left:6px}.hero-chapters{gap:16px}.hero-chapters button{gap:5px;font-size:8px}.hero-chapters button span{font-size:6px}.hero-motion{font-size:7px;gap:4px}.hero-motion svg{width:11px;height:11px}.story-enabled .hero-copy{top:125px;width:calc(100% - 2 * var(--pad));transform:none}.story-enabled .hero-panel h2{font-size:clamp(49px,12vw,85px);line-height:1}}
@media(min-width:500px) and (max-width:900px){.hero{--hero-frame:max(940px,100svh)}.hero h1{font-size:clamp(86px,13.6vw,117px)}.hero-kicker{font-size:8px}.hero-description,.story-enabled .hero-panel .hero-description{max-width:425px;font-size:13px}.hero-cast{left:22%;right:17%}.cast-character img{height:min(36svh,375px)}}
@media(max-width:370px){.hero{--hero-frame:max(760px,100svh)}.hero-panel:first-child{padding-top:115px}.hero-kicker{font-size:5px;margin-bottom:21px}.hero h1{font-size:17.5vw}.hero-description,.story-enabled .hero-panel .hero-description{font-size:11px}.hero-actions{margin-top:16px}.hero-cta{font-size:9px;gap:16px;padding:13px}.hero-cast{left:8%;right:7%}.cast-character img{height:245px}.cast-character figcaption{font-size:20px}.cast-character figcaption span{font-size:4.5px}.hero-chapters{gap:11px}.hero-chapters button{font-size:7px;gap:4px}.hero-chapters button span{display:none}.hero-motion{font-size:6px}.story-enabled .hero-copy{top:115px}}
@media(min-width:901px) and (max-height:800px){.story-enabled h1{font-size:min(10vw,145px)}.story-enabled .hero-panel h2{font-size:min(7.4vw,112px)}.story-enabled .hero-kicker{margin-bottom:24px}.story-enabled .hero-cast img{height:51svh}.story-enabled .hero-panel .hero-description{font-size:12px}.story-enabled .hero-copy{top:49%}}
@media(prefers-reduced-motion:reduce){.hero *,.hero *:before,.hero *:after{animation:none!important;transition:none!important}.scene-layer,.cast-depth,.cast-centaur .cast-depth,.hero-cast,.hero-light{transform:none}}
.motion-reduced .scene-layer,.motion-reduced .cast-depth,.motion-reduced .cast-centaur .cast-depth,.motion-reduced .hero-cast,.motion-reduced .hero-light{transform:none}

.hero:not(.story-enabled) .hero-viewport{overflow:hidden}

.layer-foreground{translate:8vw 0;mask-image:linear-gradient(90deg,#000,transparent 24% 87%,#000 100%)}
@media(max-width:900px){.layer-foreground img{width:100%;margin-left:0;object-position:center}.layer-foreground{translate:7vw 0;mask-image:linear-gradient(90deg,#000,transparent 23% 87%,#000 100%)}}
@media(max-width:900px){.cast-character{bottom:10%}.cast-centaur{bottom:11%}.cast-character figcaption span{display:none}.cast-ampersand{bottom:11%}}
