@font-face{font-family:"Fjalla One";src:url(/type/fjalla-one-latin-400.woff2) 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) format("woff2");size-adjust:86%}
@font-face{font-family:"Source Sans 3";src:url(/type/source-sans-3-latin-400.woff2) 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) 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) 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:sticky;top:0;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:10px;display:none;z-index:45}
.drop::before{content:"";position:absolute;left:0;right:0;top:0;height:12px}
.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:18px 0 0}
.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:20px 0 28px}
.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:760px;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 .count{font-size:.92rem;color:var(--ink-soft);margin:0 0 6px}
.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;font-weight:600}
.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}
.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}

/* sections */
.sec{padding:56px 0}
.sec-tight{padding:36px 0}
.prose-sec+.prose-sec{padding-top:8px}
.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 .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{height:22px;width:auto;max-width:56px;object-fit:contain}
.prose ul.car-lines{list-style:none;padding-left:0}
.car-lines li{margin:.55em 0}
.car-lines .mk img{flex:0 0 56px}
.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 4px}
  .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 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:0 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}
  .facts b{font-size:1.9rem}
  .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{font-weight:600;font-size:1.05rem;margin:0 0 8px;color:var(--ink)}
.rules ul{list-style:none;margin:0 0 10px;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 36px}
.rules li{color:var(--ink-soft);line-height:1.45}
.rules li b{color:var(--ink);font-weight:600}
.rules .src{margin:0}
@media (max-width:720px){.rules ul{grid-template-columns:1fr}}
.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{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}
.pick-dock{padding-top:6px;padding-bottom:4px}
.cell-sub{display:block;font-size:.85rem;font-weight:400;color:var(--ink-soft);white-space:normal}
