/* Everything in this file belongs to the construction first view. */
.hero{--cycle:7.6s;--paper:#f7f7f3;--gold:#bea16c;isolation:isolate;height:100svh;min-height:760px;max-height:1180px;background:#081923;color:var(--paper)}
.hero-stage{position:absolute;inset:13% -3% 4% 31%;z-index:-4;mask-image:linear-gradient(90deg,transparent,black 32%,black 93%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,black 32%,black 93%,transparent)}
.hero-stage::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#081923,transparent 21%,transparent 82%,#081923);pointer-events:none}
.hero-parallax{width:100%;height:100%;transform:translate3d(var(--photo-x,0px),var(--photo-y,0px),0)}
.hero-photograph{display:block;position:absolute;inset:-3%;transform-origin:68% 58%}
.hero-photograph img{display:block;width:100%;height:100%;object-fit:cover;object-position:58% 50%;filter:saturate(.68) brightness(.78);}
.hero-light{position:absolute;z-index:-3;inset:8% -10% 10% 25%;pointer-events:none;background:radial-gradient(ellipse at 78% 36%,rgba(239,222,180,.105),transparent 53%);transform:translate3d(var(--light-x,0px),0,0)}
.hero-vignette{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,#081923 0%,rgba(8,25,35,.95) 21%,rgba(8,25,35,.36) 58%,rgba(8,25,35,.03) 100%),linear-gradient(0deg,#081923 0%,rgba(8,25,35,.4) 15%,transparent 42%,transparent 76%,#081923 100%);pointer-events:none}
.hero-drawing{position:absolute;inset:0;z-index:-1;color:var(--gold);pointer-events:none;transform:translate3d(var(--line-x,0px),var(--line-y,0px),0)}
.hero-drawing svg{width:100%;height:100%;overflow:visible;stroke:currentColor;stroke-width:1;stroke-linejoin:miter;stroke-linecap:butt}
.hero-drawing path{vector-effect:non-scaling-stroke}
.drawing-axis{opacity:.32;stroke-dasharray:1;stroke-dashoffset:0}
.drawing-guides{opacity:0;stroke-width:.6}
.drawing-form{opacity:.8;stroke-width:1.2;stroke-dasharray:1;stroke-dashoffset:0}
.drawing-mobile{display:none}
.hero-content{position:relative;left:auto;bottom:auto;margin-left:9.5vw;padding-top:clamp(190px,25vh,340px);width:max-content;max-width:84%;color:var(--paper);}
.hero .eyebrow{font-family:"DM Mono",monospace;font-size:12px;line-height:1.5;letter-spacing:.24em;margin:0 0 28px;color:#bea16c}
.hero h1{font-size:clamp(52px,5.7vw,94px);line-height:1.38;letter-spacing:.065em;font-weight:500;margin:0;}
.hero-title-line{display:block;overflow:hidden;padding:.08em 0;margin:-.08em 0;}
.hero-title-line>span{display:block;}
.hero-mobile-break{display:inline}
.hero .hero-copy{margin:35px 0 0;font-size:16px;line-height:2.1;letter-spacing:.16em;color:rgba(247,247,243,.87)}
.hero-business{font-size:12px;line-height:1.8;letter-spacing:.1em;margin:19px 0 0;color:rgba(247,247,243,.6)}
.hero .hero-scroll{left:4.5vw;bottom:38px;font-size:12px;gap:18px;min-height:44px;letter-spacing:.16em}
.hero-scroll span{width:49px;position:relative;overflow:hidden;background:rgba(190,161,108,.32)}
.hero-scroll span::after{content:"";position:absolute;inset:0;background:var(--gold);transform-origin:left;}
.hero-motion-toggle{position:absolute;right:4.5vw;bottom:42px;display:flex;align-items:center;justify-content:center;gap:10px;min-height:44px;padding:9px 0 9px 14px;background:none;border:0;color:rgba(247,247,243,.7);font:12px/1.5 var(--sans);letter-spacing:.05em;cursor:pointer;}
.hero-motion-toggle[hidden]{display:none}
.hero-motion-toggle:hover{color:white}
.motion-icon{height:11px;width:9px;border-left:2px solid currentColor;border-right:2px solid currentColor}
.hero-motion-toggle[aria-pressed="true"] .motion-icon{border:0;width:0;height:0;border-top:6px solid transparent;border-bottom:6px solid transparent;border-left:9px solid currentColor;}
.hero-motion-toggle:focus-visible,.hero-scroll:focus-visible{outline:1px solid var(--gold);outline-offset:5px;}
.hero.is-enhanced:not(.is-ready) .hero-stage,.hero.is-enhanced:not(.is-ready) .hero-content{opacity:0}
.hero.is-ready .hero-stage{animation:craft-arrive 2.8s cubic-bezier(.2,.65,.25,1) both}
.hero.is-ready .hero-title-line>span{animation:copy-arrive 1.7s cubic-bezier(.19,1,.22,1) .45s both}
.hero.is-ready .hero-title-line:nth-child(2)>span{animation-delay:1.05s}
.hero.is-ready .eyebrow{animation:detail-arrive 1.6s 1.65s both}
.hero.is-ready .hero-copy{animation:detail-arrive 1.6s 1.9s both}
.hero.is-ready .hero-business{animation:detail-arrive 1.6s 2.2s both}
.hero.has-motion .hero-photograph{animation:camera-breathe var(--cycle) ease-in-out infinite}
.hero.has-motion .hero-light{animation:light-breathe var(--cycle) ease-in-out infinite}
.hero.has-motion .hero-scroll span::after{animation:scroll-line 3.8s ease-in-out infinite}
.hero.is-paused *,.hero.is-paused *::after{animation-play-state:paused!important}
@keyframes craft-arrive{from{opacity:0;transform:translateX(18px)}to{opacity:1;transform:translateX(0)}}
@keyframes copy-arrive{from{opacity:0;transform:translateY(106%)}to{opacity:1;transform:translateY(0)}}
@keyframes detail-arrive{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}
@keyframes camera-breathe{0%,100%{transform:translate3d(0,0,0) scale(1.02)}50%{transform:translate3d(-9px,4px,0) scale(1.04)}}
@keyframes light-breathe{0%,100%{opacity:.45}50%{opacity:1}}
@keyframes scroll-line{0%,10%{transform:translateX(-102%)}50%,65%{transform:translateX(0)}90%,100%{transform:translateX(102%)}}
@media(min-width:1600px){.hero-content{padding-top:24vh}.hero-stage{left:35%}}
@media(max-width:1000px) and (min-width:701px){.hero{min-height:720px}.hero-content{margin-left:7vw}.hero h1{font-size:clamp(46px,6.2vw,64px)}.hero-stage{inset:17% -16% 4% 20%}}
@media(max-width:700px){
 .hero{height:auto;min-height:max(850px,100svh);max-height:none;}
 .hero-stage{inset:39% -15% 7% -4%;mask-image:linear-gradient(180deg,transparent,black 17%,black 82%,transparent);-webkit-mask-image:linear-gradient(180deg,transparent,black 17%,black 82%,transparent)}
 .hero-stage::after{display:none}
 .hero-photograph img{object-position:55% 55%;filter:saturate(.65) brightness(.85)}
 .hero-vignette{background:linear-gradient(180deg,#081923 0%,#081923 28%,rgba(8,25,35,.75) 41%,rgba(8,25,35,.06) 63%,rgba(8,25,35,.25) 78%,#081923 96%),linear-gradient(90deg,rgba(8,25,35,.38),transparent 66%)}
 .hero-light{inset:27% -25% 8% -5%;background:radial-gradient(ellipse at 76% 55%,rgba(239,222,180,.12),transparent 65%)}
 .hero-content{margin-left:27px;padding-top:140px;max-width:calc(100% - 48px);padding-bottom:340px;}
 .hero .eyebrow{font-size:12px;letter-spacing:.19em;margin-bottom:24px}
 .hero h1{font-size:clamp(42px,11.8vw,70px);line-height:1.34;letter-spacing:.065em}
 .hero-mobile-break{display:block}
 .hero .hero-copy{font-size:14px;line-height:1.9;margin-top:24px;letter-spacing:.12em}
 .hero-business{max-width:290px;font-size:12px;letter-spacing:.035em;margin-top:13px}
 .drawing-desktop{display:none}.drawing-mobile{display:block}
 .hero .hero-scroll{left:27px;bottom:43px;font-size:12px;gap:12px}
 .hero-motion-toggle{right:24px;bottom:47px;font-size:12px;}
 .hero-scroll span{width:32px}
}
@media(max-width:360px){.hero-content{margin-left:22px;max-width:calc(100% - 40px);padding-top:128px}.hero h1{font-size:40px}.hero-business{font-size:12px;max-width:250px}.hero-motion-toggle{right:20px}.hero .hero-scroll{left:22px}}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 .hero *,.hero *::after{animation:none!important;transition:none!important;}
 .hero-stage,.hero-content,.hero-title-line>span,.hero .eyebrow,.hero .hero-copy,.hero-business{opacity:1!important;transform:none!important}
 .hero-parallax,.hero-drawing,.hero-light,.hero-photograph{transform:none!important}
 .hero-motion-toggle{display:none!important}
 .drawing-guides{opacity:0!important}.drawing-axis{opacity:.32!important;stroke-dashoffset:0!important}.drawing-form{opacity:.8!important;stroke-dashoffset:0!important}
}
