/* DRIVEDEX — professional dark product UI. Inter, quiet surfaces, one restrained accent.
   No monospace. No glows. No decoration that isn't information. */
:root{
  --bg:#0B0D11;
  --surface:#12161C; --surface-2:#171C24; --surface-3:#1D2430;
  --border:#232933; --border-strong:#303947;
  --text:#ECEFF3; --text-2:#C3CAD4; --muted:#8D97A5; --faint:#67717F;
  --accent:#4D8DF6; --accent-strong:#79A9FF; --accent-soft:rgba(77,141,246,.12);
  --green:#3ECF8E; --green-soft:rgba(62,207,142,.11);
  --amber:#E3A63C; --amber-soft:rgba(227,166,60,.11);
  --red:#E5555B;
  --r:12px; --r-sm:8px;
  --shadow:0 1px 2px rgba(0,0,0,.35), 0 12px 32px rgba(0,0,0,.30);
  --font:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{background:var(--bg);color:var(--text);font-family:var(--font);font-size:15.5px;line-height:1.6;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:var(--accent-strong);text-decoration:none}
a:hover{text-decoration:underline}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}
.wrap{max-width:1240px;margin:0 auto;padding:0 32px}
@media(max-width:640px){.wrap{padding:0 20px}}
.accent{color:var(--accent-strong)}
.dim{color:var(--muted)}
.center{text-align:center}
.panel{background:var(--surface);border:1px solid var(--border);border-radius:16px}

/* ---------- header ---------- */
.top{position:sticky;top:0;z-index:50;border-bottom:1px solid var(--border);
  background:rgba(11,13,17,.82);backdrop-filter:blur(12px)}
.top__in{display:flex;align-items:center;justify-content:space-between;height:64px}
.brand{display:flex;align-items:baseline;gap:10px;font-weight:800;font-size:17.5px;letter-spacing:.01em;color:var(--text)}
.brand:hover{text-decoration:none}
.brand__drive{color:var(--text)}
.brand__dex{color:var(--accent-strong)}
.brand__tag{font-size:12px;font-weight:500;color:var(--muted);letter-spacing:.02em;text-transform:lowercase}
.brand__tag::before{content:'·';margin-right:10px;color:var(--faint)}
.top__nav{display:flex;gap:26px;font-size:14px;font-weight:500}
.top__nav a{color:var(--text-2)}
.top__nav a:hover{color:var(--text);text-decoration:none}
@media(max-width:600px){.brand__tag{display:none}}

/* ---------- hero ---------- */
.hero{padding:72px 0 44px;border-bottom:1px solid var(--border);
  background:radial-gradient(70% 420px at 50% -80px,rgba(77,141,246,.07),transparent 70%)}
.hero__grid{display:grid;grid-template-columns:1.08fr .92fr;gap:56px;align-items:center}
@media(max-width:980px){.hero__grid{grid-template-columns:1fr;gap:36px}.hero{padding:48px 0 36px}}
.eyebrow{font-size:13px;font-weight:600;color:var(--muted);margin-bottom:14px}
.hero__h1{font-size:clamp(32px,4.4vw,54px);line-height:1.06;font-weight:800;letter-spacing:-.022em;margin-bottom:14px}
.hero__sub{color:var(--muted);font-size:16px;max-width:52ch;margin-bottom:26px}
.search{position:relative;max-width:620px}
#q{width:100%;height:56px;padding:0 20px;font-size:16px;font-family:var(--font);color:var(--text);
  background:var(--surface);border:1px solid var(--border-strong);border-radius:12px;outline:none;
  transition:border-color .15s, box-shadow .15s}
#q::placeholder{color:var(--faint)}
#q:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.search__results{position:absolute;top:calc(100% + 8px);left:0;right:0;background:var(--surface-2);
  border:1px solid var(--border-strong);border-radius:12px;overflow:hidden;z-index:40;text-align:left;box-shadow:var(--shadow)}
