@font-face{font-family:"Fjalla One";src:url(/type/fjalla-one-latin-400.woff2?rv=96bbdb37b0) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Fjalla Stand-in";src:local("Arial Narrow"),local("Liberation Sans Narrow"),local("DejaVu Sans Condensed"),local("Arial"),url(/type/source-sans-3-latin-400.woff2?rv=61cafa3722) format("woff2");size-adjust:86%}
@font-face{font-family:"Source Sans 3";src:url(/type/source-sans-3-latin-400.woff2?rv=61cafa3722) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Source Sans 3";src:url(/type/source-sans-3-latin-600.woff2?rv=f546d7b72b) format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Source Sans 3";src:url(/type/source-sans-3-latin-700.woff2?rv=ae35266f2a) format("woff2");font-weight:700;font-style:normal;font-display:swap}

:root{
  --ground:#F0F4F7;--tint:#E1E8F0;--ink:#1B1B1B;--ink-soft:#4a5563;--blue:#205496;--blue-deep:#173f72;--green:#287950;--green-deep:#1f603f;
  --paper:#fff;--rule:#cfd9e3;--net:#e6f2ea;--frame:1130px;--head-face:"Fjalla One","Fjalla Stand-in",sans-serif;
  --body-face:"Source Sans 3","Segoe UI",Roboto,sans-serif;--radius:16px;--lift:0 1px 2px rgba(23,63,114,.08),0 8px 24px rgba(23,63,114,.10)
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:84px}
body{margin:0;background:var(--ground);color:var(--ink);font:400 1.0625rem/1.6 var(--body-face)}
img{max-width:100%;height:auto;display:block}
a{color:var(--blue);text-underline-offset:.18em}
a:hover{color:var(--blue-deep)}
:focus-visible{outline:3px solid var(--green);outline-offset:2px}
h1,h2,h3{font-family:var(--head-face);font-weight:400;line-height:1.15;color:var(--blue-deep);margin:0 0 .5em;letter-spacing:.005em}
h1{font-size:clamp(2.1rem,4.4vw,3.25rem)}
h2{font-size:clamp(1.55rem,2.6vw,2.1rem)}
h3{font-size:1.3rem}
p{margin:0 0 1em}
.wrap{max-width:var(--frame);margin:0 auto;padding:0 24px}
.measure>*,.prose>*{max-width:46rem}
.prose>.table-scroll,.measure>.table-scroll{max-width:none}
.skip{position:absolute;left:-999px;top:8px;background:var(--paper);padding:8px 12px;z-index:60}
.skip:focus{left:8px}

/* header */
.topbar{position:relative;z-index:40;background:var(--paper);box-shadow:0 1px 0 var(--rule)}
.topbar .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:68px}
.lockup{display:flex;align-items:center;flex:0 0 auto}
.lockup img{height:44px;width:auto}
.menu{display:flex;align-items:center;gap:4px;list-style:none;margin:0;padding:0}
.menu>li{position:relative}
.menu a,.menu button{font:500 1rem/1 var(--body-face);color:var(--ink);text-decoration:none;background:none;border:0;padding:12px 12px;border-radius:10px;cursor:pointer;display:inline-flex;align-items:center;gap:6px}
.menu a:hover,.menu button:hover,.menu [aria-current=page]{color:var(--blue);background:var(--ground)}
.menu button::after{content:"";width:7px;height:7px;border-right:1.6px solid currentColor;border-bottom:1.6px solid currentColor;transform:translateY(-2px) rotate(45deg)}
.drop{position:absolute;top:100%;left:50%;transform:translateX(-50%);padding-top:22px;display:none;z-index:45}
.drop::before{content:"";position:absolute;left:0;right:0;top:0;height:24px}
.drop-in{background:var(--paper);border-radius:14px;box-shadow:var(--lift);padding:14px;display:grid;grid-template-columns:repeat(var(--cols,1),minmax(0,1fr));gap:2px 18px;width:max-content;max-width:min(560px,92vw)}
.drop-in a{display:block;padding:8px 10px;font-weight:400;white-space:normal;line-height:1.3}
.menu>li:hover>.drop,.menu>li:focus-within>.drop,.menu>li[data-state=open]>.drop{display:block}
.menu>li[data-state=shut]>.drop{display:none}
.menu>li:last-child .drop{left:auto;right:0;transform:none}
.burger{display:none;align-items:center;gap:8px;margin-left:auto;background:none;border:0;border-radius:10px;padding:10px 4px 10px 10px;font:500 1rem var(--body-face);color:var(--ink);cursor:pointer}
.burger::after{content:"";width:16px;height:10px;border-top:1.6px solid currentColor;border-bottom:1.6px solid currentColor;box-shadow:inset 0 4.2px 0 -2.6px currentColor}
.topbar[data-state=open] .burger::after{width:12px;height:12px;border:0;box-shadow:none;background:linear-gradient(45deg,transparent 45%,currentColor 45%,currentColor 55%,transparent 55%),linear-gradient(-45deg,transparent 45%,currentColor 45%,currentColor 55%,transparent 55%)}
.burger:hover{color:var(--blue)}

