/* ============================================================
   _marquee.css — shared layout vocabulary for The Rapp Firm
   dealer-tool pages (assets, driver-changelog, eol-tracker,
   hyperion-matrix, mxnet-decoder, npi-timeline).
   Provides the hero / section / table / chip classes those
   pages reference. Styled to the marquee system; consumes the
   design tokens each page defines inline (--gold, --cinzel, …).
   Only defines classes NOT set inline, so cascade order is safe.
   ============================================================ */

/* ---- hero ---------------------------------------------------- */
.page-hero{max-width:1100px;margin:0 auto;padding:60px 28px 30px;text-align:center}
.page-hero .eyebrow,.eyebrow{font-family:var(--oswald);font-size:9px;letter-spacing:.26em;text-transform:uppercase;color:var(--text3);margin-bottom:16px}
.page-hero h1{font-family:var(--cinzel);font-size:clamp(28px,5.2vw,58px);font-weight:700;letter-spacing:.04em;line-height:1.05;color:var(--text);margin:0 0 20px}
.accent{color:var(--gold)}
.deck{font-family:var(--corm);font-style:italic;font-weight:300;font-size:clamp(15px,1.6vw,19px);color:var(--text2);max-width:720px;margin:0 auto;line-height:1.7}

/* ---- section containers ------------------------------------- */
.narrow{max-width:900px;margin:0 auto;padding:40px 28px}
.wide{max-width:1240px;margin:0 auto;padding:40px 28px}
.section-label{font-family:var(--cinzel);font-size:clamp(17px,2.3vw,28px);color:var(--text);font-weight:400;letter-spacing:.03em;line-height:1.15;margin-bottom:22px;padding-bottom:14px;border-bottom:1px solid var(--border);position:relative}
.section-label::after{content:"";position:absolute;left:0;bottom:-1px;width:130px;height:1px;background:linear-gradient(90deg,var(--gold-dim),transparent)}

/* ---- cards / grids ------------------------------------------ */
.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:18px}
.card h3{font-family:var(--cinzel);font-weight:400;color:var(--text);letter-spacing:.02em;margin:0 0 4px}
.hyp-card{border-top:2px solid var(--gold-dim)}
.card:hover,.hyp-card:hover{border-color:var(--gold-dim)}
.sku{font-family:var(--oswald);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--text3)}

/* ---- comparison table --------------------------------------- */
.data{width:100%;border-collapse:collapse;font-family:var(--corm);font-size:14px;color:var(--text2)}
.data th,.data td{border:1px solid var(--border);padding:11px 13px;text-align:center;vertical-align:top}
.data thead th{background:var(--bg2);color:var(--gold);font-family:var(--cinzel);font-weight:400;font-size:14px;letter-spacing:.02em;padding:14px 13px}
.data thead th .sku{display:block;color:var(--text3);margin-top:4px;font-size:10px}
.data tbody th[scope=row]{font-family:var(--oswald);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--text);text-align:left}
.data tbody tr:nth-child(2n) td{background:rgba(255,255,255,.018)}

/* ---- pullquote ---------------------------------------------- */
.pullquote{border-left:3px solid var(--gold-dim);background:var(--bg2);padding:24px 28px;margin:8px 0;font-family:var(--corm);font-style:italic;font-size:17px;line-height:1.7;color:var(--text2)}
.pullquote .label{display:block;font-family:var(--oswald);font-style:normal;font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:12px}

/* ---- filter bar / chips (tool pages) ------------------------ */
.filter-bar{display:flex;flex-wrap:wrap;gap:9px;align-items:center;margin:0 0 22px;padding:14px 16px;background:var(--bg2);border:1px solid var(--border)}
.chip{font-family:var(--oswald);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--text3);padding:7px 14px;border:1px solid var(--border);background:transparent;cursor:pointer;transition:all .16s;white-space:nowrap}
.chip:hover{border-color:var(--gold-dim);color:var(--text2)}
.chip.active,.chip[aria-pressed=true]{background:var(--gold);border-color:var(--gold);color:var(--bg)}
.results-count{font-family:var(--oswald);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--text3);margin-left:auto}

/* ---- utilities ---------------------------------------------- */
.label{font-family:var(--oswald);font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--text3)}
.muted{color:var(--text3)}
.danger{color:#FF6B5E}
.new{display:inline-block;font-family:var(--oswald);font-size:8px;letter-spacing:.14em;text-transform:uppercase;color:var(--bg);background:var(--gold);padding:2px 7px;margin-left:6px;vertical-align:middle}
.btn.small{padding:7px 14px;font-size:9px;letter-spacing:.1em}
.btn.solid{background:var(--gold);color:var(--bg);border:1px solid var(--gold)}
.btn.solid:hover{background:var(--gold2);border-color:var(--gold2)}
.asset-shell{max-width:1240px;margin:0 auto;padding:0 28px 60px}

/* ---- responsive --------------------------------------------- */
@media(max-width:680px){
  .narrow,.wide,.asset-shell{padding-left:18px;padding-right:18px}
  .data{font-size:12px}.data th,.data td{padding:8px 9px}
  .page-hero{padding:44px 18px 24px}
  .card-grid{grid-template-columns:1fr}
}
