@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700&family=Barlow:wght@400;500;600;700&display=swap');
:root{color-scheme:dark;--bg:#101110;--panel:#191b19;--line:#35372f;--gold:#d3b573;--orange:#ff792e;--text:#f4f1e9;--muted:#aaa99f}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--bg);color:var(--text);font-family:Barlow,Arial,sans-serif;font-size:16px;line-height:1.55}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a,input,textarea{outline-offset:5px}header{display:flex;align-items:center;justify-content:space-between;max-width:1440px;margin:auto;padding:20px 5%;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:10px;font-size:22px;font-weight:700;letter-spacing:2px}.brand img{width:50px;height:50px;border-radius:50%}.brand b{color:var(--gold)}nav{display:flex;gap:32px;align-items:center}nav a:hover,footer a:hover{color:var(--orange)}.nav-contact{border:1px solid var(--line);padding:10px 18px}.nav-contact span{color:var(--orange);margin-left:20px}.hero{position:relative;max-width:1440px;margin:auto;min-height:565px;display:grid;grid-template-columns:0.85fr 1.15fr;align-items:center;overflow:hidden;padding:55px 5%}.hero-copy{position:relative;z-index:1}.eyebrow{font-size:14px;letter-spacing:2.5px;font-weight:600;color:var(--gold);margin:0 0 20px}h1,h2,h3{font-family:'Barlow Condensed',Impact,sans-serif;line-height:1.02;margin:0;font-weight:600}h1{font-size:clamp(58px,6.4vw,94px);text-transform:uppercase;letter-spacing:-1px}h1 span,h2 span{color:var(--gold)}.hero-copy>p:not(.eyebrow){max-width:390px;color:var(--muted);margin:26px 0}.hero-art{width:115%;max-width:none;margin-left:-5%;display:block}.button{display:flex;justify-content:space-between;align-items:center;gap:26px;background:var(--orange);color:#17130f;border:0;padding:16px 22px;font-weight:700;cursor:pointer}.hero .button{width:fit-content}.button:hover:not(:disabled){background:#ff9557}.button:disabled{opacity:.45;cursor:not-allowed}.strip{border-block:1px solid var(--line);padding:21px 5%;display:flex;justify-content:space-around;gap:20px;color:var(--orange)}.strip b{margin-left:14px;color:var(--muted);font-size:14px;letter-spacing:1px;text-transform:uppercase}.section{max-width:1320px;margin:auto;padding:80px 4%}.section-title{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:36px}h2{font-size:clamp(38px,4vw,56px)}.section-title>p,.muted,.small{color:var(--muted)}.section-title>p{margin:0}.price-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:35px}fieldset{border:0;padding:0;margin:0;min-width:0}legend{font-size:20px;font-weight:600;margin-bottom:20px}legend span{font-size:14px;color:var(--gold);margin-right:14px}.base-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.option{display:flex;align-items:center;gap:12px;border:1px solid var(--line);background:var(--panel);padding:18px;cursor:pointer}.option:has(input:checked){border-color:var(--orange);background:#302219}.option input{accent-color:var(--orange);width:18px;height:18px;flex-shrink:0}.option-content{flex:1}.option strong{display:block}.option .money{color:var(--gold);font-weight:600}.option .tag{font-size:12px;color:var(--orange);display:block}.option del{font-size:13px;color:var(--muted);margin-right:6px}.extras{margin-top:35px}.extras .option{margin-bottom:8px;padding:16px}.extras .option strong{font-weight:500}.summary{background:#20221e;border-top:3px solid var(--gold);padding:27px;height:fit-content;position:sticky;top:20px}.summary h3{font-size:32px;margin-bottom:24px}.summary-line{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);font-size:14px}.summary-line span:last-child{white-space:nowrap}.total{margin-top:28px;display:flex;flex-direction:column;gap:3px}.total strong{font-family:'Barlow Condensed',Impact,sans-serif;font-size:52px;color:var(--gold)}.small{font-size:13px;line-height:1.6}.summary .button{margin-top:24px}.about{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:65px}.about p{color:var(--muted)}.about-items>div{border-top:1px solid var(--line);padding:14px 0;display:flex;gap:20px}.about-items b{min-width:100px;color:var(--gold)}.about-items span{color:var(--muted)}.contact{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:65px}.notice{border-left:3px solid var(--gold);background:#26251f;padding:14px 18px;font-size:14px;line-height:1.6}form label{display:block;font-size:14px;font-weight:600;margin-bottom:18px}input:not([type=radio]):not([type=checkbox]),textarea{width:100%;display:block;color:var(--text);border:1px solid #4c4d43;background:#1c1e1b;padding:12px;margin-top:7px;border-radius:0}footer{border-top:1px solid var(--line);padding:30px 5%;display:flex;align-items:center;justify-content:space-between;gap:20px;color:var(--muted)}.admin-wrap{max-width:1100px;margin:auto;padding:45px 5%}.admin-wrap h1{font-size:48px;margin-bottom:24px}.login-box{max-width:420px}.admin-card{padding:24px;border:1px solid var(--line);background:var(--panel);margin:18px 0}.admin-fields{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.admin-fields label{font-size:14px}.admin-card h2{font-size:30px;margin-bottom:20px}.admin-card .button{margin-top:20px}.error{color:#ffad89}.status{padding:15px 0;min-height:24px} [hidden]{display:none!important}@media(max-width:900px){.hero{grid-template-columns:1fr;min-height:auto;padding-top:40px}.hero-art{width:100%;margin:25px 0 0}.hero-copy>p:not(.eyebrow){max-width:560px}.price-layout{grid-template-columns:1fr}.summary{position:static}.about,.contact{gap:30px}.section{padding:55px 5%}nav{gap:16px}.admin-fields{grid-template-columns:1fr 1fr}}@media(max-width:580px){header{padding:15px 5%}.brand{font-size:17px;letter-spacing:1px}.brand img{width:38px;height:38px}nav a:not(.nav-contact){display:none}.nav-contact{font-size:14px;padding:8px}.nav-contact span{margin-left:4px}.strip{flex-wrap:wrap;justify-content:flex-start}.strip b{font-size:12px;margin-left:6px}.section-title{display:block}.section-title>p{margin-top:20px}.base-grid,.about,.contact,.admin-fields{grid-template-columns:1fr}.hero-art{margin-top:30px}h1{font-size:62px}.option{padding:15px}footer{flex-wrap:wrap;font-size:14px}.about-items>div{flex-direction:column;gap:4px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Softer performance theme */
:root{--bg:#0c0d0e;--panel:#191b1e;--line:#333438;--gold:#e1bb72;--orange:#ff7b32}
body{background:radial-gradient(ellipse at 85% 2%,#34221866,transparent 40%),var(--bg)}
header{position:relative;z-index:3;margin:16px auto 0;width:94%;border:1px solid #ffffff13;border-radius:24px;background:#151619d9;box-shadow:0 12px 50px #0003;padding:14px 3%}
.nav-contact{border-radius:100px;background:#ffffff06}.brand img{box-shadow:0 0 25px #d6a34b20}
.hero{isolation:isolate;min-height:610px}.hero-copy{z-index:2}.hero-copy h1{text-shadow:0 8px 40px #0008}.hero-copy>p:not(.eyebrow){color:#ccc7bc}.hero-art{position:relative;z-index:1;mix-blend-mode:screen;filter:drop-shadow(0 15px 35px #d4931f14)}
.atmosphere{position:absolute;z-index:-1;inset:0;overflow:hidden;pointer-events:none;opacity:.65;mask-image:linear-gradient(transparent,#000 12%,#000 82%,transparent)}
.atmosphere::before,.atmosphere::after{content:"";position:absolute;inset:-8%;background:url('assets/grip-banner.png') center/cover no-repeat;mix-blend-mode:screen;will-change:transform;animation:smoke-drift 22s ease-in-out infinite alternate}
.atmosphere::after{opacity:.3;animation:smoke-drift-secondary 29s ease-in-out infinite alternate;background-position:right bottom}
.motion-toggle{position:absolute;z-index:3;bottom:18px;right:5%;border:1px solid #ffffff24;border-radius:99px;background:#17191bd9;color:#bfb9ac;padding:8px 14px;font-size:12px;cursor:pointer}
.button{border-radius:100px;background:linear-gradient(115deg,#ffad5f,#ff772c 70%);box-shadow:0 7px 28px #ff762927, inset 0 1px 0 #ffffff50;transition:transform .2s,box-shadow .2s}
.button:hover:not(:disabled){background:linear-gradient(115deg,#ffbd7c,#ff883f);transform:translateY(-2px);box-shadow:0 10px 34px #ff762945}
.strip{max-width:1180px;margin:10px auto 0;border:1px solid #ffffff12;border-radius:22px;background:linear-gradient(110deg,#24211a99,#17191c);box-shadow:0 15px 45px #0002}
.option{border-radius:18px;border-color:#ffffff16;background:linear-gradient(135deg,#242528,#17191c);transition:transform .18s,border-color .18s,box-shadow .18s}
.option:hover{transform:translateY(-2px);border-color:#d3b57388;box-shadow:0 9px 25px #0003}
.option:has(input:checked){background:linear-gradient(125deg,#443022,#251e19);border-color:#f59b52;box-shadow:0 0 0 1px #f59b5215,0 8px 28px #ef8b2512}
.summary{border:1px solid #cfac6666;border-radius:26px;background:linear-gradient(155deg,#302b21,#1b1d20 65%);box-shadow:0 20px 65px #0005;overflow:hidden}.summary::before{content:"";display:block;position:absolute;top:0;left:20%;right:20%;height:2px;background:linear-gradient(90deg,transparent,#ffd287,transparent)}
.total strong{text-shadow:0 0 32px #ddb76e22}.notice{border-radius:12px}.about-items>div{padding:18px 0}.contact form{padding:26px;border:1px solid #ffffff13;border-radius:26px;background:#17191baa}
input:not([type=radio]):not([type=checkbox]),textarea{border-radius:12px;background:#101214;border-color:#ffffff25}.admin-card{border-radius:22px}.admin-card .button{width:fit-content}
@keyframes smoke-drift{from{transform:translate3d(-2%,2%,0) scale(1.03)}to{transform:translate3d(3%,-2%,0) scale(1.12)}}
@keyframes smoke-drift-secondary{from{transform:translate3d(3%,3%,0) scale(1.13)}to{transform:translate3d(-4%,-1%,0) scale(1.04)}}
.motion-paused .atmosphere::before,.motion-paused .atmosphere::after{animation-play-state:paused}
@media(max-width:900px){.hero{min-height:initial;padding-bottom:60px}.strip{margin-inline:5%}.atmosphere{opacity:.4}.hero-art{margin-top:30px}.hero{padding-top:50px}}
@media(max-width:580px){header{border-radius:18px}.hero{padding-top:38px}.strip{border-radius:18px;padding:18px}.contact form{padding:20px}.summary{border-radius:22px}.option{border-radius:16px}}
@media(prefers-reduced-motion:reduce){.atmosphere::before,.atmosphere::after{animation:none!important}.button,.option{transition:none}.button:hover:not(:disabled),.option:hover{transform:none}.motion-toggle{display:none}}

.atmosphere::before,.atmosphere::after{background-image:url('assets/tire-smoke.png')}.atmosphere{opacity:.85}.atmosphere::after{opacity:.38}@media(max-width:580px){.atmosphere{opacity:.55}}

/* Compact grouped calculator */
.addon-tools{margin:22px 0 20px}.addon-tools>label{font-size:14px;color:var(--gold);font-weight:600}.search-wrap{position:relative}.search-wrap input{padding-right:85px!important;border-radius:16px!important;background:#1c1e22!important}.search-wrap button{position:absolute;right:12px;top:50%;transform:translateY(-50%);border:0;border-radius:99px;background:#34302b;color:#efc48a;padding:5px 12px;cursor:pointer;font-size:14px}.addon-tools .small{margin:8px 0}
.addon-group{border:1px solid #ffffff17;border-radius:20px;background:linear-gradient(125deg,#222428,#15171a);margin-bottom:12px;overflow:hidden}.addon-group[open]{border-color:#d3b57355}.addon-group>summary{display:flex;align-items:center;gap:14px;list-style:none;cursor:pointer;padding:22px;min-height:92px}.addon-group>summary::-webkit-details-marker{display:none}.addon-group>summary:hover{background:#ffffff04}.group-heading{flex:1;min-width:0}.group-heading strong{display:block;font-size:18px;font-weight:600}.group-heading>span{display:block;color:var(--muted);font-size:14px;margin-top:3px}.group-count{font-size:12px;color:#bbb5a8;white-space:nowrap;border:1px solid #ffffff15;padding:5px 10px;border-radius:99px}.has-selection{color:#ffbc80;background:#ef88231a;border-color:#ef882340}.group-chevron{font-size:26px;color:var(--gold);line-height:1;transition:transform .2s}.addon-group[open] .group-chevron{transform:rotate(45deg)}.group-options{padding:0 12px 8px}.group-options .option{background:#0e101255;border-radius:12px;border-color:#ffffff09}.group-options .option:last-child{margin-bottom:4px}.group-options .option:hover{transform:none}.summary-line{align-items:center}.summary-line>span:first-child{flex:1}.summary-line>span:nth-child(2){white-space:nowrap}.remove-choice{flex-shrink:0;border:1px solid #ffffff15;border-radius:50%;background:#ffffff06;color:#d3cbbd;cursor:pointer;width:28px;height:28px;font-size:20px;line-height:1}.remove-choice:hover{background:#763b22;color:#fff}.mobile-total{display:none}
@media(max-width:900px){.mobile-total{display:flex;position:fixed;bottom:14px;left:5%;right:5%;z-index:8;align-items:center;gap:20px;border:1px solid #b7864966;border-radius:20px;background:#242018f5;padding:14px 20px;box-shadow:0 10px 50px #000b;backdrop-filter:blur(14px)}.mobile-total>span:first-child{flex:1;font-size:14px}.mobile-total b{display:block;color:var(--muted);font-size:12px;font-weight:400}.mobile-total strong{font-size:24px;color:var(--gold)}footer{padding-bottom:115px}.addon-group>summary{padding:18px;gap:10px}.group-heading strong{font-size:16px}.group-heading>span{font-size:13px}.group-count{font-size:12px;padding:4px 8px}}
@media(prefers-reduced-motion:reduce){.group-chevron{transition:none}}

/* Only the smoke layer moves; road and vehicle stay anchored. */
.atmosphere::before{animation:none!important;transform:none;will-change:auto;opacity:.75}
.atmosphere::after{background-image:none;opacity:0;animation:smoke-drift-secondary 25s ease-in-out infinite alternate;will-change:transform}
.hero-art{transform:none;animation:none}

.brand-shield{display:block;width:42px;height:50px;flex-shrink:0;background-image:url('assets/grip-banner.png');background-repeat:no-repeat;background-size:265px auto;background-position:50% 49%;border-radius:0;mix-blend-mode:screen}
@media(max-width:580px){.brand-shield{width:32px;height:42px;background-size:230px auto}}

.vehicle-picker{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0 30px}.vehicle-tab{border:1px solid #ffffff1c;border-radius:999px;background:#191b1f;color:#c8c3b8;padding:10px 16px;cursor:pointer}.vehicle-tab.active,.vehicle-tab:hover{background:#3a2b20;border-color:#ef9854;color:#fff}.vehicle-tab.active{box-shadow:0 0 0 1px #ef985430}@media(max-width:580px){.vehicle-picker{gap:7px}.vehicle-tab{font-size:13px;padding:9px 12px}}

/* Final layered hero: fixed photograph, smoke-only motion. */
.hero{display:flex;align-items:center;min-height:660px;padding:65px 5%;background:#08090a}
.hero-copy{width:47%;position:relative;z-index:2}.hero-copy>p:not(.eyebrow){max-width:380px;text-shadow:0 2px 16px #000}
.atmosphere{z-index:0;inset:0;opacity:1;mask-image:none}
.atmosphere::before{inset:0;background-image:url('assets/drift-car.png');background-size:cover;background-position:center bottom;opacity:1;mix-blend-mode:normal;transform:none;animation:none!important}
.atmosphere::after{inset:auto -3% -7% auto;width:71%;height:53%;background-image:url('assets/smoke-only.png');background-size:100% 100%;background-position:right bottom;opacity:.30;mix-blend-mode:screen;mask-image:linear-gradient(to bottom,transparent,#000 22%,#000 72%,transparent);animation:burnout-smoke 18s ease-in-out infinite alternate;transform-origin:right bottom}
@keyframes burnout-smoke{0%{transform:translate3d(-3%,3%,0) scale(.96);opacity:.18}50%{opacity:.32}100%{transform:translate3d(2%,-8%,0) scale(1.10);opacity:.25}}
.motion-paused .atmosphere::after{animation-play-state:paused}
.motion-toggle{background:#181b20d9;color:#d2cbbc;bottom:15px;right:5%}
.brand-shield{background-position:50% 49%}
.admin-vehicle-label{display:block;color:var(--gold);margin:28px 0 8px}select{font:inherit;color:var(--text);border:1px solid #c6a36a55;background:#222428;padding:12px 16px;border-radius:12px;width:100%;max-width:440px}
@media(max-width:900px){.hero{min-height:820px;align-items:flex-start;padding-top:45px}.hero-copy{width:85%}.atmosphere::before{background-size:auto 490px;background-repeat:no-repeat;background-position:right bottom}.atmosphere::after{width:90%;height:35%;bottom:-3%;opacity:.3}.hero h1{font-size:72px}}
@media(max-width:580px){.hero{min-height:770px;padding-top:40px}.hero-copy{width:100%}.hero h1{font-size:58px}.hero-copy>p:not(.eyebrow){max-width:330px}.atmosphere::before{background-size:auto 355px;background-position:79% bottom}.atmosphere::after{width:110%;height:29%;bottom:0}.hero .button{padding:14px 20px}.motion-toggle{bottom:12px;font-size:12px}}
@media(prefers-reduced-motion:reduce){.atmosphere::after{animation:none!important;transform:none;opacity:.24}.motion-toggle{display:none}}

.service-description{display:block;color:#b4b1a8;font-size:14px;font-weight:400;line-height:1.5;margin-top:6px}.option-content{min-width:0}.option .money{flex-shrink:0;white-space:nowrap;font-size:15px}.group-options .option{align-items:flex-start}.group-options input{margin-top:5px}.group-options .money{padding-top:2px}.base-grid .option{align-items:flex-start;position:relative;flex-wrap:wrap}.base-grid .option .money{margin-left:30px}.base-grid .option-content{flex-basis:calc(100% - 34px)}

/* Consistent radio, title and price placement, including narrow cards. */
.base-grid .option{display:grid;grid-template-columns:18px minmax(0,1fr);gap:8px 12px;align-content:start}.base-grid .option input{margin:4px 0 0}.base-grid .option .money{grid-column:2;margin:0}.base-grid .option-content{min-width:0}

/* Short base choices; full selected description is shown below the grid. */
.base-grid .option{padding:14px 16px;gap:3px 10px;border-radius:18px;min-height:80px;align-content:center}.base-grid .option .money{font-size:14px}.base-grid{gap:10px}#base-description{margin:12px 3px 0;min-height:42px;max-width:640px}

/* A single image coordinate system anchors effects to wheels and exhaust. */
.atmosphere::before,.atmosphere::after{display:none!important;animation:none!important}
.drift-scene{position:absolute;width:max(100%,700px);aspect-ratio:3/2;right:0;bottom:-20%;background:url('assets/drift-bmw.png') center/100% 100% no-repeat}
.wheel-smoke{position:absolute;width:26%;height:28%;left:66%;top:67%;pointer-events:none;mix-blend-mode:screen}
.wheel-smoke.far{left:87%;top:66%;width:18%;height:22%;opacity:.55}
.wheel-smoke i{position:absolute;inset:0;background:url('assets/smoke-only.png') center/cover;mask-image:radial-gradient(ellipse,#000 25%,transparent 70%);transform-origin:left bottom;animation:tire-plume 5s linear infinite;opacity:0}
.wheel-smoke i:nth-child(2){animation-delay:-1.7s}.wheel-smoke i:nth-child(3){animation-delay:-3.4s}
@keyframes tire-plume{0%{transform:translate(-8%,-100%) scale(.15);opacity:0}15%{opacity:.62}65%{opacity:.42}100%{transform:translate(45%,-135%) scale(1.6);opacity:0}}
.exhaust-flame{position:absolute;left:81.5%;top:62.5%;width:10%;height:5%;background:url('assets/exhaust-flame.svg') left center/100% 100% no-repeat;transform-origin:left center;filter:drop-shadow(0 0 8px #ff6c22);opacity:0;animation:exhaust-pop 8.7s linear infinite}
.exhaust-flame.right{left:95.3%;top:62%;width:7%;animation-delay:.08s}
@keyframes exhaust-pop{0%,69%,72%,100%{opacity:0;transform:scaleX(.2)}70%{opacity:1;transform:scaleX(1)}71%{opacity:.6;transform:scaleX(.65)}}
.motion-paused .wheel-smoke i,.motion-paused .exhaust-flame{animation-play-state:paused}.motion-paused .exhaust-flame{visibility:hidden}
@media(max-width:900px){.drift-scene{bottom:-75px;right:-10px}}
@media(max-width:580px){.drift-scene{bottom:-60px;right:-10px}}
@media(prefers-reduced-motion:reduce){.wheel-smoke i,.exhaust-flame{animation:none!important;opacity:0}}

/* Exhaust anchors calibrated against final BMW image. */
.exhaust-flame.left{left:84.3%;top:59.8%}.exhaust-flame.right{left:94%;top:59.2%}


.brand-shield{background-size:230px auto;background-position:50% 17%}@media(max-width:580px){.brand-shield{background-size:195px auto;background-position:50% 17%}}
.wheel-smoke::before{content:"";position:absolute;left:-8%;top:-18%;width:30%;height:30%;background:radial-gradient(ellipse,#d8d9d980,transparent 70%);filter:blur(4px);animation:contact-smoke 2.7s ease-in-out infinite alternate}
@keyframes contact-smoke{from{transform:scale(.8);opacity:.4}to{transform:translate(8%,-12%) scale(1.2);opacity:.8}}
.motion-paused .wheel-smoke::before{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.wheel-smoke::before{animation:none;opacity:0}}

/* Rotating rim/tread overlays stay inside the photographed wheels. */
.wheel-spin{position:absolute;left:66.55%;top:59%;width:7.9%;aspect-ratio:1;transform:translate(-50%,-50%) scaleX(.56);border-radius:50%;overflow:hidden;opacity:.65;mask-image:radial-gradient(circle,transparent 8%,#000 15%,#000 58%,transparent 70%)}
.wheel-spin i{position:absolute;inset:0;border-radius:50%;background:repeating-conic-gradient(from 0deg,#85807799 0deg, #35342f88 8deg,#080909cc 15deg,#171713aa 29deg,#b5a48788 32deg);animation:rim-spin .42s linear infinite;filter:blur(1.3px)}
.wheel-spin.front{left:45.55%;top:59.8%;width:7%;transform:translate(-50%,-50%) scaleX(.34) rotate(-9deg);opacity:.25}.wheel-spin.front i{animation-duration:.55s;background:repeating-conic-gradient(#090909aa 0deg,#77736c77 9deg,#0a0a0aaa 18deg)}
@keyframes rim-spin{to{transform:rotate(360deg)}}
.wheel-smoke{width:32%;height:34%}.wheel-smoke.far{width:25%;height:30%;opacity:.8}
.wheel-smoke i{animation-duration:6s;filter:contrast(1.15) brightness(1.4)}
.wheel-smoke i:nth-child(2){animation-delay:-1.2s}.wheel-smoke i:nth-child(3){animation-delay:-2.4s}.wheel-smoke i:nth-child(4){animation-delay:-3.6s}.wheel-smoke i:nth-child(5){animation-delay:-4.8s}
@keyframes tire-plume{0%{transform:translate(-12%,-100%) scale(.18);opacity:0}12%{opacity:.85}45%{opacity:.75}75%{opacity:.5}100%{transform:translate(30%,-125%) scale(1.5);opacity:0}}
.exhaust-flame,.exhaust-reflection{background-image:url('assets/exhaust-fire.png');mix-blend-mode:screen;animation:exhaust-burst 8.7s linear infinite;opacity:0}
.exhaust-flame{height:5.6%;filter:drop-shadow(0 0 6px #ff882577);width:10%;background-size:100% 100%}.exhaust-flame.left{left:83.8%;top:59.5%}.exhaust-flame.right{left:93.6%;top:58.9%;width:7%;animation-delay:.08s}
.exhaust-reflection{position:absolute;left:83.8%;top:68%;width:13%;height:7%;background-size:100% 100%;background-repeat:no-repeat;transform:scaleY(-1) skewX(-24deg);filter:blur(3px) brightness(.65);mask-image:linear-gradient(transparent,#0008 20%,#000 48%,transparent);animation-name:reflected-burst;transform-origin:left center}
.exhaust-reflection.right{left:93.6%;top:67.4%;width:9%;animation-delay:.08s}
@keyframes exhaust-burst{0%,68.8%,73%,100%{opacity:0;transform:scaleX(.15)}69.4%{opacity:.85;transform:scaleX(.65)}70%{opacity:1;transform:scaleX(1)}70.5%{opacity:.55;transform:scaleX(.72)}71.1%{opacity:.95;transform:scaleX(.9)}72%{opacity:.35;transform:scaleX(.5)}}
@keyframes reflected-burst{0%,68.8%,73%,100%{opacity:0}69.4%{opacity:.65}70%{opacity:.8}70.5%{opacity:.4}71.1%{opacity:.75}72%{opacity:.25}}
.motion-paused .wheel-spin i,.motion-paused .exhaust-reflection{animation-play-state:paused}.motion-paused .exhaust-reflection{visibility:hidden}
@media(prefers-reduced-motion:reduce){.wheel-spin,.exhaust-reflection{display:none}.exhaust-flame,.wheel-smoke i{animation:none!important;opacity:0}}
/* Blur the actual photographed wheels; no rotating graphics over the rims. */
.wheel-spin,.wheel-spin.front{opacity:1;background:transparent;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);mask-image:radial-gradient(ellipse,#000 40%,transparent 72%)}
.wheel-spin i{display:none!important;animation:none!important}
.wheel-smoke{left:66.7%;top:67.3%;width:20%;height:16%}.wheel-smoke.far{left:88%;top:66.5%;width:16%;height:13%;opacity:.5}
.wheel-smoke i{transform-origin:center;mask-image:radial-gradient(ellipse,#000 20%,transparent 68%);background-position:70% 75%;filter:brightness(1.25);animation-name:ground-plume}
@keyframes ground-plume{0%{transform:translate(-50%,-50%) scale(.2);opacity:0}10%{opacity:.85}40%{opacity:.7}75%{opacity:.45}100%{transform:translate(25%,-85%) scale(1.8);opacity:0}}
.wheel-smoke::before{left:-16%;top:-14%;width:32%;height:32%;filter:blur(3px);background:radial-gradient(ellipse,#ccd0d1a0,transparent 70%)}
.exhaust-flame{width:6.5%;height:4.5%;rotate:14deg;filter:drop-shadow(0 0 3px #ff882544)}
.exhaust-flame.left{left:83.95%;top:60.1%}.exhaust-flame.right{left:93.7%;top:59.5%;width:5%}
.exhaust-reflection{left:84.5%;top:68%;width:8%;height:4.5%;filter:blur(2px) brightness(.5)}.exhaust-reflection.right{left:94.1%;top:67.4%;width:6%}
/* Larger short backfire with matching reflected light. */
.exhaust-flame{width:12%;height:8%;filter:drop-shadow(0 0 9px #ff7e3b99);rotate:12deg}.exhaust-flame.left{left:83.7%;top:58.3%}.exhaust-flame.right{left:93.4%;top:57.7%;width:9%}
.exhaust-reflection{left:84%;top:67.3%;width:15%;height:8%;filter:blur(2.5px) brightness(.85)}.exhaust-reflection.right{left:93.8%;top:66.7%;width:11%}

/* Photographic wheel motion blur, without wheel overlays. */
.drift-scene{background-image:url("assets/drift-bmw-motion.png")}
/* Feather sprite edges into the night scene. */
.exhaust-flame{mask-image:radial-gradient(ellipse at 48% 50%,#000 18%,#000c 42%,transparent 70%)}

.base-grid .campaign-option{overflow:hidden;border-color:#ff9b3e;background:linear-gradient(125deg,#36271d,#191a1c);box-shadow:0 0 22px #ff792e19;padding-top:0}
.campaign-ribbon{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:8px;background:linear-gradient(105deg,#ff752c,#ffc15c);color:#211309;margin:0 -16px 9px;padding:8px 16px;font-size:11px;letter-spacing:1px;line-height:1.3}
.campaign-ribbon strong{font-size:13px;letter-spacing:2px}.campaign-ribbon>span{font-weight:800;letter-spacing:.3px}.campaign-copy{display:block;font-size:12px;color:#ffc17b;margin-top:3px}.campaign-deadline{display:block;font-size:11px;color:#e0c7ab;margin-top:3px}

.addon-saving{display:block;color:#ffc17b;font-size:12px;font-weight:600;margin-top:7px}.option .addon-money{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.option .addon-money del{margin:0;font-weight:400}.addon-savings-total{color:#ffc17b;font-size:13px;line-height:1.5;border-left:2px solid #ff9b3e;padding-left:10px;margin:14px 0}

header .brand-shield{width:60px;height:60px;background-image:url('assets/grip-emblem.jpg');background-size:contain;background-position:center;background-repeat:no-repeat;border-radius:50%;mix-blend-mode:normal;box-shadow:0 0 0 1px #d3b57330}header .brand{gap:13px}@media(max-width:580px){header .brand-shield{width:42px;height:42px;background-size:contain}header .brand{gap:9px}}

.vehicle-guide{position:relative;z-index:2;overflow:visible}.vehicle-guide .section-title{align-items:center}#revtech-guide{width:100%;min-height:336px;border:0;display:block;background:transparent;border-radius:24px;box-shadow:0 22px 80px #0003;position:relative}.vehicle-guide+.pricing{padding-top:35px}

header .brand-shield{width:88px;height:49px;background-image:url('assets/grip-banner.png');background-size:188px auto;background-position:50% 15%;border-radius:0;box-shadow:none;mix-blend-mode:screen}@media(max-width:580px){header .brand-shield{width:66px;height:37px;background-size:141px auto;background-position:50% 15%}header .brand{font-size:15px;gap:7px}}

/* Generated crest and four-tip exhaust artwork. */
header .brand-shield{width:100px;height:66px;background-image:url('assets/grip-crest-clean.png');background-size:contain;background-position:center;border-radius:0;box-shadow:none;mix-blend-mode:normal}
.drift-scene{background-image:url('assets/drift-bmw-four-flames.png')}
.drift-scene .exhaust-flame,.drift-scene .exhaust-reflection{display:none}
@media(max-width:580px){header .brand-shield{width:72px;height:48px;background-size:contain;background-position:center}}

.drift-scene{width:80%;bottom:-20%;right:0}.wheel-smoke.near{left:50%;top:68%}.wheel-smoke.far{left:27%;top:64%}@media(max-width:900px){.drift-scene{width:100%;right:0;bottom:25px}}@media(max-width:580px){.hero{min-height:700px}.drift-scene{width:100%;right:0;bottom:55px}}

.drift-scene{mask-image:linear-gradient(to right,transparent,#000 10%,#000);-webkit-mask-image:linear-gradient(to right,transparent,#000 10%,#000)}

/* Animated four-tip exhaust, calibrated to the larger-door-crest image. */
.drift-scene{background-image:url('assets/drift-bmw-large-crest.png');animation:none;transform:none;transform-origin:60% 70%}
.drift-scene .wheel-smoke.near{left:47%;top:74%}.drift-scene .wheel-smoke.far{left:84%;top:70%;opacity:.35}
.exhaust-jet{position:absolute;width:11%;height:8%;left:67.9%;top:65.52%;translate:0 -50%;background:url('assets/exhaust-jet-real.png') left center/100% 100% no-repeat;transform-origin:0 50%;rotate:19deg;opacity:0;mix-blend-mode:screen;filter:drop-shadow(0 0 5px #ff943666);animation:quad-exhaust 4.8s linear infinite;pointer-events:none}
.exhaust-jet.jet-b{left:70.3%;top:65.52%;animation-delay:.04s;rotate:20deg}
.exhaust-jet.jet-c{left:90.55%;top:65.37%;width:8%;height:6.7%;rotate:24deg;animation-delay:.07s}
.exhaust-jet.jet-d{left:92.35%;top:65.22%;width:7.5%;height:6.7%;rotate:25deg;animation-delay:.10s}
.exhaust-jet::after{content:'';position:absolute;left:0;top:115%;width:95%;height:90%;background:radial-gradient(ellipse,#ff9c3c66,transparent 70%);filter:blur(6px);transform:skewX(-25deg);opacity:.6}
@keyframes quad-exhaust{0%,54%,78%,100%{opacity:0;transform:scale(.15,.6)}56%{opacity:.8;transform:scale(.7,.85)}59%{opacity:1;transform:scale(1,1)}62%{opacity:.65;transform:scale(.8,.92)}66%{opacity:1;transform:scale(.96,1.05)}70%{opacity:.7;transform:scale(.7,.8)}75%{opacity:.3;transform:scale(.4,.6)}}
@keyframes drift-sway{0%,100%{transform:translate(0,0) rotate(-.2deg)}35%{transform:translate(-.7%,.2%) rotate(.25deg)}70%{transform:translate(.35%,-.2%) rotate(-.1deg)}}
.motion-paused .drift-scene,.motion-paused .exhaust-jet{animation-play-state:paused}.motion-paused .exhaust-jet{visibility:hidden}
@media(prefers-reduced-motion:reduce){.drift-scene{animation:none!important}.exhaust-jet{display:none}}
.campaign-banner{display:flex;align-items:center;gap:24px;max-width:1440px;margin:14px auto 0;padding:18px 5%;background:linear-gradient(105deg,#ff792e,#ffbe60);color:#241408;border:1px solid #ffc985;border-radius:18px;box-shadow:0 8px 30px #ff792e20}
.campaign-banner-badge{font-weight:900;font-size:14px;letter-spacing:2px;border:1px solid #24140855;border-radius:7px;padding:7px 11px;transform:rotate(-3deg)}
.campaign-banner-copy{display:flex;flex-direction:column;flex:1;line-height:1.4}.campaign-banner-copy strong{font-size:18px}.campaign-banner-copy>span{font-size:14px}.campaign-banner-action{font-size:14px;font-weight:800;white-space:nowrap}.campaign-banner:hover{background:linear-gradient(105deg,#ff914b,#ffca7a)}
@media(max-width:580px){.campaign-banner{margin:12px 5% 0;padding:16px;gap:12px;flex-wrap:wrap;border-radius:14px}.campaign-banner-badge{font-size:11px;padding:6px 8px}.campaign-banner-copy strong{font-size:15px}.campaign-banner-copy>span{font-size:13px}.campaign-banner-action{width:100%;text-align:right}}
.coupon-box{margin:20px 0;padding:16px 0;border-top:1px solid #ffffff20}.coupon-entry{display:flex;gap:8px;margin-top:8px}.coupon-entry input{min-width:0;width:100%;text-transform:uppercase}.coupon-entry button,#remove-coupon{border:1px solid #dcb66b;background:#29251e;color:#f5dfb4;border-radius:8px;padding:10px;cursor:pointer}.coupon-box p{font-size:13px;line-height:1.5}.coupon-box #coupon-discount{color:#ffc17b;font-weight:700}.coupon-admin{margin:32px 0;padding:20px;border:1px solid #dcb66b55;border-radius:16px}.coupon-admin .admin-fields{align-items:end}.coupon-admin select{width:100%;padding:12px;background:#191a1c;color:#fff;border:1px solid #555;border-radius:8px}.coupon-card input[type=checkbox]{width:auto}.coupon-admin[hidden]{display:none}

/* Full width hero and warmer, clearer form surfaces. */
.hero{max-width:none;width:100%;margin-inline:0;background:#080909;padding-inline:max(5%,calc((100vw - 1240px)/2))}
input:not([type=radio]):not([type=checkbox]),textarea,select,.coupon-admin select,.search-wrap input{background:#303338!important;border-color:#686b70;color:#faf6ee}
input::placeholder,textarea::placeholder{color:#c0c1c2;opacity:1}input:focus,textarea:focus,select:focus{outline:2px solid #e1bb72;outline-offset:2px}
.section-visual{margin:28px 0 0;position:relative;border:1px solid #e1bb7233;border-radius:22px;overflow:hidden;background:#080909}.section-visual img{display:block;width:100%;height:250px;object-fit:cover;object-position:60% 58%}.section-visual figcaption{padding:15px 20px;font-size:14px;color:#d5c4a3}
.contact-visual{display:flex;align-items:center;gap:24px;margin-top:26px;padding:26px;background:radial-gradient(ellipse at 20% 50%,#58432366,transparent 75%),#151719;border:1px solid #e1bb7233;border-radius:22px}.contact-visual img{width:120px;height:100px;object-fit:contain}.contact-visual p{margin:0;color:#c5bdaf}.contact-visual strong{color:#e1bb72;font-weight:500}.vehicle-guide-link{padding:28px;border:1px solid #e1bb7260;border-radius:24px;background:#20211f}.vehicle-guide-link .button{width:fit-content}
@media(max-width:580px){.contact-visual{gap:16px;padding:20px}.contact-visual img{width:85px}.section-visual img{height:215px}.hero{padding-inline:5%}}

.performance-visual img{height:auto;aspect-ratio:3/2;object-fit:contain}
@media(min-width:901px){.hero{padding-left:5%;grid-template-columns:34% 66%;min-height:650px}.hero-copy{max-width:100%}.hero-copy h1{font-size:clamp(52px,5vw,82px)}.hero-copy h1 span{display:block;max-width:7.5ch}.hero-copy>p:not(.eyebrow){max-width:320px}.drift-scene{width:75%;right:-3%;bottom:-14%}}