.sr{display:block;width:100%;text-align:left;padding:13px 18px;border-bottom:1px solid var(--border);font-size:14.5px}
.sr:last-child{border-bottom:0}
.sr:hover,.sr[aria-selected="true"]{background:var(--surface-3)}
.sr b{color:var(--text);font-weight:600}
.sr__miss{color:var(--muted);font-size:13px;display:block;margin-top:1px}
.hero__hints{margin-top:14px;font-size:13.5px;color:var(--muted)}
.hint{display:inline-block;font-size:13px;font-weight:500;color:var(--text-2);
  background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:4px 10px;margin:2px 2px}
.hint:hover{border-color:var(--accent);color:var(--accent-strong)}

/* ---------- featured card (in hero) ---------- */
.feat{display:block;background:linear-gradient(160deg,var(--surface-2),var(--surface));
  border:1px solid var(--border-strong);border-radius:16px;padding:28px;box-shadow:var(--shadow);
  transition:transform .15s, border-color .15s}
.feat:hover{text-decoration:none;transform:translateY(-2px);border-color:var(--accent)}
.feat__label{font-size:12.5px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.07em;margin-bottom:14px}
.feat__years{font-size:14px;font-weight:600;color:var(--accent-strong)}
.feat__name{font-size:clamp(24px,2.4vw,32px);font-weight:800;letter-spacing:-.015em;line-height:1.12;color:var(--text);margin:2px 0 6px}
.feat__engine{font-size:14px;color:var(--muted)}
.feat__specs{margin-top:18px;display:flex;flex-wrap:wrap;gap:8px}
.feat__specs b{font-size:13px;font-weight:600;color:var(--text-2);font-variant-numeric:tabular-nums;
  background:var(--surface-3);border:1px solid var(--border);padding:6px 12px;border-radius:8px}
.feat__cta{display:inline-block;margin-top:20px;font-size:14px;font-weight:600;color:var(--accent-strong)}

/* ---------- stats strip ---------- */
.stats{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--border);padding:22px 0;margin-bottom:8px}
.ctr{padding:0 24px;border-left:1px solid var(--border)}
.ctr:first-child{border-left:0;padding-left:0}
.ctr b{display:block;font-size:30px;font-weight:750;letter-spacing:-.02em;color:var(--text);font-variant-numeric:tabular-nums}
.ctr span{font-size:13px;color:var(--muted)}
@media(max-width:720px){.stats{grid-template-columns:1fr 1fr;row-gap:18px}
  .ctr{padding:0 18px}.ctr:nth-child(3){border-left:0;padding-left:0}}

/* ---------- sections / browse ---------- */
.sect{font-size:20px;font-weight:700;letter-spacing:-.01em;margin:44px 0 16px;color:var(--text)}
.sect a{color:var(--text)}
.sect a:hover{color:var(--accent-strong);text-decoration:none}
.sect__count{font-size:14px;font-weight:500;color:var(--muted);margin-left:8px}
.makechips{display:flex;flex-wrap:wrap;gap:10px}
.makechip{display:inline-flex;align-items:center;gap:10px;font-size:14.5px;font-weight:600;color:var(--text);
  background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:11px 16px;
  transition:border-color .15s, background .15s}
.makechip b{color:var(--muted);font-weight:500;font-variant-numeric:tabular-nums}
.makechip:hover{border-color:var(--accent);background:var(--accent-soft);text-decoration:none}
.makechip--ghost{border-style:dashed;color:var(--muted);cursor:pointer}

/* ---------- card grid ---------- */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}
.mini{display:flex;flex-direction:column;gap:2px;background:var(--surface);border:1px solid var(--border);
  border-radius:var(--r);padding:20px;transition:transform .15s, border-color .15s, box-shadow .15s}
.mini:hover{text-decoration:none;transform:translateY(-2px);border-color:var(--border-strong);box-shadow:var(--shadow)}
.mini__years{font-size:12.5px;font-weight:600;color:var(--accent-strong)}
.mini__name{font-size:18px;font-weight:700;letter-spacing:-.01em;color:var(--text)}
.mini__engine{font-size:13.5px;color:var(--muted)}
.mini__specs{margin-top:12px;display:flex;flex-wrap:wrap;gap:6px}
.mini__specs b{font-size:12px;font-weight:600;color:var(--text-2);font-variant-numeric:tabular-nums;
  background:var(--surface-3);border:1px solid var(--border);padding:3px 9px;border-radius:6px}
