@import url('./assets/fonts/fonts.css?v=2');
:root{--bg:#101111;--panel:#191b1b;--text:#f3f3ec;--muted:#858a87;--line:#ffffff24;--acid:#e8bd42;--font:'Golos Text',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:15px;-webkit-font-smoothing:antialiased}button,input,textarea{font:inherit}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{color:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button{border:0}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--acid);outline-offset:5px}::selection{background:var(--acid);color:var(--bg)}button:disabled{opacity:.45;cursor:default}.skip{position:fixed;top:-100px;left:16px;z-index:100;background:var(--acid);color:#101111;padding:16px}.skip:focus{top:10px}header{height:100px;padding:0 4%;display:flex;align-items:center;justify-content:space-between;position:absolute;top:0;left:0;width:100%;z-index:30;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:8px;font-size:27px;font-weight:800;letter-spacing:-1.6px}.brand-symbol{font-size:38px;line-height:1;color:var(--acid)}.registered{align-self:flex-start;font-size:11px;margin:5px 0 0 2px}.header-caption{font-size:10px;line-height:1.8;letter-spacing:1.7px}.header-caption span{color:var(--muted)}.menu-toggle{background:none;display:flex;align-items:center;gap:23px;padding:16px 0 16px 25px;font-size:13px}.menu-toggle i{display:flex;flex-direction:column;gap:5px;width:24px}.menu-toggle b{display:block;height:1px;background:var(--acid);width:24px;transition:transform .5s}.menu-toggle[aria-expanded=true] b:first-child{transform:translateY(3px) rotate(45deg)}.menu-toggle[aria-expanded=true] b:last-child{transform:translateY(-3px) rotate(-45deg)}.hero{min-height:850px;height:100svh;max-height:1150px;position:relative;overflow:hidden;padding:134px 4% 0;background:radial-gradient(ellipse at 65% 65%,#282c2a 0,transparent 51%)}.hero-topline{display:flex;justify-content:space-between;font-size:9px;letter-spacing:1.8px;color:#a8aaa1}.live-dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--acid);margin:0 8px 2px 0}.hero h1{position:relative;font-size:clamp(80px,9.7vw,165px);line-height:.94;letter-spacing:-.075em;font-weight:500;margin:54px 0 0;z-index:2;pointer-events:none}.hero h1 span{color:var(--acid)}#car-stage{position:absolute;inset:170px -5% 40px 22%;z-index:3;pointer-events:none}#car{width:100%;height:100%;display:block}#load-state{position:absolute;left:38%;top:57%;font-size:10px;letter-spacing:1px;color:var(--muted);display:flex;gap:12px;align-items:center}#load-state span{width:12px;height:12px;border:1px solid #555;border-top-color:var(--acid);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.hero-description{position:absolute;bottom:158px;left:4%;z-index:5}.hero-description p{font-size:16px;line-height:1.55;color:#aeb1ac;margin:0 0 26px}.hero-description em{font-style:normal;color:var(--text)}.button{min-height:56px;padding:0 24px;display:inline-flex;align-items:center;justify-content:space-between;gap:45px;font-size:13px;font-weight:500;transition:background .25s,transform .25s}.primary{background:var(--acid);color:#15180c}.primary:hover{background:#f1cf72;transform:translateY(-3px)}.button span{font-size:21px}.stage-note{position:absolute;right:4%;top:55%;font-size:9px;line-height:1.9;letter-spacing:1px;display:flex;gap:15px;z-index:4;color:#bfc4ba}.stage-note b{font-weight:400;color:#70776e;font-size:8px}.cross{color:var(--acid);font-size:26px}.hero-bottom{position:absolute;left:4%;right:4%;bottom:0;height:101px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;z-index:6;font-size:9px;letter-spacing:1px}.paint-control{display:flex;align-items:center;gap:22px}.paint-control>span{color:var(--muted)}.paint-control>div{display:flex;gap:10px}.swatch{background:var(--swatch);width:17px;height:17px;border-radius:50%;position:relative;padding:0}.swatch.selected:after{content:'';position:absolute;inset:-5px;border:1px solid var(--acid);border-radius:50%}.view-controls{display:flex;gap:24px}.view-controls button{background:none;padding:12px 0;font-size:11px;color:#bfc3bb}.view-controls button:hover,.view-controls button[aria-pressed=true]{color:var(--acid)}.light-icon{color:var(--acid);margin-right:7px}.scroll-link{display:flex;align-items:center;gap:28px}.scroll-link span{font-size:23px;color:var(--acid)}.menu-panel{position:fixed;inset:100px 0 0 auto;width:54%;z-index:25;background:#171918f5;padding:7vh 7% 30px 5%;backdrop-filter:blur(20px);border-left:1px solid var(--line)}.menu-label{font-size:10px;color:var(--acid);letter-spacing:2px;margin-bottom:40px}.menu-panel nav a{display:flex;align-items:center;gap:18px;font-size:clamp(24px,3vw,46px);letter-spacing:-2px;padding:24px 0;border-bottom:1px solid var(--line)}.menu-panel nav small{font-size:10px;color:var(--muted);letter-spacing:0}.menu-panel nav a>span{margin-left:auto;color:var(--acid);font-size:25px}.menu-panel nav a:hover{color:var(--acid)}.menu-panel>p{font-size:11px;color:var(--muted);margin-top:35px}.menu-open header{position:fixed;background:#101111}.section-pad{padding:110px 4%}.eyebrow{font-size:10px;letter-spacing:1.4px;color:#9a9f96;display:flex;justify-content:space-between}.mini-cross{font-size:24px;line-height:.5;color:var(--acid)}h2{font-weight:400;font-size:clamp(42px,4.65vw,76px);line-height:1.1;letter-spacing:-.06em;margin:26px 0}h2 em{font-style:normal;color:var(--acid)}.philosophy{background:#181a18;border-top:1px solid var(--line)}.philosophy-body{display:flex;justify-content:space-between;gap:9%;margin-top:40px}.philosophy h2{font-size:clamp(34px,4.1vw,66px);margin:0;flex:1}.muted{color:#767d73}.philosophy-aside{width:26%;padding-top:3px}.thin-star{color:var(--acid);font-size:50px;line-height:1}.philosophy-aside p{font-size:14px;color:#b0b6aa;line-height:1.7;margin-top:30px}.small-label{font-size:8px;letter-spacing:1px;color:#767e71;display:block;margin-top:30px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:34px}.section-heading p{color:var(--muted);font-size:14px;line-height:1.6;margin-bottom:33px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.service-card{background:#1a1c1b;border:1px solid transparent;text-align:left;padding:0;overflow:hidden;transition:background .4s,border-color .4s,transform .4s}.service-card:hover{border-color:#8b975d}.service-card.active{border-color:#e8bd4266}.material{height:265px;position:relative;overflow:hidden;background:#212423;isolation:isolate}.material:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#0005,transparent 50%);pointer-events:none}.material-tag{position:absolute;bottom:18px;left:22px;font-size:8px;letter-spacing:2px;color:#a2a6a0;z-index:2}.material-polish{background:radial-gradient(ellipse at 48% 42%,#747977,#343838 38%,#141717 72%)}.metal-ring{position:absolute;width:240px;height:240px;border-radius:50%;top:15px;left:50%;transform:translateX(-50%) rotateX(35deg) rotateY(-25deg);background:conic-gradient(from 40deg,#e6e8e5,#3d4440 12%,#939994 23%,#0e1110 35%,#d8dad5 49%,#60685f 65%,#1b201d 73%,#e0e7dc 91%,#e6e8e5);box-shadow:8px 25px 30px #0008;transition:transform .8s}.metal-ring:after{content:'';position:absolute;inset:29px;border-radius:50%;background:radial-gradient(circle at 65% 30%,#5a615c,#111916 75%);box-shadow:inset 0 0 15px #000}.service-card:hover .metal-ring{transform:translateX(-50%) rotateX(15deg) rotateY(10deg) rotate(30deg)}.material-ceramic{background:repeating-linear-gradient(115deg,transparent 0 15px,#ffffff03 16px 17px),linear-gradient(135deg,#38413c,#101715 65%,#536049)}.drop{position:absolute;border-radius:50% 50% 50% 10%;transform:rotate(-45deg);background:radial-gradient(circle at 65% 35%,#cbdcc88c,transparent 40%),linear-gradient(120deg,#b8d4b066,#09100a99);border:1px solid #c2dcb040;box-shadow:7px 14px 12px #0008,inset -3px -4px 5px #e6dbc47a;transition:transform .8s}.d1{width:116px;height:116px;left:35%;top:57px}.d2{width:52px;height:52px;left:18%;top:149px}.d3{width:36px;height:36px;left:76%;top:53px}.service-card:hover .drop{transform:translateY(8px) rotate(-35deg)}.material-film{background:linear-gradient(140deg,#393d37,#141814 70%)}.film-sheet{position:absolute;inset:40px -60px 20px 70px;transform:rotate(-25deg) skew(-13deg);background:linear-gradient(135deg,#f1e5c770,transparent 47%,#f0f2da99 48%,#9aa78342 51%,#e3d7b780);border:1px solid #ead5a177;box-shadow:-15px 28px 35px #0007;transition:transform .8s;border-radius:5px 5px 90px 5px}.service-card:hover .film-sheet{transform:rotate(-16deg) skew(-8deg) translateY(-8px)}.service-info{padding:27px 25px}.service-info>small{font-size:8px;letter-spacing:1.7px;color:var(--muted)}.service-info h3{font-size:25px;font-weight:450;letter-spacing:-1px;display:flex;justify-content:space-between;margin:16px 0}.service-info h3 span{color:var(--acid);font-size:20px}.service-info p{font-size:13px;color:#949c91;line-height:1.6}.service-info>div{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:20px;margin-top:25px;font-size:12px}.service-info>div span:last-child{color:#7c8676;font-size:10px}.service-detail{display:flex;align-items:center;gap:5%;padding:28px 0;border-bottom:1px solid var(--line)}.detail-index{font-size:9px;letter-spacing:1px;color:var(--acid);white-space:nowrap}.service-detail p{max-width:650px;color:#a3aa9f;font-size:13px;line-height:1.7;margin:0}.service-detail a{margin-left:auto;white-space:nowrap;font-size:11px}.service-detail a span{color:var(--acid);padding-left:12px}.demo-note{font-size:10px!important;line-height:1.6!important;color:#889080!important;max-width:600px}.services>.demo-note{margin-top:20px}.manifesto{position:relative;padding:100px 4%;overflow:hidden;background:#e8bd42;color:#211c10}.manifesto .eyebrow{color:#70602f}.manifesto h2{font-size:clamp(60px,8.5vw,132px);line-height:1;margin:40px 0 25px;position:relative;z-index:1}.manifesto h2 em{color:#877024}.manifesto-sub{font-size:14px}.manifesto-line{position:absolute;border:1px solid #907a383b;width:700px;height:700px;right:-100px;top:-145px;border-radius:50%;box-shadow:0 0 0 50px #b99b4517,0 0 0 100px #b99b4517,0 0 0 150px #b99b4517;pointer-events:none}.process{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:6%;margin-top:85px}.process article{border-top:1px solid #75663155;padding-top:23px}.process span{font-size:9px;letter-spacing:1px;color:#786832}.process h3{font-size:24px;font-weight:500;letter-spacing:-1px;margin:28px 0 13px}.process p{font-size:13px;line-height:1.7;color:#645a3a;max-width:315px}.estimate{display:grid;grid-template-columns:1fr 1.1fr;gap:8%;background:#171918}.estimate-intro>p{color:#a4ab9d;font-size:14px;line-height:1.7}.estimate-seal{display:flex;align-items:center;gap:20px;margin-top:75px;font-size:85px;color:#555f4d;font-weight:400;line-height:1}.estimate-seal>span{font-size:9px;line-height:1.8;letter-spacing:2px;color:#8d9982}.calculator{padding-top:6px}fieldset{border:0;padding:0;margin:0 0 37px}legend{font-size:15px;width:100%;margin-bottom:23px}legend>span{font-size:9px;color:#839173;margin-right:16px}.segments{display:flex;gap:7px}.segments button{flex:1;background:#20241e;padding:16px 8px;font-size:12px;border:1px solid #35402c;transition:background .3s}.segments button.selected{background:var(--acid);color:#28200c;border-color:var(--acid)}.care-options label{display:flex;position:relative;align-items:center;gap:13px;padding:19px 0;cursor:pointer;border-bottom:1px solid var(--line);font-size:13px}.care-options input{position:absolute;left:1px;opacity:0;width:22px;height:22px}.checkbox{width:22px;height:22px;border:1px solid #526046;flex-shrink:0;display:grid;place-items:center}.care-options input:checked+.checkbox{background:var(--acid);border-color:var(--acid)}.care-options input:checked+.checkbox:after{content:'✓';color:#28200c;font-size:14px}.care-options input:focus-visible+.checkbox{outline:2px solid var(--acid);outline-offset:4px}.care-options label>span:nth-of-type(2){flex:1}.care-options small{display:block;font-size:10px;color:#8d9884;margin-top:6px}.care-options b{font-size:12px;font-weight:400;white-space:nowrap}.total{display:flex;align-items:center;justify-content:space-between;gap:20px}.total small{font-size:8px;letter-spacing:1.4px;color:#9aa58f}.total output{display:block;font-size:42px;letter-spacing:-2px;margin-top:8px;white-space:nowrap}.total output>span{font-size:26px;color:#7f8a74}.calculator>.demo-note{margin-top:23px}.request{display:grid;grid-template-columns:1fr 1fr;gap:12%;border-bottom:1px solid var(--line)}.request h2{font-size:clamp(42px,4.5vw,72px)}.request>div>p{color:var(--muted);font-size:14px;line-height:1.7}.request form{padding-top:5px}.request label{font-size:10px;letter-spacing:1px;display:block;margin-bottom:12px;color:#a7b09d}.request input,.request textarea{width:100%;border:1px solid #414b37;background:#1a1f17;color:#eff3e9;border-radius:0;padding:18px;resize:vertical;transition:border-color .25s;margin:0 0 24px;font-size:14px}.request input:focus,.request textarea:focus{border-color:var(--acid);outline:1px solid var(--acid);outline-offset:0}.request input::placeholder,.request textarea::placeholder{color:#89957d}.request form>.button{width:100%}#request-result{margin-top:24px;padding:20px;background:#232b1c}#request-result p{font-size:13px}#request-text{font-size:12px;min-height:130px;margin-bottom:10px}.text-button{background:none;color:var(--acid);padding:7px 0;font-size:12px}#copy-status{display:block;font-size:11px;margin-top:10px}footer{padding:42px 4% 25px;display:flex;align-items:center;flex-wrap:wrap;justify-content:space-between;gap:25px}footer .brand{font-size:23px}footer>span{font-size:9px;letter-spacing:1px;color:var(--muted)}footer>a:last-of-type{font-size:12px}.credits{width:100%;font-size:8px;color:#757c6e;border-top:1px solid var(--line);padding-top:20px}.credits a{text-decoration:underline}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-stopped{overflow:hidden}@media(min-width:1600px){.hero h1{margin-top:64px}.hero-description{bottom:180px}.section-pad{padding-left:max(4%,calc((100% - 1500px)/2));padding-right:max(4%,calc((100% - 1500px)/2))}}@media(max-width:1000px){.hero{min-height:850px}.hero h1{font-size:11vw}#car-stage{inset:210px -22% 70px 15%}.stage-note{display:none}.hero-description{bottom:150px}.philosophy-body{gap:5%}.philosophy-aside{width:30%}.service-grid{gap:12px}.service-info{padding:22px 17px}.service-info h3{font-size:21px}.material{height:225px}.estimate{gap:5%}.total{align-items:flex-start;flex-direction:column}.total .button{width:100%}.request{gap:6%}.hero-bottom .scroll-link{font-size:8px;gap:10px}.view-controls{gap:14px}.view-controls button{font-size:10px}.header-caption{font-size:8px}.service-detail{gap:20px}.menu-panel{width:65%}}@media(max-width:650px){header{height:77px;padding:0 6%}.brand{font-size:22px}.brand-symbol{font-size:30px}.header-caption{display:none}.menu-toggle{font-size:11px}.hero{height:860px;min-height:860px;max-height:none;padding:104px 6% 0}.hero-topline{font-size:7px;letter-spacing:1px}.hero-topline>span:last-child{display:none}.hero h1{font-size:13.4vw;line-height:1.06;letter-spacing:-.065em;margin-top:35px}#car-stage{inset:245px -34% 220px -26%}.hero-description{left:6%;right:6%;bottom:130px;display:flex;align-items:center;justify-content:space-between;gap:20px}.hero-description p{font-size:12px;margin:0;line-height:1.6}.hero-description .button{font-size:11px;padding:0 16px;gap:16px;min-height:49px}.hero-bottom{left:6%;right:6%;height:105px;align-items:flex-start;padding-top:24px;flex-wrap:wrap;gap:15px}.paint-control{gap:17px;font-size:8px}.view-controls{gap:15px}.view-controls button{padding:2px 0;font-size:9px}.view-controls #rotate span{display:none}.scroll-link{width:100%;justify-content:space-between}.scroll-link span{font-size:17px}.menu-panel{top:77px;width:100%;padding:40px 6%;bottom:0}.menu-panel nav a{font-size:32px;letter-spacing:-1px}.section-pad{padding:70px 6%}.eyebrow{font-size:9px}.philosophy-body{display:block;margin-top:32px}.philosophy h2{font-size:8vw}.philosophy-aside{width:auto;display:grid;grid-template-columns:48px 1fr;gap:18px;margin-top:32px}.thin-star{font-size:42px}.philosophy-aside p{font-size:12px;margin:0}.small-label{grid-column:2;margin-top:0;font-size:7px}h2{font-size:44px}.section-heading{display:block;margin-bottom:25px}.section-heading p{font-size:12px;margin:20px 0}.service-grid{grid-template-columns:1fr;gap:18px}.service-card{display:grid;grid-template-columns:42% 58%;min-height:225px}.material{height:100%}.metal-ring{width:165px;height:165px;top:28px}.metal-ring:after{inset:20px}.service-info{padding:22px 17px}.service-info h3{font-size:20px;margin-top:13px}.service-info p{font-size:11px}.service-info>div{font-size:11px;margin-top:15px;padding-top:15px}.service-info>small{font-size:7px}.material-tag{font-size:6px;left:10px;bottom:14px;letter-spacing:1px}.d1{width:85px;height:85px;left:30%;top:55px}.d2{width:32px;height:32px;top:150px}.d3{width:24px;height:24px;left:73%}.film-sheet{inset:40px -50px 40px 30px}.service-detail{flex-wrap:wrap;gap:15px}.service-detail p{font-size:12px}.service-detail a{margin-left:0}.manifesto{padding:70px 6%}.manifesto h2{font-size:15vw}.manifesto-line{width:480px;height:480px;right:-350px;top:0}.manifesto-sub{font-size:12px}.process{grid-template-columns:1fr;gap:28px;margin-top:48px}.process h3{margin-top:17px;font-size:23px}.process p{max-width:100%;font-size:12px}.estimate{grid-template-columns:1fr;gap:40px}.estimate-seal{display:none}.estimate-intro h2{font-size:47px}.estimate-intro>p{font-size:13px}.segments button{font-size:11px}.care-options label{font-size:12px}.care-options small{font-size:9px}.care-options b{font-size:11px}.total{flex-direction:row;align-items:center}.total output{font-size:34px}.total .button{width:auto;padding:0 16px;gap:15px;font-size:11px}.request{grid-template-columns:1fr;gap:30px}.request h2{font-size:44px}.request form{width:100%}footer{padding:32px 6% 23px}footer>span{order:3;width:100%;font-size:8px}.credits{order:4;font-size:8px;line-height:1.7}#load-state{font-size:8px;left:28%;top:52%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal{opacity:1!important;transform:none!important}}

.swatch:before{content:"";position:absolute;inset:-8px}.view-controls button{min-height:32px}

/* A single stable canvas: only the model moves during the introduction. */
#car-stage{inset:0;pointer-events:none}#load-state{left:50%;top:50%;transform:translate(-50%,-50%)}#load-state span{width:30px;height:30px}
.hero h1{margin-top:55px}.intro-pending header,.intro-pending .hero h1,.intro-pending .hero-description,.intro-pending .hero-bottom{opacity:0;visibility:hidden}
#skip-intro{position:absolute;right:4%;bottom:35px;padding:12px 18px;background:#191d17;color:#a9b29f;font-size:11px;pointer-events:auto;border:1px solid #ffffff20;z-index:8}#skip-intro[hidden]{display:none}
.menu-open .hero h1,.menu-open .hero-description{opacity:0;transition:opacity .3s}.menu-panel{width:48%}
@media(max-width:650px){#car-stage{inset:140px 0 125px}.hero h1{margin-top:40px}.menu-panel{width:100%}.hero-description .button{white-space:nowrap}.hero-description{gap:12px}.hero-description p{font-size:11px}.hero{height:820px;min-height:820px}#skip-intro{right:6%;bottom:0}}

/* Header and canvas keep their coordinate system when the menu opens. */
html{scrollbar-gutter:stable}header{position:fixed;background:#101111e8;backdrop-filter:blur(14px)}.menu-toggle{width:130px;justify-content:flex-end}.menu-open header{position:fixed}.hero{isolation:auto}#experience{position:relative}#car-stage{position:fixed;z-index:4;inset:0;contain:strict;transition:none}#car-stage.scene-hidden{visibility:hidden}.hero h1,.hero-description,.hero-bottom{transition:opacity .35s}.hero .hero-description,.hero .hero-bottom{z-index:6}
.drive{height:280svh;position:relative;background:#101111}.drive-viewport{position:sticky;top:0;height:100svh;overflow:hidden;background:radial-gradient(ellipse at 50% 55%,#252a22,transparent 57%)}.drive-chapters{position:absolute;inset:0;z-index:5;pointer-events:none}.drive-chapter{position:absolute;left:6%;top:23%;opacity:0;transform:translateY(22px);transition:opacity .5s,transform .7s}.drive-chapter.active{opacity:1;transform:translateY(0)}.drive-chapter h2{font-size:clamp(45px,5.3vw,84px);margin:24px 0}.drive-chapter p{font-size:13px;line-height:1.8;color:#a9b49e;max-width:255px}.drive-chapter:nth-child(2){left:auto;right:6%;text-align:right}.drive-chapter:nth-child(3){top:18%}.drive-bottom{position:absolute;bottom:5%;left:6%;right:6%;display:flex;align-items:center;gap:30px;font-size:8px;letter-spacing:1.5px;color:#8f9e80;z-index:5}.drive-progress{height:1px;background:#ffffff20;flex:1}.drive-progress i{display:block;height:1px;background:var(--acid);width:100%;transform:scaleX(var(--journey-progress,0));transform-origin:left}.drive-road{position:absolute;left:12%;right:12%;top:48%;height:65%;transform:perspective(500px) rotateX(60deg);transform-origin:top;opacity:.35;overflow:hidden}.drive-road>i{position:absolute;left:20%;width:1px;height:100%;background:linear-gradient(transparent,#e8bd4240,transparent)}.drive-road>i:nth-child(2){left:80%}.drive-road>span{position:absolute;left:50%;width:2px;top:-100%;height:200%;background:repeating-linear-gradient(to bottom,transparent 0 70px,#e8bd4260 70px 105px,transparent 105px 175px);transform:translateY(var(--road-offset,0px))}.drive-count{color:var(--acid)}
@media(max-width:650px){#car-stage{inset:140px 0 125px}.drive{height:260svh}.drive-chapter,.drive-chapter:nth-child(3){left:6%;top:15%}.drive-chapter:nth-child(2){left:6%;right:auto;text-align:left}.drive-chapter h2{font-size:44px;line-height:1.05;margin:18px 0}.drive-chapter h2 br{display:none}.drive-chapter h2 em{margin-left:8px}.drive-chapter p{font-size:11px;line-height:1.5}.drive-bottom{gap:16px}.drive-bottom>span:first-child{max-width:145px;font-size:7px;line-height:1.8}.drive-road{left:0;right:0}.drive-chapter{transform:translateY(12px)}header{backdrop-filter:none}}
@media(prefers-reduced-motion:reduce){.drive{height:110svh}.drive-chapter{transition:none}.drive-road{display:none}}

.drive-chapter{top:17%}.drive-chapter p{max-width:230px}.drive-chapter h2{font-size:clamp(42px,4.7vw,70px)}@media(max-width:650px){.drive-chapter,.drive-chapter:nth-child(3){top:14%}.drive-chapter h2{font-size:39px}}

/* Motion follows the content, with no tilt on text or cards. */
.heading-line{display:block;overflow:hidden;padding-bottom:.13em;margin-bottom:-.13em}.heading-inner{display:block;will-change:transform}.service-card{position:relative;transition:border-color .4s,background .4s,box-shadow .4s,transform .45s cubic-bezier(.2,.7,.2,1)}.service-card:hover{box-shadow:0 15px 35px #0003}.service-card .material:before{content:'';position:absolute;inset:0;z-index:3;pointer-events:none;background:radial-gradient(ellipse at var(--shine-x,50%) 30%,#ffe6a518,transparent 65%);opacity:0;transition:opacity .5s}.service-card:hover .material:before{opacity:1}.service-info h3 span{display:inline-block;transition:transform .4s}.service-card:hover .service-info h3 span{transform:translate(3px,-3px)}.button{overflow:hidden;position:relative}.button>span{transition:transform .35s cubic-bezier(.2,.7,.2,1)}.button:hover>span{transform:translate(4px,-4px)}.process article{position:relative;border-top:0}.process article:before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:#75663155;transform:scaleX(var(--line-scale,1));transform-origin:left}.care-options label{transition:background .25s,padding .35s}.care-options label:has(input:checked){background:#e8bd4206;padding-left:10px;padding-right:10px}.checkbox{transition:background .25s,border-color .25s}.checkbox:after{animation:check-in .3s ease-out}@keyframes check-in{from{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.request input,.request textarea{transition:background .3s,border-color .3s,box-shadow .3s}.request input:focus,.request textarea:focus{background:#21281c;box-shadow:0 0 0 3px #e8bd4210}.menu-panel nav a span{transition:transform .35s}.menu-panel nav a:hover span{transform:translate(4px,-4px)}.hero-bottom>.view-controls{gap:35px}.drive-chapter{transition:opacity .5s ease,transform .8s cubic-bezier(.2,.7,.2,1)}
@media(prefers-reduced-motion:reduce){.heading-inner{will-change:auto}.service-card:hover{transform:none}.button:hover>span{transform:none}}

/* One scroll clock; fixed canvas dimensions also on touch devices. */
html{scroll-behavior:auto}.hero h1,.hero-description,.hero-bottom{transition:none}.menu-open .hero h1,.menu-open .hero-description{transition:opacity .35s}.menu-panel{will-change:transform,opacity;overflow-y:auto;overscroll-behavior:contain;backdrop-filter:none;background:#171918}.menu-panel[hidden]{display:none}.drive-viewport{background:radial-gradient(ellipse at 50% 50%,#202323,transparent 63%)}.drive-chapter{top:30%}.drive-chapter:nth-child(3){top:30%}#car-stage{inset:0}.drive-road{display:none}
@media(max-width:650px){#car-stage{inset:0}.drive-chapter,.drive-chapter:nth-child(3){top:13%}.drive-chapter h2{font-size:34px}.drive-chapter p{font-size:11px;max-width:240px}.drive-chapter:nth-child(2){top:13%}.drive{height:300svh}}

.brand-wordmark{font-size:25px;line-height:.83;letter-spacing:-1.2px;font-weight:800}.brand-wordmark>span{color:var(--acid)}.service-info h3{font-size:23px}.segments{display:grid;grid-template-columns:repeat(2,1fr)}.total .price-from{font-size:20px;letter-spacing:-.5px;color:var(--muted)}.full-price{grid-column:1/-1;margin-top:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.full-price summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;padding:28px 0;font-size:20px}.full-price summary::-webkit-details-marker{display:none}.full-price summary span{color:var(--acid);font-size:26px;transition:transform .3s}.full-price[open] summary span{transform:rotate(45deg)}.price-scroll{overflow:auto}.full-price table{width:100%;min-width:680px;border-collapse:collapse;text-align:left;font-size:13px}.full-price caption{text-align:left;padding:10px 0 25px;color:var(--muted)}.full-price th,.full-price td{padding:20px 12px;border-bottom:1px solid var(--line);font-weight:400}.full-price thead{color:var(--acid)}.full-price dl{max-width:850px;margin:32px 0}.full-price dl>div{display:flex;gap:20px;justify-content:space-between;border-bottom:1px solid var(--line);padding:18px 0;font-size:13px}.full-price dd{margin:0;white-space:nowrap;color:var(--acid)}.founder{background:#141515;border-top:1px solid var(--line);overflow:hidden}.founder-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:10%;margin-top:55px;align-items:center}.founder-photos{position:relative;padding-bottom:90px}.founder figure{margin:0}.founder img{width:100%;height:100%;object-fit:cover;display:block}.founder-portrait{width:78%;aspect-ratio:4/5;position:relative}.founder-portrait img{object-position:50% 40%}.founder figcaption{font-size:11px;padding-top:15px;display:flex;justify-content:space-between;color:var(--muted)}.founder-portrait figcaption{color:var(--text)}.founder-work{position:absolute;right:0;bottom:0;width:46%;aspect-ratio:4/5;border:8px solid #141515;background:#141515}.founder-work figcaption{font-size:9px}.founder-story h2{margin:0 0 35px}.founder-lead{font-size:22px!important;color:var(--text)!important;line-height:1.4!important}.founder-story p{font-size:14px;line-height:1.85;color:#a6a6a0;max-width:430px}.founder-link{display:flex;justify-content:space-between;max-width:300px;padding:22px 0;border-bottom:1px solid var(--acid);margin-top:24px;font-size:13px}.founder-link span{color:var(--acid);transition:transform .3s}.founder-link:hover span{transform:translate(4px,-4px)}.demo-note a{text-decoration:underline;text-underline-offset:3px}.request>div>p a{display:inline-block;margin-top:14px;color:var(--text)}
@media(max-width:650px){.founder-layout{grid-template-columns:1fr;gap:55px;margin-top:35px}.founder-photos{max-width:420px;padding-bottom:80px}.founder-story h2{font-size:44px}.founder-story p{font-size:13px}.founder-lead{font-size:20px!important}.full-price summary{font-size:17px}.full-price dl>div{font-size:11px}.full-price dd{white-space:normal;text-align:right;min-width:90px}.service-info h3{font-size:18px}.brand-wordmark{font-size:21px}.menu-panel nav a{font-size:25px;padding:18px 0}.menu-label{margin-bottom:18px}.menu-panel{padding-top:25px}.total output{font-size:29px}.total .price-from{font-size:15px}}

.founder-portrait{overflow:hidden}.founder-portrait img{position:absolute;bottom:0;height:140%;object-position:center bottom}.founder-portrait figcaption{position:absolute;bottom:0;left:0;right:0;padding:45px 18px 18px;background:linear-gradient(transparent,#101111c9);color:white}.founder-portrait figcaption span{color:#d2d2c8}.founder-work img{object-fit:contain;background:#101111}.founder-work{aspect-ratio:3/4}.founder-work figcaption{background:#141515;padding:12px 2px 0}

.drive-viewport{z-index:5;background:none}.founder-portrait img{height:160%}

.founder-portrait img{position:static;height:100%;object-position:center center}.founder-portrait{aspect-ratio:3/4}.drive{height:230svh}.drive-chapter{top:24%;max-width:350px}.drive-chapter:nth-child(3){top:24%}.drive-chapter h2{font-size:clamp(34px,3.2vw,49px);line-height:1.1}.drive-chapter p{font-size:14px;max-width:320px;line-height:1.75}.drive-facts{margin-top:26px;display:grid;gap:13px}.drive-facts>span{display:flex;gap:16px;justify-content:space-between;border-top:1px solid var(--line);padding-top:13px;font-size:11px}.drive-facts b{font-weight:500;color:var(--acid);white-space:nowrap}.drive-chapter:nth-child(2){text-align:left}.review-heading{display:flex;align-items:center;justify-content:space-between;gap:35px}.review-rating{display:grid;gap:12px}.review-rating strong{font-size:78px;font-weight:400;letter-spacing:-5px}.review-rating strong span{font-size:23px;color:var(--muted);letter-spacing:-1px;margin-left:12px}.review-rating>span{font-size:13px;color:var(--acid)}.review-rating small{font-size:9px;color:var(--muted)}.review-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:35px}.review-grid article{background:#191a19;padding:28px 30px 25px}.review-quote{font-size:50px;color:var(--acid);line-height:1}.review-grid blockquote{font-size:22px;line-height:1.5;margin:8px 0 32px;max-width:480px;min-height:100px}.review-grid article>div{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:22px;font-size:12px}.review-grid b{font-weight:400}.review-grid a{color:var(--muted)}#request-result a{color:var(--acid)}
@media(max-width:650px){.drive{height:250svh}.drive-chapter,.drive-chapter:nth-child(2),.drive-chapter:nth-child(3){top:12%;left:6%;right:6%;max-width:none}.drive-chapter h2{font-size:32px;margin:16px 0}.drive-chapter p{font-size:12px;line-height:1.6;max-width:100%}.drive-facts{margin-top:14px;gap:8px}.drive-facts>span{font-size:10px;padding-top:8px}.drive-bottom{bottom:3%}.review-heading{align-items:flex-start;flex-direction:column;gap:12px}.review-rating{grid-template-columns:auto auto;column-gap:25px;align-items:center}.review-rating strong{grid-row:span 2;font-size:58px}.review-rating small{grid-column:2}.review-grid{grid-template-columns:1fr;gap:14px}.review-grid blockquote{font-size:19px;min-height:0}.review-grid article{padding:25px}.founder-photos{padding-bottom:55px}.founder-work{width:39%}}

@media(prefers-reduced-motion:reduce){.drive{height:110svh}}

/* A single stage: hero → light studio → navigation parking. */
.hero{height:100svh;min-height:760px;max-height:none}.hero h1{position:absolute;left:4%;top:22%;margin:0;font-size:clamp(64px,7.1vw,112px);max-width:58%;z-index:3}.hero-description{bottom:18%;z-index:6}.hero-bottom{z-index:6}.menu-panel{width:44%;background:#171918;top:100px;z-index:30}.menu-open #car-stage{z-index:25!important;visibility:visible!important}.menu-open .hero h1,.menu-open .hero-description,.menu-open .hero-bottom,.menu-open .drive-viewport{opacity:0;pointer-events:none}.hero h1,.hero-description,.hero-bottom,.drive-viewport{transition:opacity .4s}.intro-pending header{opacity:1;visibility:visible}.drive{height:290svh;background:#101111}.drive-viewport{background:none;z-index:5}.studio-caption{position:absolute;left:4%;top:15%;font-size:9px;letter-spacing:2px;color:#92958b;display:flex;align-items:center;gap:10px}.studio-live{width:5px;height:5px;border-radius:50%;background:var(--acid);box-shadow:0 0 12px #e8bd4255}.studio-index{position:absolute;right:5%;top:7%;font-size:clamp(140px,24vw,360px);letter-spacing:-.08em;line-height:1;color:transparent;-webkit-text-stroke:1px #e8bd4212;pointer-events:none}.drive-chapter,.drive-chapter:nth-child(2),.drive-chapter:nth-child(3){left:4%;right:auto;top:28%;width:30%;max-width:405px;text-align:left;transform:translateY(24px);transition:opacity .45s,transform .65s}.drive-chapter.active{transform:translateY(0)}.drive-chapter h2{font-size:clamp(33px,3.65vw,57px);line-height:1.08;margin:24px 0}.drive-chapter p{font-size:14px;max-width:350px;color:#a4a69d}.drive-chapter:not(.active){visibility:hidden;pointer-events:none}.drive-chapter.active{visibility:visible;pointer-events:auto}.drive-chapters{pointer-events:none}.studio-cta{display:inline-flex;gap:45px;border-bottom:1px solid var(--acid);padding:16px 0;color:var(--acid);font-size:12px;margin-top:18px}.studio-steps{position:absolute;bottom:13%;left:4%;right:4%;display:flex;gap:36px}.studio-step{display:flex;align-items:center;gap:12px;font-size:10px;color:#55584f;transition:color .3s}.studio-step b{font-size:12px;font-weight:400}.studio-step.active{color:var(--acid)}.drive-bottom{left:4%;right:4%;bottom:5%}.drive-bottom>span:first-child{font-size:8px}.hero h1 span{display:block}
@media(max-width:650px){.hero{height:100svh;min-height:780px}.hero h1{left:6%;top:16%;font-size:12.9vw;max-width:90%;line-height:1.05}.hero-description{bottom:17%;left:6%;right:6%}.hero-bottom{height:105px}.menu-panel{top:77px;width:100%;padding:26px 6% 180px;background:linear-gradient(#171918 65%,#171918e8 80%,transparent);z-index:30}.menu-panel nav a{font-size:27px;padding:15px 0}.menu-panel>p{margin-top:20px}.menu-open #car-stage{z-index:29!important}.drive{height:310svh}.studio-caption{left:6%;top:12%;font-size:7px;letter-spacing:1.4px}.studio-index{font-size:140px;right:6%;top:43%}.drive-chapter,.drive-chapter:nth-child(2),.drive-chapter:nth-child(3){left:6%;right:6%;top:17%;width:auto;max-width:none}.drive-chapter h2{font-size:32px;margin:14px 0}.drive-chapter h2 br{display:none}.drive-chapter h2 em{margin-left:0}.drive-chapter p{font-size:11px;line-height:1.65;max-width:100%}.drive-facts{margin-top:12px}.studio-cta{padding:8px 0;margin-top:5px;font-size:10px}.studio-steps{left:6%;right:6%;bottom:9%;justify-content:space-between;gap:8px}.studio-step{gap:6px;font-size:8px}.studio-step b{font-size:9px}.drive-bottom{left:6%;right:6%;bottom:4%}.drive-bottom>span:first-child{font-size:6px;max-width:135px}.drive-bottom{gap:10px}}
@media(prefers-reduced-motion:reduce){.drive{height:auto;padding:110px 6% 60px}.drive-viewport{height:auto;overflow:visible;position:relative}.drive-chapters{position:relative;display:grid;gap:40px}.drive-chapter,.drive-chapter:nth-child(2),.drive-chapter:nth-child(3){position:static;width:100%;max-width:600px;opacity:1;visibility:visible;transform:none}.studio-caption,.studio-index,.studio-steps,.drive-bottom{display:none}.drive-chapter p{max-width:100%}}

#car-stage.scene-nav{visibility:visible!important;z-index:25!important}

@media(max-width:650px){.drive-chapter h2 em:before{content:' ';white-space:pre}.menu-panel{background:linear-gradient(#171918 0%,#171918 58%,#17191800 73%)}.menu-open #car-stage.scene-nav{z-index:29!important}}
@media(max-width:650px){.drive-chapter h2{font-size:30px;text-wrap:initial}.drive-chapter h2 br{display:block}.drive-chapter h2 em{display:inline;margin-left:0}.drive-chapter h2 em:before{content:none}}

/* Quiet typography; keep labels only where they describe actual input. */
.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-info h3{margin-top:0}.service-info>div{justify-content:flex-start}.menu-panel nav a{padding-left:0}.calculator legend{display:block}.drive-chapter h2{margin-top:0}.credits{width:100%;font-size:11px;color:#a5a79f}.credits summary{cursor:pointer;width:max-content}.credits p{margin:12px 0 0}.credits a{color:#c9cbc2}
#approach{position:relative;isolation:isolate;overflow:hidden;background:#171918;padding:120px 4%;display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;--approach-progress:0}#approach h2{position:relative;z-index:1;font-size:clamp(48px,6vw,92px);line-height:1.08;letter-spacing:-.055em;margin:0;color:#f4f4ec;text-wrap:initial}#approach h2>span,#approach h2>em{display:block}#approach h2 em{color:#e8bd42;font-style:normal}.approach-light{position:absolute;inset:-50% 0;width:70%;height:200%;z-index:0;pointer-events:none;background:linear-gradient(105deg,transparent 35%,#e8bd4209 48%,#e8bd4220 50%,#e8bd4209 52%,transparent 65%)}#approach .process{position:relative;z-index:1;display:grid;grid-template-columns:1fr;gap:0;margin:0;padding-left:36px;border-left:1px solid #ffffff24}#approach .process:before{content:'';position:absolute;top:0;bottom:0;left:-1px;width:2px;background:#e8bd42;transform:scaleY(var(--approach-progress));transform-origin:top}#approach .process article{padding:25px 0;border-bottom:1px solid #ffffff24;background:none}#approach .process article:first-child{padding-top:0}#approach .process article:last-child{border-bottom:0;padding-bottom:0}#approach .process article:before{display:none}#approach .process h3{font-size:27px;line-height:1.25;color:#f4f4ec;margin:0 0 14px;font-weight:400}#approach .process p{font-size:15px;line-height:1.8;color:#c7cbc3;max-width:460px;margin:0}
@media(max-width:650px){.service-grid{grid-template-columns:1fr}#approach{padding:76px 6%;grid-template-columns:1fr;gap:45px}#approach h2{font-size:clamp(40px,11.5vw,64px)}#approach .process{padding-left:24px}#approach .process h3{font-size:24px}#approach .process p{font-size:14px}#approach .process article{padding:24px 0}.credits{order:4}.drive-chapter h2{margin-top:0}}
@media(prefers-reduced-motion:reduce){.approach-light{display:none}#approach .process:before{transform:scaleY(1)}}
.service-info>div>span:last-child{font-size:14px;color:#e8bd42}
@media(max-width:650px){.service-info>div>span:last-child{font-size:12px}}

/* Continuous backdrop and explicit content lanes across the whole scene. */
.hero,.drive,.drive-viewport{background:none}
#experience{background:#101111}
#car-stage:before{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 68% 53%,#292d2d88,transparent 65%);z-index:-1}
#car-stage:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,transparent 30%,#f7ebcf09 44%,#f7ebcf16 45%,#f7ebcf06 47%,transparent 59%);opacity:var(--beam-opacity,0);transform:translateX(calc((var(--beam-progress,0) - .5)*35%));z-index:-1}
.hero h1{font-size:clamp(52px,5.2vw,92px);max-width:42%;width:max-content;top:30%}
.drive-chapter,.drive-chapter:nth-child(2),.drive-chapter:nth-child(3){width:31%;max-width:440px}
.drive-chapters{transition:opacity .25s}
.service-grid{perspective:1200px}.review-grid{perspective:1200px}
.service-card .material:after{background:linear-gradient(115deg,transparent 20%,#ffffff00 38%,#ffffff26 48%,transparent 60%);transform:translateX(-130%);transition:transform 1s cubic-bezier(.2,.7,.2,1)}
.service-card:hover .material:after{transform:translateX(130%)}
@media(max-width:1000px){
 .hero{min-height:760px}.hero h1{left:6%;top:17%;font-size:clamp(44px,10vw,85px);max-width:90%;width:max-content;line-height:1.04}
 .drive-chapter,.drive-chapter:nth-child(2),.drive-chapter:nth-child(3){left:6%;right:6%;top:max(110px,15%);width:auto;max-width:none}
 .drive-chapter h2{font-size:clamp(28px,4.5vw,40px);margin:0 0 14px}.drive-chapter p{max-width:620px;font-size:13px;line-height:1.65;margin:0}
 .drive-facts{margin-top:12px;max-width:620px}.studio-cta{margin-top:8px;padding:8px 0}
 .menu-panel{width:100%;padding-top:24px;background:linear-gradient(#171918 0%,#171918 55%,#17191800 85%)}
 .menu-panel nav a{font-size:24px;padding:13px 0}.menu-panel>p{margin-top:18px}
}
@media(max-width:450px){.drive-chapter p{font-size:12px}.drive-chapter h2{font-size:29px}.hero h1{font-size:12vw}}
@media(prefers-reduced-motion:reduce){#car-stage:after{display:none}.service-card .material:after{display:none}.drive-chapters{opacity:1!important}.drive-chapter,.drive-chapter:nth-child(2),.drive-chapter:nth-child(3){width:100%;max-width:none}.drive-viewport{height:auto}}



/* The ambient light changes intensity only, so its edges never travel across the viewport. */
#car-stage:after{transform:none;background:radial-gradient(ellipse at 70% 55%,#dfc99010,transparent 62%);mask-image:linear-gradient(transparent,#000 18%,#000 78%,transparent)}
.hero h1{font-family:'Unbounded',sans-serif;font-weight:650;font-size:clamp(44px,3.85vw,74px);line-height:1.18;letter-spacing:-.055em;text-transform:uppercase;width:max-content;max-width:none}
.hero h1 span{color:#e8bd42;margin-top:.08em}
@media(max-width:1000px){.hero h1{font-size:clamp(28px,5.85vw,57px);top:17%;left:6%}}
@media(max-width:450px){.hero h1{font-size:6.45vw;letter-spacing:-.045em;line-height:1.25}.hero h1 span{margin-top:.18em}}

/* A larger hero composition: headline above, car below, separate mobile lanes. */
.hero h1{top:max(122px,15%);font-size:clamp(62px,6.4vw,122px);line-height:1.05;letter-spacing:-.055em}
@media(max-width:1000px){.hero h1{top:max(115px,14%);font-size:7.7vw;left:6%;line-height:1.12}}
@media(max-width:450px){.hero h1{top:max(103px,14%);font-size:8vw;letter-spacing:-.055em;line-height:1.16}}

/* Real load progress, then a warmed-up scene. No spinner or moving layout targets. */
#car-stage{opacity:1}
#load-state{width:120px;height:2px;background:#ffffff16}
#load-state span{display:block;width:100%;height:100%;border:0;border-radius:0;background:var(--acid);animation:none;transform:scaleX(var(--load-progress,0));transform-origin:left}

/* Lighting-led premiere: fixed composition, masked display lettering, floor reflection. */
.hero h1 .intro-word{overflow:hidden;padding-bottom:.13em;margin-bottom:-.13em}
.hero h1 .intro-white{color:var(--text);margin-top:0}
.intro-word>i{display:block;font-style:normal;will-change:transform}
.intro-floor-light{position:absolute;height:2px;pointer-events:none;background:linear-gradient(90deg,transparent,#e8bd4290 25%,#fff5db 50%,#e8bd4290 75%,transparent);box-shadow:0 0 26px 6px #e8bd4225;transform-origin:center;opacity:0}
#car-stage:before{background:radial-gradient(ellipse at 65% 62%,#46443d66,transparent 65%);opacity:calc(.55 + var(--intro-bloom,0))}
@media(prefers-reduced-motion:reduce){.intro-floor-light{display:none}.intro-word>i{will-change:auto}}

.hero h1 .intro-word{padding-right:.08em;margin-right:-.08em}

/* Only show feedback for a genuinely waiting visitor. */
#load-state{opacity:0;transition:opacity .3s ease;pointer-events:none}
#load-state.loading-visible{opacity:1}
#load-state span{transition:transform .35s ease-out}
#load-state.loading-error{width:min(80vw,360px);height:auto;background:none;color:#eee}

#load-state{position:fixed;z-index:40;top:auto;bottom:24px;left:50%}

/* A self-contained navigation scene, above all page content. */
.menu-panel{position:fixed;inset:0;width:100%;height:100dvh;padding:155px 5% 65px 59%;background:#141616!important;z-index:40;overflow:hidden;transform:none;isolation:isolate}
.menu-panel nav,.menu-panel>p{position:relative;z-index:2}
.menu-panel nav a{font-size:clamp(25px,3vw,48px);line-height:1.12;padding:21px 0;border-bottom:1px solid #ffffff22;transition:color .25s}
.menu-panel nav a:hover{color:var(--acid)}
#menu-car{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}
header{z-index:50;background:#101111;backdrop-filter:none}
.menu-toggle{border:1px solid #ffffff32;border-radius:30px;padding:12px 18px;gap:18px;transition:border-color .25s,background .25s}
.menu-toggle:hover{border-color:var(--acid);background:#e8bd420b}
.menu-open #car-stage{z-index:3!important}
#car-stage:before{background:radial-gradient(ellipse at 64% 63%,#42494a3d,transparent 65%);opacity:1}
#car-stage:after{display:none}
@media(max-width:1000px){.menu-panel{padding:105px 6% 60px}.menu-panel nav a{font-size:clamp(23px,4vw,34px);padding:12px 0}.menu-panel>p{position:absolute;bottom:22px;left:6%;margin:0;font-size:11px}.menu-open #car-stage{z-index:3!important}}
/* A single horizontal filmstrip on a shared photographic backdrop. */
#reviews{position:relative;background:#1b201d;padding:0;margin:0;isolation:isolate}
.reviews-viewport{position:relative;height:calc(100svh - 100px);min-height:600px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;outline-offset:-4px}
.reviews-viewport::-webkit-scrollbar{display:none}
.reviews-pinned .reviews-viewport{position:sticky;top:100px;overflow:hidden}
.reviews-ambient{position:absolute;inset:0;background:linear-gradient(90deg,#111914df,#101514be),url('./assets/review-studio.jpg') center 48%/cover;pointer-events:none}
.reviews-track{position:relative;display:flex;align-items:center;gap:24px;width:max-content;height:calc(100% - 80px);padding:30px 5vw;will-change:transform}
.reviews-intro{flex:0 0 43vw;width:43vw;padding-right:4vw;scroll-snap-align:center}
.reviews-intro h2{font-size:clamp(36px,4.5vw,72px);line-height:1.02;letter-spacing:-.05em;margin:0 0 40px}.reviews-intro .review-rating{display:grid;width:max-content;gap:8px}.reviews-intro .review-rating strong{font-size:62px;line-height:1}.reviews-hint{font-size:12px;color:#d4d8d3;max-width:260px;margin:32px 0 0;line-height:1.6}.reviews-hint span{margin-left:8px;color:var(--acid)}
.review-scene{position:relative;flex:0 0 66vw;width:66vw;height:100%;max-height:760px;overflow:hidden;border-radius:18px;scroll-snap-align:center;background:#161a17;isolation:isolate}
.review-scene>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 52%}
.review-scene:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#0000 15%,#0002 36%,#080c0ed9 77%,#080c0ef5);z-index:0}
.review-scene-copy{position:absolute;z-index:1;bottom:45px;left:5%;right:5%;max-width:820px}
.review-kind{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:#dedfda}.review-scene-copy>p{font-size:clamp(24px,2.5vw,40px);line-height:1.14;letter-spacing:-.03em;margin:14px 0 27px;max-width:760px;text-wrap:pretty}
.review-person{display:flex;align-items:center;gap:18px;font-size:12px;flex-wrap:wrap}.review-person b{font-size:15px;font-weight:500}.review-person time{color:#c5cac6}.review-person a{margin-left:auto;color:var(--acid);padding:8px 0}
.review-photo-credit{position:absolute;top:22px;left:5%;font-size:10px;padding:7px 10px;border-radius:20px;background:#101512b3;color:#fff;z-index:1}
.reviews-navigation{position:absolute;bottom:0;left:0;right:0;height:80px;padding:0 5vw;display:flex;gap:16px;align-items:center;background:#131a15c9}.review-progress{width:140px;height:2px;background:#ffffff38;overflow:hidden}.review-progress i{display:block;height:100%;background:var(--acid);transform:scaleX(0);transform-origin:left}.review-position{font-size:11px;color:#d4d8d3}.reviews-navigation button{display:grid;place-items:center;width:46px;height:46px;border:1px solid #ffffff55;border-radius:50%;background:transparent;color:white;font-size:24px;cursor:pointer;transition:background .2s,color .2s}.reviews-navigation button:first-of-type{margin-left:auto}.reviews-navigation button:hover:not(:disabled){background:var(--acid);color:#141714}.reviews-navigation button:disabled{opacity:.3;cursor:default}.reviews-navigation button:focus-visible,.review-person a:focus-visible{outline:2px solid var(--acid);outline-offset:4px}
@media(max-width:900px){.reviews-viewport{height:760px;min-height:0;scroll-padding:6vw}.reviews-track{gap:16px;padding:26px 6vw 16px;height:calc(100% - 74px)}.reviews-intro{flex-basis:82vw;width:82vw;padding-right:15vw}.reviews-intro h2{font-size:48px}.review-scene{flex-basis:82vw;width:82vw;border-radius:12px}.review-scene-copy{bottom:28px;left:7%;right:7%}.review-scene-copy>p{font-size:27px;line-height:1.17;margin-bottom:24px}.review-person{display:grid;gap:9px}.review-person a{margin:2px 0 0}.review-photo-credit{left:7%;top:20px}.reviews-navigation{position:sticky;left:0;width:100vw;height:74px;padding:0 6vw}.review-progress{width:65px}.review-position{max-width:110px;line-height:1.3}.reviews-navigation button{width:42px;height:42px;flex-shrink:0}}
@media(prefers-reduced-motion:reduce){.reviews-track{will-change:auto}.reviews-navigation button{transition:none}}

/* The CTA and car occupy separate rows on narrow screens. */
@media(max-width:1000px){.hero-description{top:calc(max(115px,14%) + 17.25vw + 24px);bottom:auto;left:6%;right:6%;justify-content:flex-start}.hero-description .button{min-height:48px}.hero{min-height:820px}}
@media(max-width:450px){.hero-description{top:calc(max(103px,14%) + 19vw + 24px)}}
#load-state{position:fixed;inset:0;z-index:80;width:auto;height:auto;transform:none;display:grid;place-items:center;background:#101111;opacity:1;visibility:hidden;transition:none;clip-path:inset(0)}
#load-state.loading-visible{visibility:visible}
.loader-logo{position:relative;font-family:var(--font);font-size:clamp(64px,12vw,150px);font-weight:900;line-height:.82;letter-spacing:-.09em;padding-right:.12em}
.loader-logo b{display:block;color:#ffffff16}.loader-logo b+b{position:absolute;inset:0;color:#b7cbd3;clip-path:inset(calc((1 - var(--load-progress,0))*100%) 0 0);transition:clip-path .5s cubic-bezier(.2,.65,.2,1)}
#load-state.loading-error{inset:auto 6% 24px;width:auto;max-width:500px;height:auto;padding:20px;background:#171918;visibility:visible;clip-path:none;font-size:13px}
.reviews-ambient{inset:-8%;background:linear-gradient(100deg,#d6ccbded,#c7c5badb),url('./assets/review-bmw.jpg') center/cover;filter:saturate(.2);transform:translate3d(var(--ambient-x,0px),0,0) scale(1.05)}
.reviews-intro{color:#242724}.reviews-hint{color:#454a44}.reviews-hint span{color:#69552c}.review-scene>img{width:114%;max-width:none;left:-7%;transform:translate3d(var(--photo-x,0px),0,0);will-change:transform}
@media(prefers-reduced-motion:reduce){.loader-logo b+b{transition:none}.review-scene>img{transform:none;will-change:auto}.reviews-ambient{transform:none}}

.reviews-intro h2 em,.reviews-intro .review-rating>span,.reviews-intro .review-rating small{color:#655637}.reviews-intro .review-rating{color:#242724}

.hero-bottom>.scroll-link{margin-left:auto}

/* Dark review backdrop; no full-screen colour filter during scrolling. */
.reviews-ambient{background:linear-gradient(100deg,#101715eb,#111716de),url('./assets/review-bmw.jpg') center/cover;filter:none}
.reviews-intro,.reviews-intro .review-rating{color:#f3f3ec}.reviews-intro h2 em,.reviews-intro .review-rating>span{color:var(--acid)}.reviews-intro .review-rating small,.reviews-hint{color:#b4bcb7}.reviews-hint span{color:var(--acid)}

.service-grid{align-items:stretch}.service-card{transition:border-color .3s,background .3s,box-shadow .3s}

/* GSAP owns transforms; CSS handles colour and shadow only. */
.service-card{transition:border-color .3s,background .3s,box-shadow .3s}
.service-card:hover{transform:none}
#approach .process:before{display:none}
.process-progress{position:absolute;top:0;bottom:0;left:-1px;width:2px;background:var(--acid);transform-origin:top;pointer-events:none}
.approach-light{will-change:auto}
@media(prefers-reduced-motion:reduce){#approach .process:before{display:block;transform:scaleY(1)}.process-progress{display:none}}

#approach .process article:last-of-type{border-bottom:0;padding-bottom:0}

/* Keep review paint local; promote only photographs near the viewport. */
.review-scene{contain:layout paint}
.review-scene>img,.reviews-track{will-change:auto}
