/* Farhatch round 5 — shared base (reset, a11y, menu, figures, Amazon block skeleton). No transitions or animation. */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:5rem}
body{margin:0;font-size:1rem;line-height:1.55;background:var(--ground);color:var(--ink);font-family:var(--f-body)}
img,svg{display:block;max-width:100%;height:auto}
h1,h2,h3,p,ol,ul,dl,dd,figure,blockquote{margin:0}
ul,ol{padding:0;list-style:none}
a{color:inherit}
button,input,select{font:inherit;color:inherit}
:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:1rem;top:-10rem;z-index:20;background:var(--ink);color:var(--ground);padding:.75rem 1rem;min-height:48px}
.skip:focus{top:1rem}
.wrap{width:100%;max-width:var(--max);margin-inline:auto;padding-inline:var(--gut)}
.wordmark{display:inline-flex;align-items:center;min-height:48px;min-width:48px;color:var(--wm);text-decoration:none}
.wordmark svg{width:var(--wm-w);height:auto}
/* menu: desk nav >=768, details on mobile */
.desk-nav{display:none}
#menu{position:relative}
#menu summary{list-style:none;cursor:pointer;min-height:48px;width:5.75rem;display:inline-flex;align-items:center;justify-content:center;padding:0;border:2px solid currentColor;font-weight:600}
#menu summary::-webkit-details-marker{display:none}
#menu[open] nav{position:absolute;right:0;top:calc(100% + .5rem);z-index:15;background:var(--panel);color:var(--ink);border:1px solid var(--line);min-width:15rem;padding:.5rem}
#menu .nav-list a{display:flex;align-items:center;min-height:48px;padding:0 .75rem;text-decoration:none}
@media (min-width:768px){
  .desk-nav{display:block}
  #menu{display:none}
  .desk-nav .nav-list{display:flex;flex-wrap:wrap;gap:0 .25rem}
  .desk-nav a{display:inline-flex;align-items:center;min-height:48px;padding:0 .7rem;text-decoration:none}
  .desk-nav a:hover{text-decoration:underline;text-underline-offset:4px}
}
figure{position:relative;min-width:0}
figure picture{display:block;aspect-ratio:var(--photo-ratio);overflow:hidden;background:var(--photo-bg)}
figure img{width:100%;height:100%;object-fit:cover}
figcaption{font-size:.875rem;line-height:1.4;padding-top:.5rem;color:var(--muted);min-height:1.75rem}
.credit{white-space:nowrap}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 1.25rem;text-decoration:none;font-weight:700}
/* Amazon block skeleton */
.amazon{padding:var(--amz-pad);border:var(--amz-border);background:var(--amz-bg);color:var(--ink)}
.amz-intro{margin-top:.5rem;max-width:44rem}
.amz-grid{display:grid;gap:1rem;margin-top:1.25rem}
@media (min-width:768px){.amz-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
.amz-card{display:flex;flex-direction:column;gap:.5rem;padding:1rem;background:var(--panel);border:1px solid var(--line)}
.amz-card h3{font-size:1.125rem;line-height:1.3}
.amz-card .amz-btn{margin-top:auto}
.chip-row{display:flex;gap:.4rem;flex-wrap:wrap}
.chip{font-size:.875rem;line-height:1;padding:.4rem .55rem;border:1px solid var(--line-strong);color:var(--ink)}
.price-hold{display:flex;flex-wrap:wrap;gap:.25rem .6rem;align-items:baseline;min-height:1.6em}
.money{font-weight:700;font-size:1.125rem}
.asof{font-size:.875rem;color:var(--muted)}
.disclose{margin-top:1rem;font-size:1rem;color:var(--muted)}
.legal p{font-size:.875rem;color:var(--muted-on-foot, var(--muted));padding-block:1rem 1.5rem}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

/* ===== J · Route Story — tokens ===== */
.dir-j{--ground:#f2f3ef;--panel:#ffffff;--ink:#12201a;--muted:#4a5751;--sign:#1c4a3b;--sign-ink:#ffffff;--paint:#f2c42a;
  --line:#c6ccc5;--line-strong:#12201a;--focus:#1c4a3b;--photo-bg:#d6dbd4;--wm:#12201a;--wm-w:10rem;--wm-cut:#f2f3ef;
  --f-display:'Barlow Condensed','Barlow Condensed Fallback','Arial Narrow',Arial,sans-serif;--f-body:'Barlow','Barlow Fallback',Arial,sans-serif;
  --max:84rem;--gut:1.25rem;--amz-pad:1.5rem;--amz-border:0;--amz-bg:#e4e8e2}
@media (min-width:768px){.dir-j{--gut:2rem}}
.dir-j body,.dir-j{font-size:1.0625rem}
/* ===== bar ===== */
.bar{background:var(--ground);border-bottom:2px solid var(--ink)}
.bar-in{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:4rem}
.bar .desk-nav a{font-family:var(--f-display);font-weight:700;font-size:1.125rem;text-transform:uppercase;letter-spacing:.04em}
.ch-mile{font-family:var(--f-display);font-weight:700;font-size:1rem;letter-spacing:.08em;text-transform:uppercase;color:var(--sign)}
/* ===== route layout + rail ===== */
.route{display:grid;grid-template-columns:minmax(0,1fr)}
.rail{position:sticky;top:0;z-index:10;background:var(--ground);border-bottom:2px solid var(--ink);margin-inline:calc(var(--gut)*-1);padding:.4rem var(--gut)}
.rail-h{display:none}
.rail-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.35rem}
.rail-list a{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:52px;text-decoration:none;font-family:var(--f-display);font-weight:700;line-height:1.05;border:2px solid var(--line);background:var(--panel)}
.r-no{font-size:1rem;font-weight:700;color:var(--sign)}
.r-t{display:none}
.r-s{font-size:1rem;text-transform:uppercase;letter-spacing:.04em}
.rail-list a[aria-current]{background:var(--sign);color:var(--sign-ink);border-color:var(--sign)}
.rail-list a[aria-current] .r-no{color:var(--sign-ink)}
@media (min-width:1024px){
  .route{grid-template-columns:14rem minmax(0,1fr);column-gap:3.5rem}
  .rail{top:1.5rem;align-self:start;margin:2.5rem 0 0;padding:0;border:0;background:transparent}
  .rail-h{display:block;font-family:var(--f-display);font-weight:700;font-size:1rem;letter-spacing:.12em;text-transform:uppercase;padding-bottom:.75rem;border-bottom:2px solid var(--ink)}
  .rail-list{display:block;position:relative;margin-top:.75rem}
  .rail-list::before{content:"";position:absolute;left:23px;top:1.5rem;bottom:1.5rem;width:4px;background:var(--paint)}
  .rail-list li{position:relative}
  .rail-list a{flex-direction:row;justify-content:flex-start;gap:.85rem;border:0;background:transparent;min-height:64px;font-size:1.25rem}
  .r-no{flex:0 0 50px;height:50px;display:grid;place-items:center;border-radius:50%;background:var(--ground);border:3px solid var(--ink);color:var(--ink);font-size:1.125rem}
  .r-t{display:block;text-transform:uppercase;letter-spacing:.03em}
  .r-s{display:none}
  .rail-list a[aria-current]{background:transparent;color:var(--ink)}
  .rail-list a[aria-current] .r-no{background:var(--sign);border-color:var(--sign);color:var(--sign-ink)}
  .rail-list a[aria-current] .r-t{text-decoration:underline;text-decoration-thickness:3px;text-underline-offset:6px}
}
/* ===== intro ===== */
.intro{display:grid;gap:1.25rem;padding-block:1.25rem 2.5rem}
.intro-photo{order:-1;margin-inline:calc(var(--gut)*-1)}
.intro-photo figcaption{padding-inline:var(--gut)}
.intro-h,.g-title{font-family:var(--f-display);font-weight:700;text-transform:uppercase;font-size:3rem;line-height:.92;letter-spacing:-.005em;margin-top:.4rem}
.intro-deck{font-size:1.125rem;line-height:1.55;margin-top:1rem;max-width:38rem}
.intro-meta{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}
.intro-meta span{font-family:var(--f-display);font-weight:700;text-transform:uppercase;letter-spacing:.05em;font-size:1rem;padding:.3rem .6rem;border:2px solid var(--ink)}
.btn-go{background:var(--sign);color:var(--sign-ink);font-family:var(--f-display);text-transform:uppercase;letter-spacing:.06em;font-size:1.125rem;margin-top:1.25rem}
.btn-go:hover{background:#12352a}
@media (max-width:767px){.intro-photo{--photo-ratio:5/4!important}}
@media (min-width:768px){
  .intro{grid-template-columns:1.25fr .75fr;column-gap:2.5rem;align-items:end;padding-top:2.5rem}
  .intro-photo{order:0;margin-inline:0}
  .intro-photo figcaption{padding-inline:0}
  .intro-h,.g-title{font-size:clamp(3.75rem,6.4vw,6.25rem)}
}
/* ===== chapters ===== */
.chapter{display:grid;gap:1.25rem;padding-block:2.5rem;border-top:4px solid var(--ink)}
.ch-head{display:grid;grid-template-columns:auto 1fr;column-gap:1rem;align-items:end}
.ch-no{font-family:var(--f-display);font-weight:700;font-size:5rem;line-height:.8;color:var(--sign)}
.ch-h{font-family:var(--f-display);font-weight:700;text-transform:uppercase;font-size:2.5rem;line-height:.95}
.ch-lead{font-size:1.1875rem;line-height:1.5;max-width:34rem}
.stops{display:grid;gap:.75rem}
.stop a{display:grid;grid-template-columns:auto 1fr;column-gap:.75rem;row-gap:.15rem;min-height:48px;padding:.85rem 1rem .9rem;background:var(--panel);border-left:6px solid var(--paint);text-decoration:none}
.stop a:hover .s-t{text-decoration:underline}
.s-code{grid-column:1/-1;font-family:var(--f-display);font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:1rem;color:var(--sign)}
.s-t{grid-column:1/-1;font-family:var(--f-display);font-weight:700;font-size:1.5rem;line-height:1.1;text-transform:uppercase}
.s-n{grid-column:1/-1;color:var(--muted);font-size:1rem}
.s-m{grid-column:1/-1;font-size:1rem;font-weight:600}
@media (min-width:768px){
  .chapter{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:2.5rem;row-gap:1.5rem;padding-block:3.5rem}
  .ch-head{grid-column:1/-1}
  .ch-no{font-size:clamp(6rem,11vw,10rem)}
  .ch-h{font-size:clamp(2.75rem,4.6vw,4.5rem)}
  .ch-lead{grid-column:1;grid-row:2}
  .ch-photo{grid-column:2;grid-row:2/4}
  .stops{grid-column:1;grid-row:3;align-self:start}
  .ch-l .ch-lead,.ch-l .stops{grid-column:2}
  .ch-l .ch-photo{grid-column:1}
}
.arrive{padding-block:3rem;border-top:4px solid var(--ink);display:grid;gap:1rem}
.arrive .ch-no{font-size:3rem}
/* ===== guide ===== */
.g-head.intro{padding-bottom:1.5rem}
@media (min-width:768px){.g-head.intro{grid-template-columns:1.4fr .6fr}}
@media (min-width:1024px){.g-head .g-photo{max-width:26rem;justify-self:end}}
.steps-route{margin-top:1rem}
.step-rail{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:.35rem .75rem}
.prog{font-family:var(--f-display);font-weight:700;text-transform:uppercase;font-size:1rem}
.meter{height:10px;background:var(--line);border:1px solid var(--ink)}
.meter span{display:block;height:100%;width:0;background:var(--sign)}
.step-rail .rail-list{grid-column:1/-1;grid-template-columns:repeat(6,minmax(0,1fr))}
.step-rail .r-s{display:none}
.r-chk{display:none}
.step-rail a.is-done{border-color:var(--sign)}
.step-rail a.is-done .r-no{text-decoration:line-through}
@media (min-width:1024px){
  .step-rail{display:block}
  .prog{margin-top:1rem}
  .meter{margin-top:.5rem}
  .step-rail .rail-list a{font-size:1.0625rem;line-height:1.15;min-height:60px}
  .step-rail .r-t{text-transform:none;letter-spacing:0;font-family:var(--f-body);font-weight:600}
  .r-chk{display:block;flex:0 0 18px;height:18px;margin-left:auto;border:2px solid var(--ink)}
  .r-chk.is-done{background:var(--sign);border-color:var(--sign)}
}
.step{padding-block:2.25rem;border-top:4px solid var(--ink);display:grid;gap:1rem}
.st-head{display:grid;grid-template-columns:auto 1fr;column-gap:1rem;align-items:end}
.st-no{font-family:var(--f-display);font-weight:700;font-size:4.5rem;line-height:.8;color:var(--sign)}
.st-load{display:inline-block;font-family:var(--f-display);font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:1rem;background:var(--paint);color:var(--ink);padding:.15rem .5rem}
.st-h{font-family:var(--f-display);font-weight:700;text-transform:uppercase;font-size:2rem;line-height:1;margin-top:.35rem;min-height:1em}
.step > p{font-size:1.125rem;line-height:1.6;max-width:40rem}
.packed{display:inline-flex;align-items:center;gap:.75rem;min-height:48px;padding:0 1rem;border:2px solid var(--ink);background:var(--panel);font-weight:600;justify-self:start;cursor:pointer}
.packed input{width:22px;height:22px;accent-color:var(--sign);margin:0}
.step-amz{padding-block:1rem 2rem}
.dir-j .amazon h2{font-family:var(--f-display);font-weight:700;text-transform:uppercase;font-size:2rem;line-height:1}
.dir-j .amz-card{border:0;border-left:6px solid var(--paint)}
.dir-j .amz-btn{background:var(--sign);color:var(--sign-ink);font-family:var(--f-display);letter-spacing:.03em;font-size:1.1875rem}
@media (min-width:768px){.st-no{font-size:6rem}.st-h{font-size:2.75rem}.step-photo{max-width:40rem}}
/* ===== footer ===== */
.j-foot{background:var(--sign);color:var(--sign-ink);margin-top:3rem;--wm:#fff;--wm-cut:#1c4a3b;--muted-on-foot:#e3ece7}
.jf-grid{display:grid;gap:1.5rem;padding-block:2.25rem 0}
.j-foot p{color:#e3ece7}
.jf-links a{display:flex;align-items:center;min-height:48px;font-family:var(--f-display);font-weight:700;text-transform:uppercase;letter-spacing:.05em;font-size:1.125rem}
.j-foot :focus-visible{outline-color:#fff}
@media (min-width:768px){.jf-grid{grid-template-columns:1fr 1fr}}

/* ===== J-full additions: progressive enhancement, templates, design system. No transitions or animation. ===== */
[hidden]{display:none!important}
.no-js .js-only{display:none!important}
.js .nojs-only{display:none!important}
figure img{object-position:var(--pos,50% 50%)}
.credit{white-space:normal}
code{line-height:1;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:1rem;background:var(--panel);padding:0 .25em;border:1px solid var(--line)}
/* bar + menu */
.bar .desk-nav a[aria-current]{text-decoration:underline;text-decoration-thickness:3px;text-underline-offset:6px}
#menu .nav-list a[aria-current]{font-weight:700;box-shadow:inset 6px 0 0 var(--sign)}
#menu .menu-sep{border-top:1px solid var(--line);margin-top:.25rem;padding-top:.25rem}
/* buttons */
.btn-line{border:2px solid var(--ink);background:var(--panel);color:var(--ink);font-family:var(--f-display);font-weight:700;text-transform:uppercase;letter-spacing:.05em;font-size:1.0625rem}
.btn-line:hover{background:var(--ground);text-decoration:underline}
.btn-sm{padding:0 1rem}
button.btn{cursor:pointer;border-radius:0}
/* breadcrumbs */
.crumbs{padding-top:.5rem}
.crumbs ol{display:flex;flex-wrap:wrap;align-items:center;gap:0 .35rem}
.crumbs li{display:flex;align-items:center;gap:.35rem}
.crumbs li+li::before{content:"/";color:var(--muted)}
.crumbs a,.crumbs span{display:inline-flex;align-items:center;min-height:48px;font-size:1rem}
.crumbs a{min-width:48px;justify-content:center}
.crumbs span[aria-current]{color:var(--muted)}
/* home: chapter "all pages" link */
.ch-all{margin-top:.25rem}
@media (min-width:768px){
  .ch-photo{grid-row:2/5}
  .ch-all{grid-column:1;grid-row:4;align-self:start}
  .ch-l .ch-all{grid-column:2}
}
/* intro variants */
.g-head.no-photo{grid-template-columns:minmax(0,1fr)}
@media (min-width:768px){.hub-head.intro{grid-template-columns:1.4fr .6fr;align-items:center}}
@media (min-width:1024px){.hub-head .intro-photo{max-width:26rem;justify-self:end}}
/* stage strip (hubs): current stage written in HTML, no JS */
.stage-strip ol{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.35rem;border-top:4px solid var(--ink);padding-top:1rem}
.stage-strip a{display:flex;flex-direction:column;justify-content:center;gap:.1rem;min-height:64px;padding:.4rem .6rem;text-decoration:none;background:var(--panel);border:2px solid var(--ink);font-family:var(--f-display);font-weight:700;text-transform:uppercase;line-height:1.05}
.stage-strip .r-no{font-size:1rem;color:var(--sign)}
.stage-strip .r-t{display:block;font-size:1rem;letter-spacing:.03em}
.stage-strip a[aria-current]{background:var(--sign);border-color:var(--sign);color:var(--sign-ink)}
.stage-strip a[aria-current] .r-no{color:var(--sign);background:var(--sign-ink);border-color:var(--sign-ink)}
.stage-strip a:hover .r-t{text-decoration:underline}
@media (min-width:768px){.stage-strip a{flex-direction:row;align-items:center;gap:.75rem;padding:.4rem 1rem}.stage-strip .r-no{font-size:1.5rem}.stage-strip .r-t{font-size:1.25rem}}
/* hub groups */
.hub-body{padding-top:1rem}
.hub-group{padding-block:2rem;border-top:4px solid var(--ink)}
.hub-group:first-child{border-top:0}
.hub-h{font-family:var(--f-display);font-weight:700;text-transform:uppercase;font-size:2.25rem;line-height:1;margin-bottom:1rem}
@media (min-width:768px){.hub-stops{grid-template-columns:repeat(2,minmax(0,1fr))}.hub-h{font-size:3rem}}
@media (min-width:1280px){.hub-stops{grid-template-columns:repeat(3,minmax(0,1fr))}}
.hub-stops .stop a{height:100%}
/* step / section rails below 1024: one row of tiles, any count */
@media (max-width:1023px){
  .step-rail .rail-list{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr)}
  .rail-reset{display:none}
  .chk-rail .r-s{display:block}
  .chk-rail .rail-list a{min-height:56px}
}
.r-cnt{font-family:var(--f-display);font-weight:700;font-size:1rem}
.chk-rail .r-s,.art-rail .r-s{font-size:1rem}
.rail-reset{margin-top:1rem}
.form-reset{margin-top:1.5rem}
@media (min-width:1024px){.form-reset{display:none}}
.step-rail a.is-done{box-shadow:inset 0 -4px 0 var(--sign)}
@media (min-width:1024px){
  .r-cnt{margin-left:auto;color:var(--muted)}
  .chk-rail .rail-list a{font-size:1.125rem}
  .step-rail a.is-done{box-shadow:none}
}
/* prose + sections */
.prose{display:grid;gap:.9rem;max-width:42rem}
.prose p,.sec-p{font-size:1.125rem;line-height:1.6;max-width:42rem}
.prose a,.sec-p a,.src-list a,.disclose a{text-underline-offset:3px}
.art-photo,.step-photo{max-width:44rem;margin-top:.5rem}
/* official source box */
.source-box{background:var(--panel);border-left:6px solid var(--sign);padding:1.25rem 1.25rem 1rem;margin-block:1.5rem;display:grid;gap:.6rem;max-width:46rem}
.sb-h{font-family:var(--f-display);font-weight:700;text-transform:uppercase;font-size:1.75rem;line-height:1}
.src-list li{padding:.65rem 0;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:.25rem .75rem;align-items:baseline}
.src-list a{font-weight:600;display:inline-flex;align-items:center;min-height:48px}
.checked{font-size:1rem;color:var(--muted)}
/* tables */
.tbl-wrap{overflow-x:auto;max-width:100%;border:2px solid var(--ink);background:var(--panel)}
table.spec{border-collapse:collapse;width:100%;min-width:34rem;font-size:1rem}
.t-compare table.spec{min-width:46rem}
table.spec caption{text-align:left;padding:.75rem 1rem;font-size:.875rem;color:var(--muted);caption-side:bottom}
table.spec th,table.spec td{text-align:left;vertical-align:top;padding:.75rem 1rem;border-bottom:1px solid var(--line)}
table.spec thead th{background:var(--ink);color:#fff;font-family:var(--f-display);font-weight:700;text-transform:uppercase;letter-spacing:.04em;font-size:1rem}
table.spec tbody th{font-weight:600}
table.spec tr.is-row th,table.spec tr.is-row td{background:var(--paint);color:var(--ink)}
/* compare */
.answer{display:grid;gap:.6rem;max-width:44rem}
.answer li{display:grid;grid-template-columns:minmax(0,9rem) 1fr;gap:1rem;align-items:center;background:var(--panel);padding:.75rem 1rem;border-left:6px solid var(--sign)}
.ans-k{font-family:var(--f-display);font-weight:700;text-transform:uppercase;letter-spacing:.04em;font-size:1.125rem;color:var(--sign)}
.ans-v{font-size:1.0625rem}
.crit{display:grid;gap:.75rem;counter-reset:c;max-width:44rem}
.crit li{background:var(--panel);border-left:6px solid var(--paint);padding:1rem 1.1rem;display:grid;gap:.35rem}
.crit-h{font-family:var(--f-display);font-weight:700;text-transform:uppercase;font-size:1.375rem;line-height:1.05}
/* decision */
.fork{display:grid;gap:.75rem}
.fork li{background:var(--panel);border-top:6px solid var(--sign);padding:1rem 1.1rem;display:grid;gap:.3rem}
.fork-k{font-family:var(--f-display);font-weight:700;text-transform:uppercase;letter-spacing:.06em;font-size:1rem;color:var(--sign)}
.fork-v{font-family:var(--f-display);font-weight:700;text-transform:uppercase;font-size:2rem;line-height:1}
@media (min-width:768px){.fork{grid-template-columns:repeat(3,minmax(0,1fr))}}
.ifs{display:grid;gap:.75rem;max-width:44rem}
.ifs li{background:var(--panel);border-left:6px solid var(--paint);padding:1rem 1.1rem;display:grid;gap:.3rem}
.if{font-weight:700}
/* tool */
.tool-wrap{display:grid;gap:2rem;padding-top:1rem}
.tool-card{background:var(--panel);border:2px solid var(--ink);padding:1.25rem;display:grid;gap:1.25rem;align-content:start}
.field{display:grid;gap:.5rem;border:0;margin:0;padding:0;min-width:0}
.f-label{font-family:var(--f-display);font-weight:700;text-transform:uppercase;letter-spacing:.06em;font-size:1rem;padding:0}
.field select,.field input,.field textarea{width:100%;min-height:48px;padding:.5rem .75rem;border:2px solid var(--ink);background:#fff;border-radius:0;font-size:1rem}
.seg{display:flex;flex-wrap:wrap;gap:.5rem}
.seg label{display:inline-flex;align-items:center;gap:.6rem;min-height:48px;padding:0 1rem;border:2px solid var(--ink);background:#fff;cursor:pointer;font-weight:600}
.seg input,.chk input,.packed input{width:22px;height:22px;accent-color:var(--sign);margin:0;flex:0 0 22px}
.seg label:has(input:checked){background:var(--sign);color:var(--sign-ink);border-color:var(--sign)}
.seg label:has(input:checked) input{accent-color:#fff}
.result{border-top:2px solid var(--ink);padding-top:1rem;display:grid;gap:.6rem;min-height:9.5rem;align-content:start}
.res-out{display:block;font-family:var(--f-display);font-weight:700;text-transform:uppercase;font-size:1.75rem;line-height:1.1}
.res-out .nojs-only{font-family:var(--f-body);text-transform:none;font-weight:600;font-size:1.125rem}
.res-note{color:var(--muted)}
.tool-table{display:grid;gap:1rem;align-content:start}
.tool-more{color:var(--muted);max-width:40rem}
@media (min-width:1024px){.tool-wrap{grid-template-columns:minmax(0,26rem) minmax(0,1fr);column-gap:3rem}.tool-wrap .arrive{grid-column:1/-1}}
/* vehicle */
.veh-wrap{display:grid;gap:2.5rem;padding-top:1rem}
.veh-specs{display:grid;gap:1rem}
.veh-dl{display:grid;gap:.75rem}
.veh-dl div{background:var(--panel);border-top:6px solid var(--sign);padding:1rem 1.1rem;display:grid;gap:.35rem}
.veh-dl dt{font-family:var(--f-display);font-weight:700;text-transform:uppercase;letter-spacing:.04em;font-size:1.125rem;color:var(--sign)}
.veh-dl dd{margin:0}
@media (min-width:768px){.veh-dl{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1280px){.veh-dl{grid-template-columns:repeat(4,minmax(0,1fr))}}
.veh-steps{display:grid;gap:1.25rem;border-top:4px solid var(--ink);padding-top:2rem}
.veh-split{display:grid;gap:1.5rem}
@media (min-width:1024px){.veh-split{grid-template-columns:minmax(0,1fr) minmax(0,24rem);column-gap:3rem;align-items:start}}
.veh-others{display:grid;gap:1.25rem;border-top:4px solid var(--ink);padding-top:2rem}
.veh-grid{display:grid;gap:1.25rem}
@media (min-width:768px){.veh-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
.veh-card{display:grid;gap:.35rem;align-content:start}
.veh-card h3 a{display:flex;align-items:center;min-height:48px;font-family:var(--f-display);font-weight:700;text-transform:uppercase;font-size:1.5rem;line-height:1.05}
.veh-none{display:grid;place-items:center;aspect-ratio:3/2;background:var(--photo-bg);font-family:var(--f-display);font-weight:700;font-size:4rem;color:var(--ink)}
/* checklist */
.chk-group{border:0;border-top:4px solid var(--ink);margin:0;padding:2.25rem 0;min-width:0}
.chk-legend{float:left;width:100%;padding:0;display:grid;gap:.2rem;margin-bottom:1rem}
.chk-h{font-family:var(--f-display);font-weight:700;text-transform:uppercase;font-size:2.25rem;line-height:1}
.chk-list{clear:both;display:grid;gap:.5rem}
@media (min-width:768px){.chk-list{grid-template-columns:repeat(2,minmax(0,1fr))}.chk-h{font-size:3rem}}
.chk{display:flex;align-items:center;gap:.8rem;min-height:52px;padding:.5rem .9rem;background:var(--panel);border-left:6px solid var(--paint);cursor:pointer;font-size:1.0625rem}
.chk:has(input:checked){border-left-color:var(--sign)}
.chk:has(input:checked) span{text-decoration:line-through;text-decoration-thickness:2px}
.chk-photo{max-width:40rem;margin-top:1.25rem}
/* site pages */
.site-body{padding-block:1rem 2rem}
.site-prose{max-width:44rem}
.site-prose h2{font-family:var(--f-display);font-weight:700;text-transform:uppercase;font-size:2rem;line-height:1;margin-top:1.5rem}
.contact-form{display:grid;gap:1rem;background:var(--panel);border:2px solid var(--ink);padding:1.25rem;margin-top:1.5rem}
.contact-form h2{margin-top:0}
.cf-mock{background:var(--paint);color:var(--ink);padding:.5rem .75rem;font-weight:600}
/* design system */
.swatches{display:grid;gap:.75rem;margin-bottom:1.5rem}
@media (min-width:768px){.swatches{grid-template-columns:repeat(2,minmax(0,1fr))}}
.sw{display:grid;grid-template-columns:56px 1fr;column-gap:1rem;row-gap:.15rem;background:var(--panel);padding:.75rem;align-items:start}
.sw-chip{grid-row:1/4;width:56px;height:56px;border:2px solid var(--ink)}
.sw>span{line-height:1.5rem}
.sw-t{font-weight:600}.sw-d{color:var(--muted)}.sw-r{font-size:1rem}
.pair{display:inline-block;padding:.2rem .6rem;font-weight:700;font-size:1.25rem;border:1px solid var(--line)}
.type-list{display:grid;gap:1rem}
.ty{background:var(--panel);padding:1rem;display:grid;gap:.4rem;overflow:hidden}
.ty .intro-h{font-size:3rem;margin:0}.ty .ch-h{font-size:2.5rem}.ty .st-h{font-size:2rem;margin:0}
.ty-body{font-size:1.0625rem}.ty-cap{font-size:.875rem;color:var(--muted)}
.ty-meta{color:var(--muted);font-size:1rem}
.sys-h{font-family:var(--f-display);font-weight:700;text-transform:uppercase;letter-spacing:.06em;font-size:1.125rem;margin-top:1.25rem;color:var(--sign)}
.sys-row{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}
.sys-note{color:var(--muted);max-width:42rem}
.sys-rail{position:static;margin:0;max-width:24rem}
@media (max-width:1023px){.sys-rail{margin:0;border-top:2px solid var(--ink)}}
.sys-stops,.sys-chk{max-width:30rem}
.sys-photo{max-width:34rem}
.states{display:grid;gap:.5rem;max-width:46rem}
.states li{display:grid;gap:.25rem;background:var(--panel);padding:.85rem 1rem;border-left:6px solid var(--sign)}
@media (min-width:768px){.states li{grid-template-columns:10rem 1fr;gap:1rem}}
.state-k{font-family:var(--f-display);font-weight:700;text-transform:uppercase;letter-spacing:.04em;font-size:1.125rem}
/* footer */
.jf-h{font-family:var(--f-display);font-weight:700;text-transform:uppercase;letter-spacing:.1em;font-size:1rem;color:#e3ece7;margin-bottom:.25rem}
@media (min-width:768px){.jf-grid{grid-template-columns:1.2fr 1fr 1fr}}
.jf-site a{font-size:1.0625rem}
/* print: the checklist prints as a plain list */
@media print{.bar,.rail,.j-foot,.crumbs,.intro-photo,.step-amz,.skip,.arrive{display:none!important}.chk{border:0;min-height:0}}
