:root{
  --navy:#0b2545;
  --navy-light:#13355e;
  --saffron:#ff9933;
  --green:#138808;
  --bg:#f7f8fa;
  --ink:#1a1f2b;
  --muted:#5c6470;
  --border:#e3e6ec;
}
*{box-sizing:border-box}
body{font-family:'Inter',system-ui,sans-serif;color:var(--ink);background:var(--bg);margin:0}
.container{max-width:1140px;margin:0 auto;padding:0 20px}

/* Top strip */
.top-strip{background:var(--navy);color:#fff;font-size:12px;padding:6px 0}
.top-strip .container{display:flex;justify-content:space-between;align-items:center}
.top-strip .accent{color:var(--saffron)}

/* Header */
header.site-header{background:#fff;border-bottom:1px solid var(--border);position:sticky;top:0;z-index:40}
.nav-wrap{display:flex;align-items:center;justify-content:space-between;padding:14px 0}
.logo{font-weight:800;font-size:20px;color:var(--navy);text-decoration:none;display:flex;align-items:center;gap:8px}
.logo .dot{width:10px;height:10px;border-radius:50%;background:var(--saffron)}
nav.main-nav{display:flex;gap:26px}
nav.main-nav a{color:var(--ink);text-decoration:none;font-size:14.5px;font-weight:600}
nav.main-nav a:hover{color:var(--navy)}
.cta-btn{background:var(--navy);color:#fff;padding:9px 18px;border-radius:6px;font-weight:700;font-size:14px;text-decoration:none}
.cta-btn:hover{background:var(--navy-light)}
.menu-toggle{display:none;background:none;border:none;font-size:22px;cursor:pointer}

/* News ticker */
.ticker-bar{background:#fff3e6;border-bottom:1px solid var(--border);overflow:hidden;white-space:nowrap}
.ticker-bar .label{background:var(--saffron);color:#fff;font-weight:800;font-size:12px;padding:6px 14px;display:inline-block}
.ticker-track{display:inline-block;padding-left:20px;animation:ticker 28s linear infinite;font-size:13.5px}
.ticker-track span{margin-right:48px;color:var(--navy-light)}
@keyframes ticker{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

/* Hero */
.hero{background:linear-gradient(135deg,var(--navy) 0%,var(--navy-light) 100%);color:#fff;padding:64px 0}
.hero h1{font-size:38px;line-height:1.2;margin:0 0 14px;max-width:680px}
.hero p{color:#cfd8e6;font-size:16.5px;max-width:600px;margin:0 0 26px}
.hero .btns{display:flex;gap:14px;flex-wrap:wrap}
.btn-primary{background:var(--saffron);color:#fff;padding:13px 24px;border-radius:6px;font-weight:700;text-decoration:none}
.btn-secondary{background:transparent;border:1.5px solid #fff;color:#fff;padding:12px 24px;border-radius:6px;font-weight:700;text-decoration:none}
.badge-strip{display:flex;gap:18px;margin-top:32px;flex-wrap:wrap}
.badge-strip div{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);padding:10px 16px;border-radius:8px;font-size:13px}
.badge-strip strong{color:var(--saffron);display:block;font-size:17px}

/* Section titles */
.section{padding:56px 0}
.section-title{font-size:26px;font-weight:800;color:var(--navy);margin:0 0 6px}
.section-sub{color:var(--muted);margin:0 0 32px;font-size:15px}

/* Quick links grid */
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.card{background:#fff;border:1px solid var(--border);border-radius:10px;padding:22px;text-decoration:none;color:var(--ink);display:block;transition:.15s}
.card:hover{border-color:var(--navy);box-shadow:0 6px 18px rgba(11,37,69,.08);transform:translateY(-2px)}
.card .icon{width:40px;height:40px;border-radius:8px;background:#eef2ff;display:flex;align-items:center;justify-content:center;font-size:20px;margin-bottom:12px}
.card h3{margin:0 0 8px;font-size:16.5px;color:var(--navy)}
.card p{margin:0;font-size:13.5px;color:var(--muted);line-height:1.5}

/* Article card */
.article-card{background:#fff;border:1px solid var(--border);border-radius:10px;overflow:hidden;text-decoration:none;color:var(--ink);display:block}
.article-card:hover{box-shadow:0 6px 18px rgba(11,37,69,.08)}
.article-thumb{height:140px;background:linear-gradient(135deg,var(--navy),var(--green));display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;font-size:13px;letter-spacing:.5px}
.article-body{padding:16px 18px}
.article-tag{display:inline-block;background:#fff3e6;color:#b5610a;font-size:11px;font-weight:700;padding:3px 10px;border-radius:20px;margin-bottom:8px}
.article-body h3{font-size:15.5px;margin:0 0 8px;color:var(--navy)}
.article-body p{font-size:13px;color:var(--muted);margin:0}

/* Ad zones */
.ad-zone{background:#fff;border:1.5px dashed #c6cbd4;color:#9aa1ad;text-align:center;padding:22px;border-radius:8px;font-size:12.5px;font-weight:600;letter-spacing:.4px}
.ad-header{margin:14px 0}
.ad-sidebar{margin-bottom:20px}
.ad-inarticle{margin:28px 0}

/* Calculator */
.calc-wrap{background:#fff;border:1px solid var(--border);border-radius:14px;padding:32px;box-shadow:0 10px 30px rgba(11,37,69,.06)}
.calc-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.field label{display:block;font-weight:700;font-size:13.5px;margin-bottom:7px;color:var(--navy)}
.field input,.field select{width:100%;padding:11px 12px;border:1.5px solid var(--border);border-radius:7px;font-size:14.5px;font-family:inherit}
.field input:focus,.field select:focus{outline:none;border-color:var(--navy)}
.field small{color:var(--muted);font-size:12px}
.calc-result{margin-top:26px;background:var(--navy);color:#fff;border-radius:10px;padding:24px;display:flex;justify-content:space-around;flex-wrap:wrap;gap:16px;text-align:center}
.calc-result .stat strong{display:block;font-size:24px;color:var(--saffron)}
.calc-result .stat span{font-size:12.5px;color:#cfd8e6}
.fitment-note{font-size:12.5px;color:var(--muted);margin-top:14px;background:#f7f8fa;border-radius:6px;padding:10px 12px}

/* Tables */
table.matrix{width:100%;border-collapse:collapse;font-size:13.5px;background:#fff}
table.matrix th{background:var(--navy);color:#fff;padding:10px 12px;text-align:left;position:sticky;top:0}
table.matrix td{padding:9px 12px;border-bottom:1px solid var(--border)}
table.matrix tr:nth-child(even){background:#fafbfc}
.table-scroll{overflow-x:auto;border:1px solid var(--border);border-radius:10px}
.disclaimer{background:#fff3e6;border-left:4px solid var(--saffron);padding:14px 18px;border-radius:6px;font-size:13.5px;color:#7a4a12;margin:20px 0}

/* Prose (blog/article) */
.prose{max-width:760px;margin:0 auto}
.prose h1{color:var(--navy);font-size:30px}
.prose h2{color:var(--navy);font-size:21px;margin-top:32px}
.prose p{line-height:1.75;color:#333;font-size:15.5px}
.prose ul{line-height:1.8;font-size:15.5px}
.breadcrumb{font-size:12.5px;color:var(--muted);margin-bottom:18px}
.breadcrumb a{color:var(--muted);text-decoration:none}

/* FAQ */
.faq-item{border:1px solid var(--border);border-radius:8px;padding:16px 18px;margin-bottom:12px;background:#fff}
.faq-item h4{margin:0 0 8px;color:var(--navy);font-size:15px}
.faq-item p{margin:0;color:var(--muted);font-size:14px;line-height:1.6}

/* Footer */
footer{background:var(--navy);color:#cfd8e6;padding:44px 0 22px;margin-top:40px}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:30px}
footer h4{color:#fff;font-size:14px;margin:0 0 14px}
footer a{color:#cfd8e6;text-decoration:none;font-size:13.5px;display:block;margin-bottom:9px}
footer a:hover{color:var(--saffron)}
.footer-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:30px;padding-top:18px;font-size:12.5px;color:#9fb0c8;text-align:center}

/* Status badges — never rely on color alone, text label always present */
.badge{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:800;padding:3px 10px;border-radius:20px;letter-spacing:.3px;text-transform:uppercase;white-space:nowrap;border:1px solid transparent}
.badge-official{background:#e7f5e6;color:#1a7a0e;border-color:#b7e2b0}
.badge-proposed{background:#eef2ff;color:#3949ab;border-color:#c8d0f7}
.badge-reported{background:#fff8e1;color:#9a6c00;border-color:#f0dfa0}
.badge-estimate{background:#fff3e6;color:#b5610a;border-color:#f5c896}
.badge-notannounced{background:#f1f2f4;color:#5c6470;border-color:#d8dbe0}

/* Accessibility */
.skip-link{position:absolute;left:-9999px;top:auto;background:var(--navy);color:#fff;padding:10px 18px;z-index:200;border-radius:0 0 6px 0;text-decoration:none;font-weight:700;font-size:13px}
.skip-link:focus{left:0;top:0}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--saffron);outline-offset:2px}

/* Calculator validation */
.field.invalid input,.field.invalid select{border-color:#c0392b;background:#fff6f5}
.field-error{color:#c0392b;font-size:12px;margin-top:6px;display:none;font-weight:600}
.field.invalid .field-error{display:block}
.error-summary{display:none;background:#fdecea;border:1px solid #f3c1ba;color:#8a2b1f;padding:12px 16px;border-radius:8px;font-size:13.5px;margin-bottom:18px}
.error-summary.show{display:block}

/* Disclaimer callouts */
.fitment-disclaimer{background:#fff3e6;border:1px solid #f5c896;border-left:4px solid var(--saffron);padding:12px 16px;border-radius:6px;font-size:13px;color:#7a4a12;margin-top:16px;line-height:1.6}
.status-line{font-size:12px;color:var(--muted);margin:8px 0 20px;display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.footer-disclaimer{font-size:12px;color:#a9b7cc;line-height:1.7;max-width:920px;margin:26px auto 0;text-align:center;padding:18px 20px 0;border-top:1px solid rgba(255,255,255,.12)}
.legal-nav{display:flex;gap:14px;flex-wrap:wrap;font-size:12.5px;justify-content:center;margin-top:14px}
.legal-nav a{display:inline;margin:0}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Row helper for badge + heading */
.row-badge{display:flex;align-items:center;gap:10px;flex-wrap:wrap}

@media(max-width:900px){
  .grid-4{grid-template-columns:repeat(2,1fr)}
  .grid-3{grid-template-columns:1fr}
  .grid-2{grid-template-columns:1fr}
  .calc-grid{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr 1fr}
  nav.main-nav{display:none}
  .hero h1{font-size:28px}
}
