@font-face{font-family:'BoltFleet';src:url('/fonts/fleet/bolt-bold.woff2') format('woff2');font-display:swap;font-weight:700}
@font-face{font-family:'BauerFleet';src:url('/fonts/fleet/bauer.woff2') format('woff2');font-display:swap;font-weight:700}
@font-face{font-family:'Gunship';src:url('/fonts/racing/gunship.woff2') format('woff2');font-display:swap;font-weight:700}
@font-face{font-family:'NFS';src:url('/fonts/racing/nfs.woff2') format('woff2');font-display:swap;font-weight:700}
@font-face{font-family:'Megahertz';src:url('/fonts/racing/megahertz.woff2') format('woff2');font-display:swap;font-weight:700}
@font-face{font-family:'Marlboro';src:url('/fonts/racing/marlboro.woff2') format('woff2');font-display:swap;font-weight:700}

:root{
  color-scheme:dark;
  --red:#e10600;
  --red-bright:#ff241c;
  --red-dark:#8d0500;
  --black:#070707;
  --panel:#121212;
  --panel-2:#191919;
  --line:#343434;
  --white:#fff;
  --muted:#b8b8b8;
  --good:#60e68b;
  --warn:#ffd35c;
  --shadow:0 22px 80px rgba(0,0,0,.48);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;background:#050505}
body{margin:0;background:
  radial-gradient(circle at 12% -10%,rgba(225,6,0,.26),transparent 31rem),
  radial-gradient(circle at 92% 18%,rgba(255,255,255,.07),transparent 28rem),
  linear-gradient(180deg,#080808 0,#050505 100%);color:var(--white);font-family:Inter,Arial,Helvetica,sans-serif;min-height:100vh}
button,input,select,textarea{font:inherit}
a{color:inherit}
button{cursor:pointer}

.app-header{position:sticky;top:0;z-index:50;background:rgba(5,5,5,.88);backdrop-filter:blur(16px);border-bottom:1px solid rgba(255,255,255,.08)}
.header-inner{max-width:1520px;margin:auto;padding:10px clamp(14px,3vw,36px);display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand-link{display:flex;align-items:center;text-decoration:none;min-width:0}
.brand-logo{width:min(360px,56vw);height:auto;max-height:62px;object-fit:contain;object-position:left center;filter:drop-shadow(0 8px 24px rgba(225,6,0,.16))}
.header-status{display:flex;align-items:center;gap:9px;color:#ddd;font-size:.86rem;font-weight:700;white-space:nowrap}
.status-dot{width:9px;height:9px;border-radius:50%;background:var(--good);box-shadow:0 0 0 5px rgba(96,230,139,.12)}

.hero{max-width:1520px;margin:auto;padding:clamp(34px,6vw,76px) clamp(16px,3vw,36px) 24px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:32px;align-items:end}
.eyebrow{display:inline-flex;align-items:center;gap:9px;color:#ff716c;font-weight:900;letter-spacing:.14em;text-transform:uppercase;font-size:.77rem}
.eyebrow:before{content:'';display:block;width:34px;height:3px;background:var(--red);box-shadow:12px 0 0 #fff}
.hero h1{font-family:BoltFleet,'Arial Black',Impact,sans-serif;font-size:clamp(2.4rem,6.1vw,6.7rem);line-height:.88;letter-spacing:-.035em;text-transform:uppercase;margin:14px 0 16px;max-width:1150px;text-wrap:balance}
.hero h1 span{color:var(--red-bright);text-shadow:0 5px 0 #6e0300}
.hero-copy{max-width:900px;color:#d0d0d0;font-size:clamp(1rem,1.6vw,1.2rem);line-height:1.65;margin:0}
.hero-tags{display:flex;gap:9px;flex-wrap:wrap;margin-top:22px}
.hero-tag{border:1px solid #3b3b3b;background:rgba(255,255,255,.035);padding:9px 12px;border-radius:999px;color:#efefef;font-size:.82rem;font-weight:800}
.hero-price{min-width:230px;background:linear-gradient(145deg,#1b1b1b,#0d0d0d);border:1px solid #333;border-top:4px solid var(--red);border-radius:20px;padding:20px 22px;box-shadow:var(--shadow)}
.hero-price small{display:block;color:#aaa;text-transform:uppercase;letter-spacing:.12em;font-weight:800}
.hero-price strong{display:block;font-family:BoltFleet,'Arial Black',sans-serif;font-size:2.65rem;line-height:1;margin:10px 0 5px}
.hero-price span{color:#ccc;font-size:.84rem}

.customizer-shell{max-width:1520px;margin:0 auto;padding:18px clamp(12px,2.5vw,34px) 80px;display:grid;grid-template-columns:minmax(0,1.17fr) minmax(390px,.83fr);gap:20px;align-items:start}
.preview-column{position:sticky;top:86px;min-width:0}
.panel{background:linear-gradient(150deg,rgba(28,28,28,.96),rgba(12,12,12,.97));border:1px solid #303030;border-radius:24px;box-shadow:var(--shadow);overflow:hidden}
.panel-head{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:16px 18px;border-bottom:1px solid #292929;background:rgba(255,255,255,.025)}
.panel-title{font-family:BoltFleet,'Arial Black',sans-serif;text-transform:uppercase;letter-spacing:.03em;font-size:1.15rem}
.panel-kicker{color:#999;font-size:.78rem;margin-top:2px}
.pair-pill{border:1px solid rgba(225,6,0,.5);background:rgba(225,6,0,.11);color:#ff807b;border-radius:999px;padding:8px 11px;font-size:.74rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.preview-stage{position:relative;padding:16px;background:
  linear-gradient(135deg,transparent 0 48%,rgba(255,255,255,.022) 48% 52%,transparent 52%) 0 0/36px 36px,
  radial-gradient(circle at 50% 20%,#242424,#090909 68%);min-height:420px;display:grid;place-items:center}
.preview-stage:after{content:'';position:absolute;left:4%;right:4%;top:19%;height:2px;background:linear-gradient(90deg,transparent,var(--red),transparent);opacity:.7;animation:scan 5s ease-in-out infinite;pointer-events:none}
@keyframes scan{0%,100%{transform:translateY(0);opacity:.15}50%{transform:translateY(275px);opacity:.7}}
#truckPreview{display:block;width:100%;height:auto;max-height:650px;aspect-ratio:16/9;border-radius:16px}
.preview-toolbar{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:14px 16px;border-top:1px solid #292929;flex-wrap:wrap}
.toolbar-group{display:flex;gap:8px;flex-wrap:wrap}
.small-btn{border:1px solid #3b3b3b;background:#161616;color:#fff;border-radius:10px;padding:10px 12px;font-weight:800;font-size:.8rem;transition:.2s}
.small-btn:hover{border-color:#777;transform:translateY(-1px)}
.small-btn.active{background:#fff;color:#090909;border-color:#fff}
.small-btn.danger{color:#ff827e}
.preview-note{color:#999;font-size:.75rem;line-height:1.4;padding:0 16px 16px}

.price-card{margin-top:16px;padding:20px;display:flex;justify-content:space-between;align-items:center;gap:18px;border-left:5px solid var(--red)}
.price-card small{display:block;color:#aaa;text-transform:uppercase;letter-spacing:.12em;font-weight:900;font-size:.7rem}
.price-card strong{font-family:BoltFleet,'Arial Black',sans-serif;font-size:clamp(2.1rem,4vw,3.45rem);line-height:1}
.price-breakdown{font-size:.78rem;color:#aaa;margin-top:7px;max-width:510px;line-height:1.5}
.primary-cta{border:0;background:linear-gradient(135deg,var(--red-bright),#a80600);color:#fff;border-radius:13px;padding:15px 19px;font-family:BoltFleet,'Arial Black',sans-serif;text-transform:uppercase;letter-spacing:.04em;box-shadow:0 12px 28px rgba(225,6,0,.28);min-width:190px;transition:.2s}
.primary-cta:hover{transform:translateY(-2px);filter:brightness(1.08)}

.controls-column{display:flex;flex-direction:column;gap:16px;min-width:0}
.step-card{padding:18px}
.step-head{display:flex;align-items:flex-start;gap:12px;margin-bottom:16px}
.step-num{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:var(--red);font-family:BoltFleet,'Arial Black',sans-serif;font-size:1.1rem;box-shadow:0 8px 22px rgba(225,6,0,.3);flex:0 0 auto}
.step-head h2{font-family:BoltFleet,'Arial Black',sans-serif;text-transform:uppercase;font-size:1.28rem;margin:0;letter-spacing:.025em}
.step-head p{margin:4px 0 0;color:#969696;font-size:.79rem;line-height:1.45}
.product-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.product-tab{border:1px solid #3a3a3a;background:#111;color:#ddd;border-radius:14px;padding:13px;text-align:left;transition:.2s}
.product-tab strong{display:block;color:#fff;font-size:.93rem;margin-bottom:4px}
.product-tab span{font-size:.74rem;color:#999}
.product-tab.active{border-color:var(--red);background:linear-gradient(145deg,rgba(225,6,0,.24),rgba(225,6,0,.05));box-shadow:inset 0 0 0 1px rgba(255,255,255,.04)}
.product-tab.active strong{color:#ff7b76}

.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.form-grid.three{grid-template-columns:repeat(3,1fr)}
.field{min-width:0}
.field.full{grid-column:1/-1}
.field label{display:flex;justify-content:space-between;gap:8px;color:#d2d2d2;font-size:.74rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em;margin:0 0 7px}
.field label em{color:#777;font-style:normal;font-size:.68rem}
.input,select,textarea{width:100%;border:1px solid #3a3a3a;background:#0e0e0e;color:#fff;border-radius:11px;padding:12px 13px;outline:none;transition:.2s;min-height:45px}
.input:focus,select:focus,textarea:focus{border-color:var(--red);box-shadow:0 0 0 3px rgba(225,6,0,.13)}
textarea{resize:vertical;min-height:92px;line-height:1.5}
.field-hint{color:#777;font-size:.68rem;line-height:1.4;margin-top:6px}
.toggle-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #303030;background:#111;border-radius:12px;padding:11px 12px;margin-top:10px}
.toggle-copy strong{display:block;font-size:.82rem}
.toggle-copy span{display:block;color:#858585;font-size:.68rem;margin-top:3px}
.toggle{position:relative;width:48px;height:27px;flex:0 0 auto}
.toggle input{opacity:0;width:0;height:0}
.toggle-slider{position:absolute;inset:0;border-radius:999px;background:#3b3b3b;transition:.2s}
.toggle-slider:before{content:'';position:absolute;width:21px;height:21px;left:3px;top:3px;background:#fff;border-radius:50%;transition:.2s}
.toggle input:checked + .toggle-slider{background:var(--red)}
.toggle input:checked + .toggle-slider:before{transform:translateX(21px)}

.choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.choice-grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.choice{border:1px solid #343434;background:#101010;border-radius:11px;padding:10px;text-align:left;color:#ddd;min-width:0;transition:.2s}
.choice strong{display:block;font-size:.79rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.choice small{display:block;color:#777;margin-top:3px;font-size:.65rem}
.choice.active{border-color:var(--red);background:rgba(225,6,0,.13);box-shadow:inset 0 0 0 1px rgba(225,6,0,.18)}
.choice.active strong{color:#ff8580}
.font-preview{display:block;font-size:1.2rem!important;color:#fff!important;margin-bottom:5px;line-height:1.05;overflow:hidden;text-overflow:ellipsis}

.swatch-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}
.swatch{aspect-ratio:1;border-radius:10px;border:2px solid #383838;position:relative;box-shadow:inset 0 0 0 2px rgba(0,0,0,.2);transition:.2s;min-width:0}
.swatch.active{border-color:#fff;transform:scale(1.08);box-shadow:0 0 0 3px var(--red)}
.swatch[data-light="true"]{box-shadow:inset 0 0 0 1px #777}
.color-label{color:#888;font-size:.7rem;margin-top:10px;min-height:1em}

.upload-box{border:1px dashed #555;border-radius:14px;padding:14px;background:#0e0e0e;display:flex;gap:12px;align-items:center}
.upload-thumb{width:66px;height:52px;border-radius:9px;background:#1f1f1f;display:grid;place-items:center;overflow:hidden;color:#777;font-size:1.4rem;flex:0 0 auto}
.upload-thumb img{width:100%;height:100%;object-fit:contain;background:#fff}
.upload-copy{min-width:0;flex:1}
.upload-copy strong{display:block;font-size:.82rem}
.upload-copy span{display:block;color:#777;font-size:.68rem;margin-top:4px;line-height:1.4}
.upload-actions{display:flex;gap:7px;margin-top:8px;flex-wrap:wrap}
.file-input{display:none}
.inline-btn{border:1px solid #424242;background:#191919;color:#fff;border-radius:8px;padding:7px 9px;font-size:.68rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
.inline-btn.remove{color:#ff7772}

.summary-list{display:grid;gap:9px;margin:0;padding:0;list-style:none}
.summary-list li{display:flex;justify-content:space-between;gap:14px;padding-bottom:9px;border-bottom:1px dashed #333;color:#aaa;font-size:.78rem}
.summary-list li strong{color:#fff;text-align:right}
.proof-banner{margin-top:15px;padding:13px;border:1px solid rgba(96,230,139,.3);background:rgba(96,230,139,.08);border-radius:12px;color:#bdf6ce;font-size:.76rem;line-height:1.5}
.proof-banner strong{color:#fff}

.order-section{scroll-margin-top:95px}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.submit-button{width:100%;border:0;border-radius:13px;padding:16px 18px;background:linear-gradient(135deg,var(--red-bright),#9e0500);color:#fff;font-family:BoltFleet,'Arial Black',sans-serif;text-transform:uppercase;font-size:1.15rem;letter-spacing:.035em;box-shadow:0 14px 32px rgba(225,6,0,.28);margin-top:14px}
.submit-button:disabled{opacity:.55;cursor:wait}
.submit-note{font-size:.71rem;color:#8b8b8b;line-height:1.55;margin:11px 2px 0}
.form-status{display:none;margin-top:12px;padding:12px;border-radius:10px;font-size:.78rem;line-height:1.45}
.form-status.show{display:block}
.form-status.success{background:rgba(96,230,139,.1);border:1px solid rgba(96,230,139,.35);color:#bdf6ce}
.form-status.error{background:rgba(255,93,86,.1);border:1px solid rgba(255,93,86,.35);color:#ffaaa6}
.honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}

.success-screen{padding:22px;text-align:center}
.success-icon{width:68px;height:68px;border-radius:50%;display:grid;place-items:center;margin:0 auto 15px;background:rgba(96,230,139,.12);border:1px solid rgba(96,230,139,.4);font-size:2rem;color:var(--good)}
.success-screen h2{font-family:BoltFleet,'Arial Black',sans-serif;text-transform:uppercase;font-size:2rem;margin:0 0 8px}
.success-screen p{color:#bbb;line-height:1.6;margin:0 auto;max-width:540px}
.order-id{display:inline-block;margin:16px 0;padding:10px 13px;border-radius:10px;background:#090909;border:1px solid #353535;font-family:monospace;color:#fff}
.success-actions{display:flex;justify-content:center;gap:9px;flex-wrap:wrap;margin-top:14px}

.site-footer{border-top:1px solid #272727;background:#050505;padding:32px 18px;text-align:center;color:#888;font-size:.77rem;line-height:1.6}
.site-footer a{color:#fff;font-weight:900;text-decoration:none}
.footer-logo{display:block;width:min(380px,80vw);height:auto;margin:0 auto 15px}

.hidden{display:none!important}

@media (max-width:1100px){
  .customizer-shell{grid-template-columns:1fr}
  .preview-column{position:relative;top:auto}
  .controls-column{display:grid;grid-template-columns:1fr 1fr;align-items:start}
  .controls-column .order-section{grid-column:1/-1}
}
@media (max-width:760px){
  .header-status{display:none}
  .brand-logo{width:min(310px,76vw);max-height:50px}
  .hero{grid-template-columns:1fr;padding-top:30px}
  .hero-price{display:none}
  .hero h1{font-size:clamp(2.5rem,15vw,4.6rem)}
  .customizer-shell{padding-inline:10px;gap:13px}
  .panel{border-radius:17px}
  .preview-stage{padding:7px;min-height:275px}
  .preview-stage:after{display:none}
  .preview-column{position:relative}
  .controls-column{display:flex}
  .price-card{align-items:stretch;flex-direction:column}
  .primary-cta{width:100%}
  .form-grid,.form-grid.three,.contact-grid{grid-template-columns:1fr}
  .choice-grid.cols-3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .swatch-grid{grid-template-columns:repeat(7,1fr);gap:6px}
  .product-tabs{grid-template-columns:1fr}
  .panel-head{padding:13px}
  .preview-toolbar{padding:11px}
}
@media (max-width:390px){
  .choice-grid,.choice-grid.cols-3{grid-template-columns:1fr 1fr}
  .swatch-grid{grid-template-columns:repeat(6,1fr)}
  .small-btn{padding:8px 9px;font-size:.7rem}
}
