/* MPG by Model: design system v1 */
@font-face{font-family:"Big Shoulders Display";src:url(/fonts/big-shoulders-display-latin-600-normal.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"Big Shoulders Display";src:url(/fonts/big-shoulders-display-latin-700-normal.woff2) format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:"Big Shoulders Display";src:url(/fonts/big-shoulders-display-latin-800-normal.woff2) format("woff2");font-weight:800;font-display:swap}
@font-face{font-family:Hind;src:url(/fonts/hind-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:Hind;src:url(/fonts/hind-latin-500-normal.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:Hind;src:url(/fonts/hind-latin-600-normal.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:Hind;src:url(/fonts/hind-latin-700-normal.woff2) format("woff2");font-weight:700;font-display:swap}

:root{
  --asphalt:#15171a; --ink-2:#454b54; --ink-3:#5f6670;
  --paper:#fff; --concrete:#eef0f1; --concrete-2:#e2e5e8; --rule:#d3d8dc;
  --signal:#e5560e; --signal-ink:#a83f08; --signal-tint:#fdeadf;
  --hybrid:#0b766c; --electric:#2350c0; --context:#a1a8b0;
  --display:"Big Shoulders Display", "Arial Narrow", sans-serif;
  --text:Hind, "Segoe UI", Arial, sans-serif;
  --wrap:1136px; --measure:68ch; --r:4px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--asphalt);font:400 18px/1.6 var(--text);font-variant-numeric:lining-nums}
img,svg{max-width:100%}
h1,h2,h3,p,li,td,th,dd,summary{overflow-wrap:break-word}
h1{overflow-wrap:anywhere}
a{color:var(--signal-ink);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--asphalt)}
:focus-visible{outline:3px solid var(--signal);outline-offset:2px;border-radius:2px}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 24px}
.skip{position:absolute;left:-999px}.skip:focus{left:16px;top:8px;background:#fff;padding:8px 12px;z-index:9}
h1,h2,h3{margin:0;font-weight:700}
h2{font:700 36px/1.05 var(--display);letter-spacing:.2px}
h3{font:600 21px/1.3 var(--text)}
p{margin:0 0 16px}
.small{font-size:15px;line-height:1.5;color:var(--ink-3)}
.num{font-variant-numeric:tabular-nums}

/* masthead */
.mast{border-bottom:1px solid var(--rule);background:#fff}
.mast .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:64px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--asphalt)}
.brand svg{width:32px;height:32px;flex:none}
.brand b{font:800 26px/1 var(--display);letter-spacing:.3px}
.brand b i{font-style:normal;font-weight:600;color:var(--ink-3)}
.mast nav{display:flex;gap:24px}
.mast nav a{font:500 17px/1 var(--text);color:var(--asphalt);text-decoration:none;padding:8px 0;border-bottom:2px solid transparent}
.mast nav a:hover,.mast nav a[aria-current]{border-bottom-color:var(--signal)}

/* breadcrumb */
.crumbs{font-size:15px;color:var(--ink-3);padding-top:24px}
.crumbs a{color:var(--ink-2)}
.crumbs span{margin:0 6px;color:var(--context)}

/* nameplate head */
.np-head{padding:16px 0 8px}
.np-head h1{font:800 84px/.92 var(--display);letter-spacing:.2px;text-transform:none}
.np-head .epa-name{font-size:16px;color:var(--ink-3);margin:8px 0 0}
.answer{font:400 23px/1.4 var(--text);max-width:46ch;margin:20px 0 0}
.answer strong{font:800 1.9em/1 var(--display);color:var(--signal-ink);white-space:nowrap}
.answer .pt{font-weight:600}

/* tape chart */
.tape{margin:24px 0 8px}
.tape .v{display:none}
.tape figcaption{display:flex;flex-wrap:wrap;gap:8px 24px;font-size:15px;color:var(--ink-2);margin-top:8px}
.key{display:inline-flex;align-items:center;gap:8px}
.key i{display:inline-block}
.key .k-range{width:6px;height:18px;background:#c3c9cf;border-radius:3px}
.key .k-dot{width:12px;height:12px;border-radius:50%;background:var(--signal)}
.key .k-hy{background:var(--hybrid)}
.key .k-med{width:22px;border-top:2px dashed #8d949c}
.key .k-chg{width:2px;height:16px;background:var(--asphalt)}

/* gallons strip (tool entry) */
.fuelstrip{display:flex;flex-wrap:wrap;align-items:center;gap:8px 24px;border-top:3px solid var(--asphalt);border-bottom:1px solid var(--rule);padding:14px 0;margin:24px 0 40px}
.fuelstrip .g{font:700 30px/1 var(--display)}
.fuelstrip p{margin:0;flex:1 1 380px;font-size:17px}
.btn{display:inline-flex;align-items:center;gap:8px;background:var(--asphalt);color:#fff;text-decoration:none;font:600 17px/1 var(--text);padding:12px 18px;border-radius:var(--r);border:0;cursor:pointer}
.btn:hover{background:var(--signal-ink);color:#fff}
.btn.ghost{background:transparent;color:var(--asphalt);box-shadow:inset 0 0 0 1.5px var(--asphalt)}

/* editorial lede */
.lede{margin:0 0 56px}
.lede .prose{font-size:19px;line-height:1.65;max-width:var(--measure)}
.lede .prose p:first-child::first-line{font-weight:600}
.facts-aside{border-left:3px solid var(--signal);padding:4px 0 4px 20px;align-self:start}
.facts-aside dt{font-size:15px;color:var(--ink-3)}
.facts-aside dd{margin:0 0 14px;font:700 28px/1.1 var(--display)}
.facts-aside dd small{font:400 15px/1.3 var(--text);color:var(--ink-2);display:block}

section.blk{margin:0 0 64px}
section.blk>h2{margin-bottom:8px}
section.blk>.dek{color:var(--ink-2);max-width:var(--measure);margin-bottom:20px}
.band{background:var(--concrete);padding:48px 0;margin:0 0 64px}
.band section.blk{margin:0}

/* class gauge (dot histogram) */
.gauge .v{display:none}
.gauge figcaption{font-size:15px;color:var(--ink-2);margin-top:6px}

/* era rows */
.eras{display:grid;gap:2px;max-width:860px}
.era{display:grid;grid-template-columns:110px minmax(0,1fr) 150px;align-items:center;gap:16px;padding:8px 0;border-bottom:1px solid var(--concrete-2)}
.era .lbl{font:700 20px/1 var(--display)}
.era .track{position:relative;height:10px;background:linear-gradient(90deg,#e4e7ea,#e4e7ea);border-radius:5px}
.era .track::after{content:"";position:absolute;left:50%;top:-4px;bottom:-4px;border-left:1px dashed #9aa1a9}
.era .dot{position:absolute;top:50%;width:16px;height:16px;margin:-8px 0 0 -8px;border-radius:50%;background:var(--signal);box-shadow:0 0 0 3px #fff}
.era .rk{font-size:16px;color:var(--ink-2);text-align:right}
.era .rk b{color:var(--asphalt);font-weight:600}
.era .rk .small{display:block;font-size:14px}
.era-scale{display:grid;grid-template-columns:110px minmax(0,1fr) 150px;gap:16px;font-size:14px;color:var(--ink-3);max-width:860px}
.era-scale span{display:flex;justify-content:space-between}

/* lineup changes */
.changes{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px 32px}
.changes li{border-top:2px solid var(--asphalt);padding-top:10px}
.changes .y{font:800 34px/1 var(--display);display:block;margin-bottom:6px}
.changes p{margin:0;font-size:17px}

/* model-year table */
details.years{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
details.years>summary{cursor:pointer;list-style:none;padding:16px 0;display:flex;justify-content:space-between;align-items:center;font:600 19px/1.3 var(--text)}
details.years>summary::-webkit-details-marker{display:none}
details.years>summary::after{content:"Show";font:500 16px/1 var(--text);color:var(--signal-ink);border:1.5px solid currentColor;border-radius:var(--r);padding:8px 12px}
details.years[open]>summary::after{content:"Hide"}
table.yt{width:100%;border-collapse:collapse;font-size:16px;margin:0 0 16px}
.yt th{font:600 14px/1.3 var(--text);color:var(--ink-3);text-align:left;padding:8px 10px;border-bottom:2px solid var(--asphalt)}
.yt td{padding:7px 10px;border-bottom:1px solid var(--concrete-2);vertical-align:top}
.yt td.n,.yt th.n{text-align:right;font-variant-numeric:tabular-nums}
.yt td.y{font:700 18px/1.2 var(--display)}
.yt tr.pk td{background:var(--signal-tint)}
.yt .pt{font-size:14px;color:var(--hybrid);font-weight:600}

/* peers */
.peers{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:0 32px}
.peers a{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--rule);text-decoration:none;color:var(--asphalt)}
.peers a:hover b{color:var(--signal-ink)}
.peers span{color:var(--ink-3);font-variant-numeric:tabular-nums;white-space:nowrap}

/* footer */
.foot{background:var(--concrete);margin-top:32px;padding:32px 0 40px;font-size:15px;color:var(--ink-2)}
.foot .row{display:flex;flex-wrap:wrap;gap:8px 24px;align-items:baseline;justify-content:space-between}
.foot nav{display:flex;flex-wrap:wrap;gap:8px 20px}
.foot a{color:var(--asphalt)}
.foot p{margin:12px 0 0;max-width:90ch}

/* ===== compare tool ===== */
.hero{background:var(--concrete);color:var(--asphalt);padding:40px 0 48px;border-bottom:1px solid var(--rule)}
.hero h1{font:800 64px/.95 var(--display);max-width:22ch}
.hero .sub{font-size:19px;color:var(--ink-2);max-width:60ch;margin:12px 0 0}
.cmp{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;margin-top:28px}
.veh{background:#fff;border-radius:6px;padding:16px 16px 18px;border-top:4px solid var(--signal);box-shadow:0 1px 0 var(--rule)}
.veh.b{border-top-color:#3f6fe0}
.veh legend{font:700 22px/1 var(--display);padding:0;margin-bottom:12px;color:var(--asphalt)}
.veh fieldset{border:0;margin:0;padding:0;min-width:0}
.fld{display:grid;grid-template-columns:96px minmax(0,1fr) ;gap:8px;align-items:center;margin-bottom:8px}
.fld.wide{grid-template-columns:1fr}
.fld label{font-size:15px;color:var(--ink-2)}
select,input[type=number]{width:100%;min-width:0;font:500 16px/1.2 var(--text);color:var(--asphalt);background:#fff;border:1px solid #9aa1a9;border-radius:var(--r);padding:9px 10px;height:42px}
.picks{display:grid;grid-template-columns:110px minmax(0,1fr);gap:8px}
.picks .full{grid-column:1/-1}
.assume{display:flex;flex-wrap:wrap;gap:16px 32px;align-items:end;margin-top:16px}
.assume .f{display:grid;gap:6px}
.assume label{font-size:15px;color:var(--ink-2)}
.assume input[type=number]{width:150px}
.assume input[type=range]{width:220px;accent-color:var(--signal)}
.assume output{font:700 22px/1 var(--display);color:var(--asphalt)}
.result{margin-top:28px;background:#fff;color:var(--asphalt);border-radius:6px;padding:24px;border-top:3px solid var(--asphalt)}
.result h2{font:700 30px/1.1 var(--display);margin-bottom:16px}
.bars{display:grid;gap:14px}
.bar{display:grid;grid-template-columns:minmax(0,260px) minmax(0,1fr);gap:16px;align-items:center}
.bar .who{font-size:16px;line-height:1.3}
.bar .who b{display:block;font-weight:600}
.bar .who span{color:var(--ink-3);font-size:15px}
.bar .track{position:relative;height:44px;background:var(--concrete);border-radius:var(--r)}
.bar .fill{position:absolute;left:0;top:0;bottom:0;background:var(--signal);border-radius:var(--r);min-width:4px}
.bar.b .fill{background:#3f6fe0}
.bar .val{position:absolute;left:12px;top:50%;transform:translateY(-50%);font:800 26px/1 var(--display);color:#fff;white-space:nowrap}
.bar .val.out{color:var(--asphalt)}
.diff{margin:18px 0 0;font-size:19px}
.diff b{font:800 30px/1 var(--display);color:var(--asphalt)}
.mini{width:100%;border-collapse:collapse;margin-top:20px;font-size:16px}
.mini th,.mini td{padding:8px 10px;border-bottom:1px solid var(--concrete-2);text-align:right;font-variant-numeric:tabular-nums}
.mini th:first-child,.mini td:first-child{text-align:left}
.mini thead th{font:600 14px/1.3 var(--text);color:var(--ink-3);border-bottom:2px solid var(--asphalt)}
.note{font-size:15px;color:var(--ink-3);margin:16px 0 0}
.hero .note{color:var(--ink-3)}

/* home blocks */
.finder{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:48px;align-items:start}
.az{columns:4 160px;column-gap:32px;margin:0;padding:0;list-style:none}
.az li{break-inside:avoid;padding:5px 0;border-bottom:1px solid var(--concrete-2);display:flex;justify-content:space-between;gap:8px}
.az a{color:var(--asphalt);text-decoration:none;font-weight:500}
.az a:hover{color:var(--signal-ink);text-decoration:underline}
.az span{color:var(--ink-3);font-size:15px;font-variant-numeric:tabular-nums}
.search input{width:100%;font:500 18px/1.2 var(--text);padding:12px 14px;border:1.5px solid var(--asphalt);border-radius:var(--r);height:50px}
.leaders{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 48px}
.leaders figure{margin:0}
.leaders h3{font:700 22px/1.1 var(--display);margin-bottom:2px}
.leaders .gauge-cap{font-size:15px;color:var(--ink-2)}
.runs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
.runs a{display:block;color:var(--asphalt);text-decoration:none;border-top:2px solid var(--asphalt);padding-top:10px}
.runs a b{font:700 24px/1.1 var(--display);display:block}
.runs a span{font-size:15px;color:var(--ink-3)}
.runs a:hover b{color:var(--signal-ink)}
.guides-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 48px}
.guides-list li{border-bottom:1px solid var(--rule);padding:16px 0}
.guides-list a{font:600 19px/1.3 var(--text);color:var(--asphalt);text-decoration:none}
.guides-list a:hover{color:var(--signal-ink);text-decoration:underline}
.guides-list p{margin:4px 0 0;font-size:16px;color:var(--ink-2)}

/* hub */
.hub-head{padding:16px 0 0}
.hub-head h1{font:800 76px/.92 var(--display)}
.hub-intro{font-size:20px;line-height:1.6;max-width:var(--measure);margin:20px 0 32px}
.runchart .v{display:none}
.runchart figcaption{font-size:15px;color:var(--ink-2);margin-top:8px}
table.np{width:100%;border-collapse:collapse;font-size:16px}
.np th{font:600 14px/1.3 var(--text);color:var(--ink-3);text-align:left;padding:8px 10px;border-bottom:2px solid var(--asphalt)}
.np td{padding:9px 10px;border-bottom:1px solid var(--concrete-2);vertical-align:top}
.np td.n,.np th.n{text-align:right;font-variant-numeric:tabular-nums}
.np td a{font-weight:600}
.np .alias{display:block;font-size:14px;color:var(--ink-3)}
.np .muted{color:var(--ink-2)}

/* article */
.article{max-width:720px;margin:0 auto}
.article h1{font:800 62px/.98 var(--display);margin:8px 0 16px}
.byline{font-size:15px;color:var(--ink-3);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:10px 0;margin:0 0 28px;display:flex;flex-wrap:wrap;gap:4px 20px}
.byline b{color:var(--asphalt);font-weight:600}
.article .prose{font-size:19px;line-height:1.7}
.article .prose h2{font:700 32px/1.1 var(--display);margin:40px 0 12px}
.article .prose .first{font-size:22px;line-height:1.55}
.article figure{margin:28px 0 32px}
.article figure .v{display:none}
.article figcaption{font-size:15px;color:var(--ink-2);margin-top:8px}
.article table{width:100%;border-collapse:collapse;font-size:16px;margin:8px 0 28px}
.article th{font:600 14px/1.3 var(--text);color:var(--ink-3);text-align:right;padding:8px 10px;border-bottom:2px solid var(--asphalt)}
.article td{text-align:right;padding:7px 10px;border-bottom:1px solid var(--concrete-2);font-variant-numeric:tabular-nums}
.article th:first-child,.article td:first-child{text-align:left}
.sources{font-size:15px;color:var(--ink-2);border-top:1px solid var(--rule);padding-top:16px;margin-top:40px}

/* text pages */
.textpage{max-width:720px;margin:0 auto;padding-bottom:24px}
.textpage h1{font:800 60px/1 var(--display);margin:8px 0 24px}
.textpage h2{font:700 28px/1.1 var(--display);margin:36px 0 10px}
.textpage p,.textpage li{font-size:18px;line-height:1.7}

/* ===== mobile ===== */
@media (max-width:760px){
  body{font-size:17px}
  .wrap{padding:0 16px}
  .mast .wrap{flex-wrap:wrap;min-height:0;padding-top:12px;padding-bottom:4px;gap:4px}
  .mast nav{gap:4px 18px;width:100%;flex-wrap:wrap}
  .mast nav a{font-size:16px}
  .np-head h1{font-size:56px}
  .answer{font-size:20px}
  .tape .h,.gauge .h,.runchart .h,.article figure .h{display:none}
  .tape .v,.gauge .v,.runchart .v,.article figure .v{display:block}
  .lede{grid-template-columns:1fr;gap:28px}
  .lede .prose{font-size:18px}
  h2{font-size:30px}
  .era,.era-scale{grid-template-columns:74px minmax(0,1fr) 92px;gap:10px}
  .era .lbl{font-size:16px}
  .era .rk{font-size:14px}
  /* reflow tables into labelled rows */
  table.yt thead,table.np thead{position:absolute;left:-9999px}
  table.yt tr,table.np tr{display:grid;grid-template-columns:1fr 1fr;gap:2px 12px;padding:10px 0;border-bottom:1px solid var(--rule)}
  table.yt td,table.np td{border:0;padding:2px 0;text-align:left!important}
  table.yt td::before,table.np td::before{content:attr(data-label);display:block;font-size:14px;color:var(--ink-3);font-family:var(--text);font-weight:400}
  table.np tr{grid-template-columns:repeat(3,minmax(0,1fr))}
  table.np td:last-child{grid-column:span 2}
  table.yt td.y,table.np td.first{grid-column:1/-1}
  table.yt td.y::before,table.np td.first::before{display:none}
  .hero{padding:28px 0 32px}
  .hero h1{font-size:44px}
  .cmp{grid-template-columns:1fr}
  .picks{grid-template-columns:96px minmax(0,1fr)}
  .assume input[type=range]{width:100%}
  .assume .f{width:100%}
  .result{padding:18px 16px}
  .bar{grid-template-columns:1fr;gap:6px}
  .finder{grid-template-columns:1fr;gap:24px}
  .leaders,.runs,.guides-list{grid-template-columns:1fr}
  .runs{gap:20px}
  .hub-head h1{font-size:52px}
  .hub-intro{font-size:18px}
  .article h1,.textpage h1{font-size:44px}
  .article .prose{font-size:18px}
  .article .prose .first{font-size:20px}
  .article table thead{position:absolute;left:-9999px}
  .article table tr{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 12px;padding:10px 0;border-bottom:1px solid var(--rule)}
  .article table td{border:0;padding:0;text-align:left}
  .article table td.yr{grid-column:1/-1;font:700 20px/1.1 var(--display)}
  .article table td::before{content:attr(data-label);display:block;font-size:14px;color:var(--ink-3)}
  .article table td.yr::before{display:none}
  .mini{font-size:15px}
  .mini th,.mini td{padding:8px 4px}
}

/* build additions */
.key .k-ev{background:#2350c0}
.key .k-lane{width:22px;height:6px;background:#15171a;border-radius:0}
.key .k-lane-g{background:#9aa1a9}
.runchart{margin:8px 0 0}
.runchart .v{display:none}
.runchart figcaption{display:flex;flex-wrap:wrap;gap:8px 24px;font-size:15px;color:var(--ink-2);margin-top:8px}
.more{font-size:16px;color:var(--ink-2);border-top:1px solid var(--rule);padding-top:16px}
.wrap.narrow{max-width:820px;margin-top:48px}
.prose-s p{max-width:var(--measure);font-size:17px}
.smallmakes{columns:3 280px;column-gap:40px}
.smallmakes .mk{break-inside:avoid;margin:0 0 20px}
.smallmakes h3{font:700 22px/1.1 var(--display);margin:0 0 6px;border-bottom:2px solid var(--asphalt);padding-bottom:4px}
.smallmakes ul{list-style:none;margin:0;padding:0}
.smallmakes li{font-size:16px;padding:3px 0}
.smallmakes li span{color:var(--ink-3);font-size:15px}
.classlist{list-style:none;margin:0 0 48px;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:0 40px}
.classlist li{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--rule)}
.classlist a{font-weight:600}
.classlist span{color:var(--ink-3);font-size:15px;text-align:right}
.jump{display:flex;flex-wrap:wrap;gap:8px 16px;font:700 20px/1 var(--display)}
.years-grid{display:grid;gap:8px;margin-bottom:48px}
.yr{border-top:2px solid var(--asphalt);padding:12px 0 8px}
.yr h2{font-size:30px;margin-bottom:4px}
.yr p{max-width:90ch;font-size:17px}
.q-out{list-style:none;margin:8px 0 0;padding:0}
.q-out li{padding:6px 0;border-bottom:1px solid var(--concrete-2)}
.lead{font-size:20px;line-height:1.6}
.textpage table{width:100%;border-collapse:collapse;font-size:15px}
.textpage td{padding:6px 8px;border-bottom:1px solid var(--concrete-2)}
.az li{justify-content:flex-start}
@media (max-width:760px){
  .runchart .h{display:none}
  .runchart .v{display:block}
  .smallmakes{columns:1}
  .lead{font-size:18px}
  table.cls tr{grid-template-columns:repeat(2,minmax(0,1fr))}
  table.cls td:nth-child(4),table.cls td:nth-child(5){grid-column:1/-1}
}
.keys{display:flex;flex-wrap:wrap;gap:6px 20px;font-size:15px;color:var(--ink-2);margin-top:8px}
