:root{
  --steel:#E8ECEF; --steel-deep:#D5DBE0; --ink:#17263A; --ink-soft:#41546C;
  --plate:#C9CFD4; --plate-edge:#9AA4AC; --stamp:#1B222B;
  --cert-green:#1F6B58; --amber:#C77C0A; --amber-deep:#A46403;
  --paper:#FBFBF9; --line:#B9C2C9;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Barlow',sans-serif;background:var(--steel);color:var(--ink);line-height:1.6;-webkit-font-smoothing:antialiased}
.wrap{max-width:1060px;margin:0 auto;padding:0 20px}
img{max-width:100%;height:auto;border-radius:8px;border:1px solid var(--line);background:var(--paper)}
figure{margin:26px 0}
figcaption{font-family:'B612 Mono',monospace;font-size:.68rem;letter-spacing:.08em;color:#6B7886;margin-top:8px;text-transform:uppercase}

/* header + nav */
header{background:var(--ink);color:#E9EDF2;border-bottom:4px solid var(--amber)}
.hd-in{display:flex;align-items:center;justify-content:space-between;padding:14px 0;gap:16px;flex-wrap:wrap}
.logo{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:1.5rem;letter-spacing:.04em;text-transform:uppercase;color:#fff;text-decoration:none}
.logo span{color:var(--amber)}
nav.main{display:flex;gap:4px;flex-wrap:wrap}
nav.main a{font-family:'Barlow Condensed',sans-serif;font-weight:600;font-size:.95rem;letter-spacing:.05em;text-transform:uppercase;color:#C6D2E0;text-decoration:none;padding:6px 10px;border-radius:4px}
nav.main a:hover,nav.main a[aria-current="page"]{background:rgba(255,255,255,.1);color:#fff}

/* breadcrumb */
.crumbs{font-family:'B612 Mono',monospace;font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;color:#6B7886;padding:16px 0 0}
.crumbs a{color:var(--cert-green);text-decoration:none}

/* article layout */
article.page{background:var(--paper);border:1px solid var(--line);border-radius:10px;max-width:860px;margin:20px auto 40px;padding:36px 34px 30px}
article.page h1{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:clamp(1.8rem,4.5vw,2.6rem);line-height:1.08;text-transform:uppercase;letter-spacing:.02em;margin-bottom:8px}
.byline{font-family:'B612 Mono',monospace;font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:#7A8694;margin-bottom:22px}
article.page h2{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:1.5rem;text-transform:uppercase;letter-spacing:.02em;margin:30px 0 10px}
article.page h3{font-family:'Barlow Condensed',sans-serif;font-weight:600;font-size:1.2rem;text-transform:uppercase;margin:20px 0 6px}
article.page p{margin-bottom:14px;color:#2A3A50}
article.page ul,article.page ol{margin:0 0 14px 22px;color:#2A3A50}
article.page li{margin-bottom:6px}
article.page a{color:var(--cert-green)}
.lead{font-size:1.08rem;color:var(--ink)!important;font-weight:500}

/* data tables */
table.data{width:100%;border-collapse:collapse;margin:16px 0 22px;font-size:.92rem}
table.data th{font-family:'Barlow Condensed',sans-serif;font-weight:600;font-size:1rem;text-transform:uppercase;letter-spacing:.04em;background:var(--ink);color:#E9EDF2;padding:10px 12px;text-align:left}
table.data td{padding:9px 12px;border-bottom:1px solid #E7E4DB;vertical-align:top}
table.data tr:nth-child(even) td{background:#F4F3EE}
table.data td.mono,table.data th.mono{font-family:'B612 Mono',monospace;font-size:.85rem}
.tbl-scroll{overflow-x:auto}

/* callouts */
.callout{border-left:4px solid var(--cert-green);background:#EFF6F3;border-radius:0 8px 8px 0;padding:14px 18px;margin:18px 0}
.callout.warn{border-color:var(--amber);background:#FDF6EA}
.callout p:last-child{margin-bottom:0}

/* affiliate CTA block */
.cta-box{background:#FDF6EA;border:1px solid #EDDDBE;border-radius:10px;padding:20px 22px;margin:26px 0;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.cta-box p{margin:0;max-width:520px;font-size:.95rem}
.cta-box p strong{color:var(--ink)}
a.btn-amber{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:1.1rem;letter-spacing:.07em;text-transform:uppercase;text-decoration:none!important;background:var(--amber);color:#fff!important;border-radius:6px;padding:12px 26px;box-shadow:0 3px 0 var(--amber-deep);white-space:nowrap;display:inline-block;transition:transform .08s}
a.btn-amber:hover{transform:translateY(-1px)}
a.btn-green{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:1.05rem;letter-spacing:.07em;text-transform:uppercase;text-decoration:none!important;background:var(--cert-green);color:#fff!important;border-radius:6px;padding:11px 22px;box-shadow:0 3px 0 #14493C;white-space:nowrap;display:inline-block}
.disclosure{font-size:.75rem;color:#6B7886;font-family:'B612 Mono',monospace;line-height:1.6;margin-top:10px}

/* FAQ accordions */
details{background:#F4F3EE;border:1px solid var(--line);border-radius:8px;margin-bottom:10px;overflow:hidden}
summary{cursor:pointer;padding:13px 16px;font-family:'Barlow Condensed',sans-serif;font-weight:600;font-size:1.1rem;text-transform:uppercase;letter-spacing:.02em;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:10px}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";font-family:'B612 Mono',monospace;color:var(--cert-green)}
details[open] summary::after{content:"\2013"}
details .a{padding:0 16px 14px;color:var(--ink-soft);font-size:.94rem}

/* related pages */
.related{max-width:860px;margin:0 auto 46px}
.related h2{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:1.4rem;text-transform:uppercase;margin-bottom:12px}
.rel-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}
.rel-grid a{background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:14px 16px;text-decoration:none;color:var(--ink);display:block}
.rel-grid a:hover{border-color:var(--cert-green)}
.rel-grid .t{font-family:'Barlow Condensed',sans-serif;font-weight:600;font-size:1.1rem;text-transform:uppercase;display:block}
.rel-grid .d{font-size:.85rem;color:var(--ink-soft)}

/* homepage hero + plate (from v1) */
.hero{padding:52px 0 40px;text-align:center}
.hero h1{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:clamp(2.1rem,5.5vw,3.4rem);line-height:1.05;text-transform:uppercase;letter-spacing:.02em}
.hero h1 em{font-style:normal;color:var(--cert-green)}
.hero p.sub{max-width:600px;margin:14px auto 0;color:var(--ink-soft);font-size:1.05rem}
.plate-zone{padding:8px 0 26px}
.plate{background:linear-gradient(178deg,#D3D9DE 0%,var(--plate) 45%,#BEC6CC 100%);border:1px solid var(--plate-edge);border-radius:10px;box-shadow:0 1px 0 #fff inset,0 10px 26px rgba(23,38,58,.16);max-width:860px;margin:0 auto;padding:26px 22px 20px;position:relative}
.rivet{position:absolute;width:13px;height:13px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#F2F4F5,#8E979E 70%,#6E777E);box-shadow:0 1px 2px rgba(0,0,0,.35)}
.rivet.tl{top:10px;left:10px}.rivet.tr{top:10px;right:10px}.rivet.bl{bottom:10px;left:10px}.rivet.br{bottom:10px;right:10px}
.plate-label{font-family:'B612 Mono',monospace;font-size:.62rem;letter-spacing:.22em;text-transform:uppercase;color:#55606A;text-align:center;margin-bottom:14px}
.cells{display:flex;gap:5px;justify-content:center}
.cell{width:calc((100% - 16*5px)/17);max-width:42px;min-width:0;aspect-ratio:.78;background:linear-gradient(180deg,#EDEFF1,#DCE0E3);border:1px solid #A8B1B8;border-radius:4px;box-shadow:inset 0 2px 3px rgba(0,0,0,.14),0 1px 0 rgba(255,255,255,.7);font-family:'B612 Mono',monospace;font-weight:700;font-size:clamp(.85rem,2.6vw,1.35rem);text-transform:uppercase;text-align:center;color:var(--stamp);caret-color:var(--cert-green);padding:0}
.cell:focus{outline:2px solid var(--cert-green);outline-offset:1px;background:#F4FBF8}
.cell.seg-wmi{border-bottom:3px solid #4A6FA5}.cell.seg-vds{border-bottom:3px solid #7B5EA7}
.cell.seg-chk{border-bottom:3px solid var(--amber)}.cell.seg-yr{border-bottom:3px solid var(--cert-green)}
.cell.seg-plant{border-bottom:3px solid #A6543C}.cell.seg-ser{border-bottom:3px solid #5B6B7B}
.seg-key{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:12px}
.seg-key span{font-family:'B612 Mono',monospace;font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;color:#55606A;display:flex;align-items:center;gap:5px}
.seg-key i{width:14px;height:4px;border-radius:2px;display:inline-block}
.plate-actions{display:flex;gap:10px;justify-content:center;margin-top:18px;flex-wrap:wrap}
button.decode{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:1.15rem;letter-spacing:.08em;text-transform:uppercase;background:var(--cert-green);color:#fff;border:none;border-radius:6px;padding:12px 38px;cursor:pointer;box-shadow:0 3px 0 #14493C;transition:transform .08s,box-shadow .08s}
button.decode:hover{transform:translateY(-1px)}
button.decode:active{transform:translateY(2px);box-shadow:0 1px 0 #14493C}
button.decode:disabled{background:#7d968e;box-shadow:none;cursor:wait}
button.ghost{font-family:'Barlow Condensed',sans-serif;font-weight:600;font-size:1rem;letter-spacing:.06em;text-transform:uppercase;background:transparent;color:var(--ink-soft);border:1px solid var(--plate-edge);border-radius:6px;padding:12px 20px;cursor:pointer}
button.ghost:hover{border-color:var(--ink-soft)}
.plate-msg{text-align:center;font-family:'B612 Mono',monospace;font-size:.75rem;margin-top:12px;min-height:1.2em;color:var(--ink-soft)}
.plate-msg.err{color:#A6382C}
#results{display:none;padding:6px 0 30px}
.res-card{background:var(--paper);border:1px solid var(--line);border-radius:10px;max-width:860px;margin:0 auto;overflow:hidden}
.res-head{background:var(--cert-green);color:#fff;padding:16px 22px;display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}
.res-head h2{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:1.6rem;text-transform:uppercase;letter-spacing:.03em}
.res-head .vin-echo{font-family:'B612 Mono',monospace;font-size:.78rem;opacity:.85}
.res-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}
.res-item{padding:13px 22px;border-bottom:1px solid #E7E4DB;border-right:1px solid #E7E4DB}
.res-item dt{font-family:'B612 Mono',monospace;font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;color:#7A8694;margin-bottom:2px}
.res-item dd{font-weight:600;font-size:.98rem}
.res-cta{padding:20px 22px;background:#FDF6EA;border-top:1px solid #EDDDBE;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.res-cta p{font-size:.92rem;color:var(--ink-soft);max-width:520px}
.res-cta p strong{color:var(--ink)}
section{padding:44px 0}
section.alt{background:var(--steel-deep)}
h2.sec{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:clamp(1.5rem,3.6vw,2.2rem);text-transform:uppercase;letter-spacing:.03em;margin-bottom:8px}
p.sec-sub{color:var(--ink-soft);max-width:640px;margin-bottom:26px}
.segs{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px}
.seg-card{background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:16px 18px}
.seg-card .pos{font-family:'B612 Mono',monospace;font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:#7A8694}
.seg-card h3{font-family:'Barlow Condensed',sans-serif;font-weight:600;font-size:1.2rem;text-transform:uppercase;margin:3px 0 6px;display:flex;align-items:center;gap:8px}
.seg-card h3 i{width:16px;height:5px;border-radius:2px;display:inline-block;flex-shrink:0}
.seg-card p{font-size:.9rem;color:var(--ink-soft)}
.cmp{width:100%;max-width:860px;margin:0 auto;border-collapse:collapse;background:var(--paper);border:1px solid var(--line);border-radius:10px;overflow:hidden}
.cmp-wrap{overflow-x:auto}
.cmp th{font-family:'Barlow Condensed',sans-serif;font-weight:600;font-size:1.05rem;text-transform:uppercase;letter-spacing:.05em;background:var(--ink);color:#E9EDF2;padding:13px 16px;text-align:left}
.cmp td{padding:13px 16px;border-top:1px solid #E7E4DB;font-size:.92rem;vertical-align:top}
.cmp td.name{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:1.15rem;text-transform:uppercase;white-space:nowrap}
.cmp .tick{color:var(--cert-green);font-weight:600}
.cmp a.btn-amber{font-size:.95rem;padding:9px 18px}
footer{background:var(--ink);color:#8FA0B5;padding:30px 0;font-size:.82rem}
footer .f-in{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;align-items:baseline}
footer a{color:#C6D2E0;text-decoration:none}
footer .mono{font-family:'B612 Mono',monospace;font-size:.68rem;letter-spacing:.08em}
footer nav.f-links{display:flex;gap:14px;flex-wrap:wrap;margin-top:8px}
@media (max-width:640px){.cells{gap:3px}.cell{border-radius:3px}.res-item{border-right:none}article.page{padding:26px 18px}}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
