/* Hero tokens are intentionally separate from the retained floor system. */
@font-face{font-family:"Roboto Flex Hero";src:url("assets/fonts/roboto-flex-variable.ttf") format("truetype");font-weight:100 1000;font-stretch:25% 151%;font-style:oblique 0deg 10deg;font-display:swap}
@font-face{font-family:Emilea;src:url("assets/fonts/emilea.otf") format("opentype");font-weight:400;font-style:normal;font-display:swap}
:root{--hero-black:#101010;--hero-red:#ed241b;--hero-white:#f0e9db;--hero-amber:#d8b27a;--hero-title-height:29vh;--hero-pad:clamp(24px,3.4vw,60px);--hero-reveal:450ms;--hero-exit:150ms;--door-button-size:62px}
html{scrollbar-gutter:stable}body{background:var(--hero-black)}
.hero{height:180svh;background:var(--hero-black);color:var(--hero-white);--door-progress:0;isolation:isolate}
.hero .hero-sticky{height:100dvh;min-height:0;padding:0;position:sticky;top:0;overflow:hidden;background:var(--hero-black)}
.cabin-scene{position:absolute;inset:0;background:#151411 url('assets/elevator-interior-v1.png') center center/cover no-repeat;transform:scale(calc(1.045 - var(--door-progress)*.045));will-change:transform}
.cabin-vignette{position:absolute;inset:0;background:linear-gradient(180deg,#0002,#0000 40%,#0002 72%,#000a),radial-gradient(ellipse at 50% 45%,transparent 20%,#0004 85%)}
.hero-poster{position:absolute;inset:0;z-index:3;opacity:0;visibility:hidden;transform:translateY(16px);transition:opacity var(--hero-exit) ease,transform var(--hero-exit) ease,visibility 0s var(--hero-exit);pointer-events:none}
.hero.is-open .hero-poster{opacity:1;visibility:visible;transform:none;pointer-events:auto;transition:opacity var(--hero-reveal) ease,transform var(--hero-reveal) var(--ease),visibility 0s}
.hero-brandbar{position:absolute;top:6.5%;left:var(--hero-pad);right:var(--hero-pad);display:flex;align-items:center;gap:25px}
.hero-brandbar img{width:92px;height:auto;filter:brightness(0) invert(1);opacity:.92}
.hero-brandbar>span{font:8px/1.65 var(--mono);letter-spacing:.11em;padding-left:24px;border-left:1px solid #e8d5b44d}
.hero-contact-link{margin-left:auto;font:10px var(--mono);letter-spacing:.12em;border-bottom:1px solid #f0e9db88;padding-bottom:8px}
.hero-pressure{position:absolute;left:3%;width:94%;top:17%;height:var(--hero-title-height);color:var(--hero-red);isolation:isolate}
.pressure-fallback{font:850 clamp(70px,16vw,310px)/.9 "Roboto Flex Hero",Impact,sans-serif;font-stretch:75%;letter-spacing:-.06em;text-align:center;white-space:nowrap}
.pressure-desktop,.pressure-mobile{width:100%;height:100%}.pressure-mobile{display:none}
.hero-pressure .text-pressure-title{height:100%;align-items:center;letter-spacing:-.055em;overflow:visible}
.hero-pressure .text-pressure-title>span{flex:1 1 0;min-width:0;display:flex!important;justify-content:center;line-height:.9}
.hero-pressure .text-pressure-title>span[data-char=" "]{flex-grow:.28}
.hero-pressure .pressure-cell>span{display:block!important;flex:none;transform-origin:center;letter-spacing:0}
.hero-script{position:absolute;z-index:2;top:43.5%;left:53%;font:clamp(24px,3.9vw,64px)/1.15 Emilea,Georgia,serif;white-space:nowrap;transform:translateX(-15%) rotate(-7deg);text-shadow:0 3px 16px #0006;color:var(--hero-white);pointer-events:none}
.hero-statement{position:absolute;top:56%;left:15%;right:15%;text-align:center}
.hero-statement h1{font-size:clamp(27px,3.1vw,52px);font-weight:800;letter-spacing:-.055em;line-height:1.25;text-shadow:0 2px 20px #0008}
.hero-statement>p{margin-top:18px;font-size:11px;letter-spacing:.2em;color:#ece3d0}
.poster-edge{position:absolute;top:47%;writing-mode:vertical-rl;font:8px var(--mono);letter-spacing:.2em;color:#e0c9a2;opacity:.8}
.edge-left{left:var(--hero-pad)}.edge-right{right:var(--hero-pad);transform:rotate(180deg)}
.hero .hero-bottom{position:absolute;bottom:8%;left:var(--hero-pad);right:calc(var(--hero-pad) + 90px);max-width:none;margin:0;min-height:0;display:flex;align-items:end;justify-content:space-between;gap:24px}
.poster-edition{font:8px/1.9 var(--mono);letter-spacing:.12em;opacity:.68}
.hero .hero-actions{gap:32px;display:flex;align-items:center;width:auto}
.hero-work-link{display:flex;gap:65px;align-items:center;border-bottom:1px solid #f0e9db99;padding:12px 0;font-size:17px;font-weight:600}.hero-work-link span{font-size:28px;color:var(--hero-red)}
.hero-meet-link{font-size:11px;color:#ded4c3;padding-block:16px}.hero-work-link:hover,.hero-meet-link:hover{color:var(--hero-red)}
.poster-cross{position:absolute;top:71%;font:24px/1 var(--mono);font-weight:200;color:#bd9d6e}.cross-left{left:13%}.cross-right{right:13%}
.hero .door{z-index:5;top:0;bottom:0;width:50.05%;background:linear-gradient(90deg,#111210,#2d2c28 8%,#45433b 22%,#20221f 49%,#414038 74%,#181a18 93%,#0c0d0c);border:0;will-change:transform}
.hero .door-left{left:0;transform:translate3d(calc(var(--door-progress)*-101%),0,0);box-shadow:inset -2px 0 1px #d7b58266,inset -7px 0 14px #000b,10px 0 30px #0009}
.hero .door-right{right:0;transform:translate3d(calc(var(--door-progress)*101%),0,0);background:linear-gradient(90deg,#0c0d0c,#1d211d 9%,#393b34 29%,#1b1d1b 56%,#444139 78%,#20231f 94%,#101210);box-shadow:inset 2px 0 1px #d7b58266,inset 7px 0 14px #000b,-10px 0 30px #0009}
.hero .door::after{background:radial-gradient(ellipse 150% 22% at 50% 0%,#fff0d644,transparent 75%),linear-gradient(180deg,#0002,transparent 18%,#0000 50%,#0005 82%,#0009);box-shadow:inset 0 0 80px #0006}
.door-brush{position:absolute;inset:0;opacity:.45;background:repeating-linear-gradient(90deg,#fff1 0px,#fff0 1px,#0002 2px,#fff0 3px),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8 .025' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23bbb' filter='url(%23n)' d='M0 0h240v240H0z'/%3E%3C/svg%3E");mix-blend-mode:soft-light}
.door-reflection{position:absolute;inset:0;background:radial-gradient(ellipse 115% 12% at 92% 43%,#ffe5af99 0%,#d2c9ac66 18%,#d1c5a022 45%,transparent 80%),linear-gradient(107deg,transparent 37%,#efe2c11c 45%,transparent 51%);filter:blur(7px);transform:translateY(calc(var(--door-progress)*30px))}
.door-right .door-reflection{transform:scaleX(-1) translateY(calc(var(--door-progress)*30px))}
.elevator-frame{position:absolute;z-index:7;inset:0;pointer-events:none;border:clamp(8px,1.8vw,27px) solid #111411;border-image:linear-gradient(100deg,#090b0a,#5b5648 3%,#292a25 5%,#10120f 50%,#595443 96%,#0b0d0b) 1;box-shadow:inset 0 0 0 1px #d5c19c4d,inset 0 0 30px 12px #000a}
.frame-top-light{position:absolute;top:0;left:22%;right:22%;height:3px;background:#fff1d1;box-shadow:0 0 12px 5px #edd3a755,0 12px 54px 15px #d8aa6e44}
.frame-sill{position:absolute;bottom:0;left:0;right:0;height:10px;background:repeating-linear-gradient(0deg,#131512 0 2px,#5a5a4e 3px,#22251e 4px);border-top:1px solid #91826a}
.door-toggle{position:absolute;z-index:9;right:var(--hero-pad);bottom:7.5%;width:var(--door-button-size);height:var(--door-button-size);padding:13px;border-radius:50%;border:1px solid #cab48b88;background:radial-gradient(circle at 30% 25%,#3f4039,#1e201c 55%,#0c0e0c);box-shadow:inset 0 0 0 3px #151713,inset 0 0 0 4px #8a7b5b66,0 0 22px #e3bd6833,0 5px 15px #000a;color:#e9d7ae;transition:box-shadow 180ms,color 180ms}
.door-toggle svg{width:100%;height:100%;stroke:currentColor;stroke-width:1.8}.toggle-close{display:none}.hero.is-open .toggle-open{display:none}.hero.is-open .toggle-close{display:block}
.door-toggle:hover{color:#fff7dd;box-shadow:inset 0 0 0 3px #151713,inset 0 0 0 4px #c3ab76aa,0 0 35px #e3bd6866}
.entrance-closed .floor-panel{opacity:0;visibility:hidden;pointer-events:none}.floor-panel{transition:opacity var(--hero-reveal),visibility var(--hero-exit)}
.on-hero .floor-panel{background:linear-gradient(100deg,#262820,#48483e,#2a2c25);border-color:#736b54;color:#d8c5a2;box-shadow:inset 0 0 0 2px #121510,inset 0 0 0 3px #706550,4px 8px 24px #0008}
.on-hero .floor-panel::before{opacity:.2}
@media(min-width:901px){.on-hero .floor-panel{top:auto;bottom:30px;left:50%;right:auto;transform:translateX(-50%);width:310px;height:58px;flex-direction:row;justify-content:space-around;padding:6px 9px;gap:0}.on-hero .panel-display,.on-hero .panel-caption,.on-hero .panel-screw{display:none}.on-hero .floor-panel>a{width:42px;gap:3px}.on-hero .floor-number{width:28px;height:28px;font-size:15px}.on-hero .floor-name{font-size:7px}}
@media(max-width:900px){.hero .hero-bottom{bottom:14%;right:calc(var(--hero-pad) + 82px)}.door-toggle{bottom:14%}.hero-pressure{top:19%;--hero-title-height:25vh}.hero-script{top:44%;left:45%;font-size:5vw}.hero-statement{top:57%}.hero-brandbar{top:6%}.hero-brandbar>span{font-size:7px}.hero .hero-actions{gap:24px}.poster-edition{display:none}.hero-work-link{gap:45px}.poster-edge{font-size:7px}.hero-contact-link{display:none}}
@media(max-width:600px){:root{--hero-pad:24px;--door-button-size:50px}.hero{height:180svh}.hero .hero-sticky{height:100dvh;min-height:0;padding:0}.cabin-scene{background-position:center center}.hero-brandbar{top:5%;gap:18px}.hero-brandbar img{width:77px}.hero-brandbar>span{font-size:6px;line-height:1.65;padding-left:17px;letter-spacing:.06em}.hero-pressure{top:16%;height:36%;left:4%;width:92%}.pressure-desktop{display:none}.pressure-mobile{display:flex;flex-direction:column}.pressure-mobile>div{height:50%}.hero-pressure .text-pressure-title{line-height:.9}.pressure-fallback{white-space:normal;font-size:29vw}.hero-script{top:49%;left:50%;transform:translateX(-50%) rotate(-8deg);font-size:clamp(24px,7.3vw,38px)}.hero-statement{top:61%;left:6%;right:6%}.hero-statement h1{font-size:clamp(25px,7.2vw,35px);letter-spacing:-.07em;white-space:nowrap}.hero-statement>p{font-size:8px;letter-spacing:.08em;margin-top:15px}.poster-edge{display:none}.poster-cross{top:73%;font-size:18px}.cross-left{left:9%}.cross-right{right:9%}.hero .hero-bottom{left:var(--hero-pad);right:calc(var(--hero-pad) + 70px);bottom:15%;display:block}.hero .hero-actions{justify-content:flex-start;gap:25px;width:auto}.hero-work-link{gap:18px;font-size:14px;padding:7px 0}.hero-work-link span{font-size:23px}.hero-meet-link{font-size:10px;white-space:nowrap}.door-toggle{bottom:15%}.elevator-frame{border-width:9px}.frame-top-light{left:15%;right:15%}.hero .door-reflection{background:radial-gradient(ellipse 160% 10% at 100% 40%,#ffe5af99,#d2c9ac44 28%,transparent 80%)}.hero .door{box-shadow:inset 0 0 35px #0006}.door-right .door-reflection{transform:scaleX(-1)}}
@media(max-height:600px) and (min-width:601px){.hero-brandbar{top:5%}.hero-brandbar img{width:68px}.hero-pressure{top:20%;height:29%}.hero-script{top:47%;font-size:30px}.hero-statement{top:61%}.hero-statement h1{font-size:26px}.hero-statement>p{margin-top:8px;font-size:9px}.hero .hero-bottom{bottom:6%}.door-toggle{bottom:6%}.poster-edge,.poster-cross{display:none}}
@media(prefers-reduced-motion:reduce){.hero{height:100svh}.hero .hero-sticky{position:relative}.hero .door-left{transform:translate3d(calc(var(--door-progress)*-101%),0,0)}.hero .door-right{transform:translate3d(calc(var(--door-progress)*101%),0,0)}.hero-poster,.hero.is-open .hero-poster{transition:none}.cabin-scene{will-change:auto}.hero .door{will-change:auto}}
