:root{
  --obsidian:#0e1311;--black:#000;--ash:#1a1a1a;--graphite:#333;--stone:#808080;--silver:#b3b3b3;--bone:#fff;--linen:#f6f7f2;--khaki:#dfdbca;
  --lichen:#cadcac;--citron:#faf080;--gold:#cfa53b;--olive:#4d4a31;--ember:#7a2a12;--neon:#ff7a4d;
  --sans:Inter,"Helvetica Neue",system-ui,-apple-system,sans-serif;--serif:"Playfair Display","Cormorant Garamond",Georgia,serif;
  --r:4px;--pill:60px;
  --kit-accent:var(--linen);--kit-on-accent:var(--obsidian);
}
*{box-sizing:border-box}
html{background:var(--obsidian)}
body{margin:0;background:var(--obsidian);color:var(--bone);font:400 16px/1.5 var(--sans);-webkit-font-smoothing:antialiased}
a{color:inherit;text-underline-offset:3px}
h1,h2,h3{font-family:var(--serif);font-style:italic;font-weight:400;line-height:1.2;margin:0 0 12px}
h1{font-size:42px}h2{font-size:30px}h3{font-size:21px}
.muted{color:var(--silver)}.small{font-size:13px}
.eyebrow{font:600 11px/1.5 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin:0 0 8px}
.announce{background:var(--olive);color:var(--linen);text-align:center;font-size:12px;padding:6px 12px;letter-spacing:.02em}
.top{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 32px;background:rgba(14,19,17,.94);backdrop-filter:blur(6px);border-bottom:1px solid var(--ash)}
.mark{text-decoration:none;display:flex;align-items:baseline;gap:6px;white-space:nowrap}
.mark em{font-family:var(--serif);font-size:22px;color:var(--khaki)}
.neon{font-family:Yellowtail,var(--serif);font-size:32px;line-height:1;color:#ffd9c7;text-shadow:0 0 2px #fff3ec,0 0 8px var(--neon),0 0 18px rgba(255,122,77,.55),0 0 36px rgba(255,90,40,.25)}
.neon.small{font-size:24px}
@media (prefers-reduced-motion:no-preference){.top .neon{animation:hum 7s infinite}}
@keyframes hum{0%,92%,100%{opacity:1}93%{opacity:.75}94%{opacity:1}96%{opacity:.85}}
.tabs{display:flex;gap:22px;align-items:center;font-size:14px;font-weight:500}
.tabs a{text-decoration:none;color:var(--silver);padding:4px 0;border-bottom:1px solid transparent}
.tabs a:hover,.tabs a[aria-current=page]{color:var(--bone);border-color:var(--gold)}
.tabs .cart{color:var(--bone)}
main{min-height:60vh}
.btn,button.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:500 15px/1 var(--sans);padding:13px 20px;border-radius:var(--r);background:var(--linen);color:var(--obsidian);border:1px solid var(--linen);text-decoration:none;cursor:pointer}
.btn:hover{background:var(--bone)}
.btn.big{padding:16px 26px;font-size:16px}
.btn[disabled]{opacity:.4;cursor:not-allowed}
.ghost,button.ghost{display:inline-flex;align-items:center;font:500 14px/1 var(--sans);padding:12px 16px;border-radius:var(--r);background:transparent;color:var(--bone);border:1px solid var(--graphite);text-decoration:none;cursor:pointer}
.ghost:hover{border-color:var(--khaki)}
.tag{display:inline-block;font:600 10px/1.4 var(--sans);text-transform:uppercase;letter-spacing:.08em;padding:3px 7px;border-radius:var(--r);color:var(--obsidian);background:var(--lichen);vertical-align:2px}
.tag.t-oem{background:transparent;color:var(--gold);box-shadow:inset 0 0 0 1px var(--gold)}
.tag.t-budget{background:var(--citron)}
.price-pill{display:inline-block;background:var(--linen);color:var(--obsidian);border-radius:var(--pill);padding:7px 14px;font:500 14px/1 var(--sans);white-space:nowrap}
.price-pill.ghost{background:transparent;color:var(--silver);box-shadow:inset 0 0 0 1px var(--graphite);border:0;padding:7px 14px}
.err{color:#ff9d85;font-size:13px;font-weight:500;display:block;margin-top:4px}

/* ── explorer ── */
.explorer{display:grid;grid-template-columns:260px minmax(0,1fr) 290px;min-height:calc(100vh - 100px);border-bottom:1px solid var(--ash)}
.selector{scrollbar-width:thin;scrollbar-color:#333 transparent;padding:28px 20px 28px 32px;border-right:1px solid var(--ash);overflow:auto;max-height:calc(100vh - 100px);position:sticky;top:64px}
.selector h1{font-size:30px;margin-bottom:22px}
.selector h1 em{color:var(--khaki)}
.cat{border-top:1px solid var(--ash)}
.cat summary{list-style:none;cursor:pointer;padding:12px 0;font:500 15px/1.3 var(--sans);display:flex;justify-content:space-between;align-items:center}
.cat summary::-webkit-details-marker{display:none}
.cat summary::after{content:"+";color:var(--gold);font-size:18px;font-weight:300}
.cat[open] summary::after{content:"–"}
.cat ul{list-style:none;margin:0 0 12px;padding:0}
.cat li a{display:block;padding:6px 10px;margin-left:-10px;border-radius:var(--r);font-family:var(--serif);font-style:italic;font-size:17px;color:var(--khaki);text-decoration:none}
.cat li a:hover{color:var(--bone);background:var(--ash)}
.cat li a.on{color:var(--obsidian);background:var(--khaki)}
.cat li a.added::after{content:" ✓";font-family:var(--sans);font-style:normal;font-size:12px;color:var(--gold)}
.stage{position:relative;display:flex;flex-direction:column;min-width:0;background:radial-gradient(ellipse at 50% 70%,rgba(122,42,18,.28),transparent 65%)}
.stage-bar{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 28px 0;font-size:13px;color:var(--silver)}
.depth{display:flex;align-items:center;gap:10px;font-size:11px;text-transform:uppercase;letter-spacing:.1em;white-space:nowrap}
.depth input{accent-color:var(--gold);width:140px}
.canvas{flex:1;display:flex;align-items:flex-start;justify-content:center;padding:12px 20px 24px;touch-action:pan-y}
/* the garage */
.scene{position:relative;width:100%;height:clamp(320px,52vw,calc(100vh - 190px));overflow:hidden;border-radius:6px;background:#2a211a;cursor:zoom-in;user-select:none;-webkit-user-select:none;
  box-shadow:0 0 0 1px rgba(223,219,202,.14),0 0 60px -10px rgba(255,150,80,.28),0 24px 60px rgba(0,0,0,.55)}
.scene.apart{cursor:default}
.world{position:absolute;left:0;top:0;width:1392px;height:752px;transform-origin:0 0;will-change:transform}
.ly{position:absolute;left:0;top:0;display:block;max-width:none;pointer-events:none;will-change:transform,opacity}
.ly-hood{transform-origin:60% 80%}
.spot{position:absolute;inset:0;pointer-events:none;opacity:0;transition:background .2s}
.glow-sign{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 50% 45%,transparent 55%,rgba(20,10,4,.42) 100%),linear-gradient(180deg,rgba(255,170,90,.07),transparent 30%)}
.leaders{position:absolute;inset:0;pointer-events:none;overflow:visible}
.leaders .ld{fill:none;stroke:#f3e6c4;stroke-width:1.3;stroke-dasharray:1;stroke-dashoffset:1;filter:drop-shadow(0 1px 1px rgba(0,0,0,.7))}
.leaders .ld.on{stroke:var(--neon);stroke-width:2}
.leaders .ad{fill:#f3e6c4;stroke:#2a1a10;stroke-width:1.2}
.leaders .ad.on{fill:var(--neon)}
.leaders .ad-hs{fill:var(--gold)}
.leaders .ring{fill:rgba(255,122,77,.18);stroke:var(--neon);stroke-width:1.6;transform-box:fill-box;transform-origin:center;animation:ring 1.6s ease-out infinite}
@keyframes ring{0%{transform:scale(.6);opacity:1}100%{transform:scale(1.9);opacity:0}}
.tags{position:absolute;inset:0;pointer-events:none}
.hs,.lbl{position:absolute;transform:translate(0,-50%);white-space:nowrap;cursor:pointer;visibility:hidden;opacity:0;border-radius:var(--pill)}
.hs{display:flex;align-items:center;gap:8px;padding:7px 14px 7px 10px;background:rgba(18,13,10,.86);color:#fbeedd;border:1px solid rgba(207,165,59,.55);font:500 13px/1 var(--sans);letter-spacing:.02em;box-shadow:0 4px 14px rgba(0,0,0,.4)}
.hs.r{transform:translate(-100%,-50%)}
.hs:hover{border-color:var(--neon);color:#fff;box-shadow:0 0 0 1px var(--neon),0 0 18px rgba(255,122,77,.45)}
.hs-dot{width:7px;height:7px;border-radius:50%;background:var(--neon);box-shadow:0 0 8px var(--neon)}
.lbl{--slide:0px;transform:translate(var(--slide),-50%);padding:6px 12px;background:rgba(246,238,220,.95);color:#1d140e;border:1px solid rgba(0,0,0,.25);font:italic 400 16px/1 var(--serif);box-shadow:0 4px 14px rgba(0,0,0,.35)}
.lbl.r{transform:translate(calc(-100% + var(--slide)),-50%)}
.lbl:hover{background:#fff}
.lbl.on{background:var(--ember);color:#fff3ea;border-color:var(--neon);box-shadow:0 0 0 1px var(--neon),0 0 20px rgba(255,122,77,.5)}
.lbl.added::after{content:" ✓";font:600 11px var(--sans);color:#8a6a1f}
.lbl.on.added::after{color:var(--citron)}
@media (prefers-reduced-motion:reduce){.leaders .ring{animation:none}}
.balloon{position:absolute;z-index:5;width:300px;background:rgba(14,19,17,.97);border:1px solid var(--khaki);border-radius:var(--r);padding:18px 18px 16px;box-shadow:0 12px 40px rgba(0,0,0,.6)}
.balloon::before{display:none}
.balloon.below::before{top:auto;bottom:-7px;transform:rotate(225deg)}
.balloon h3{margin:4px 0 8px;font-size:24px}
.balloon p{margin:0 0 10px;font-size:14px;color:#d8d6ce}
.balloon .signs{font-size:13px;color:var(--silver)}
.balloon .signs strong{color:var(--citron);font-weight:500}
.balloon .row{display:flex;gap:8px;align-items:center;margin-top:12px;flex-wrap:wrap}
.balloon .also{margin-top:12px;font-size:12px;color:var(--silver)}
.balloon .also button{font:italic 14px var(--serif);background:none;border:0;color:var(--khaki);padding:2px 6px 2px 0;cursor:pointer;text-decoration:underline;text-decoration-color:var(--graphite)}
.balloon .x{position:absolute;right:8px;top:6px;background:none;border:0;color:var(--silver);font-size:20px;cursor:pointer;padding:4px 8px}
.list{scrollbar-width:thin;scrollbar-color:#333 transparent;padding:28px 32px 28px 24px;border-left:1px solid var(--ash);display:flex;flex-direction:column;gap:14px;position:sticky;top:64px;max-height:calc(100vh - 100px);overflow:auto}
.list ul{list-style:none;margin:0;padding:0;border-top:1px solid var(--ash)}
.list li{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:10px 0;border-bottom:1px solid var(--ash)}
.list li .n{font-family:var(--serif);font-style:italic;font-size:18px}
.list li .c{display:block;font-size:12px;color:var(--silver)}
.list li button{background:none;border:0;color:var(--silver);cursor:pointer;font-size:18px;padding:4px 6px}
.list li button:hover{color:var(--bone)}
.list .go{width:100%}
.example{border:1px dashed var(--graphite);border-radius:var(--r);padding:14px;font-size:14px;color:#d8d6ce}
.example .label{display:block;font:600 10px/1.4 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--gold);margin-bottom:6px}
.example button{margin-top:10px}

.manifesto{padding:96px 32px;max-width:1080px;margin:0 auto}
.manifesto p{font-family:var(--serif);font-style:italic;font-weight:400;font-size:36px;line-height:1.25;margin:0 0 24px}
.manifesto p em{color:var(--neon);text-shadow:0 0 14px rgba(255,122,77,.35)}
.manifesto .sig{font-family:var(--sans);font-style:normal;font-size:18px;color:var(--silver);max-width:640px;line-height:1.5}
.answers{padding:0 32px 96px;max-width:1080px;margin:0 auto}
.qa details{border-top:1px solid var(--ash);padding:4px 0}
.qa details:last-child{border-bottom:1px solid var(--ash)}
.qa summary{cursor:pointer;list-style:none;padding:16px 0;font-family:var(--serif);font-style:italic;font-size:21px;display:flex;justify-content:space-between;gap:16px}
.qa summary::-webkit-details-marker{display:none}
.qa summary::after{content:"+";font-family:var(--sans);font-style:normal;color:var(--gold)}
.qa details[open] summary::after{content:"–"}
.qa p{margin:0 0 18px;color:#d8d6ce;max-width:720px}
.foot{display:grid;grid-template-columns:1.4fr 1fr auto;gap:32px;align-items:start;padding:40px 32px;border-top:1px solid var(--ash);font-size:14px}
.foot em{font-family:var(--serif);color:var(--khaki);font-size:18px}
.foot nav{display:flex;flex-wrap:wrap;gap:8px 20px}
.foot nav a{color:var(--silver);text-decoration:none}.foot nav a:hover{color:var(--bone)}

/* ── the guided request ── */
.flow{max-width:720px;margin:0 auto;padding:48px 24px 96px}
.progress{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:0;margin:24px 0 32px;counter-reset:s}
.progress li{counter-increment:s;font-size:12px;color:var(--stone);border-top:2px solid var(--graphite);padding-top:8px;text-transform:uppercase;letter-spacing:.08em}
.progress li::before{content:counter(s) " · "}
.progress li.done{color:var(--silver);border-color:var(--khaki)}
.progress li.now{color:var(--bone);border-color:var(--gold)}
.steps fieldset{border:0;padding:0;margin:0 0 40px}
.steps legend{font-family:var(--serif);font-style:italic;font-size:30px;margin-bottom:18px;padding:0}
.js .steps .step{display:none}.js .steps .step.show{display:block}
.steps label{display:grid;gap:6px;font-weight:500;font-size:14px;margin-bottom:18px}
.steps .optn{font-weight:400;color:var(--silver);font-size:13px}
.steps input,.steps textarea,.steps select,.kit input,.kit textarea,.kit select{font:400 16px/1.4 var(--sans);padding:12px 14px;border:1px solid var(--graphite);border-radius:var(--r);background:#141a18;color:var(--bone);width:100%}
.steps input:focus,.steps textarea:focus,.steps select:focus{outline:none;border-color:var(--khaki)}
.steps [aria-invalid=true]{border-color:#ff9d85}
.steps .row{display:flex;gap:8px}.steps .row input{flex:1}
.vin{font-family:ui-monospace,Menlo,monospace!important;letter-spacing:.12em;text-transform:uppercase}
.vin-out{min-height:28px;margin:-6px 0 18px;font-size:14px}
.vin-out .car{font-family:var(--serif);font-style:italic;font-size:21px;color:var(--khaki)}
.grid3{display:grid;grid-template-columns:2fr 1fr 1fr;gap:12px}
.nav{display:flex;justify-content:space-between;gap:12px;margin-top:8px;align-items:center}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px;min-height:40px}
.chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--graphite);border-radius:var(--pill);padding:6px 6px 6px 14px;font-family:var(--serif);font-style:italic;font-size:16px}
.chip button{background:var(--ash);border:0;color:var(--silver);border-radius:50%;width:24px;height:24px;cursor:pointer}
.review dl{display:grid;grid-template-columns:140px 1fr;gap:10px 16px;margin:0 0 20px;border-top:1px solid var(--ash);padding-top:16px}
.review dt{color:var(--silver);font-size:13px}.review dd{margin:0;white-space:pre-line}
.review a{font-size:13px;color:var(--gold)}
.free{border-left:2px solid var(--gold);padding:10px 16px;margin:0 0 24px;color:#d8d6ce;font-size:15px}
.account{border-top:1px solid var(--ash);padding-top:20px;margin-bottom:12px}
.account label{display:grid;gap:6px}

/* ── customer area (kit) ── */
.kitpage main{padding:40px 32px 96px}
.kit{max-width:1120px}
.kit h1{font-size:36px}.kit h2{font-size:24px;margin-top:28px}
.kit .kit-card{border-color:var(--ash);background:#121816}
.kit .kit-card:hover{border-color:var(--khaki)}
.kit .kit-card strong{font-family:var(--serif);font-style:italic;font-weight:400;font-size:20px}
.kit .pill{border-color:var(--gold);color:var(--gold)}
.kit .kit-btn.primary,.kit button.primary{background:var(--linen);color:var(--obsidian);border-radius:var(--r)}
.kit button,.kit .kit-btn{border-radius:var(--r);border-color:var(--graphite)}
.kit .notice{border-color:var(--graphite);background:#121816}
.kit .timeline li .dot{border-color:var(--gold)}
.kit .timeline li.done .dot,.kit .timeline li.now .dot{background:var(--gold)}
.kit .msg.business{border-color:var(--gold)}
.kit a{color:var(--khaki)}
.kit form.kit-form.wide{max-width:none}
.kit fieldset.adm{border:1px solid var(--ash);border-radius:var(--r);padding:12px;display:grid;gap:8px}
.kit .admrow{display:grid;grid-template-columns:1fr 1fr 2fr 1fr 1fr .7fr .7fr 2fr;gap:6px}
.kit .admrow input,.kit .admrow select{padding:6px 8px;font-size:13px}
.opts{margin:28px 0}
.optpart{border-top:1px solid var(--ash);padding:18px 0}
.optpart h3{margin-bottom:6px}
.optlist{display:grid;gap:8px;margin-top:10px}
.opt{display:grid!important;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;border:1px solid var(--ash);border-radius:var(--r);padding:14px 16px;cursor:pointer;font-weight:400!important;background:#121816}
.opt.on{border-color:var(--khaki);background:#1a1f1c}
.opt input{accent-color:var(--gold);width:18px;height:18px;margin:0;padding:0}
div.opt{grid-template-columns:1fr auto;cursor:default}
.opt.skip{background:transparent}
.o-main{display:grid;gap:2px}
.o-seller{font-weight:500}
.o-title{color:#d8d6ce;font-size:14px}
.o-pn{color:var(--silver);font-size:12px;font-family:ui-monospace,Menlo,monospace}
.paybar{display:grid;grid-template-columns:1fr auto;gap:6px 16px;align-items:center;margin-top:12px;padding:18px;border:1px solid var(--khaki);border-radius:var(--r);background:rgba(14,19,17,.97)}
.paybar strong{display:block;font-family:var(--serif);font-style:italic;font-weight:400;font-size:30px}
.paybar p{grid-column:1/-1;margin:0}
.skeleton .bars{display:grid;gap:8px;margin-top:10px}
.skeleton .bars span{display:block;height:54px;border-radius:var(--r);background:linear-gradient(90deg,#141a18 0,#1f2522 40%,#141a18 80%);background-size:200% 100%}
@media (prefers-reduced-motion:no-preference){.skeleton .bars span{animation:sheen 1.6s linear infinite}}
@keyframes sheen{from{background-position:200% 0}to{background-position:-200% 0}}
.track ul{list-style:none;padding:0}.track li{padding:8px 0;border-bottom:1px solid var(--ash)}

/* ── docs ── */
.doc main{padding:0 24px}
.doc-body{max-width:760px;margin:0 auto;padding:56px 0 96px}
.doc-body h2{font-size:24px;margin-top:36px}
.doc-body p{color:#d8d6ce}
.doc-body .lede{font-size:19px;color:var(--bone)}

/* ── phones ── */
@media (max-width:1100px){
  .explorer{grid-template-columns:230px minmax(0,1fr)}
  .list{grid-column:1/-1;position:static;max-height:none;border-left:0;border-top:1px solid var(--ash);flex-direction:row;flex-wrap:wrap;align-items:flex-start;padding:20px 32px}
  .list>*{flex:1 1 260px}
}
@media (max-width:760px){
  h1{font-size:32px}.manifesto p{font-size:26px}
  .top{padding:10px 16px;flex-wrap:wrap;gap:6px 16px}
  .tabs{gap:14px;font-size:13px;overflow-x:auto;max-width:100%;padding-bottom:2px}
  .neon{font-size:28px}
  .explorer{grid-template-columns:1fr;min-height:0}
  .selector{position:static;max-height:none;border-right:0;padding:20px 16px 8px}
  .selector h1{font-size:26px;margin-bottom:12px}
  .cats{display:flex;gap:8px;overflow-x:auto;padding-bottom:8px;scrollbar-width:none}
  .cat{border:1px solid var(--graphite);border-radius:var(--pill);flex:0 0 auto}
  .cat summary{padding:8px 14px;font-size:14px}
  .cat summary::after{display:none}
  .cat[open]{border-color:var(--khaki);background:var(--ash)}
  .cat ul{display:none}
  .partsrow{display:flex;gap:6px;overflow-x:auto;padding:4px 16px 8px;scrollbar-width:none}
  .partsrow a{flex:0 0 auto;font-family:var(--serif);font-style:italic;font-size:16px;color:var(--khaki);text-decoration:none;border-bottom:1px solid var(--graphite);padding:4px 6px}
  .partsrow a.on{color:var(--bone);border-color:var(--gold)}
  .stage-bar{padding:8px 16px 0;flex-direction:column;align-items:flex-start;gap:6px}
  .depth input{width:120px}
  .canvas{padding:4px 0 8px}
  .scene{height:clamp(260px,78vw,420px);border-radius:0}
  .canvas{padding:4px 0 8px}
  .hs{font-size:11px;padding:5px 9px 5px 7px;gap:5px}
  .lbl{font-size:13px;padding:4px 8px}
  .balloon{position:relative;left:auto!important;top:auto!important;width:auto;margin:0 16px 16px}
  .balloon::before{display:none}
  .list{padding:16px}
  .manifesto{padding:56px 20px}.answers{padding:0 20px 64px}
  .foot{grid-template-columns:1fr;padding:32px 20px}
  .grid3{grid-template-columns:1fr 1fr}.grid3 label:first-child{grid-column:1/-1}
  .review dl{grid-template-columns:1fr}
  .kitpage main{padding:28px 16px 80px}
  .kit .admrow{grid-template-columns:1fr 1fr}
  .opt{grid-template-columns:auto 1fr;}.opt .price-pill{grid-column:2;justify-self:start}
  .paybar{grid-template-columns:1fr}
}
@media (min-width:761px){.partsrow{display:none}}

.kit .btn,.kit button.btn{background:var(--linen);color:var(--obsidian);border:1px solid var(--linen);border-radius:var(--r)}
.kit .btn:hover{background:var(--bone)}
.kit .btn[disabled]{opacity:.4}
