/* ==========================================================================
   Velocity — design tokens, reset, base typography
   Instrument-cluster / asphalt-and-chrome identity.
   ========================================================================== */

:root{
  /* Surfaces */
  --graphite:   #0E0F11;
  --surface:    #17191D;
  --surface-2:  #1F2228;
  --hairline:   #2A2E35;
  /* Text / metal */
  --chrome:     #EDEEF0;
  --silver:     #A7ADB6;
  --steel:      #9CA3AE; /* lightened from #6B7280 for AA text contrast on dark surfaces */
  --steel-deco: #6B7280; /* original darker tone — decorative use only (ticks, borders) */
  /* Accents */
  --ignition:   #FF9E1B;
  --ignition-2: #FFB54D;
  --available:  #36C77E;
  --sold:       #E5484D;

  --chrome-grad: linear-gradient(180deg,#FFFFFF 0%,#C8CCD2 42%,#8A9099 52%,#EDEEF0 100%);

  /* Type */
  --font-display: "Saira Semi Condensed", "Arial Narrow", system-ui, sans-serif;
  --font-body: "Inter", system-ui, -apple-system, Segoe UI, Roboto, sans-serif;

  /* Spacing / radius / motion */
  --r-sm: 4px;
  --r-md: 8px;
  --container: 1200px;
  --gutter: clamp(1rem, 4vw, 2.5rem);
  --ease: cubic-bezier(.22,.61,.36,1);
  --shadow: 0 18px 50px -20px rgba(0,0,0,.7);
  --shadow-card: 0 10px 30px -16px rgba(0,0,0,.65);

  --header-h: 76px;
}

/* ---- Reset ---- */
*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
@media (prefers-reduced-motion: reduce){ html{ scroll-behavior:auto; } }
body{
  margin:0;
  background:var(--graphite);
  color:var(--chrome);
  font-family:var(--font-body);
  font-size:1rem;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
img,svg,video{ max-width:100%; height:auto; display:block; }
a{ color:inherit; text-decoration:none; }
button{ font:inherit; color:inherit; cursor:pointer; }
ul{ margin:0; padding:0; list-style:none; }
:focus-visible{ outline:3px solid var(--ignition); outline-offset:2px; border-radius:var(--r-sm); }

/* tabular figures everywhere numbers matter */
.vv-num, .vv-price, table, .vv-spec, .vv-stat{ font-variant-numeric: tabular-nums; }

/* ---- Typography ---- */
h1,h2,h3,h4{ font-family:var(--font-display); font-weight:700; line-height:1.04; margin:0 0 .5em; letter-spacing:-.01em; }
h1{ font-size:clamp(2.6rem,6vw,5rem); text-transform:uppercase; letter-spacing:-.02em; }
h2{ font-size:clamp(1.8rem,3.5vw,2.8rem); text-transform:uppercase; }
h3{ font-size:clamp(1.3rem,2.2vw,1.7rem); }
p{ margin:0 0 1rem; }
strong{ color:var(--chrome); }

.vv-eyebrow{
  font-family:var(--font-body);
  font-size:.8rem; font-weight:600;
  letter-spacing:.16em; text-transform:uppercase;
  color:var(--steel);
  display:inline-block; margin-bottom:1rem;
}
.vv-lead{ font-size:clamp(1.05rem,1.6vw,1.25rem); color:var(--silver); max-width:60ch; }
.vv-muted{ color:var(--steel); }
.vv-caption{ font-size:.8rem; letter-spacing:.08em; text-transform:uppercase; color:var(--steel); }

/* Brushed-metal wordmark */
.vv-chrome-text{
  background:var(--chrome-grad);
  -webkit-background-clip:text; background-clip:text;
  color:transparent;
  -webkit-text-fill-color:transparent;
}

/* Layout primitives */
.vv-container{ width:min(100% - 2*var(--gutter), var(--container)); margin-inline:auto; }
.vv-section{ padding-block:clamp(3.5rem,8vw,6.5rem); }
.vv-section--tight{ padding-block:clamp(2.5rem,5vw,4rem); }
.skip-link{ position:absolute; left:-9999px; top:0; background:var(--ignition); color:#111; padding:.6rem 1rem; z-index:1000; font-weight:600; }
.skip-link:focus{ left:1rem; top:1rem; }
.screen-reader-text{ position:absolute!important; width:1px; height:1px; overflow:hidden; clip:rect(1px,1px,1px,1px); white-space:nowrap; }
