/* GoldVetted shared stylesheet. Mobile first. No framework. */
@font-face{font-family:"Inter";src:url(/assets/fonts/inter-var.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:optional}
@font-face{font-family:"Source Serif";src:url(/assets/fonts/source-serif-var.woff2) format("woff2");font-weight:200 900;font-style:normal;font-display:optional}

:root{
  --ink:#13212e;--ink-2:#3b4954;--ink-3:#5d6a74;
  --paper:#fbf8f1;--card:#ffffff;--tint:#f4efe4;--line:#e4dccb;--line-2:#d6cbb4;
  --gold:#b0811f;--gold-strong:#7a5610;--gold-soft:#f5ecd6;
  --green:#1d6b47;--green-soft:#e3f1e9;--amber:#8a5a00;--amber-soft:#fbf0d9;--red:#9e2f28;--red-soft:#f8e4e1;
  --link:#1b4f7a;
  --radius:12px;--radius-s:8px;
  --shadow:0 1px 2px rgba(19,33,46,.06),0 4px 16px rgba(19,33,46,.06);
  --wrap:1120px;--read:720px;
  --serif:"Source Serif",Georgia,"Times New Roman",serif;
  --sans:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:80px}
body{margin:0;background:var(--paper);color:var(--ink);font:400 17px/1.65 var(--sans);text-rendering:optimizeLegibility}
img,svg{max-width:100%;height:auto}
a{color:var(--link);text-underline-offset:2px;text-decoration-thickness:1px}
a:hover{color:var(--ink)}
:focus-visible{outline:3px solid var(--gold);outline-offset:2px;border-radius:4px}
h1,h2,h3,h4{font-family:var(--serif);color:var(--ink);line-height:1.2;font-weight:650;letter-spacing:-.01em}
h1{font-size:clamp(2rem,4.6vw,3rem);margin:.2em 0 .4em}
h2{font-size:clamp(1.45rem,3vw,1.9rem);margin:2.2em 0 .6em}
h3{font-size:1.2rem;margin:1.6em 0 .5em}
p,ul,ol{margin:0 0 1.05em}
li{margin:.25em 0}
small,.small{font-size:.86rem}
.skip{position:absolute;left:-999px;top:0;background:var(--ink);color:#fff;padding:.6em 1em;z-index:99}
.skip:focus{left:8px;top:8px}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 16px}
.read{max-width:var(--read)}
.muted{color:var(--ink-3)}
.eyebrow{font:600 .78rem/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--gold-strong)}

