:root{--bg:#090a0c;--ink:#f3f3f4;--muted:#a3a5ac;--red:#f1263e;--line:#ffffff20;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{margin:0;background:var(--bg);color:var(--ink);font-family:Barlow,Arial,sans-serif;font-size:16px}a{color:inherit;text-decoration:none}button{font:inherit}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid var(--red);outline-offset:7px}::selection{background:var(--red);color:white}.progress{position:fixed;top:0;left:0;height:2px;background:var(--red);z-index:100;width:0}header{height:100px;position:absolute;top:0;width:100%;padding:0 5.5%;display:flex;align-items:center;justify-content:space-between;z-index:10;border-bottom:1px solid #ffffff12}.brand{display:flex;gap:12px;align-items:center;font-size:25px;font-weight:800;letter-spacing:3px;line-height:.95}.brand-mark{font-size:54px;font-style:italic;color:var(--red);font-family:Arial,sans-serif;letter-spacing:-6px;margin-right:8px}.brand-bottom{display:block;font-size:11px;letter-spacing:7px;padding-top:8px}nav{display:flex;gap:38px;font-size:14px;font-weight:600;color:#ddd}nav a:hover,.text-link:hover,.email:hover{color:var(--red)}.header-phone{font-size:14px;font-weight:600}.header-phone>span{color:var(--red);font-size:23px;margin-right:10px}.hero{min-height:760px;height:100svh;max-height:1250px;position:relative;isolation:isolate;overflow:hidden}.hero-art{position:absolute;inset:0;z-index:-3;transform:translate3d(var(--mx,0px),var(--my,0px),0) scale(1.04);transition:transform .7s ease-out}.hero-art>img{width:100%;height:100%;object-fit:cover;object-position:64% 50%}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#090a0ce8 0%,#090a0c70 34%,transparent 64%),linear-gradient(0deg,#090a0c 0%,transparent 27%,#090a0c30 70%);z-index:-1}#vapor{position:absolute;inset:0;width:100%;height:100%;mix-blend-mode:screen;opacity:.55}.hero-copy{position:absolute;left:8%;top:25%;max-width:640px}.eyebrow{font-size:12px;letter-spacing:2.5px;font-weight:600;display:flex;align-items:center;gap:12px}.eyebrow i{width:24px;height:2px;display:inline-block;background:var(--red)}h1,h2,h3,p{margin:0}h1,h2,.giant{font-family:'Barlow Condensed','Arial Narrow',Impact,sans-serif;font-weight:700}h1{font-size:clamp(68px,7.5vw,120px);line-height:.94;letter-spacing:-1px;margin:28px 0 22px}h1>span{color:var(--red);white-space:nowrap;font-size:.78em}p{font-size:17px;line-height:1.7;color:var(--muted)}.hero-copy p{color:#c9c9ce;margin-bottom:28px}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:40px;background:var(--red);padding:18px 23px;font-size:13px;letter-spacing:1.2px;font-weight:700;min-height:54px;transition:background .2s,transform .2s}.button:hover{background:#ff3c53;transform:translateY(-3px)}.button span{font-size:23px;line-height:1}.hero-side{position:absolute;right:3%;top:38%;writing-mode:vertical-rl;letter-spacing:3px;font-size:10px;color:#929299}.hero-bottom{position:absolute;bottom:33px;left:5.5%;right:5.5%;display:flex;justify-content:space-between;align-items:center;font-size:11px;letter-spacing:1.5px;color:#a6a6ad}.hero-bottom>a:last-child{color:white}.hero-bottom b{font-size:24px;letter-spacing:-1px;margin-right:10px}.hero-bottom>a:last-child>span{color:var(--red);font-size:20px;margin-left:15px}.scroll-cue{display:flex;align-items:center;gap:12px}.mouse{width:17px;height:27px;border:1px solid #777;border-radius:10px;position:relative}.mouse:after{content:'';position:absolute;left:7px;top:5px;width:2px;height:6px;background:var(--red);animation:scroll 2s infinite}@keyframes scroll{to{transform:translateY(9px);opacity:0}}.marques{display:flex;justify-content:space-between;align-items:center;gap:25px;padding:37px 8%;border-block:1px solid var(--line);color:#8c8c92;font-weight:700;font-size:19px;letter-spacing:1px}.engineering{height:380svh;position:relative}.engineering-stage{position:sticky;top:0;height:100svh;min-height:670px;overflow:hidden;background:radial-gradient(ellipse at 48% 55%,#251013 0%,#0a0b0e 57%)}.stage-top{position:absolute;top:7%;left:6%;right:6%;display:flex;justify-content:space-between}.stage-index{font-size:12px;color:#797b83;letter-spacing:2px}.engineering h2{position:absolute;left:6%;top:15%;font-size:clamp(48px,5.2vw,86px);line-height:.98;z-index:2}.engineering h2 span{color:#7f8189}.assembly{position:absolute;width:72%;height:82%;left:0;top:13%;isolation:isolate;mask-image:linear-gradient(90deg,transparent,#000 5%,#000 92%,transparent)}.assembly>img,.exploded,.exploded>img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.assembled{opacity:var(--assembled,1);transform:scale(.97);mix-blend-mode:screen}.exploded{opacity:var(--explode,0);transform:scale(var(--scale,.87)) translateY(var(--lift,20px));will-change:transform,opacity}.exploded>img{mix-blend-mode:screen}.service-copy{position:absolute;right:6%;top:44%;width:25%;max-width:350px;border-left:1px solid #f1263e70;padding-left:25px}.service-no{font-size:12px;letter-spacing:2px;color:var(--red);font-weight:700}.service-copy h3{font-size:32px;line-height:1.15;letter-spacing:-.8px;margin:18px 0}.service-copy p{font-size:16px;line-height:1.7}.service-detail{display:block;font-size:11px;line-height:1.6;letter-spacing:1px;margin-top:24px;color:#ddd}.stage-bottom{position:absolute;bottom:6%;left:6%;right:6%;display:flex;align-items:center;justify-content:space-between;font-size:11px;letter-spacing:1.5px;color:#a0a0a8}.chapter-buttons{display:flex;gap:10px}.chapter-buttons button{border:1px solid #ffffff25;background:transparent;color:#94959c;width:46px;height:46px;cursor:pointer;font-size:13px;transition:.2s}.chapter-buttons button:hover,.chapter-buttons button.active{color:white;border-color:var(--red);background:#f1263e18}.stage-progress{display:flex;gap:12px;align-items:center}.stage-progress i{width:100px;height:1px;background:#444;display:block}.stage-progress b{display:block;background:var(--red);height:2px;width:var(--chapter-progress,0%)}.approach{padding:120px 8%;border-top:1px solid var(--line)}.approach-heading{display:grid;grid-template-columns:1.3fr 1fr;gap:12%;align-items:end;margin:35px 0 70px}h2{font-size:clamp(46px,5.2vw,80px);line-height:1.02}.approach h2 span{color:#898b93}.values{display:grid;grid-template-columns:repeat(3,1fr);gap:5%}.values article{padding-top:25px;border-top:1px solid #ffffff35}.values article>span{color:var(--red);font-size:13px}.values h3{font-size:23px;margin:25px 0 12px}.values p{font-size:16px}.roadside{position:relative;overflow:hidden;padding:80px 8% 100px;background:#100a0d;border-block:1px solid #ee203732}.road-glow{position:absolute;width:650px;height:650px;border-radius:50%;background:radial-gradient(ellipse,#8d102733,transparent 68%);left:5%;top:-100px;pointer-events:none}.road-content{display:grid;grid-template-columns:1.5fr 1fr;gap:10%;align-items:center}.giant{font-size:clamp(140px,20vw,280px);line-height:1.1;letter-spacing:-8px}.giant span{color:var(--red)}.roadside h2{font-size:clamp(38px,4.2vw,65px)}.roadside h2 span{color:var(--red)}.road-copy p{margin:60px 0 30px}.road-number{display:block;font-size:23px;letter-spacing:1px;margin-top:22px}.contact{padding:110px 8%;display:grid;grid-template-columns:1fr 1fr;gap:12%;align-items:center}.contact h2{margin-top:30px;font-size:clamp(54px,6vw,96px)}.contact h2 span{color:var(--red)}.contact-phone{font-size:clamp(23px,2.5vw,38px);font-weight:600;display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:25px;margin-bottom:25px}.contact-phone span{color:var(--red)}.text-link{display:inline-block;font-size:12px;letter-spacing:1px;margin:15px 0 30px}.email{display:block;font-size:17px}.hours{font-size:14px;margin-top:20px}footer{border-top:1px solid var(--line);margin:0 5.5%;padding:35px 0;display:flex;justify-content:space-between;align-items:center;font-size:11px;color:#999;letter-spacing:1px}.footer-brand{font-size:21px;font-weight:800;color:white;letter-spacing:2px}.footer-brand span{display:block;font-size:9px;color:#777;margin-top:7px;letter-spacing:2px}.mobile-call{display:none}
@media(min-width:1600px){.hero-copy{top:27%}}
@media(max-width:1000px){header{height:85px}nav{gap:20px}.hero{min-height:720px}.hero-copy{left:6%;top:27%}h1{font-size:80px}.hero-art>img{object-position:62%}.marques{flex-wrap:wrap;justify-content:center;gap:24px 40px;font-size:16px}.service-copy{right:5%;width:30%}.service-copy h3{font-size:27px}.assembly{width:72%;left:-7%}.approach-heading{gap:7%}.road-content{gap:6%}}
@media(max-width:650px){html{scroll-padding-top:20px}header{height:78px;padding:0 6%}.brand{font-size:20px}.brand-mark{font-size:42px}.brand-bottom{font-size:9px;letter-spacing:5.5px}.header-phone{font-size:12px}.header-phone>span{display:none}nav{display:none}.hero{height:100svh;min-height:740px;max-height:1000px}.hero-copy{top:16%;left:7%;right:6%}.eyebrow{font-size:10px;letter-spacing:1.8px}h1{font-size:64px;margin:24px 0 18px;line-height:.94}h1>span{font-size:.78em}.hero-copy p{font-size:15px;line-height:1.5;margin-bottom:20px}.hero-copy .button{padding:13px 17px;min-height:46px;font-size:11px;gap:26px}.hero-art{inset:27% -35% -3% -55%}.hero-art>img{object-position:67%;object-fit:cover}.hero-shade{background:linear-gradient(180deg,#090a0c 8%,#090a0cd0 28%,transparent 57%,#090a0c 98%)}.hero-side{display:none}.hero-bottom{bottom:25px;left:7%;right:7%;font-size:9px}.hero-bottom>span{display:none}.hero-bottom b{font-size:20px}.hero-bottom>a:last-child>span{margin-left:4px}.marques{padding:26px 7%;gap:24px 30px;font-size:14px}.engineering{height:340svh}.engineering-stage{height:100svh;min-height:740px}.stage-top{top:5%;left:7%;right:7%}.stage-index{font-size:10px}.engineering h2{top:10%;left:7%;font-size:47px}.assembly{top:21%;height:40%;left:-6%;width:112%}.service-copy{top:61%;left:7%;right:7%;width:auto;max-width:none;padding-left:18px}.service-copy h3{font-size:26px;margin:12px 0 10px}.service-copy h3 br{display:none}.service-copy p{font-size:15px;line-height:1.5}.service-no{font-size:10px}.service-detail{font-size:9px;margin-top:12px}.stage-bottom{bottom:4%;left:7%;right:7%}.stage-bottom>span:first-child{font-size:9px;max-width:85px;line-height:1.5}.chapter-buttons{gap:6px}.chapter-buttons button{width:38px;height:38px;font-size:12px}.stage-progress{display:none}.approach{padding:70px 7%}.approach-heading{display:block;margin:25px 0 40px}h2{font-size:44px}.approach-heading>p{margin-top:25px;font-size:16px}.values{display:block}.values article{padding:20px 0 25px}.values h3{margin:12px 0 8px;font-size:22px}.roadside{padding:55px 7% 65px}.road-content{display:block}.giant{font-size:170px;letter-spacing:-5px}.roadside h2{font-size:41px}.road-copy p{margin:25px 0;font-size:16px}.contact{display:block;padding:65px 7%}.contact h2{font-size:61px}.contact-info{margin-top:40px}.contact-phone{font-size:28px}.contact-info p{font-size:16px}.contact-info .hours{font-size:14px}footer{margin:0 7%;padding:25px 0 90px;flex-wrap:wrap;gap:25px}.footer-brand{width:100%}.mobile-call{position:fixed;z-index:20;bottom:0;left:0;right:0;background:#141418ed;backdrop-filter:blur(14px);border-top:1px solid #ffffff25;padding:17px 7% max(17px,env(safe-area-inset-bottom));display:flex;justify-content:space-between;font-size:11px;font-weight:600;letter-spacing:1px}.mobile-call span{color:#ff5266}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-art{transform:none!important}#vapor{display:none}.mouse:after{animation:none}.button{transition:none}.exploded,}
.exploded{height:auto;aspect-ratio:3/2;top:50%;bottom:auto;transform:translateY(-50%);width:100%;overflow:visible}.exploded>.photo-part{width:100%;height:auto;inset:0;object-fit:contain;will-change:transform;mix-blend-mode:screen}
@media(prefers-reduced-motion:reduce){.exploded>.photo-part{transform:none!important}}

/* Component assembly: whole alpha sprites with individually staged motion. */
.engineering{height:460svh}.engineering-stage{background:radial-gradient(ellipse at 42% 60%,#211017 0%,#0a0b0e 65%)}
.assembly{left:1%;top:19%;width:69%;height:72%;mask-image:none;overflow:visible}
.exploded{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;transform:none;opacity:1;overflow:visible;isolation:isolate}
.component{position:absolute;aspect-ratio:1;background-image:none;background-size:300% 200%;background-repeat:no-repeat;transform:translate(-50%,-50%);will-change:transform;filter:drop-shadow(0 14px 14px #0008);transition:filter .7s;pointer-events:none}
.component.highlight{filter:drop-shadow(0 2px 13px #f1263e38) drop-shadow(0 14px 14px #0008)}
.component-labels{position:absolute;inset:0;z-index:12;pointer-events:none}.component-label{position:absolute;transform:translate(-50%,0);font-size:10px;white-space:nowrap;letter-spacing:1.5px;color:#c0b6bd;background:#0b0b10dc;border-bottom:1px solid #ef233c7a;padding:5px 9px;opacity:0}
.engineering h2{font-size:clamp(44px,4.6vw,74px)}
@media(max-width:1000px){.assembly{left:-2%;width:70%}}
@media(max-width:650px){.engineering{height:420svh}.assembly{left:2%;width:96%;top:22%;height:38%}.engineering h2{font-size:42px}.component-label{font-size:8px;letter-spacing:.5px;padding:3px 5px}.service-copy{top:65%}.service-copy h3{font-size:25px}.service-copy p{font-size:14px}.service-detail{margin-top:8px}.stage-bottom{bottom:3%}}
@media(prefers-reduced-motion:reduce){.component{transition:none;will-change:auto}}

@media(min-width:651px){.engineering h2{top:12%;font-size:clamp(44px,4.2vw,64px)}.assembly{top:30%;height:62%}}
@media(max-width:650px){.assembly{top:27%;height:34%}}

/* Expanded brands, with extra space below the opening scene. */
.marques{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:30px 22px;margin-top:28px;padding:38px 8%;text-align:center;justify-content:normal}.marques span{min-width:0;overflow-wrap:anywhere;line-height:1.4}
@media(max-width:1000px){.marques{font-size:16px;gap:27px 16px;padding-inline:6%}}
@media(max-width:650px){.marques{grid-template-columns:repeat(3,minmax(0,1fr));gap:25px 12px;margin-top:24px;padding:30px 7%;font-size:14px;letter-spacing:.5px}}

/* Fixed scene coordinates: identical body/wheel alignment at every viewport. */
.exploded{inset:auto 0 auto 0;top:50%;width:100%;height:auto;aspect-ratio:1000/680;transform:translateY(-50%)}
.component,.component-label{left:0;top:0;transform-origin:50% 50%}.component{aspect-ratio:auto;will-change:transform}.exploded.assets-ready .component{background-image:url('assets/components.webp')}
.progress{width:100%;transform:scaleX(0);transform-origin:left;will-change:transform}
.service-panel[hidden]{display:none}
.skip-link{position:fixed;top:10px;left:10px;z-index:200;padding:12px 20px;background:#fff;color:#090a0c;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}
@media(prefers-reduced-motion:reduce){.component{will-change:auto}}