.mini--queue{border-style:dashed;background:transparent;cursor:pointer;align-items:flex-start}
.mini--queue .mini__name{color:var(--muted)}
.mini--queue:hover{border-color:var(--accent)}

/* ---------- how / trust ---------- */
.how__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.how__step{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);padding:22px}
.how__step b{display:block;font-size:13px;font-weight:700;color:var(--accent-strong);margin-bottom:8px}
.how__step p{font-size:14px;color:var(--muted)}
@media(max-width:760px){.how__grid{grid-template-columns:1fr}}
.trust{background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--accent);
  border-radius:var(--r);padding:24px 26px;margin:44px 0 8px}
.trust__t{font-size:15px;font-weight:700;margin-bottom:8px}
.trust p{font-size:14.5px;color:var(--text-2)}

/* ---------- card page ---------- */
.card{padding:32px 32px 64px}
@media(max-width:640px){.card{padding:24px 20px 56px}}
.crumb{font-size:13px;color:var(--muted);margin-bottom:16px}
.crumb a{color:var(--muted)}
.crumb a:hover{color:var(--accent-strong)}
.card__head{padding:30px;margin-bottom:18px}
.card__years{font-size:14px;font-weight:600;color:var(--accent-strong)}
.card__title{font-size:clamp(30px,4.6vw,44px);font-weight:800;letter-spacing:-.02em;line-height:1.08;margin:2px 0 12px}
.card__title strong{color:var(--accent-strong);font-weight:800}
.chip{display:inline-block;font-size:13px;font-weight:500;color:var(--text-2);
  background:var(--surface-3);border:1px solid var(--border);border-radius:8px;padding:5px 11px;margin:2px 6px 2px 0}
.chip--acc{color:var(--text);border-color:var(--border-strong);font-weight:600}
.card__tag{margin-top:12px;color:var(--muted);font-size:15px;max-width:70ch}
.chips{position:sticky;top:64px;z-index:30;display:flex;gap:8px;overflow-x:auto;padding:12px 2px;margin:0 -2px 6px;
  background:linear-gradient(180deg,var(--bg) 75%,transparent);-webkit-overflow-scrolling:touch;scrollbar-width:none}
.chips::-webkit-scrollbar{display:none}
.chips a{flex:0 0 auto;font-size:13px;font-weight:500;color:var(--text-2);
  background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:7px 15px}
.chips a:hover{color:var(--text);border-color:var(--border-strong);text-decoration:none}
.grp{margin:26px 0}
.grp__t{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin-bottom:10px}
.grp__fields{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);overflow:hidden}
.f{padding:16px 20px;border-bottom:1px solid var(--border)}
.f:last-child{border-bottom:0}
.f:target{background:var(--accent-soft);box-shadow:inset 3px 0 0 var(--accent)}
.f__k{font-size:12.5px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}
.crit{color:var(--amber);margin-left:6px;cursor:help}
.f__v{display:flex;align-items:baseline;flex-wrap:wrap;gap:10px;margin-top:4px}
.val{font-size:20px;font-weight:650;letter-spacing:-.01em;color:var(--text);font-variant-numeric:tabular-nums;
  padding:0;text-align:left;border-radius:4px}
.val:hover{color:var(--accent-strong)}
.f__alt{color:var(--muted);font-size:14px;font-variant-numeric:tabular-nums}
.f__sub{font-size:13.5px;color:var(--muted);margin-top:4px;max-width:78ch}
.f__src{font-size:12px;color:var(--faint);margin-top:5px}
.b{font-size:11.5px;font-weight:600;border-radius:6px;padding:3px 9px;white-space:nowrap;cursor:help}
.b--ok{color:var(--green);background:var(--green-soft)}
.b--pend{color:var(--amber);background:var(--amber-soft)}
.f--gap{background:var(--surface-2);box-shadow:inset 3px 0 0 var(--border-strong)}
.f__missing{color:var(--muted);font-size:15px}
.req{font-size:12px;font-weight:600;color:var(--amber);background:var(--amber-soft);border-radius:8px;padding:5px 11px}
.req:hover{background:rgba(227,166,60,.2)}
.req--inline{padding:2px 9px}
.notes{background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--accent);
  border-radius:var(--r);padding:20px 24px}
