/* Revolution Wheels concept. Identity: machined aluminium and British racing green, drawn wheel plates, spec-sheet tables. Tokens map to Elementor global colours and fonts. */
:root{
  --al:#e6e7e3;--al2:#d3d5d0;--paper:#f6f6f3;--ink:#14181a;--green:#0d3a2c;--green2:#17523f;
  --red:#d4281c;--red2:#b21f15;--chalk:#f2f4f0;--muted:#59625d;--line:#c5c8c3;
  --fd:"Archivo","Arial Narrow",Arial,sans-serif;--fb:"Public Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font:17px/1.65 var(--fb);color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased}
img,svg{max-width:100%;height:auto;display:block}
a{color:var(--green2);text-underline-offset:3px}
:focus-visible{outline:3px solid var(--red);outline-offset:3px}
h1,h2,h3{font-family:var(--fd);margin:0;line-height:1.06;text-wrap:balance}
h1{font-size:clamp(2.4rem,6vw,4.7rem);font-weight:800;font-stretch:120%;letter-spacing:-.012em}
h2{font-size:clamp(1.75rem,3.6vw,2.75rem);font-weight:800;font-stretch:112%;letter-spacing:-.008em}
h3{font-size:1.3rem;font-weight:700;font-stretch:100%}
p{margin:0 0 1em}
.wrap{width:min(1340px,100% - 48px);margin-inline:auto}
body{max-width:1920px;margin-inline:auto}
html{background:var(--al2)}
.lead{font-size:1.2rem;max-width:56ch}
.muted{color:var(--muted)}

/* Concept banner and header */
.concept{background:var(--ink);color:#e9ece7;font-size:.82rem;text-align:center;padding:7px 14px}
header.site{background:#fff;border-bottom:4px solid var(--green);position:sticky;top:0;z-index:30}
.bar{display:flex;align-items:center;justify-content:space-between;gap:16px 28px;padding:10px 0;flex-wrap:wrap}
.brand img{height:42px;width:auto}
nav ul{list-style:none;margin:0;padding:0;display:flex;gap:2px 20px;flex-wrap:wrap}
nav a{color:var(--ink);text-decoration:none;font-weight:600;font-size:.95rem;padding:6px 0;border-bottom:3px solid transparent;display:inline-block}
nav a:hover,nav a[aria-current=page]{border-bottom-color:var(--red)}

/* Buttons */
.btn{display:inline-block;background:var(--red);color:#fff;font-family:var(--fd);font-weight:700;font-stretch:108%;text-decoration:none;padding:14px 26px;border:2px solid var(--red);cursor:pointer}
.btn:hover{background:var(--red2);border-color:var(--red2)}
.btn.line{background:transparent;color:inherit;border-color:currentColor}
.btn.line:hover{background:var(--chalk);color:var(--ink);border-color:var(--chalk)}
.cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}

/* Hero */
.hero{background:var(--green);color:var(--chalk);overflow:hidden}
.hero h1{font-size:clamp(2.6rem,5.2vw,5rem)}
.hero .wrap{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:32px;align-items:center;padding-block:120px}
.hero .lead{color:#cbd9d2;margin-top:22px}
.hero svg.art{width:100%;max-width:600px;justify-self:center;color:var(--al)}
.pagehead{background:var(--green);color:var(--chalk)}
.pagehead .wrap{padding-block:56px 52px;display:grid;grid-template-columns:minmax(0,1fr) 150px;gap:28px;align-items:center}
.pagehead .lead{color:#cbd9d2;margin-top:18px}
.pagehead svg{width:150px;color:var(--al);justify-self:end}
.crumbs{font-size:.88rem;color:#a9bdb4;margin:0 0 14px}
.crumbs a{color:#d6e2dc}

/* Sections */
section.block{padding-block:120px}
section.alt{background:var(--al)}
section.deep{background:var(--ink);color:var(--chalk)}
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:start}
.sec-head{max-width:62ch;margin-bottom:40px}
.sec-head p{color:var(--muted);margin:14px 0 0}
.deep .sec-head p{color:#aab5b0}

/* Spec table */
table.spec{width:100%;border-collapse:collapse;background:#fff;border:2px solid var(--ink)}
table.spec th,table.spec td{text-align:left;padding:13px 16px;border-bottom:1px solid var(--line);vertical-align:top}
table.spec tr:last-child th,table.spec tr:last-child td{border-bottom:0}
table.spec th{font-family:var(--fd);font-weight:700;font-stretch:90%;width:34%;background:var(--al)}

/* Range panels */
.ranges{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:2px solid var(--ink);background:var(--ink);gap:2px}
.range{background:var(--al);padding:28px;display:flex;flex-direction:column;gap:12px}
.range .pic{background:#fff;display:grid;place-items:center;padding:18px;min-height:230px}
.range .pic img{max-height:200px;width:auto}
.range ul{margin:0 0 6px;padding-left:1.1em;color:var(--muted);font-size:.97rem}
.range .more{margin-top:auto;font-family:var(--fd);font-weight:700;font-stretch:105%;color:var(--red2)}

/* Facts grid */
.facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 36px}
.fact{padding:24px 0;border-top:2px solid currentColor}
.fact h3{margin-bottom:8px}
.fact p{margin:0;opacity:.82;font-size:.98rem}

/* Drivers */
.drivers{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 40px}
.drivers li{padding:14px 0;border-top:1px solid #3a4a44;display:flex;justify-content:space-between;gap:16px}
.drivers b{font-family:var(--fd);font-stretch:105%;font-size:1.15rem}
.drivers span{color:#aab5b0;font-size:.95rem;text-align:right}

/* Timeline */
.timeline{list-style:none;margin:0;padding:0;border-left:3px solid var(--green)}
.timeline li{position:relative;padding:0 0 28px 28px}
.timeline li::before{content:"";position:absolute;left:-9px;top:6px;width:15px;height:15px;background:var(--red)}
.timeline b{font-family:var(--fd);font-weight:800;font-stretch:112%;font-size:1.4rem;display:block}
.timeline p{margin:2px 0 0;color:var(--muted);max-width:62ch}

/* Family sections */
.family{display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:44px;align-items:start;padding-block:60px;border-top:1px solid var(--line)}
.family:first-of-type{border-top:0}
.plate{background:var(--al);aspect-ratio:1;display:grid;place-items:center;padding:26px;border:2px solid var(--ink)}
.plate svg{width:100%;color:var(--green)}
.family h2{font-size:clamp(1.6rem,3vw,2.3rem)}
.tag{display:inline-block;background:var(--ink);color:#fff;font-family:var(--fd);font-weight:600;font-stretch:90%;font-size:.88rem;padding:3px 10px;margin:0 8px 14px 0}
.tag.red{background:var(--red)}
.family p{max-width:62ch}
.tablewrap{overflow-x:auto;margin:20px 0 8px;border:2px solid var(--ink);background:#fff}
table.data{border-collapse:collapse;width:100%;min-width:560px;font-size:.96rem}
table.data th,table.data td{text-align:left;padding:10px 14px;border-bottom:1px solid var(--line)}
table.data thead th{background:var(--ink);color:#fff;font-family:var(--fd);font-weight:600;font-stretch:92%}
table.data tr:last-child td{border-bottom:0}
.note{font-size:.88rem;color:var(--muted);max-width:70ch}

/* Cards (dealers, tools) */
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.card{background:#fff;border:2px solid var(--ink);padding:26px;display:flex;flex-direction:column;gap:10px}
.card p{color:var(--muted);margin:0}
.card .more{margin-top:auto;padding-top:10px;font-family:var(--fd);font-weight:700;font-stretch:105%;color:var(--red2)}

/* Band, contact, footer */
.band{background:var(--red);color:#fff}
.band .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:22px;padding-block:56px}
.band h2{max-width:22ch}
.band .btn{background:var(--ink);border-color:var(--ink)}
.band .btn:hover{background:#000;border-color:#000}
dl.contact{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 40px;margin:0}
dl.contact dt{font-family:var(--fd);font-stretch:90%;font-weight:600;color:var(--muted);font-size:.9rem}
dl.contact dd{margin:2px 0 0;font-size:1.25rem}
ul.check{margin:0;padding-left:1.2em}
ul.check li{margin-bottom:6px}
footer{background:var(--green);color:#c3d3cb;padding-block:52px 28px;font-size:.96rem}
footer .cols{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px}
footer h3{color:#fff;font-size:1.05rem;margin-bottom:10px}
footer ul{list-style:none;margin:0;padding:0;display:grid;gap:5px}
footer a{color:#fff}
footer .fine{border-top:1px solid #2c5b4b;margin-top:30px;padding-top:18px;font-size:.86rem;color:#9fb6ac}

@media(max-width:900px){
  .hero .wrap,.split,.family{grid-template-columns:minmax(0,1fr)}
  .hero .wrap{padding-block:48px}
  .hero svg.art{max-width:300px;order:-1}
  .pagehead .wrap{grid-template-columns:minmax(0,1fr)}
  .pagehead svg{display:none}
  .ranges,.facts,.cards{grid-template-columns:minmax(0,1fr)}
  .family .plate{max-width:240px}
  footer .cols{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  section.block{padding-block:52px}
}
@media(max-width:560px){.drivers,dl.contact,footer .cols{grid-template-columns:minmax(0,1fr)}}