@media (max-width:960px){
  .burger{display:inline-flex}
  .topbar nav{display:contents}
  .menu{display:none;position:absolute;left:0;right:0;top:100%;background:var(--paper);flex-direction:column;align-items:stretch;padding:8px 16px 16px;box-shadow:0 12px 24px rgba(23,63,114,.12);max-height:calc(100vh - 68px);overflow:auto}
  .topbar[data-state=open] .menu{display:flex}
  .menu a,.menu button{width:100%;justify-content:space-between;padding:14px 8px;font-size:1.05rem}
  .drop{position:static;transform:none;padding:0;display:none}
  .menu>li:hover>.drop,.menu>li>.drop{display:block}
  .menu>li[data-state=shut]>.drop{display:none}
  .drop-in{box-shadow:none;padding:0 0 8px 12px;width:auto;max-width:none;grid-template-columns:1fr 1fr}
  .lockup img{height:36px}
}

/* crumbs + page heads */
.crumbs{font-size:.9rem;color:var(--ink-soft);padding-top:18px}
.crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.crumbs li+li::before{content:"/";margin-right:6px;color:#8b97a5}
.crumbs a{color:var(--ink-soft)}
.pagehead{padding-top:36px;padding-bottom:32px}
.pagehead .sub{font-size:1.2rem;color:var(--ink-soft);max-width:44rem;margin:0}

/* home hero band */
.band-photo{position:relative;color:#fff;min-height:420px;display:flex;align-items:flex-start;overflow:hidden;background:#1c2f45}
.band-photo>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.band-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,30,52,.62),rgba(15,30,52,.35) 55%,rgba(15,30,52,.15))}
.band-photo .wrap{position:relative;z-index:1;text-align:center;padding-top:64px;padding-bottom:150px;width:100%}
.band-photo h1{color:#fff;margin-bottom:.3em}
.band-photo .sub{font-size:1.25rem;max-width:40rem;margin:0 auto;color:#f3f6f9}
.tool-dock{position:relative;z-index:2;margin-top:-130px}

/* finder */
.finder{background:var(--paper);border-radius:var(--radius);box-shadow:var(--lift);max-width:620px;margin:0 auto;padding:32px 36px 30px}
.finder fieldset{border:0;margin:0;padding:0;min-width:0}
.finder legend,.finder .ask{font-family:var(--head-face);font-size:1.6rem;color:var(--blue-deep);padding:0;margin:0 0 14px;line-height:1.2}
.finder-trail{list-style:none;display:flex;flex-wrap:wrap;align-items:center;gap:2px 0;margin:0 0 10px;padding:0;font-size:.95rem;line-height:1.3;color:#6b7684}
.finder-trail li{display:flex;align-items:center;min-width:0}
.finder-trail li+li::before{content:"\203A";margin:0 10px;color:#9fb0c2}
.finder-trail li[aria-current]{color:var(--ink);font-weight:600}
.finder-trail button{font:inherit;color:var(--blue);background:none;border:0;padding:0;min-height:40px;cursor:pointer;text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(32,84,150,.4)}
.finder-trail button:hover{color:var(--blue-deep);text-decoration-color:currentColor}
.finder select{width:100%;font:400 1.15rem var(--body-face);padding:14px 44px 14px 14px;border:1.5px solid #9fb0c2;border-radius:12px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9'%3E%3Cpath d='M1 1l6 6 6-6' fill='none' stroke='%23205496' stroke-width='2'/%3E%3C/svg%3E") no-repeat right 16px center;appearance:none;color:var(--ink)}
.finder select:focus{border-color:var(--blue);outline:3px solid rgba(32,84,150,.18)}
.pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.pick{display:block;cursor:pointer}
.pick input{position:absolute;opacity:0;pointer-events:none}
.pick span{display:block;border:1.5px solid #9fb0c2;border-radius:12px;padding:16px 16px;font-size:1.1rem;font-weight:600;text-align:center}
.pick span small{display:block;font-weight:400;font-size:.92rem;color:var(--ink-soft);margin-top:2px}
.pick:hover span{border-color:var(--blue)}
.pick input:checked+span{border-color:var(--blue);background:#eef3fa;color:var(--blue-deep)}
.pick input:focus-visible+span{outline:3px solid var(--green);outline-offset:2px}
.steps-nav{display:flex;justify-content:space-between;align-items:center;margin-top:18px;gap:12px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:600 1.05rem/1 var(--body-face);border-radius:999px;padding:14px 26px;border:0;cursor:pointer;text-decoration:none;background:var(--green);color:#fff}
.btn:hover{background:var(--green-deep);color:#fff}
.btn-quiet{background:none;color:var(--blue);padding:12px 4px;border:0;border-radius:0;cursor:pointer;font:600 1.05rem/1 var(--body-face)}
.step-msg{margin:10px 0 0;font-size:.98rem;line-height:1.4;color:#9b2c1d}
.finder [aria-invalid=true]{outline:2px solid #9b2c1d;outline-offset:2px}
.btn-quiet:hover{background:none;color:var(--blue-deep);text-decoration:underline}
.finder [hidden]{display:none!important}
.finder [data-answer]{font-size:1.5rem;line-height:1.4}
.answer{font-size:1em;line-height:1.4;margin:0 0 12px;color:var(--ink)}
.answer strong{color:var(--green-deep);font-weight:600}
.answer-note{font-size:.98rem;color:var(--ink-soft);margin:0}
.answer-next{font-size:1rem;margin:12px 0 0;font-weight:600}
.nojs-line{font-size:1rem;color:var(--ink-soft);margin:14px 0 0}

/* facts row */
.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px 32px;margin:0;padding:0;list-style:none}
.facts li{padding:6px 0}
.facts b{display:block;font:400 2.3rem/1.05 var(--head-face);color:var(--blue-deep)}
.facts b.go{color:var(--green-deep)}
.facts span{display:block;color:var(--ink-soft);font-size:1rem;margin-top:4px}
.facts b.sent,.facts b.sent+span{display:inline;margin:0;font:400 1.0625rem/1.45 var(--body-face);color:var(--ink)}
.facts b.sent+span:empty{display:none}

/* sections */
.sec{padding:56px 0}
.sec-tight{padding:36px 0}
.prose-sec+.prose-sec{padding-top:8px}
.sec.sec-lead{padding-top:16px}
.sec-white{background:var(--paper)}
.sec-tint{background:var(--tint)}
.src-sec{padding:0 0 44px}
.sec:has(+ .src-sec){padding-bottom:20px}
.sec h2{margin-bottom:.4em}
.sec .lead{font-size:1.15rem;color:var(--ink-soft);max-width:44rem}
.centred{text-align:center}
.centred .lead{margin-left:auto;margin-right:auto}
.banner{position:relative;overflow:hidden;background:#1c2f45}
.banner img{width:100%;height:clamp(220px,32vw,380px);object-fit:cover}
.split2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px}
.routes{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:4px 40px}
.routes li{padding:14px 0;border-bottom:1px solid var(--rule)}
.routes a{font-weight:600;text-decoration:none;font-size:1.1rem}
.routes a:hover{text-decoration:underline}
.routes span{display:block;color:var(--ink-soft);font-size:.98rem}
.prose h2{margin-top:1.4em}
.prose ul,.prose ol{padding-left:1.25em;margin:0 0 1em}
.prose li{margin:.3em 0}
.src{font-size:.95rem;color:var(--ink-soft)}
.downloads{font-size:.98rem;color:var(--ink-soft);margin:16px 0 0}
.table-note{font-size:.95rem;color:var(--ink-soft);margin:14px 0 0;max-width:52rem}

/* tables */
.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
table.ledger{width:100%;border-collapse:collapse;background:var(--paper);font-size:1rem}
.ledger caption{text-align:left;font-size:.95rem;color:var(--ink-soft);padding:0 0 10px;caption-side:top}
.ledger th,.ledger td{padding:12px 14px;text-align:left;border-bottom:1px solid var(--rule);vertical-align:top}
.ledger thead th{font-weight:600;font-size:.95rem;line-height:1.3;color:var(--ink-soft);background:var(--paper);border-bottom:1.5px solid #b7c6d5;vertical-align:bottom}
.ledger td.num,.ledger th.num{text-align:right;white-space:nowrap}
.ledger.prov-rows th,.ledger.prov-rows td{padding-left:10px;padding-right:10px}
.ledger thead th.num{white-space:normal;min-width:6.5em}
.ledger .nil-note{display:block;font-size:.78rem;font-weight:400;color:var(--ink-soft)}
.ledger .net{background:var(--net);font-weight:700;color:var(--green-deep)}
.ledger thead th.net{color:var(--green-deep);background:var(--net)}
.ledger tbody tr:hover td{background:#f6f9fc}
.ledger tbody tr:hover td.net{background:#d9ecdf}
.ledger th button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer;text-align:inherit}
.ledger th button::after{content:" \2195";color:#8b97a5}
.ledger th[aria-sort] button::after{content:" \2193";color:var(--blue)}
.ledger th[aria-sort=ascending] button::after{content:" \2191"}
.mk{display:flex;align-items:center;gap:10px}
.mk img{flex:0 0 48px;width:48px;height:24px;object-fit:contain;object-position:center}
.mk img.xw{flex:0 0 92px;width:92px;height:auto;max-height:24px}
.prose ul.car-lines{list-style:none;padding-left:0}
.car-lines li{margin:.55em 0}
.car-lines .mk img{flex:0 0 56px}
.car-lines .mk img.xw{flex-basis:92px}
.word-open{color:var(--green-deep);font-weight:600}
.word-shut{color:#8a3b2a;font-weight:600}
.word-none{color:var(--ink-soft);font-weight:600}
.filters{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:end;margin:0 0 16px}
.table-h{font-size:1.45rem;margin:0 0 14px}
.filters label{display:flex;flex-direction:column;font-size:.92rem;color:var(--ink-soft);gap:4px}
.filters select{font:400 1rem var(--body-face);padding:9px 34px 9px 10px;border:1.5px solid #9fb0c2;border-radius:10px;background:#fff;color:var(--ink)}
@media (max-width:720px){
  .ledger.stack thead{display:none}
  .ledger.stack,.ledger.stack tbody,.ledger.stack caption{display:block;width:100%}
  .ledger.stack tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 14px;border-bottom:1px solid var(--rule);padding:14px 10px}
  .ledger.stack td{display:block;border:0;padding:0;text-align:left;white-space:normal;font-size:1rem}
  .ledger.stack td:first-child{grid-column:1/-1;font-weight:600;font-size:1.08rem}
  .ledger.stack td[data-k]:not(:first-child)::before{content:attr(data-k);display:block;color:var(--ink-soft);font-weight:400;font-size:.82rem;line-height:1.25}
  .ledger.stack td.net{background:none;color:var(--green-deep)}
  .ledger.stack td.wide{grid-column:1/-1}
  .ledger.stack td:last-child:nth-child(even){grid-column:1/-1}
  .ledger.stack tbody tr:hover td{background:none}
}

/* model page */
.model-head{display:flex;align-items:center;gap:16px;margin-bottom:8px}
.model-head img{height:40px;width:auto}
@media (max-width:700px){.model-head{flex-direction:column;align-items:flex-start;gap:12px}.model-head img{height:30px;max-width:220px;object-fit:contain;object-position:left center}}

/* dealer form */
.ask-form{display:grid;gap:14px;margin-top:22px;padding-top:22px;border-top:1px solid var(--rule)}
.ask-form .ask-h{margin:0;font-size:1.3rem}
.ask-form label{display:flex;flex-direction:column;gap:5px;font-weight:600;font-size:.98rem}
.ask-form input,.ask-form select{font:400 1.05rem var(--body-face);padding:12px;border:1.5px solid #9fb0c2;border-radius:10px;color:var(--ink);background:#fff}
.ask-form .row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.ask-form .consent{font-size:.92rem;color:var(--ink-soft);margin:0}
.bay{position:absolute;left:-5000px;width:1px;height:1px;overflow:hidden}

/* faq */
.faq details{border-bottom:1px solid var(--rule);padding:4px 0}
.faq summary{cursor:pointer;font:600 1.1rem/1.35 var(--body-face);color:var(--ink);padding:14px 28px 14px 0;list-style:none;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";position:absolute;right:6px;top:21px;width:8px;height:8px;border-right:1.6px solid var(--blue);border-bottom:1.6px solid var(--blue);transform:rotate(45deg)}
.faq details[open] summary::after{transform:rotate(-135deg);top:25px}
.faq summary:hover{color:var(--blue)}
.faq details p{margin:0 0 14px}

/* footer */
.foot{background:var(--blue-deep);color:#e6edf5;padding:48px 0 28px;margin-top:0}
.foot a{color:#fff;text-decoration:none}
.foot a:hover{text-decoration:underline}
.foot-map{display:grid;grid-template-columns:1.2fr 2fr 1fr 1fr;gap:28px}
.foot h2{font-size:1.15rem;color:#fff;margin:0 0 10px}
.foot ul{list-style:none;margin:0;padding:0}
.foot li{margin:0 0 6px}
.foot .provs{columns:2;column-gap:20px}
.foot .lockup img{height:40px}
.foot-base{margin-top:32px;padding-top:18px;border-top:1px solid rgba(255,255,255,.2);font-size:.92rem;display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:space-between}

@media (max-width:860px){
  .split2{grid-template-columns:1fr}
  .foot-map{grid-template-columns:1fr 1fr}
  .foot-map>div:first-child,.foot-map>div:nth-child(2){grid-column:1/-1}
  .sec{padding:52px 0}
}
@media (max-width:560px){
  .wrap{padding-left:18px;padding-right:18px}
  .finder{padding:24px 20px;border-radius:14px}
  .finder legend,.finder .ask{font-size:1.4rem}
  .band-photo{min-height:360px}
  .band-photo .wrap{padding-top:40px;padding-bottom:130px}
  .pair,.ask-form .row2{grid-template-columns:1fr}
  .steps-nav>span:empty{display:none}
  .steps-nav .btn{flex:1 1 auto}
  .facts{grid-template-columns:1fr 1fr;gap:14px 18px}
  .facts li{padding:2px 0}
  .facts b{font-size:1.6rem}
  .facts span{font-size:.9rem;line-height:1.35}
  .foot{padding:36px 0 24px}
  .foot li{margin:0 0 4px}
}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

/* federal rules list */
.rules{margin-top:28px;padding-top:22px;border-top:1px solid var(--rule)}
.rules-h,.sec .rules-h{font:400 1.35rem/1.2 var(--head-face);margin:0 0 6px;color:var(--blue-deep)}
.rules ul{list-style:none;margin:0 0 12px;padding:0;max-width:46rem}
.rules li{color:var(--ink);line-height:1.45;padding:10px 0;border-bottom:1px solid var(--rule)}
.rules li:last-child{border-bottom:0}
.rules li b{color:var(--ink);font-weight:600}
.rules .src{margin:0}
.facts-src{margin:18px 0 0}
.centred + div .facts-src{text-align:center}
.steps{padding-left:1.4em}
.steps li{margin:.5em 0;padding-left:.2em}
.steps li::marker{font-family:var(--head-face);color:var(--blue);font-size:1.15em}
/* the lede follows the facts row on the same ground: one breath between them, not two section paddings */
.sec.sec-tight + .sec.lede-sec,.sec + .sec.lede-sec{padding-top:6px}
@media (max-width:860px){.sec.sec-tight{padding:40px 0}}

/* page frame: the footer closes the window on short pages */
.frame{min-height:100vh;display:flex;flex-direction:column}
.frame>main{flex:1 0 auto}
.ledger.stack td:first-child,.ledger.stack td:first-child a{font-family:var(--body-face)}
/* the one-question province picker on car and federal pages: the finder's own select, one plain answer line under it */
.prov-pick{max-width:640px;margin:0 0 28px}
.prov-pick label{display:block;font:400 1.35rem/1.2 var(--head-face);color:var(--blue-deep);margin:0 0 10px}
.prov-pick select{width:100%;font:400 1.1rem var(--body-face);padding:13px 44px 13px 14px;border:1.5px solid #9fb0c2;border-radius:12px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9'%3E%3Cpath d='M1 1l6 6 6-6' fill='none' stroke='%23205496' stroke-width='2'/%3E%3C/svg%3E") no-repeat right 16px center;appearance:none;color:var(--ink);cursor:pointer}
.prov-pick select:hover{border-color:var(--blue)}
.prov-pick select:focus{border-color:var(--blue);outline:3px solid rgba(32,84,150,.18)}
.prov-pick .answer{font-size:1.25rem;margin:14px 0 0}
.prov-pick .answer b{color:var(--green-deep);font-weight:600}
.pagehead .prov-pick{margin:22px 0 0}
.pick-dock{padding-top:6px;padding-bottom:4px}
.pick-price{margin:16px 0 0}
.pick-price b{display:block;font:400 2.6rem/1.05 var(--head-face);color:var(--green-deep)}
.pick-price span{display:block;color:var(--ink-soft);font-size:1.05rem;line-height:1.4;margin-top:6px;max-width:36em}
.all-prov,.how-prices{border-top:1px solid var(--rule);margin:4px 0 0}
.all-prov summary,.how-prices summary{cursor:pointer;font:600 1.05rem/1.35 var(--body-face);color:var(--blue);padding:14px 0;list-style:none}
.all-prov summary::-webkit-details-marker,.how-prices summary::-webkit-details-marker{display:none}
.all-prov summary::after,.how-prices summary::after{content:"";display:inline-block;width:7px;height:7px;margin-left:12px;border-right:1.6px solid currentColor;border-bottom:1.6px solid currentColor;transform:translateY(-3px) rotate(45deg)}
.all-prov[open] summary::after,.how-prices[open] summary::after{transform:translateY(1px) rotate(-135deg)}
.all-prov summary:hover,.how-prices summary:hover{color:var(--blue-deep)}
.cell-sub{display:block;font-size:.85rem;font-weight:400;color:var(--ink-soft);white-space:normal}

/* model page: the car itself beside its head and picker */
.model-top{padding-bottom:8px}
.model-top .pagehead{padding-bottom:16px}
.model-top.has-shot{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,460px);grid-template-areas:"head shot" "pick shot" "facts shot";grid-template-rows:auto auto 1fr;column-gap:40px;align-items:start}
.model-top.has-shot .model-facts{grid-area:facts}
.model-top .facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 28px;max-width:560px}
.ledger .mk>a,.ledger .mk>span{text-wrap:balance}
.model-top .facts b{font-size:1.6rem}
.model-top .facts span{font-size:.95rem}
.model-top .facts>li:last-child:nth-child(odd){grid-column:1/-1}
@media (max-width:640px){.model-top .facts,.model-top .facts:has(>li:nth-child(3):last-child){grid-template-columns:1fr 1fr;gap:12px 16px}.model-top .facts b{font-size:1.35rem}.model-top .facts span{font-size:.86rem}}
.model-facts{padding-bottom:8px}
.model-top.has-shot .pagehead{grid-area:head}
.model-top.has-shot .pick-dock{grid-area:pick}
.model-top.has-shot .car-shot{grid-area:shot;margin-top:24px}
.car-shot{margin:0}
.car-shot img{display:block;width:100%;height:auto;border-radius:var(--radius);box-shadow:var(--lift);background:var(--tint)}
.car-shot .credit{font-size:.8rem;color:var(--ink-soft);margin-top:6px;line-height:1.35}
.car-shot .credit a{color:var(--ink-soft)}
@media (max-width:860px){
  .model-top.has-shot{display:block}
  .model-top.has-shot .car-shot{margin:18px 0 0}
  .model-head{margin-top:6px}
}

/* the federal amounts by year in one row */
.years-strip{margin:26px 0 0;padding:20px 0 0;border-top:1px solid var(--rule)}
.years-h{font-weight:600;margin:0 0 10px;color:var(--ink)}
.years-strip ol{list-style:none;margin:0 0 8px;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px 18px}
.years-strip li{color:var(--ink-soft)}
.years-strip li span{display:block;font-size:.9rem}
.years-strip li b{font:400 1.5rem/1.1 var(--head-face);color:var(--blue-deep)}
.years-strip li:first-child b{color:var(--green-deep)}
.years-strip .src{margin:0}

/* tables: the visitor's own province, short notes, steady car column */
.ledger tbody tr.is-mine td{background:var(--net)}
.ledger tbody tr.is-mine td:first-child{box-shadow:inset 4px 0 0 var(--green)}
.ledger th.is-mine,.ledger td.is-mine{background:var(--net);color:var(--green-deep);font-weight:700;box-shadow:inset 0 0 0 2px var(--green)}
.table-note.top{margin:0 0 14px}
.table-h3{font-size:1.25rem;margin:26px 0 10px}
.ledger td[data-k="Car"]{min-width:13rem}
.prov-rules{list-style:none;padding:0;margin:16px 0 0}
.prov-rules li{margin:6px 0}
.facts-sec{padding-top:8px}
@media (max-width:720px){.ledger td[data-k="Car"]{min-width:0}}
.cars-note{margin-top:18px}
.cars-note>:first-child{margin-top:0}
.fact-next{margin:18px 0 0;font-weight:600;font-size:1.05rem}
/* phone: a province is one short block, name first, then label | value lines; empty and same-in-every-row cells stay on desktop only */
@media (max-width:720px){
  .ledger.prov-rows tr{display:block;padding:12px 2px}
  .ledger.prov-rows td{display:block;text-align:right;margin:2px 0}
  .ledger.prov-rows td:first-child{text-align:left;margin:0 0 4px}
  .ledger.prov-rows td[data-k]:not(:first-child)::before{display:block;float:left;margin:0 14px 0 0;text-align:left;font-size:.9rem;line-height:1.6}
  .ledger.prov-rows td::after{content:"";display:block;clear:both}
  .ledger.prov-rows td .cell-sub{display:block;text-align:right}
  .ledger.prov-rows td.nil,.ledger.prov-rows td.ph-hide{display:none}
}
@media (max-width:560px){
  .facts:has(>li:nth-child(3):last-child){grid-template-columns:1fr}
  .facts>li:last-child:nth-child(odd){grid-column:1/-1}
}
/* two sections on the same ground: one section's breath between them, not two */
.sec:not(.sec-white):not(.sec-tint)+.sec:not(.sec-white):not(.sec-tint):not(.lede-sec):not(.facts-sec),.sec-white+.sec-white:not(.sec-lead){padding-top:12px}
.ledger td[data-k="Status"]{min-width:12.5rem}
@media (max-width:720px){.ledger td[data-k="Status"]{min-width:0}}
table.ledger.years{max-width:640px}
.sec.rules-sec{padding-top:0}
.rules-sec .rules{margin-top:12px}
/* phone province rows, amount first: name | amount on one line, the status under it, other filled cells as label | value */
@media (max-width:720px){
  .ledger.prov-rows tr{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:14px;row-gap:2px}
  .ledger.prov-rows td{grid-column:1/-1}
  .ledger.prov-rows td:first-child{grid-column:1;grid-row:1}
  .ledger.prov-rows td.lead{grid-column:2;grid-row:1;margin:0;font-size:1.08rem}
  .ledger.prov-rows td.lead[data-k]:not(:first-child)::before,.ledger.prov-rows td.st[data-k]:not(:first-child)::before{display:none}
  .ledger.prov-rows td.st{text-align:left;color:var(--ink-soft);font-size:.95rem}
  .ledger.prov-rows td.st .cell-sub,.ledger.prov-rows td.lead .cell-sub{text-align:inherit}
  .ledger.prov-rows td.lead .cell-sub{font-size:.82rem}
}
.ledger thead th .cell-sub{font-weight:400;margin-top:2px}

.ledger.vs td.best{color:var(--green-deep);font-weight:600}
.vs-facts{margin:22px 0 0}
.vs-facts b{font-size:1.25rem}
.table-pick{margin:0 0 14px}
.table-pick label{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;font-size:1rem;color:var(--ink)}
.table-pick select{font:400 1rem var(--body-face);padding:9px 34px 9px 12px;border:1.5px solid #9fb0c2;border-radius:10px;background:#fff;color:var(--ink);min-width:15rem;max-width:100%}
.table-pick select:hover{border-color:var(--blue)}
.ledger [hidden]{display:none!important}
.how-prices p{margin:0 0 16px;max-width:52rem;color:var(--ink-soft)}
.ledger td.type{white-space:nowrap}
.prov-rules li b{font-weight:inherit;color:inherit}
/* comparison: the two prices under the title, each verdict named, the next step before the sources */
.vs-top{margin:20px 0 0;max-width:560px;grid-template-columns:repeat(2,minmax(0,1fr))}
.vs-top span .mk{display:flex;gap:8px;font-weight:600;color:var(--ink);margin-bottom:2px}
.vs-top span .mk img{flex-basis:40px;width:40px;height:20px}
.vs-top span .mk img.xw{flex-basis:84px;width:84px;height:auto}
.vs-facts li[data-label]::before{content:attr(data-label);display:block;font-size:.9rem;color:var(--ink-soft);margin-bottom:4px}
.next-links{display:flex;flex-direction:column;align-items:flex-start;gap:10px;font-size:0;margin-top:22px}
.next-links a{font-size:1.05rem;font-weight:600}
.next-links a::after{content:" \2192"}
.vs-cap{margin:10px 0 0;color:var(--ink-soft);font-size:1rem}
.ledger.vs thead th a{text-decoration:none;color:var(--ink)}
.ledger.vs thead th .mk{justify-content:flex-end}
@media (max-width:720px){
  .vs-top{gap:12px 16px}
  .vs-facts{grid-template-columns:1fr}
  .ledger.vs th,.ledger.vs td{padding:10px 8px;font-size:.95rem}
  .ledger.vs td.num{white-space:normal}
  .ledger.vs thead th .mk{flex-direction:column;align-items:flex-end;gap:4px}
  .ledger.vs thead th{color:var(--ink)}
}
.vs-top b{font-size:2.6rem}
.pagehead .next-links{margin-top:20px}
.ledger.vs{max-width:820px}
.ledger.vs thead th .mk img{flex:0 0 auto;width:auto;height:22px;max-width:64px}
.ledger.vs thead th .mk img.xw{width:92px;max-width:92px;height:auto;max-height:22px}
.prose-sec:has(+ .prose-sec){padding-bottom:24px}
.prose-sec .prose>:last-child{margin-bottom:0}
@media (max-width:720px){.vs-top b{font-size:2rem}.ledger.vs thead th .mk img{height:20px;max-width:52px}.ledger.vs thead th .mk img.xw{width:72px;max-width:72px;height:auto}.ledger.vs thead th{font-size:.92rem}}
.cell-sub.one-line{white-space:nowrap;font-size:.8rem}
.measure>.ask-form:first-child{border-top:0;padding-top:0;margin-top:0}
.pagehead:has(.prov-pick){padding-bottom:12px}
.year-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 56px;align-items:start}
.year-grid>.rules{margin-top:0;padding-top:0;border-top:0}
@media (max-width:900px){.year-grid{grid-template-columns:1fr}.year-grid>.rules{margin-top:28px;padding-top:22px;border-top:1px solid var(--rule)}}
.ledger td.no-go,.ledger td.no-go.is-mine{background:none;box-shadow:none;color:var(--ink-soft);font-weight:400}
.ledger.groups tbody{border-bottom:1px solid var(--rule)}
.ledger.groups tbody td{border-bottom:0}
.ledger.groups tr.m-row td.car{display:flex;flex-wrap:wrap;align-items:center;gap:4px 14px}
.ledger.groups small.from{font-size:.8rem;font-weight:400;color:var(--ink-soft)}
.ledger.groups tr.t-row td{padding-top:6px;padding-bottom:6px;font-size:.95rem}
.ledger.groups tr.t-row td.car{padding-left:72px;color:var(--ink-soft)}
.ledger.groups tr.t-row:last-child td{padding-bottom:12px}
.trims-btn{font:400 .9rem var(--body-face);color:var(--blue);background:none;border:0;padding:2px 0;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.trims-btn::after{content:" \25BE"}
.trims-btn[aria-expanded=true]::after{content:" \25B4"}
.trims-btn:hover{color:var(--blue-deep)}
@media (max-width:720px){
  .ledger.groups thead{display:none}
  .ledger.groups,.ledger.groups tbody,.ledger.groups caption{display:block;width:100%}
  .ledger.groups tbody[hidden]{display:none}
  .ledger.groups tr{display:flex;flex-wrap:wrap;gap:4px 12px;padding:12px 4px}
  .ledger.groups td{display:block;flex:1 1 0;min-width:0;padding:0;text-align:left;white-space:normal;font-size:.98rem}
  .ledger.groups td.car{flex:1 0 100%}
  .ledger.groups .type,.ledger.groups .ph-hide{display:none}
  .ledger.groups td[data-k]:not(.car)::before{content:attr(data-k);display:block;color:var(--ink-soft);font-weight:400;font-size:.8rem;line-height:1.25}
  .ledger.groups td.net{background:none}
  .ledger.groups small.from{display:block;line-height:1.1}
  .ledger.groups tr.t-row{padding:8px 4px}
  .ledger.groups tr.t-row td.car{padding-left:14px}
  .ledger.groups tr.t-row td[data-k]:not(.car)::before{display:none}
  .ledger.groups .mk img{flex-basis:36px;width:36px;height:18px}
  .ledger.groups .mk img.xw{flex-basis:64px;width:64px;height:auto;max-height:18px}
  .ledger.groups tbody tr:hover td{background:none}
}

/* the three federal numbers right under the sub line: in the page head, and on the home photo in white */
.head-facts{margin:24px 0 0}
.head-facts .facts{grid-template-columns:repeat(3,minmax(0,1fr));max-width:52rem}
.hero-facts{margin:22px auto 0;max-width:46rem}
.hero-facts .facts{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 28px}
.hero-facts .facts b,.hero-facts .facts b.go{color:#fff;font-size:1.9rem}
.hero-facts .facts span{color:#e6edf4;font-size:.95rem;line-height:1.35}
.hero-facts .facts b.sent,.hero-facts .facts b.sent.go,.hero-facts .facts b.sent+span{font:400 1.05rem/1.4 var(--body-face);color:#fff}
.band-photo:has(.hero-facts) .wrap{padding-top:48px}
@media (max-width:560px){
  .head-facts .facts{grid-template-columns:1fr 1fr 1fr;gap:10px 12px}
  .head-facts .facts b{font-size:1.3rem}
  .head-facts .facts span{font-size:.8rem}
  .hero-facts{margin-top:16px;margin-bottom:24px}
  .hero-facts .facts{grid-template-columns:1fr 1fr 1fr;gap:8px 10px}
  .hero-facts .facts b,.hero-facts .facts b.go{font-size:1.25rem}
  .hero-facts .facts span{font-size:.76rem}
  .facts:has(.sent),.hero-facts .facts:has(.sent){grid-template-columns:1fr;gap:8px}
  .hero-facts .facts b.sent,.hero-facts .facts b.sent.go,.hero-facts .facts b.sent+span{font-size:1rem}
  .band-photo:has(.hero-facts) .wrap{padding-top:28px}
}