.notes .grp__t{color:var(--text);text-transform:none;letter-spacing:0;font-size:15px}
.notes__list{list-style:none}
.notes__list li{padding:10px 0;border-bottom:1px solid var(--border);font-size:14.5px;color:var(--text-2)}
.notes__list li:last-child{border-bottom:0}
.notes__cred{font-size:12.5px;color:var(--muted);margin-top:10px}
.recalls{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);padding:16px 20px;font-size:14px}
.recall{padding:10px 0;border-bottom:1px solid var(--border)}
.recall:last-child{border-bottom:0}
.recall b{color:var(--red);font-size:13px;font-weight:700}
.recall p{color:var(--muted);font-size:13.5px;margin-top:3px}
.disclaim{margin-top:28px;font-size:13px;color:var(--muted);border-top:1px solid var(--border);padding-top:16px;max-width:90ch}

/* ---------- vin / slim pages ---------- */
.slim{max-width:680px;padding:64px 32px 80px}
@media(max-width:640px){.slim{padding:44px 20px 64px}}
.pg__h1{font-size:clamp(30px,5vw,42px);font-weight:800;letter-spacing:-.02em;margin-bottom:10px}
.pg__sub{color:var(--muted);margin-bottom:26px}
.vinbox{display:flex;gap:10px;padding:12px;border-radius:14px}
.vinbox input{flex:1;min-width:0;background:transparent;border:0;outline:none;color:var(--text);
  font-family:var(--font);font-size:16px;font-weight:500;letter-spacing:.04em;text-transform:uppercase}
.vinbox input::placeholder{color:var(--faint)}
.btn{font-size:14px;font-weight:700;color:#fff;background:var(--accent);border-radius:10px;padding:12px 20px;
  transition:background .15s}
.btn:hover{background:var(--accent-strong)}
.vin-out{margin-top:18px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r);padding:20px}
.vin-out .k{font-size:11.5px;font-weight:600;letter-spacing:.06em;color:var(--muted);text-transform:uppercase}
.vin-out .v{font-size:19px;font-weight:700;margin-bottom:12px;font-variant-numeric:tabular-nums}
.prose h2{font-size:19px;font-weight:700;margin:28px 0 8px}
.prose p,.prose li{font-size:15px;color:var(--text-2)}
.prose ul{padding-left:20px;margin:8px 0}
.prose li{margin:6px 0}

/* ---------- toast ---------- */
.toast{position:fixed;left:50%;bottom:26px;transform:translateX(-50%) translateY(16px);opacity:0;
  background:var(--surface-3);border:1px solid var(--border-strong);color:var(--text);font-size:13.5px;font-weight:500;
  padding:11px 18px;border-radius:10px;z-index:100;transition:all .2s;max-width:88vw;text-align:center;box-shadow:var(--shadow)}
.toast.on{opacity:1;transform:translateX(-50%) translateY(0)}

/* ---------- footer ---------- */
.foot{border-top:1px solid var(--border);margin-top:64px;padding:30px 0 44px}
.foot__law{font-size:14px;color:var(--text-2)}
.foot__meta{font-size:13px;color:var(--muted);margin-top:6px}
.foot__links{font-size:13px;margin-top:14px;color:var(--faint)}
.foot__links a{color:var(--muted)}

/* ---------- print ---------- */
@media print{
  body{background:#fff;color:#000}
  .top,.foot,.chips,.req,.b,.toast,.recalls,.disclaim{display:none!important}
  .panel,.grp__fields,.f,.notes{border-color:#bbb;background:#fff!important;box-shadow:none!important}
  .card__title strong,.grp__t,.val,.notes__list li{color:#000!important}
  .f__src{color:#555}
}