/* Reserve space for live prices to avoid layout shift */
[data-gold]{display:inline-block;min-width:8.5ch}
.pricebar .wrap{min-height:2.2rem}
@media (max-width:640px){.pricebar .wrap{min-height:3.4rem}}
/* Price strip */
.pricebar{background:var(--ink);color:#e9e4d8;font-size:.82rem}
.pricebar .wrap{display:flex;gap:.4rem 1.2rem;align-items:center;flex-wrap:wrap;padding-top:.45rem;padding-bottom:.45rem}
.pricebar strong{color:#fff;font-weight:600}
.pricebar .pb-item{white-space:nowrap}
.pricebar .pb-time{color:#b9b2a3;margin-left:auto}
.pricebar a{color:#f1d58f}
@media (max-width:640px){.pricebar .pb-hide{display:none}.pricebar .pb-time{margin-left:0}}

/* Header */
.site-header{background:var(--card);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;min-height:64px;gap:1rem}
.logo{display:flex;align-items:center;gap:.55rem;text-decoration:none;color:var(--ink);font:700 1.25rem/1 var(--serif);letter-spacing:-.01em}
.logo svg{width:30px;height:30px;flex:none}
.logo span b{color:var(--gold-strong);font-weight:700}
.nav{display:flex;gap:.2rem;align-items:center}
.nav a{color:var(--ink);text-decoration:none;font-weight:550;font-size:.95rem;padding:.5rem .7rem;border-radius:8px}
.nav a:hover,.nav a[aria-current=page]{background:var(--tint)}
.menu{display:none}
.menu summary{list-style:none;cursor:pointer;padding:.5rem .7rem;border:1px solid var(--line);border-radius:8px;font-weight:600;font-size:.95rem}
.menu summary::-webkit-details-marker{display:none}
@media (max-width:900px){
  .nav{display:none}
  .menu{display:block;position:relative}
  .menu[open] .menu-panel{display:block}
  .menu-panel{display:none;position:absolute;right:0;top:calc(100% + 8px);background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:.5rem;width:min(86vw,320px)}
  .menu-panel a{display:block;padding:.65rem .8rem;color:var(--ink);text-decoration:none;border-radius:8px;font-weight:550}
  .menu-panel a:hover{background:var(--tint)}
}

/* Breadcrumb + meta */
.crumbs{font-size:.85rem;color:var(--ink-3);margin:1.2rem 0 .2rem}
.crumbs ol{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:.3rem}
.crumbs li{margin:0}
.crumbs li+li::before{content:"/";margin-right:.3rem;color:var(--line-2)}
.crumbs a{color:var(--ink-3)}
.pagemeta{display:flex;flex-wrap:wrap;gap:.3rem 1rem;font-size:.85rem;color:var(--ink-3);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:.6rem 0;margin:0 0 1.6rem}
.pagemeta b{color:var(--ink-2);font-weight:600}
.lede{font-size:1.15rem;color:var(--ink-2);max-width:var(--read)}

/* Layout */
.page{display:grid;grid-template-columns:minmax(0,1fr);gap:2.5rem;padding-bottom:3rem}
@media (min-width:1000px){.page.has-aside{grid-template-columns:minmax(0,1fr) 300px}}
.content{max-width:var(--read);min-width:0}
.content.wide{max-width:none}
.aside{position:relative}
.aside .sticky{position:sticky;top:84px;display:grid;gap:1rem}
@media (max-width:999px){.aside{display:none}}

/* Boxes */
.answer{background:var(--card);border:1px solid var(--line);border-left:5px solid var(--gold);border-radius:var(--radius-s);padding:1.1rem 1.25rem;margin:0 0 1.5rem;box-shadow:var(--shadow)}
.answer p{margin:0;font-size:1.06rem}
.answer .label{display:block;font:600 .75rem/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--gold-strong);margin-bottom:.5rem}
.disclosure{background:var(--tint);border:1px solid var(--line);border-radius:var(--radius-s);padding:.75rem 1rem;font-size:.86rem;color:var(--ink-2);margin:0 0 1.5rem}
.disclosure a{color:var(--ink-2)}
.note{background:var(--amber-soft);border:1px solid #efd9a9;border-radius:var(--radius-s);padding:.85rem 1rem;font-size:.92rem;margin:1.4rem 0}
.keyfacts{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1rem 1.2rem;margin:1.2rem 0}
.keyfacts h2,.keyfacts h3{margin-top:0;font-size:1.05rem;font-family:var(--sans);font-weight:700}
.keyfacts ul{margin:0;padding-left:1.1rem}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1.1rem 1.2rem;box-shadow:var(--shadow)}
.card h3{margin-top:0}
.toc{font-size:.92rem}
.toc ol{padding-left:1.1rem;margin:0}
.toc a{color:var(--ink-2)}

/* Grids */
.grid{display:grid;gap:1rem}
@media (min-width:640px){.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:900px){.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}}
.tile{display:block;text-decoration:none;color:var(--ink);background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1.1rem 1.2rem;transition:border-color .15s,transform .15s}
.tile:hover{border-color:var(--gold);transform:translateY(-1px);color:var(--ink)}
.tile h3{margin:.2rem 0 .35rem;font-size:1.12rem}
.tile p{margin:0;color:var(--ink-2);font-size:.95rem}
.tile .flag{font-size:1.5rem;line-height:1}

/* Price cards */
.prices{display:grid;gap:.75rem;grid-template-columns:repeat(2,minmax(0,1fr))}
@media (min-width:800px){.prices{grid-template-columns:repeat(4,minmax(0,1fr))}}
.price{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:.9rem 1rem}
.price .cur{font:600 .75rem/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}
.price .val{font:650 1.45rem/1.2 var(--serif);margin:.35rem 0 .1rem;font-variant-numeric:tabular-nums}
.price .sub{font-size:.82rem;color:var(--ink-3);font-variant-numeric:tabular-nums}

/* Hero */
.hero-grid{display:grid;gap:1.5rem;align-items:start}
@media (min-width:960px){.hero-grid{grid-template-columns:minmax(0,1fr) 340px;gap:3rem}}
.glance{background:var(--ink);color:#e9e4d8;border-radius:var(--radius);padding:1.2rem 1.3rem;box-shadow:var(--shadow);margin-top:.6rem}
.glance .eyebrow{color:#f1d58f}
.glance dl{margin:.6rem 0 .8rem;display:grid;gap:.7rem}
.glance dl div{border-bottom:1px solid #2c3b48;padding-bottom:.6rem}
.glance dt{font-size:.82rem;color:#b9b2a3}
.glance dd{margin:.1rem 0 0;font:650 1.35rem/1.2 var(--serif);color:#fff;font-variant-numeric:tabular-nums}
.glance dd small{font:400 .78rem var(--sans);color:#b9b2a3;margin-left:.3rem}
.glance .muted{color:#b9b2a3}
.hero{padding:2.2rem 0 1.4rem}
.hero h1{max-width:16ch}
.hero .lede{margin-bottom:1.3rem}
.btn{display:inline-flex;align-items:center;gap:.45rem;background:var(--ink);color:#fff;text-decoration:none;font-weight:600;padding:.75rem 1.1rem;border-radius:10px;border:0;font-size:.98rem;cursor:pointer}
.btn:hover{background:#0a141d;color:#fff}
.btn.gold{background:var(--gold-strong)}
.btn.gold:hover{background:#5f420a}
.btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--line-2)}
.btn.ghost:hover{background:var(--tint)}
.btn-row{display:flex;flex-wrap:wrap;gap:.6rem}
.section{padding:2.2rem 0}
.section.tint{background:var(--tint);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.section h2{margin-top:0}

/* Tables */
.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--line);border-radius:var(--radius-s);background:var(--card);margin:1rem 0 .5rem}
table{border-collapse:collapse;width:100%;font-size:.93rem;font-variant-numeric:tabular-nums}
caption{text-align:left;padding:.75rem .9rem;font-weight:600;color:var(--ink-2);font-size:.9rem;border-bottom:1px solid var(--line)}
th,td{padding:.6rem .9rem;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}
thead th{background:var(--tint);font-weight:650;font-size:.85rem;color:var(--ink-2);white-space:nowrap}
tbody tr:last-child td,tbody tr:last-child th{border-bottom:0}
tbody th{font-weight:600}
td.num,th.num{text-align:right;white-space:nowrap}
.table-note{font-size:.82rem;color:var(--ink-3);margin:.3rem 0 1.2rem}
.best{background:var(--green-soft)}
.pill{display:inline-block;font-size:.75rem;font-weight:650;padding:.15rem .5rem;border-radius:99px;white-space:nowrap}
.pill.pass{background:var(--green-soft);color:var(--green)}
.pill.part{background:var(--amber-soft);color:var(--amber)}
.pill.fail{background:var(--red-soft);color:var(--red)}
.pill.info{background:var(--tint);color:var(--ink-2)}

/* Dealer blocks */
.dealer{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1.1rem 1.2rem;margin:1rem 0}
.dealer header{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem;align-items:baseline}
.dealer h3{margin:0}
.dealer .bestfor{font-size:.85rem;font-weight:600;color:var(--gold-strong)}
.dealer dl{display:grid;grid-template-columns:auto 1fr;gap:.25rem .9rem;margin:.8rem 0;font-size:.93rem}
.dealer dt{color:var(--ink-3)}
.dealer dd{margin:0}
.cta{display:inline-flex;align-items:center;gap:.4rem;background:var(--gold-strong);color:#fff;text-decoration:none;font-weight:650;padding:.6rem 1rem;border-radius:9px;font-size:.93rem}
.cta:hover{background:#5f420a;color:#fff}
.cta::after{content:"\2197";font-size:.85em}
.proscons{display:grid;gap:1rem}
@media (min-width:640px){.proscons{grid-template-columns:1fr 1fr}}
.proscons div{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-s);padding:.9rem 1rem}
.proscons h3{margin:0 0 .4rem;font-size:1rem;font-family:var(--sans)}
.proscons ul{margin:0;padding-left:1.1rem;font-size:.95rem}
.pros h3{color:var(--green)}.cons h3{color:var(--red)}

/* Steps */
.steps{counter-reset:step;list-style:none;padding:0}
.steps>li{counter-increment:step;position:relative;padding-left:3rem;margin:1.2rem 0}
.steps>li::before{content:counter(step);position:absolute;left:0;top:.1rem;width:2.1rem;height:2.1rem;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center;font-weight:700;font-size:.95rem}

/* Calculator */
.calc{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1.1rem 1.2rem;margin:1.2rem 0}
.calc h3{margin-top:0;font-family:var(--sans);font-size:1.05rem}
.calc .row{display:grid;gap:.75rem;grid-template-columns:1fr}
@media (min-width:560px){.calc .row{grid-template-columns:repeat(3,minmax(0,1fr))}}
.calc label{display:block;font-size:.85rem;font-weight:600;color:var(--ink-2);margin-bottom:.25rem}
.calc input,.calc select{width:100%;font:inherit;font-size:1rem;padding:.6rem .7rem;border:1px solid var(--line-2);border-radius:8px;background:#fff;color:var(--ink)}
.calc output{display:block;margin-top:.9rem;padding:.8rem 1rem;background:var(--tint);border-radius:8px;font-weight:600}
/* Tool calculators: extra rows, results tables and reserved space so live results do not shift the page */
.calc .row+.row{margin-top:.75rem}
.calc[data-calc] output{min-height:4.6rem}
@media (min-width:560px){.calc[data-calc] output{min-height:3.4rem}}
.calc .table-wrap{margin:.9rem 0 0}
.calc td input{min-width:5.5rem;padding:.45rem .6rem}
.calc td[data-out],.calc td[data-row-value]{font-weight:600;min-width:8ch}
.calc .table-note{margin-bottom:0}

/* FAQ */
.faq details{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-s);margin:.6rem 0;padding:0 1rem}
.faq summary{cursor:pointer;font-weight:650;padding:.85rem 0;list-style:none;display:flex;justify-content:space-between;gap:1rem}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-weight:700;color:var(--gold-strong)}
.faq details[open] summary::after{content:"\2212"}
.faq details>div{padding:0 0 .9rem}
.faq details>div p:last-child{margin-bottom:0}

/* Sources + byline */
.sources{font-size:.9rem}
.sources ol{padding-left:1.2rem}
.sources li{margin:.35rem 0;word-break:break-word}
.byline{display:flex;gap:.8rem;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:.9rem 1rem;margin:2rem 0 1rem;font-size:.92rem}
.byline .mark{width:40px;height:40px;flex:none}
.nfa{font-size:.86rem;color:var(--ink-3);border-top:1px solid var(--line);padding-top:1rem;margin-top:2rem}

/* Footer */
.site-footer{background:var(--ink);color:#d9d3c6;font-size:.9rem;padding:2.5rem 0 1.5rem;margin-top:2rem}
.site-footer a{color:#efe7d4;text-decoration:none}
.site-footer a:hover{text-decoration:underline;color:#fff}
.site-footer h2{font:700 .8rem/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:#f1d58f;margin:0 0 .8rem}
.site-footer ul{list-style:none;padding:0;margin:0}
.site-footer li{margin:.4rem 0}
.foot-grid{display:grid;gap:1.5rem;grid-template-columns:repeat(2,minmax(0,1fr))}
@media (min-width:860px){.foot-grid{grid-template-columns:1.4fr repeat(4,1fr)}}
.foot-legal{border-top:1px solid #2c3b48;margin-top:2rem;padding-top:1.2rem;font-size:.82rem;color:#aaa395}
.foot-legal p{margin:.4rem 0}

/* Utilities */
.mt0{margin-top:0}.mb0{margin-bottom:0}
.center{text-align:center}
.nowrap{white-space:nowrap}
.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media print{.pricebar,.site-header,.site-footer,.aside,.menu{display:none}body{background:#fff}}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
