/* One architectural reveal: a photographic elevation unfolds into a spatial model. */
body{--gallery-lift:0px}
body:has(.site-footer .footer-gallery-shell[data-open=true]){--gallery-lift:103px}
.hero .hero-console,.hero .hero-copy,.hero .hero-model-note{translate:0 calc(-1 * var(--gallery-lift));transition:translate .24s var(--ease)}
.hero .image-note{translate:0 calc(-30px - var(--gallery-lift));transition:translate .24s var(--ease)}
@media(max-width:760px){body:has(.site-footer .footer-gallery-shell[data-open=true]){--gallery-lift:87px}}
@media(prefers-reduced-motion:reduce){.hero .hero-console,.hero .hero-copy,.hero .hero-model-note,.hero .image-note{transition:none}}
.header{position:absolute;inset:0 0 auto;z-index:12;background:var(--paper)}
.mobile-nav{position:absolute;top:80px;left:0;right:0;z-index:15;background:var(--paper)}
.hero{height:100svh;min-height:740px;max-height:none;overflow:visible;background:#20271f;isolation:isolate}
.hero-pin{height:100svh;min-height:740px;position:relative;overflow:hidden;isolation:isolate;background:#20271f}
.hero.is-hero-pending,.hero.is-hero-ready{height:195svh}
.hero.is-hero-pending .hero-pin,.hero.is-hero-ready .hero-pin{position:sticky;top:0}
.hero .hero-image,.enhanced-motion .hero .hero-image{inset:0;width:100%;height:100%;object-position:50% 55%;animation:none;transform:none;opacity:1;transition:none}
.hero.is-hero-ready .hero-image{opacity:1}
.hero-shutters{position:absolute;inset:0;z-index:2;perspective:1700px;transform-style:preserve-3d;pointer-events:none;opacity:0}

.hero-blade{position:absolute;top:0;bottom:0;background-repeat:no-repeat;backface-visibility:hidden;transform-style:preserve-3d;will-change:transform,opacity}
.hero-blade::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#0e170daa,transparent 20%,transparent 80%,#0e170d70);opacity:var(--blade-shade,0)}
.hero .hero-shade{z-index:3;pointer-events:none;background:linear-gradient(180deg,#101b1428,transparent 32%,#10190fd6),linear-gradient(90deg,#13201636,transparent 70%);opacity:var(--hero-photo-opacity,1)}
.hero-topline{top:140px;z-index:5;color:#f3f2e6;font-size:10px;opacity:var(--hero-photo-opacity,1);pointer-events:none}
.hero .hero-copy,.enhanced-motion .hero .hero-copy{z-index:5;bottom:185px;left:var(--gutter);width:78%;transform:translate3d(0,var(--hero-title-y,0px),0);opacity:var(--hero-title-opacity,1);pointer-events:auto}
.hero h1{font-size:clamp(70px,7.55vw,114px);line-height:1.035;letter-spacing:-.04em;max-width:1100px}
.hero-title-line{display:block;overflow:hidden;padding-bottom:.05em;margin-bottom:-.05em}
.hero-title-line>span{display:block}
.hero-title-line>span{animation:none}

.hero-bottom{gap:65px;margin-top:29px}
.hero-bottom p{font-size:12px}
.hero-link{font-size:11px;padding-bottom:8px}
.hero-model{position:absolute;left:29%;right:1.8%;top:9%;bottom:calc(12% + var(--gallery-lift) + 48px);z-index:1;opacity:var(--hero-model-opacity,0);transform:translate3d(0,var(--hero-model-y,60px),0) scale(var(--hero-model-scale,.85));transform-origin:50% 60%;pointer-events:none}
.hero-model canvas{display:block;width:100%;height:100%;touch-action:pan-y;cursor:grab}
.hero-model canvas:active{cursor:grabbing}
.hero.model-interactive .hero-model{pointer-events:auto}
.hero-model canvas:focus-visible{outline:1px solid var(--citron);outline-offset:-9px}
.hero-model-frame{position:absolute;inset:14% 7% 10%;pointer-events:none;opacity:.38}
.hero-model-frame span{position:absolute;width:15px;height:15px;border-color:#adb798;border-style:solid}
.hero-model-frame span:nth-child(1){left:0;top:0;border-width:1px 0 0 1px}
.hero-model-frame span:nth-child(2){right:0;top:0;border-width:1px 1px 0 0}
.hero-model-frame span:nth-child(3){left:0;bottom:0;border-width:0 0 1px 1px}
.hero-model-frame span:nth-child(4){right:0;bottom:0;border-width:0 1px 1px 0}
.hero-reveal-copy{position:absolute;z-index:4;left:var(--gutter);top:25%;width:31%;max-width:440px;opacity:var(--hero-reveal-opacity,0);transform:translate3d(var(--hero-reveal-x,-35px),0,0);pointer-events:none}
.hero.model-interactive .hero-reveal-copy{pointer-events:auto}
.hero-reveal-copy h2{font-size:clamp(36px,4vw,62px);line-height:1.08;letter-spacing:-.04em;text-wrap:initial}
.hero-reveal-copy h2 em{color:#c3cea0}
.hero-reveal-copy p{font-size:11px;line-height:1.9;color:#c3cbb8;margin-top:27px}
.hero-reveal-copy .text-link{font-size:10px;margin-top:23px;gap:20px;color:var(--paper)}
.hero-model-note{position:absolute;left:50%;bottom:16.5%;display:flex;align-items:center;gap:9px;font-size:9px;letter-spacing:.01em;color:#cad2be;z-index:4;opacity:var(--hero-reveal-opacity,0);pointer-events:none}
.hero-model-dot{width:5px;height:5px;background:#e4e7ab;border-radius:50%}
.hero-orbit-hint{color:#e4e7ab;border-left:1px solid #7b856c;padding-left:12px;margin-left:4px}
.hero-console{position:absolute;left:var(--gutter);right:var(--gutter);bottom:57px;z-index:7;display:flex;align-items:center;justify-content:space-between;gap:35px;border-top:1px solid #dce0c44d;padding-top:18px;min-height:63px}
#hero-unfold{display:flex;align-items:center;gap:16px;padding:0;min-height:44px;color:var(--paper);background:none;text-align:left;font-size:12px}
.hero-cube{width:30px;height:30px;stroke-width:1;transition:transform .6s cubic-bezier(.16,1,.3,1);color:#dce3b5}
#hero-unfold:hover .hero-cube{transform:rotate(-12deg)}
#hero-unfold:hover{color:var(--citron)}
.hero-toggle-arrow{width:18px;height:18px;transition:transform .5s cubic-bezier(.16,1,.3,1)}
#hero-unfold[aria-pressed=true] .hero-toggle-arrow{transform:rotate(180deg)}
.hero-journey{display:flex;align-items:center;gap:18px;color:#d7dccb;font-size:9px;width:34%;max-width:390px}
.hero-journey-track{height:1px;flex:1;background:#dce0c44d}
.hero-journey-track>span{display:block;width:100%;height:1px;background:#e4e7ab;transform:scaleX(var(--hero-progress,0));transform-origin:left}
.hero .scroll-cue{position:static;display:flex;gap:22px;width:auto;height:44px;border:0;border-radius:0;font-size:10px;background:none}
.hero .scroll-cue:hover{background:none;color:var(--citron)}
.hero .scroll-cue svg{width:19px;height:28px}
.hero .image-note{bottom:18px;z-index:7;right:var(--gutter);font-size:8px;letter-spacing:.025em;color:#e2e5d5;background:none;padding:0}
.hero:not(.is-hero-ready) .hero-journey{display:none}
.hero:not(.is-hero-ready) .hero-console{justify-content:flex-end}
.hero:not(.is-hero-ready) .hero-model,.hero:not(.is-hero-ready) .hero-reveal-copy{visibility:hidden}
@keyframes hero-lettering{from{transform:translate3d(0,105%,0)}to{transform:translate3d(0,0,0)}}
@media(min-width:1600px){.hero .hero-copy{bottom:210px}.hero-reveal-copy{top:29%}.hero h1{font-size:114px}}
@media(max-width:1100px) and (min-width:761px){.hero h1{font-size:85px}.hero-reveal-copy h2{font-size:44px}.hero-model{left:27%;right:-4%}.hero-reveal-copy p{font-size:10px}.hero-journey{width:30%}.hero-model-note{left:44%}}
@media(max-width:760px){
 .hero,.hero-pin{min-height:680px}
 .hero.is-hero-pending,.hero.is-hero-ready{height:175svh}
 .hero-topline{top:116px;font-size:9px}
 .hero .hero-copy,.enhanced-motion .hero .hero-copy{bottom:198px;width:calc(100% - 48px)}
 .hero h1{font-size:clamp(51px,10.4vw,77px);line-height:1.08}
 .hero-bottom{margin-top:26px}
 .hero-bottom p{font-size:11px}
 .hero-link{font-size:10px;margin-top:24px}
 .hero-console{bottom:56px;gap:15px;padding-top:17px}
 #hero-unfold{font-size:11px;gap:12px;min-height:47px}
 .hero-cube{width:26px;height:26px}
 .hero-toggle-arrow{width:16px}
 .hero-journey{display:none}
 .hero .scroll-cue{gap:8px;font-size:8px}
 .hero .scroll-cue span{max-width:45px;line-height:1.5}
 .hero .scroll-cue svg{width:15px}
 .hero .image-note{font-size:7px;bottom:20px;left:var(--gutter);right:auto}
 .hero-reveal-copy{top:16.5%;width:calc(100% - 48px);max-width:none}
 .hero-reveal-copy h2{font-size:39px;line-height:1.08;max-width:16ch}
 .hero-reveal-copy h2>br:first-of-type{display:none}
 .hero-reveal-copy h2 em br{display:none}
 .hero-reveal-copy p{display:none}
 .hero-reveal-copy .text-link{font-size:9px;margin-top:20px;padding-bottom:6px}
 .hero-model{top:35%;bottom:calc(18% + var(--gallery-lift) + 28px);left:-1%;right:-1%}
 .hero-model-frame{inset:8% 8% 9%}
 .hero-model-note{left:0;right:0;justify-content:center;bottom:17.5%;font-size:8px;gap:7px}
 .hero-orbit-hint{padding-left:9px;margin-left:1px}
 .hero-model canvas:focus-visible{outline-offset:-16px}
}
@media(max-width:370px){
 .hero,.hero-pin{min-height:640px}
 .hero .hero-copy,.enhanced-motion .hero .hero-copy{width:calc(100% - 38px);bottom:184px}
 .hero h1{font-size:47px}
 .hero-reveal-copy{width:calc(100% - 38px);top:18%}
 .hero-reveal-copy h2{font-size:34px}
 .hero-reveal-copy .text-link{margin-top:13px}
 #hero-unfold{font-size:10px;gap:9px}
 .hero-cube{width:23px}
 .hero .scroll-cue{font-size:7px}
}
@media(min-width:761px) and (max-height:800px){
 .hero,.hero-pin{min-height:660px}
 .hero .hero-copy,.enhanced-motion .hero .hero-copy{bottom:160px}
 .hero h1{font-size:clamp(72px,6.9vw,100px)}
 .hero-bottom{margin-top:20px}
 .hero-topline{top:125px}
 .hero-reveal-copy{top:26%}
 .hero-reveal-copy h2{font-size:clamp(38px,3.5vw,54px)}
 .hero-reveal-copy p{margin-top:20px}
 .hero-reveal-copy .text-link{margin-top:15px}
}
@media(prefers-reduced-motion:reduce){
 .hero.is-hero-pending,.hero.is-hero-ready{height:100svh}
 .hero.is-hero-pending .hero-pin,.hero.is-hero-ready .hero-pin{position:relative}
 .hero-shutters,.hero-model,.hero-reveal-copy,.hero .hero-copy{transform:none!important}
 .hero-blade{will-change:auto}
 .hero .scroll-cue span{font-size:0}
 .hero .scroll-cue span::after{content:'Discover';font-size:9px}
}
