:root{color-scheme:light;
--paper:#f6f5ef;--surface:#fff;--surface-2:#e8eee5;--hover:#e0e9df;
--ink:#172824;--muted:#4f635c;--line:#cdd7cc;
--green:#145c47;--accent:#17634b;--mint:#b5f3ca;--on-mint:#0e3a2c;
--deep:#08110f;--clay:#e07a50;--sun:#f2c14e}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font:16px/1.55 system-ui,sans-serif;background:var(--paper);color:var(--ink)}a{color:var(--accent)}button,input,select{font:inherit}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #298c6d;outline-offset:3px}
.top{display:flex;justify-content:space-between;align-items:center;padding:1rem max(5vw,1rem);background:var(--deep);color:#fff}.top a{color:inherit;text-decoration:none}.top>a{font-weight:800;letter-spacing:.12em}.top nav{display:flex;gap:1.3rem}
.eyebrow{font-size:.75rem;font-weight:800;letter-spacing:.15em;color:var(--accent);margin:0 0 .55rem}
.step{max-width:76rem;margin:auto;padding:clamp(1.45rem,4vw,3.5rem) max(3vw,1rem);border-bottom:1px solid var(--line);scroll-margin-top:1rem}.step h2{font-size:clamp(1.65rem,4vw,2.75rem);line-height:1.08;letter-spacing:-.045em;margin:.15rem 0 1.2rem}.fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.fields label,.field-label{display:block;font-weight:700}.fields label span,.small,.under{color:var(--muted);font-size:.9rem}.fields input,.fields select{display:block;width:100%;padding:.6rem .7rem;border:1px solid #3d554c;background:var(--surface);color:var(--ink);border-radius:.3rem;margin-top:.25rem}.under{margin-top:.75rem}.under button{margin-left:.65rem}.sale{font-size:1.65rem;font-weight:800}.text-button,.number{background:none;border:0;color:var(--accent);padding:0;text-decoration:underline;text-underline-offset:.15em}.number{font-variant-numeric:tabular-nums}
.match-facts{display:flex;flex-wrap:wrap;gap:.65rem 1.5rem;margin-top:.9rem}.match-facts div{display:flex;flex-direction:column}.match-facts strong{font-size:1.22rem}details{margin-top:1.2rem}summary{cursor:pointer;font-weight:750}
.table-wrap{overflow:auto;border-top:1px solid var(--line)}table{border-collapse:collapse;width:100%;min-width:54rem}th,td{padding:.62rem .5rem;border-bottom:1px solid var(--line);text-align:right;vertical-align:top}th:first-child{text-align:left;min-width:11rem}thead th{background:var(--surface-2);font-size:.9rem}thead button{border:0;background:none;padding:0;color:inherit;font-weight:750;text-align:right}thead [aria-sort=ascending],thead [aria-sort=descending]{background:#24433a}td{white-space:nowrap}td small,tbody th small{display:block;color:var(--muted);font-weight:400}.case{border-bottom:none}footer{background:var(--deep);color:#dbece3;padding:1.4rem max(5vw,1rem)}footer span{padding:0 .4rem}
dialog{border:1px solid var(--line);border-radius:.75rem;background:var(--paper);color:var(--ink);width:min(38rem,calc(100% - 2rem));max-height:85vh;padding:1.3rem}dialog::backdrop{background:#000000c4}.dialog-top{display:flex;justify-content:space-between;align-items:center}.dialog-top button{background:none;border:1px solid var(--line);border-radius:.25rem;font-size:1.5rem;color:var(--ink);line-height:1.2}.dialog-top .eyebrow{margin:0}dialog h2{line-height:1.15;margin:.35rem 0}dialog ul{padding-left:1.25rem}dialog li{margin:.7rem 0;overflow-wrap:anywhere}dialog li small{display:block;color:var(--muted)}dialog #inputs p{margin:.45rem 0}
[hidden]{display:none!important}@media(max-width:680px){.fields{grid-template-columns:1fr}.top nav{gap:.65rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.decision-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1.2rem}
.decision{border-top:1px solid #3b5249;padding-top:.7rem;min-width:0}
.decision h3{font-size:1rem;margin:0 0 .35rem}
.payback-figure{font-size:1.6rem;font-weight:800}
@media(max-width:680px){.decision-grid{grid-template-columns:1fr}}
#garage h1{font-size:clamp(2.1rem,6vw,4.3rem);line-height:1.05;letter-spacing:-.065em;margin:.2rem 0 1.2rem}
.deck-heading{display:flex;justify-content:space-between;align-items:start;gap:1rem;flex-wrap:wrap}
#best-seller p{font-size:.85rem;margin:.25rem 0;color:var(--muted)}
.best-seller{border:0;border-radius:.4rem;background:var(--green);color:#fff;padding:.55rem .8rem;font-weight:750;text-align:left}
.browse-controls{grid-template-columns:repeat(2,minmax(0,17rem));margin-top:.85rem}
.deck-window{container-type:inline-size;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:none;margin-top:.75rem;border-radius:.8rem;background:radial-gradient(ellipse at 50% 70%,#1a302a,var(--paper) 75%)}
.deck-window::-webkit-scrollbar{display:none}
.deck{display:flex;align-items:flex-start;isolation:isolate;width:max-content;min-width:100%;padding:3.15rem 2.4rem 3.1rem}
.vehicle-card{position:relative;width:4.75rem;height:14.5rem;flex:none;padding:0;border:0;background:transparent;color:var(--ink);text-align:left}
.vehicle-card:last-child{width:11rem}
/* On wide decks, share the space left after the final card and side padding. */
@container (min-width: 52rem){
.vehicle-card:not(:last-child){width:min(5.5rem,calc((100cqw - 16rem)/var(--slots,15)))}
}
.vehicle-card-panel{position:absolute;inset:0 auto auto 0;display:flex;flex-direction:column;width:11rem;min-height:13.2rem;overflow:hidden;pointer-events:none;border:1px solid #3b5249;border-radius:.7rem;background:var(--surface);box-shadow:0 .7rem 1.25rem #00000080;transform:translateY(var(--lift)) rotate(var(--angle));transition:transform .2s ease;transform-origin:center 85%}
.vehicle-card:hover,.vehicle-card:focus-visible{z-index:1}
.vehicle-card:hover .vehicle-card-panel,.vehicle-card:focus-visible .vehicle-card-panel{transform:translateY(-.75rem) scale(1.09)}
.vehicle-card:focus-visible .vehicle-card-panel{outline:3px solid #298c6d;outline-offset:3px}
.deck-controls{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-top:.45rem}
#deck-arrows{display:flex;gap:.45rem}
#deck-arrows button{min-width:2.75rem;min-height:2.75rem;border:1px solid #3d554c;border-radius:.35rem;background:var(--surface);color:var(--accent)}
#deck-arrows button:disabled{opacity:.4;cursor:default}
.garage-value{display:block;font-size:1.45rem}
.top-choices{margin-top:1.4rem}
.top-choices h3,.deck-title{margin:.25rem 0 .65rem;font-size:1.18rem}
.deck-title{margin-top:1.4rem}
.featured-cars{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}
.featured-choice{position:relative;min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:.6rem;background:var(--surface)}
.featured-open{display:block;width:100%;border:0;padding:0;background:transparent;color:var(--ink);text-align:left}
.featured-open:focus-visible{outline-offset:-4px}
.featured-open .vehicle-image{aspect-ratio:16/9}
.featured-open:hover strong{text-decoration:underline}
.featured-rank{position:absolute;z-index:1;left:.55rem;top:.55rem;margin:0;padding:.12rem .43rem;border-radius:.25rem;background:var(--deep);color:#fff;font-size:.8rem;font-weight:750;pointer-events:none}
.featured-metric{margin:0;padding:0 .6rem .55rem;font-weight:750}
.featured-choice .card-identity{overflow-wrap:anywhere}
@media(max-width:480px){
  .featured-cars{gap:.4rem}
  .featured-choice .card-identity,.featured-metric{padding-inline:.35rem;font-size:.83rem}
  .featured-rank{left:.25rem;top:.25rem;font-size:.7rem}
}
.vehicle-image{position:relative;display:grid;place-items:center;overflow:hidden;width:100%;aspect-ratio:4/3;background:linear-gradient(150deg,#254f47,#162b29);color:#e4f3e9}
.vehicle-image:has(.photo-label)::before{content:'';width:75%;height:52%;background:center/contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 180 70'%3E%3Cpath d='M7 48l8-15 25-6 26-16q23-11 54 0l26 17 21 6 7 14-8 5H13zM47 26l23-13q20-8 46 0l23 13z' fill='none' stroke='%239cd2ba' stroke-width='2.5' stroke-linejoin='round'/%3E%3Ccircle cx='43' cy='52' r='10' fill='%23162b29' stroke='%239cd2ba' stroke-width='2.5'/%3E%3Ccircle cx='141' cy='52' r='10' fill='%23162b29' stroke='%239cd2ba' stroke-width='2.5'/%3E%3C/svg%3E")}
.vehicle-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.photo-label{position:absolute;bottom:.5rem;left:.55rem;font-size:.68rem;letter-spacing:.06em}
.card-identity{display:block;padding:.55rem .6rem;line-height:1.22}
.card-identity small{display:block;margin-top:.2rem;color:var(--muted);font-size:.72rem}
#snapshot{width:min(52rem,calc(100% - 2rem))}
#snapshot .dialog-top{position:sticky;top:-1.3rem;z-index:2;background:var(--paper);padding-block:.3rem}
.snapshot-trim{margin:.2rem 0 1rem;color:var(--muted)}
.snapshot-photo{margin:.75rem 0 1rem;max-width:32rem}
.snapshot-photo .vehicle-image{aspect-ratio:16/9;border-radius:.5rem;background:var(--surface-2)}
.snapshot-photo img{object-fit:contain}
.snapshot-photo figcaption{margin-top:.35rem}
.rank-button{align-self:flex-start;font-size:.78rem;margin-top:.2rem}
@media(max-width:680px){.deck{padding-inline:1.55rem}.browse-controls{grid-template-columns:1fr}.top{flex-wrap:wrap;gap:.5rem}}
@media(prefers-reduced-motion:reduce){.vehicle-card-panel{transition:none}}
.cost-comparison{grid-column:1/-1}
.cost-table{min-width:0;font-size:.92rem;margin-top:.65rem}
.cost-table caption{text-align:left;font-weight:750;margin-bottom:.35rem}
.cost-table th:first-child{min-width:0}
.cost-table tbody th{font-weight:600}
.cost-table td,.cost-table th{padding:.4rem .35rem}
.cost-table tbody tr:nth-last-child(-n+2){background:var(--surface-2)}
.cost-savings{font-weight:700}

/* ---------- Story layout ---------- */
.top{position:sticky;top:0;z-index:5}
.top nav a{font-size:.92rem;opacity:.9}.top nav a span{color:var(--mint);font-weight:800;margin-right:.2rem;font-variant-numeric:tabular-nums}
.top nav a:hover{opacity:1;text-decoration:underline}
.step{scroll-margin-top:4rem}
.lede{font-size:1.12rem;max-width:46rem;margin:0 0 1.4rem}
.sub{font-size:1.18rem;margin:1.6rem 0 .5rem}
.hero{background:var(--deep);color:#eaf4ee;border-bottom:0}
.hero-inner{max-width:76rem;margin:auto;padding:clamp(2rem,6vw,4.5rem) max(3vw,1rem) clamp(2rem,5vw,3.5rem)}
.hero .eyebrow{color:var(--mint)}
.hero h1{font-size:clamp(2.2rem,6vw,4.4rem);line-height:1.02;letter-spacing:-.055em;margin:.3rem 0 1.6rem;max-width:20ch}
.household{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;padding:1rem 0;border-top:1px solid #ffffff2b;border-bottom:1px solid #ffffff2b}
.household strong{display:block;font-size:1.2rem;line-height:1.25}
.hero .field-label{font-weight:600;color:#a9c6b8;font-size:.85rem}
.hero .under{grid-column:1/-1;margin:0;color:#a9c6b8;font-size:.88rem}
.hero .text-button,.hero .number{color:var(--mint)}
.hero .sale{font-size:1.2rem}
.answer-title{font-size:1rem;letter-spacing:.14em;text-transform:uppercase;color:var(--mint);margin:2rem 0 .8rem}
.answers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.answer{background:var(--surface);color:var(--ink);border-radius:.8rem;padding:1.1rem 1.15rem;display:flex;flex-direction:column}
.answer:first-child{background:var(--mint)}
.answer-label{margin:0;font-size:.78rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}
.answer-figure{margin:.15rem 0 .35rem;font-size:clamp(2rem,4.2vw,2.9rem);font-weight:800;letter-spacing:-.04em;line-height:1.05}
.answer-figure .number{color:inherit;text-decoration-thickness:2px}
.answer-text{margin:0 0 .8rem;font-size:.95rem;flex:1}
.answer-link{align-self:flex-start;font-weight:750;color:var(--accent);background:none;border:0;padding:0;text-decoration:underline;text-underline-offset:.2em}
.route{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;padding:0;margin:1.8rem 0 0}
.route a{display:flex;gap:.7rem;align-items:baseline;color:#eaf4ee;text-decoration:none;border-top:2px solid var(--mint);padding-top:.6rem}
.route b{font-size:1.5rem;color:var(--mint)}.route a:hover span{text-decoration:underline}
.chart-card{margin:1rem 0 1.4rem;background:var(--surface);border:1px solid var(--line);border-radius:.8rem;padding:1rem 1.1rem}
.chart-card figcaption{font-size:.95rem;color:var(--muted);margin-bottom:.5rem}.chart-card figcaption strong{color:var(--ink)}
.chart svg{display:block;width:100%;height:auto;font-family:inherit}
.chart .grid{stroke:var(--line)}.chart .tick{fill:var(--muted);font-size:12px}.chart .axis{fill:var(--ink);font-size:13px;font-weight:650}
.chart .corner{fill:var(--accent);font-size:13px;font-weight:750}
.dot circle{fill:#7fa996;stroke:var(--surface);stroke-width:2;transition:r .15s}
.dot{cursor:pointer;outline:none}.dot:hover circle,.dot:focus-visible circle{fill:var(--accent);r:10}
.dot:focus-visible circle{stroke:var(--sun);stroke-width:3}
.dot.best circle{fill:var(--clay)}.dot-label{font-size:13px;font-weight:700;fill:var(--ink);paint-order:stroke;stroke:var(--surface);stroke-width:4px}
.footnotes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1.6rem}
.footnotes div{border-left:3px solid var(--sun);padding:.1rem 0 .1rem .9rem}
.footnotes h4{margin:0 0 .25rem}.footnotes p{margin:0;font-size:.93rem;color:var(--muted)}
details.index{margin-top:1.6rem}
.staircase{display:grid;gap:.55rem;margin-top:.4rem}
.stair{display:grid;grid-template-columns:minmax(8rem,12rem) 1fr 6.5rem;gap:.8rem;align-items:center}
.stair-label{font-weight:650}.stair-track{position:relative;height:2rem;background:repeating-linear-gradient(90deg,var(--surface-2) 0 calc(100%/6 - 1px),var(--line) calc(100%/6 - 1px) calc(100%/6))}
.stair-bar{position:absolute;top:0;bottom:0;border-radius:.3rem}
.stair.total .stair-bar{background:#3f5a50}.stair.minus .stair-bar{background:var(--sun)}.stair.result .stair-bar{background:var(--green)}
.stair-value{text-align:right;font-weight:800;font-size:1.05rem}.stair.result .stair-value{font-size:1.3rem}
.programs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}
.program-list{list-style:none;padding:0;margin:0}.program-list li{border-top:1px solid var(--line);padding:.6rem 0}
.program-list li::before{content:'✓';float:left;margin:-.05rem .55rem 0 0;width:1.4rem;height:1.4rem;border-radius:50%;background:var(--green);color:#fff;display:grid;place-items:center;font-size:.8rem;font-weight:800}
.program-list.out li::before{content:'✕';background:#2a3a34;color:var(--clay)}
.program-head{display:flex;justify-content:space-between;gap:.8rem;margin:0}.program-list .small{margin:.2rem 0 0 1.95rem}
.program-amount{font-weight:800;white-space:nowrap}
.net-chart{display:grid;gap:.15rem;position:relative}
.net-scale{position:relative;height:1.3rem;margin-left:calc(min(13rem,38%) + .8rem);margin-right:6.5rem;font-size:.75rem;color:var(--muted)}
.net-scale span{position:absolute;transform:translateX(-50%)}
.net-row{display:grid;grid-template-columns:min(13rem,38%) 1fr 5.7rem;gap:.8rem;align-items:center;width:100%;border:0;background:none;padding:.28rem .3rem;border-radius:.35rem;text-align:left;color:var(--ink)}
.net-row:hover,.net-row:focus-visible{background:var(--hover)}
.net-row.best{background:#3a241a}
.net-name{font-size:.92rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.net-name b{display:inline-block;width:1.4rem;color:var(--muted);font-variant-numeric:tabular-nums}
.net-track{position:relative;height:.95rem}
.net-bar{position:absolute;left:0;top:0;bottom:0;background:var(--green);border-radius:.25rem 0 0 .25rem}
.net-row.best .net-bar{background:var(--clay)}
.net-gap{position:absolute;top:0;bottom:0;border:2px solid #4f6b61;border-left:0;border-radius:0 .25rem .25rem 0;background:repeating-linear-gradient(135deg,var(--surface) 0 4px,#b8973a 4px 6px)}
.net-value{text-align:right;font-weight:750;font-variant-numeric:tabular-nums;font-size:.95rem}.net-value small{display:block;font-weight:500;color:var(--muted);font-size:.72rem}
.verdict{margin:1.5rem 0 0;padding:1.2rem 1.4rem;background:var(--deep);color:#eaf4ee;border-radius:.8rem}
.verdict .eyebrow{color:var(--mint)}.verdict p{margin:.3rem 0;max-width:52rem}.verdict p:nth-child(2){font-size:1.13rem}.verdict .small{color:#a9c6b8}
.calc{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:1.4rem;align-items:stretch}
.calc-controls{display:grid;gap:1rem}
.calc-controls label{display:grid;gap:.3rem;font-weight:700}
.calc-controls select{padding:.6rem .7rem;border:1px solid #3d554c;background:var(--surface);border-radius:.3rem;font-weight:500}
.calc-controls output{font-weight:500;color:var(--muted)}
.calc-controls input[type=range]{width:100%;accent-color:var(--accent)}
fieldset{border:0;padding:0;margin:0}legend{font-weight:700;margin-bottom:.35rem;padding:0}
.segmented{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem}
.segment{border:1px solid #3d554c;background:var(--surface);border-radius:.4rem;padding:.5rem .6rem;text-align:left;color:var(--ink);line-height:1.2}
.segment small{display:block;color:var(--muted)}
.segment[aria-pressed=true]{background:var(--green);border-color:var(--accent);color:#fff}.segment[aria-pressed=true] small{color:var(--mint)}
.calc-controls .text-button{justify-self:start;font-size:.9rem}
.calc-result{background:var(--mint);border-radius:.8rem;padding:1.1rem 1.25rem}
.calc-result .small{margin:0;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);font-size:.78rem}
.big{font-size:clamp(2.6rem,6vw,4rem);font-weight:850;letter-spacing:-.05em;line-height:1;margin:.25rem 0 .6rem}
.calc-result p:last-child{margin:0}
#be-chart .upfront-line{stroke:var(--clay);stroke-width:2;stroke-dasharray:7 5}
#be-chart .savings-line{fill:none;stroke:var(--accent);stroke-width:3.5;stroke-linejoin:round}
#be-chart .line-label{font-size:13px;font-weight:700;fill:var(--clay)}#be-chart .line-label.savings{fill:var(--accent)}
#be-chart .cross{fill:var(--sun);stroke:var(--deep);stroke-width:2}#be-chart .cross-drop{stroke:var(--deep);stroke-dasharray:2 4}
#be-chart .cross-label{font-size:14px;font-weight:800;fill:var(--deep);paint-order:stroke;stroke:var(--surface);stroke-width:4px}
.ledger{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}
.ledger dl{display:grid;grid-template-columns:1fr auto;margin:0}
.ledger dt,.ledger dd{border-bottom:1px solid var(--line);padding:.42rem 0;margin:0}.ledger dd{text-align:right;font-variant-numeric:tabular-nums}
.ledger .total{font-weight:800;border-bottom:0;border-top:2px solid var(--ink)}
.callout{margin-top:1.6rem;border-left:4px solid var(--sun);background:var(--surface);padding:.9rem 1.2rem;border-radius:0 .6rem .6rem 0}
.callout h3{margin:0 0 .3rem;font-size:1rem}.callout p{margin:0;max-width:56rem}
.china{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.9rem}
.china-card{background:var(--surface);border:1px solid var(--line);border-radius:.8rem;padding:.9rem 1rem}
.china-card.bolt{background:#3a241a;border-color:#6b3d28}
.china-card h3{margin:0;font-size:1.08rem}.china-card>.small{margin:.1rem 0 .6rem}
.china-bars{display:grid;gap:.45rem}
.china-row{display:grid;grid-template-columns:1fr auto;gap:.15rem .6rem;align-items:center}
.china-row .small{grid-column:1/-1;font-size:.78rem}
.china-track{height:.75rem;background:var(--surface-2);border-radius:.2rem;overflow:hidden}.china-track span{display:block;height:100%;background:#4f6b61}
.china-row.net .china-track span{background:var(--green)}.china-card.bolt .china-row.net .china-track span{background:var(--clay)}
.china-row .number{font-weight:750}
.china-specs{margin:.7rem 0 0}
.verdict-plain{font-size:1.1rem;max-width:52rem;margin:1.2rem 0 0;padding-left:1rem;border-left:4px solid var(--clay)}
.sources{border-bottom:0}.sources p{max-width:52rem}
@media(max-width:900px){.answers,.route{grid-template-columns:1fr}.household{grid-template-columns:repeat(2,minmax(0,1fr))}.calc,.ledger,.programs,.footnotes{grid-template-columns:1fr}.china{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.top nav a span{display:none}
.stair{grid-template-columns:1fr 6rem}.stair-track{grid-column:1/-1;grid-row:2}.china{grid-template-columns:1fr}
.net-row{grid-template-columns:1fr 5.4rem}.net-track{grid-column:1/-1;grid-row:2}.net-scale{display:none}.segmented{grid-template-columns:1fr}}
.calc>*,.ledger>*,.programs>*{min-width:0}.calc-controls select{width:100%;min-width:0}
@media(max-width:900px){.calc,.ledger,.programs,.footnotes{grid-template-columns:minmax(0,1fr)}}
/* ---------- Photos in charts ---------- */
.thumb{display:inline-block;overflow:hidden;background:linear-gradient(150deg,#254f47,#162b29);flex:none}
.thumb img{display:block;width:100%;height:100%;object-fit:cover}
.answer-photo{display:block;margin:-1.1rem -1.15rem .8rem;height:9.5rem;border-radius:.8rem .8rem 0 0;width:calc(100% + 2.3rem)}
#range-chart{position:relative}
.chart-pop{position:absolute;z-index:3;width:15rem;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:.6rem;box-shadow:0 .6rem 1.4rem #00000066;overflow:hidden;pointer-events:none}
.pop-photo{width:100%;height:8rem}
.pop-text{display:flex;flex-direction:column;padding:.5rem .65rem;line-height:1.3}.pop-text small{color:var(--muted)}.pop-text span{font-size:.85rem;margin-top:.15rem}
.net-name{display:flex;align-items:center;gap:.45rem}.net-name>span{overflow:hidden;text-overflow:ellipsis}
.row-photo{width:2.6rem;height:1.75rem;border-radius:.25rem}
.be-photo .result-photo{display:block;width:100%;height:8.5rem;border-radius:.55rem;margin-bottom:.8rem}
/* ---------- Part 3 extra charts ---------- */
.all-row{display:grid;grid-template-columns:min(15rem,40%) 1fr 5.2rem;gap:.8rem;align-items:center;width:100%;border:0;background:none;padding:.22rem .3rem;border-radius:.35rem;text-align:left;color:var(--ink)}
.all-row:hover,.all-row:focus-visible{background:var(--hover)}.all-row.selected{background:#3a241a}
.all-track{height:.95rem;background:var(--surface-2);border-radius:.25rem;overflow:hidden}
.all-bar{display:block;height:100%;background:var(--green);border-radius:.25rem}.all-row.selected .all-bar{background:var(--clay)}
.all-bar.never{background:repeating-linear-gradient(135deg,#34483f 0 6px,var(--surface-2) 6px 10px)}
.be-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.be-pair>*{min-width:0}
.flows{display:grid;gap:.85rem}
.flow-head{display:flex;justify-content:space-between;gap:.6rem;font-size:.93rem}
.flow-track{display:block;position:relative;height:1.4rem;margin:.25rem 0 .15rem;background:var(--surface-2);border-radius:.25rem}
.flow-bar{position:absolute;top:0;bottom:0;border-radius:.25rem}
.flow.plus .flow-bar{background:#7fa996}.flow.minus .flow-bar{background:var(--clay)}.flow.result .flow-bar{background:var(--green)}
.flow.result .flow-head{font-weight:800}.flow .small{font-size:.78rem}
.tornado{display:grid;gap:.8rem}
.tornado-axis{position:relative;height:1.2rem;margin-left:0}
.tornado-axis span{position:absolute;transform:translateX(-50%);font-size:.78rem;font-weight:750;white-space:nowrap;color:var(--ink)}
.tornado-row{display:grid;gap:.2rem}
.tornado-label{font-weight:650;font-size:.93rem}
.tornado-track{position:relative;height:1.3rem;background:var(--surface-2);border-radius:.25rem}
.tornado-bar{position:absolute;top:.15rem;bottom:.15rem}.tornado-bar.better{background:#5f9a80;border-radius:.25rem 0 0 .25rem}.tornado-bar.worse{background:var(--clay);border-radius:0 .25rem .25rem 0}
.tornado-base{position:absolute;top:-.2rem;bottom:-.2rem;width:2px;background:var(--ink);transform:translateX(-1px)}
.tornado-ends{display:flex;justify-content:space-between;gap:.6rem;font-size:.78rem}
@media(max-width:900px){.be-pair{grid-template-columns:minmax(0,1fr)}}
@media(max-width:560px){.all-row{grid-template-columns:1fr 4.6rem}.all-track{grid-column:1/-1;grid-row:2}.answer-photo{height:8rem}}
.with-rate{display:inline-flex;flex-direction:column;align-items:flex-end}
.rate-note{color:var(--muted);font-size:.74rem;font-weight:400;text-align:right;white-space:normal}
/* ---------- Pages, breadcrumbs and next steps (multi-page layout) ---------- */
.top nav{flex-wrap:wrap;row-gap:.3rem}
.top nav a[aria-current]{opacity:1;text-decoration:underline;text-decoration-color:var(--mint);text-underline-offset:.35em;text-decoration-thickness:2px}
.start{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 1.2rem;margin-top:1.8rem}
.start-button,.next-go{display:inline-flex;gap:.5rem;align-items:center;font-weight:800}
.start-button{background:var(--mint);color:var(--deep);text-decoration:none;padding:.85rem 1.3rem;border-radius:.5rem;font-size:1.05rem}
.start-button:hover{background:#d0f8dd}
.start span{color:#a9c6b8;font-size:.93rem}
.step-cards{list-style:none;padding:0;margin:0 0 1rem;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.step-cards a{display:flex;gap:.9rem;height:100%;padding:1.1rem 1.15rem;border:1px solid var(--line);border-radius:.8rem;background:var(--surface);color:var(--ink);text-decoration:none}
.step-cards a:hover{border-color:var(--accent);box-shadow:0 .4rem 1rem #00000040}
.step-cards b{font-size:2rem;line-height:1;color:var(--accent)}
.step-cards span{display:flex;flex-direction:column;gap:.3rem}.step-cards small{color:var(--muted);font-size:.92rem}
.step-cards a:hover strong{text-decoration:underline}
.page-head{background:var(--deep);color:#eaf4ee}
.page-head-inner{max-width:76rem;margin:auto;padding:1.3rem max(3vw,1rem) clamp(1.6rem,4vw,2.6rem)}
.page-head .eyebrow{color:var(--mint);margin-top:1.4rem}
.page-head h1{font-size:clamp(2rem,5vw,3.4rem);line-height:1.05;letter-spacing:-.05em;margin:.2rem 0 .9rem;max-width:24ch}
.page-head .lede{color:#cfe2d8;margin:0}.page-head .lede strong{color:#fff}
.breadcrumbs ol{display:flex;flex-wrap:wrap;gap:.3rem .8rem;list-style:none;padding:0;margin:0;font-size:.9rem}
.breadcrumbs li+li::before{content:'›';margin-right:.8rem;color:var(--mint)}
.breadcrumbs a{color:#cfe2d8}.breadcrumbs [aria-current]{color:#fff;font-weight:650}
.progress{display:flex;flex-wrap:wrap;gap:.4rem;list-style:none;padding:0;margin:1rem 0 0}
.progress li a{display:inline-flex;gap:.4rem;align-items:center;padding:.3rem .75rem .3rem .35rem;border-radius:2rem;border:1px solid #ffffff33;color:#cfe2d8;text-decoration:none;font-size:.85rem}
.progress b{display:grid;place-items:center;width:1.45rem;height:1.45rem;border-radius:50%;background:var(--surface)fff1f;color:#fff;font-size:.78rem}
.progress li.done b{background:var(--green);color:var(--mint)}
.progress li[aria-current] a{background:var(--mint);border-color:var(--mint);color:var(--deep);font-weight:750}.progress li[aria-current] b{background:var(--deep);color:var(--mint)}
.progress li a:hover{border-color:var(--mint)}
.next-step{max-width:76rem;margin:0 auto;padding:0 max(3vw,1rem) clamp(2rem,5vw,3.5rem)}
.next-card{display:grid;gap:.35rem;padding:1.4rem 1.6rem;border-radius:.9rem;background:var(--mint);color:var(--deep);text-decoration:none;border:2px solid transparent}
.next-card:hover,.next-card:focus-visible{border-color:var(--accent)}
.next-label{color:var(--accent);font-size:.8rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.next-card strong{font-size:clamp(1.25rem,2.6vw,1.65rem);line-height:1.2;letter-spacing:-.02em;max-width:40ch}
.next-go{margin-top:.5rem;color:#fff;background:var(--green);justify-self:start;padding:.6rem 1rem;border-radius:.45rem}
.next-card:hover .next-go{background:var(--deep)}
main>.step:has(+ .next-step){border-bottom:0;padding-bottom:1.6rem}
.step-nav{display:flex;gap:1.4rem;margin-top:.9rem;font-size:.95rem}
.back-link{color:var(--accent);font-weight:650}
.how h2{font-size:clamp(1.5rem,3.5vw,2.3rem)}
@media(max-width:900px){.step-cards{grid-template-columns:1fr}}

/* ---------- Dark mode: text on mint panels and other contrast fixes ---------- */
.answer:first-child,.answer:first-child .answer-label,.answer:first-child .answer-link,.answer:first-child .number,
.calc-result,.calc-result .small,.next-label{color:var(--on-mint)}
.featured-rank{background:var(--deep)}
#be-chart .cross-drop{stroke:var(--muted)}
#be-chart .cross{stroke:var(--deep)}
.cost-table tbody tr:nth-last-child(-n+2){background:var(--surface-2)}
.vehicle-image:has(.photo-label)::before{opacity:.8}
.dialog-top button{background:var(--surface)}
dialog{border-color:var(--line)}
#be-chart .cross-label{fill:var(--ink);stroke:var(--surface)}
/* ---------- Single-page showroom ---------- */
.top-note{color:#a9c6b8;font-size:.88rem}
.page-head .household{margin:1.2rem 0 1rem}
.page-head .lede{max-width:52rem}.page-head .text-button{color:var(--mint)}
.showroom{border-bottom:0;padding-top:1.6rem}
.range-card{padding:1.2rem 1.2rem .6rem}
.range-card .chart svg{overflow:visible}
.chart .value-zone{fill:#7fd9aa0d;stroke:#7fd9aa2e;stroke-dasharray:4 5}
.chart .corner{fill:var(--accent);font-size:14px;font-weight:750}
.chart .tick{font-size:13px}.chart .axis{font-size:14px;fill:var(--muted)}
.dot circle{fill:#4f8f76;stroke:var(--surface);stroke-width:2.5;transition:r .15s,fill .15s}
.dot.top circle{fill:var(--mint)}
.dot-rank{fill:var(--on-mint);font-size:13px;font-weight:850;pointer-events:none}
.dot-label{font-size:13.5px;font-weight:650;fill:var(--ink);paint-order:stroke;stroke:var(--surface);stroke-width:4px;stroke-linejoin:round}
.dot.top .dot-label{fill:var(--mint);font-weight:800}
.leader{stroke:#9db3a866;stroke-width:1.2}
.dot:hover circle,.dot:focus-visible circle{fill:var(--accent);r:11}
.dot.top:hover circle,.dot.top:focus-visible circle{r:14}
.dot:hover .dot-label,.dot:focus-visible .dot-label{fill:#fff}
.pop-hint{color:var(--accent);font-size:.78rem!important;font-weight:650}
.chart-pop{background:var(--surface);border-color:var(--line);box-shadow:0 .8rem 1.8rem #00000080}
.showroom .top-choices{margin-top:2rem}
.showroom .top-choices h3,.showroom .deck-title{font-size:1.35rem;letter-spacing:-.02em}
@media(max-width:680px){.top-note{display:none}}
.chart-scroll{overflow-x:auto;overscroll-behavior-inline:contain}
.swipe-hint{display:none}
@media(max-width:700px){.chart-scroll svg{min-width:640px}.swipe-hint{display:inline;color:var(--accent)}}
.showroom .top-choices{margin-top:0}.showroom .range-card{margin-top:2rem}
/* ---------- Vehicle snapshot (standardized layout) ---------- */
#snapshot{width:min(60rem,calc(100% - 2rem));padding:1.1rem 1.4rem 1.4rem}
#snapshot .dialog-top{margin-bottom:.2rem}
.snap-top{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:1.4rem;align-items:start}
.snap-top .snapshot-photo{margin:0;max-width:none}
.snap-top .snapshot-photo .vehicle-image{aspect-ratio:16/10;border-radius:.7rem;background:var(--surface-2)}
.snap-top .snapshot-photo img{object-fit:cover}
.snap-top figcaption{margin-top:.4rem;font-size:.78rem}
.snap-intro h2{font-size:clamp(1.5rem,3vw,2rem);letter-spacing:-.03em;line-height:1.1;margin:.1rem 0 .2rem}
.snap-intro .snapshot-trim{margin:0 0 1rem}
.snap-keys{display:grid;gap:.55rem}
.snap-key{display:grid;grid-template-columns:1fr auto;align-items:baseline;gap:0 .8rem;padding:.7rem .9rem;border-radius:.6rem;background:var(--surface);border:1px solid var(--line)}
.snap-key span{color:var(--muted);font-size:.85rem}
.snap-key strong{grid-row:span 2;font-size:1.55rem;letter-spacing:-.02em;text-align:right;font-variant-numeric:tabular-nums}
.snap-key small{color:var(--muted);font-size:.78rem}
.snap-key:first-child{background:var(--mint);border-color:var(--mint)}
.snap-key:first-child span,.snap-key:first-child small,.snap-key:first-child .number{color:var(--on-mint)}
.snap-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.9rem;margin-top:1.3rem}
.snap-card{background:var(--surface);border:1px solid var(--line);border-radius:.75rem;padding:.9rem 1rem .8rem;min-width:0}
.snap-card.wide{grid-column:1/-1}
.snap-card h3{margin:0 0 .45rem;font-size:.76rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}
.spec-row{display:grid;grid-template-columns:minmax(0,1fr) auto 3.9rem;align-items:center;gap:.6rem;padding:.48rem 0;border-top:1px solid var(--line)}
.spec-row:first-of-type{border-top:0}
.spec-label{font-size:.9rem;color:var(--muted);line-height:1.25}
.spec-label small{display:block;font-size:.74rem;color:#7d958a}
.spec-value{font-weight:700;font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}
.spec-row.strong .spec-label{color:var(--ink);font-weight:650}.spec-row.strong .spec-value{font-size:1.1rem}
.rank-pill{justify-self:end;border:1px solid var(--line);background:none;color:var(--muted);border-radius:1rem;padding:.08rem .45rem;font-size:.7rem;white-space:nowrap;font-variant-numeric:tabular-nums}
.rank-pill:hover{border-color:var(--accent);color:var(--accent)}.rank-pill.empty{border:0;padding:0}
.snap-note{margin:.6rem 0 0;font-size:.78rem;color:var(--muted);line-height:1.45}
.snap-note .text-button{font-size:.78rem}
/* Quieter links inside the snapshot: dotted underline, accent on hover */
#snapshot .number,#snapshot .spec-value a,#snapshot .snap-key a{color:inherit;text-decoration:underline dotted;text-decoration-color:#7fd9aa99;text-decoration-thickness:1.5px;text-underline-offset:.22em}
#snapshot .number:hover,#snapshot .spec-value a:hover,#snapshot .snap-key a:hover{color:var(--accent);text-decoration-style:solid}
.snap-key:first-child .number:hover{color:var(--on-mint)}
.snap-table{width:100%;min-width:0;border-collapse:collapse;font-size:.92rem}
.snap-table th,.snap-table td{padding:.5rem .4rem;border-bottom:1px solid var(--line);text-align:right;font-variant-numeric:tabular-nums}
.snap-table thead th{background:none;color:var(--muted);font-size:.8rem;font-weight:650}
.snap-table tbody th{text-align:left;font-weight:500;color:var(--muted)}
.snap-table td{font-weight:700;white-space:normal}
.snap-table tbody tr:last-child th,.snap-table tbody tr:last-child td{border-bottom:0;color:var(--ink);font-weight:800}
.snap-table th:first-child{min-width:0}
.muted-value{color:var(--muted);font-weight:500}
.snap-savings{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;margin-top:.7rem}
.snap-savings p{margin:0;padding:.7rem .9rem;border-radius:.55rem;background:var(--surface-2);font-size:.95rem;line-height:1.45}
.snap-savings p:last-child{background:#7fd9aa1a;border:1px solid #7fd9aa40}
@media(max-width:820px){.snap-grid{grid-template-columns:minmax(0,1fr)}.snap-top{grid-template-columns:minmax(0,1fr)}.snap-savings{grid-template-columns:1fr}}
@media(max-width:420px){#snapshot{padding:.9rem}.spec-row{grid-template-columns:minmax(0,1fr) auto 3.4rem;gap:.4rem}.snap-table{font-size:.84rem}}
#snapshot .snap-key:first-child .number,#snapshot .snap-key:first-child .number:hover{color:var(--on-mint);text-decoration-color:#0e3a2c80}
.spec-row{grid-template-columns:minmax(0,1fr) auto 3.6rem;gap:.5rem}
.spec-row{grid-template-columns:minmax(0,1fr) auto 3.3rem}
.rank-pill{padding:.08rem .4rem}
.market-controls{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem 1.2rem;margin:.8rem 0 .35rem}
.market-toggle{display:flex;align-items:center;gap:.5rem;font-weight:700;cursor:pointer}
.market-toggle input{width:1.15rem;height:1.15rem;accent-color:#ff8a85}
.market-key{font-size:.85rem;color:var(--muted)}
.us-key{color:var(--mint)}
.mexico-key,.mexico-badge{color:#ff9c96}
.dot.mexico-dot polygon{fill:#ff827b;stroke:var(--surface);stroke-width:2.5}
.dot.mexico-dot .dot-label{fill:#ff9c96}
.dot.mexico-dot:hover polygon,.dot.mexico-dot:focus-visible polygon{fill:#ffd2cf;stroke:#ff827b}
.extra-credit-snapshot .spec-row{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr)}
.extra-credit-snapshot .rank-pill.empty{display:none}
.extra-credit-snapshot .spec-value{white-space:normal}
.mexico-badge{font-weight:800;font-size:.8rem;letter-spacing:.08em}
.south-america-key,.market-badge.south-america{color:#c2a6ff}
.chile-key,.market-badge.chile{color:#ffc879}
.market-badge.mexico{color:#ff9c96}
.market-badge{font-weight:800;font-size:.8rem;letter-spacing:.08em}
.dot.south-america-dot rect{fill:#b28cff;stroke:var(--surface);stroke-width:2.5}
.dot.south-america-dot .dot-label{fill:#c2a6ff}
.dot.chile-dot polygon{fill:#ffbb62;stroke:var(--surface);stroke-width:2.5}
.dot.chile-dot .dot-label{fill:#ffc879}
.dot.extra-dot:hover,.dot.extra-dot:focus-visible{filter:brightness(1.25)}
.chart-view{display:flex;flex-wrap:wrap;gap:.4rem;margin:.8rem 0}
.chart-view button{padding:.45rem .7rem;border:1px solid var(--line);border-radius:2rem;background:var(--surface);color:var(--ink)}
.chart-view button[aria-pressed=true]{background:var(--mint);color:var(--on-mint);border-color:var(--mint)}
.car-sticker{pointer-events:none;filter:drop-shadow(0 0 1px #fff) drop-shadow(0 0 1px #fff);transform-box:fill-box;transform-origin:center;transition:transform .15s}
.sticker-point:hover .car-sticker,.sticker-point:focus-visible .car-sticker{transform:scale(1.2)}
.sticker-point .dot-label{font-size:12.5px;pointer-events:auto}
.dot.sticker-point .sticker-hit{fill:transparent;stroke:none}
.chart-pop{max-width:100%}
.sticker-point:focus-visible .sticker-hit{stroke:var(--accent);stroke-width:1;rx:5}
.pop-calculation{color:var(--accent);font-weight:700}
@media(max-width:700px){.range-card .chart-scroll svg{min-width:950px}}
@media(prefers-reduced-motion:reduce){.car-sticker{transition:none}}

/* ---------- Price chart, polished ---------- */
.range-card figcaption{font-size:1rem;margin-bottom:.2rem}.range-card figcaption strong{font-size:1.15rem;margin-right:.35rem}
.chart svg{font-variant-numeric:tabular-nums}
.chart .grid{stroke:#24382f;stroke-width:1}.chart .grid.minor{stroke:#1d2f28}
.chart .baseline{stroke:#3d554c;stroke-width:1.2}
.chart .tick{fill:#a9bdb3;font-size:13px}
.chart .axis{fill:#c9d8d0;font-size:14px;font-weight:600;letter-spacing:.01em}
.chart .value-zone{fill:#7fd9aa;opacity:.055;rx:0}
.chart .median{stroke:#7f988c;stroke-width:1.2;stroke-dasharray:5 5}
.chart .median-tag{fill:#a9bdb3;font-size:11.5px;font-weight:500}
.chart .corner{fill:var(--accent);font-size:13px;font-weight:650}
.chart .leader{stroke:#9db3a8;stroke-opacity:.55;stroke-width:1}
.chart .scenario-line{stroke:#9db3a8;stroke-opacity:.45;stroke-width:2;stroke-linecap:round}
.chart .hit{fill:transparent}
.chart .dot .mark{transition:transform .15s,fill .15s;transform-box:fill-box;transform-origin:center}
.chart .us-dot circle.mark{fill:#6fbf98;stroke:var(--surface);stroke-width:2}
.chart .dot.top circle.mark{fill:var(--mint);stroke:var(--surface);stroke-width:2.5}
.chart .dot-rank{fill:var(--on-mint);font-size:12.5px;font-weight:800}
.chart .dot-label{font-size:13px;font-weight:550;fill:#dce8e1;paint-order:stroke;stroke:var(--surface);stroke-width:4px;stroke-linejoin:round}
.chart .dot.top .dot-label{fill:var(--mint);font-weight:700}
.chart .model-label{font-weight:650;fill:#e4eee8}
.chart .extra-dot .mark{fill:var(--surface);stroke-width:2.25}
.chart .mexico-dot .mark{stroke:#ff9c96}.chart .south-america-dot .mark{stroke:#c2a6ff}.chart .chile-dot .mark{stroke:#ffc879}
.chart .dot:hover .mark,.chart .dot:focus-visible .mark{transform:scale(1.35)}
.chart .us-dot:hover circle.mark,.chart .us-dot:focus-visible circle.mark{fill:var(--accent)}
.chart .dot:focus-visible .mark{stroke:var(--sun);stroke-width:3}
.chart .dot:hover .dot-label,.chart .dot:focus-visible .dot-label{fill:#fff}
.chart .extra-dot:hover,.chart .extra-dot:focus-visible{filter:none}
.chart .sticker-point .car-sticker{filter:drop-shadow(0 1px 1px #0009)}
.chart-legend{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem 1.1rem;margin:.6rem 0 .3rem;font-size:.9rem}
.legend-item{display:inline-flex;align-items:center;gap:.4rem;color:#c9d8d0}
.legend-item svg{width:1rem;height:1rem;flex:none}
.us-key svg circle{fill:#6fbf98}
.legend-toggle{cursor:pointer;padding:.2rem .55rem .2rem .4rem;border:1px solid var(--line);border-radius:2rem}
.legend-toggle:has(input:checked){background:var(--surface-2);border-color:#3d554c}
.legend-toggle input{width:1rem;height:1rem;margin:0;accent-color:var(--accent)}
.legend-toggle svg *{fill:var(--surface);stroke-width:2}
.mexico-key svg *{stroke:#ff9c96}.south-america-key svg *{stroke:#c2a6ff}.chile-key svg *{stroke:#ffc879}
.legend-item.mexico-key,.legend-item.south-america-key,.legend-item.chile-key{color:#c9d8d0}
.rank-chip{display:inline-grid;place-items:center;width:1.15rem;height:1.15rem;border-radius:50%;background:var(--mint);color:var(--on-mint);font-size:.72rem;font-weight:800}
.legend-note{margin:.15rem 0 0;font-size:.85rem;color:var(--muted)}
.chart-notes{margin-top:.6rem;padding-top:.6rem;border-top:1px solid var(--line);color:var(--muted);font-size:.82rem;line-height:1.45}
.chart-notes p{margin:.15rem 0;max-width:62rem}
@media print{.range-card{break-inside:avoid}.chart-view,.legend-toggle input{display:none}}
.chart .dot circle.hit{fill:transparent;stroke:none}
.chart .dot .dot-label.model-label{fill:#e4eee8;font-weight:650}
.market-swatch svg *{fill:var(--surface);stroke-width:2}

/* Clear hierarchy and precise markers for price/range comparisons. */
.range-card{padding:1.5rem}
.range-card figcaption strong{display:block;font-size:1.45rem;line-height:1.3;margin:0 0 .4rem;letter-spacing:-.025em}
.range-card figcaption #chart-description{display:block;color:#b6c9bf;font-size:.95rem}
.chart-regional-controls{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem 1.2rem;margin:.8rem 0}
.chart .tick{font-size:14px;fill:#bdcec5}
.chart .median{stroke-opacity:.55;stroke-width:1}
.chart .median-tag{font-size:13px;fill:#bdcec5}
.chart .grid{stroke-opacity:.65}
.chart .scenario-line{stroke-opacity:.25;stroke-width:1.5}
.chart .dot.top .mark{stroke:var(--surface);stroke-width:3}
.chart .dot.top .dot-label{font-size:14px;font-weight:650}
.chart .dot:focus-visible{outline:none}
.chart .dot:focus-visible .hit{stroke:var(--accent);stroke-width:2}
.chart-reading-note{color:#b6c9bf;font-size:.88rem;line-height:1.5;margin:.5rem 0 1rem}
.chart-notes summary{cursor:pointer;color:#c9d8d0;font-weight:600;padding:.3rem 0}
.chart-notes[open] summary{margin-bottom:.5rem}
@media(max-width:700px){.range-card{padding:1rem}.range-card figcaption strong{font-size:1.2rem}}

/* Transparent logo stickers: a fine edge keeps dark emblems readable. */
.chart .brand-logo{pointer-events:none;filter:drop-shadow(0 0 1px #fff) drop-shadow(0 1px 2px #0009)}
.chart .sticker-point:hover .brand-logo,.chart .sticker-point:focus-visible .brand-logo{filter:drop-shadow(0 0 2px #b5f3ca) drop-shadow(0 1px 2px #0009)}

/* Dealership-style pricing keeps both source-linked figures visible. */
.featured-prices{display:flex;align-items:end;flex-wrap:wrap;gap:.45rem 1rem;padding-top:.2rem;font-variant-numeric:tabular-nums}
.featured-prices small{display:block;font-size:.7rem;font-weight:500;color:var(--muted);margin-bottom:.2rem}
.featured-retail{font-size:1rem;color:var(--muted);font-weight:500}
.featured-retail del{text-decoration-thickness:2px}
.featured-retail .number{color:inherit;text-decoration-line:line-through;text-decoration-thickness:2px}
.featured-net{font-size:1.6rem;font-weight:800;line-height:1.2;color:var(--mint)}
.featured-net .number{color:inherit}
.featured-price-note{display:block;color:var(--muted);font-size:.72rem;font-weight:400;margin-top:.5rem}
@media(max-width:600px){.featured-cars{grid-template-columns:1fr;gap:.8rem}.featured-choice .card-identity,.featured-metric{padding-inline:.75rem}.featured-prices{gap:1.25rem}}

/* Off-white showroom and readable chart labels. */
.page-head{background:var(--paper);color:var(--ink)}
.page-head .eyebrow,.page-head .text-button,.featured-net{color:var(--accent)}
.page-head .lede,.chart-reading-note,.range-card figcaption #chart-description,.chart-notes summary,.legend-item,.legend-item.mexico-key,.legend-item.south-america-key,.legend-item.chile-key{color:var(--muted)}
.page-head .lede strong{color:var(--ink)}
.household{border-color:var(--line)}
.deck-window{background:radial-gradient(ellipse at 50% 70%,#e1e9dc,var(--paper) 75%)}
.vehicle-card-panel{border-color:var(--line);box-shadow:0 .6rem 1rem #142d222b}
.chart .grid,.chart .grid.minor{stroke:var(--line)}
.chart .baseline,.chart .median{stroke:#7c9387}
.chart .tick,.chart .axis,.chart .median-tag{fill:var(--muted)}
.chart .dot .dot-label,.chart .dot .dot-label.model-label,.chart .model-label,.chart .dot:hover .dot-label,.chart .dot:focus-visible .dot-label{fill:var(--ink)}
.chart .dot.top .dot-label{fill:var(--accent)}
.chart .value-zone{fill:#39805b;opacity:.06}
.mexico-key,.mexico-badge,.market-badge.mexico{color:#b33d35}
.south-america-key,.market-badge.south-america{color:#7043ad}
.chile-key,.market-badge.chile{color:#956000}
.chart .mexico-dot .mark,.mexico-key svg *{stroke:#b33d35}
.chart .south-america-dot .mark,.south-america-key svg *{stroke:#7043ad}
.chart .chile-dot .mark,.chile-key svg *{stroke:#956000}
.workbook{border-top:1px solid var(--line);border-bottom:0}
.workbook-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.workbook-heading h2{margin-bottom:0}
.workbook-download{display:inline-block;background:var(--green);color:#fff;padding:.7rem 1rem;border-radius:.4rem;text-decoration:none;font-weight:700}
.workbook-download:hover{background:var(--deep)}
.workbook-label{display:block;font-weight:700;margin-bottom:.3rem}
#workbook-sheet{max-width:100%;width:25rem;padding:.65rem;border:1px solid var(--line);border-radius:.3rem;background:var(--surface);color:var(--ink)}
.workbook-scroll{overflow:auto;max-height:36rem;border:1px solid var(--line);background:var(--surface)}
#workbook-table{width:max-content;min-width:100%;font-size:.82rem}
#workbook-table th,#workbook-table td{text-align:left;min-width:4rem;max-width:28rem;white-space:pre-wrap;overflow-wrap:anywhere;border-right:1px solid var(--line);padding:.45rem .6rem}
#workbook-table thead th{position:sticky;top:0;z-index:1;background:var(--surface-2);text-align:center}
#workbook-table tbody th{position:sticky;left:0;min-width:3rem;background:var(--surface-2);text-align:center;font-weight:500}
#workbook-table td a{overflow-wrap:anywhere}

.workbook-zoom{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;margin-top:1rem;font-size:.9rem}
.workbook-zoom button{min-width:2.75rem;min-height:2.75rem;padding:.35rem .65rem;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:.3rem}
.workbook-zoom button:hover:not(:disabled){background:var(--hover)}
.workbook-zoom button:disabled{opacity:.4;cursor:default}
#workbook-zoom-level{min-width:3.5rem;text-align:center;font-variant-numeric:tabular-nums}

.academic-disclaimer{max-width:70rem;margin:1rem 0 0;padding-top:1rem;border-top:1px solid #ffffff30;color:#c4d6cc;font-size:.85rem;line-height:1.6}

.chart-style-toggle{display:flex;align-items:center;gap:.6rem;position:relative;cursor:pointer;flex-wrap:wrap;font-size:.9rem;font-weight:650;margin:.9rem 0}
.chart-style-toggle input{position:absolute;width:1px;height:1px;opacity:0}
.chart-style-track{position:relative;width:2.8rem;height:1.6rem;border-radius:2rem;background:var(--surface-2);border:1px solid var(--muted)}
.chart-style-track::after{content:'';position:absolute;width:1.15rem;height:1.15rem;top:.15rem;left:.15rem;border-radius:50%;background:var(--green);transition:transform .15s}
.chart-style-toggle input:checked+.chart-style-track{background:var(--mint)}
.chart-style-toggle input:checked+.chart-style-track::after{transform:translateX(1.15rem)}
.chart-style-toggle input:focus-visible+.chart-style-track{outline:3px solid var(--accent);outline-offset:3px}
.chart .bar-scroll{max-height:44rem;overflow:auto;overscroll-behavior:contain}
.chart .bar-hit{fill:transparent}
.chart .metric-bar{fill:#6fbf98}
.chart .mexico-bar .metric-bar{fill:#b74c43}
.chart .south-america-bar .metric-bar{fill:#8057b0}
.chart .chile-bar .metric-bar{fill:#ae741b}
.chart .bar-name,.chart .bar-value{fill:var(--ink);font-size:16px;font-weight:650}
.chart .bar-price{fill:var(--muted);font-size:13px}
.chart .bar-point:hover .bar-hit,.chart .bar-point:focus-visible .bar-hit{fill:var(--surface-2)}
.chart .bar-point:focus-visible{outline:none}
.chart .bar-point:focus-visible .bar-hit{stroke:var(--accent);stroke-width:2}
.chart .bar-point:hover .metric-bar,.chart .bar-point:focus-visible .metric-bar{filter:brightness(.85)}
@media(prefers-reduced-motion:reduce){.chart-style-track::after{transition:none}}

@media(max-width:700px){.range-card .bar-scroll svg{min-width:720px}}
