
:root{
  --ink:#202523;
  --muted:#5f6863;
  --paper:#fffdf8;
  --panel:#f2f1eb;
  --line:#d7d7cf;
  --accent:#285b4f;
  --accent-dark:#183f36;
  --warm:#8a5a32;
  --max:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:var(--paper);color:var(--ink);
  font-family:Arial,Helvetica,sans-serif;font-size:18px;line-height:1.65;
}
a{color:#174f75;text-underline-offset:3px}
a:hover{color:#0d344f}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{
  outline:3px solid #d08b31;outline-offset:3px
}
img{max-width:100%;height:auto}
.wrap{width:min(calc(100% - 36px),var(--max));margin-inline:auto}
.skip{position:absolute;left:-9999px;top:auto}
.skip:focus{left:12px;top:12px;background:#fff;padding:10px 14px;z-index:1000;border:2px solid}
.site-header{border-bottom:1px solid var(--line);background:#fff}
.topline{font-size:.86rem;color:var(--muted);padding:8px 0;border-bottom:1px solid #ecece6}
.brandrow{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 0}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink);font-weight:700;font-size:1.35rem}
.brand-mark{width:40px;height:40px;border:2px solid var(--accent);display:inline-grid;place-items:center;border-radius:50%;font-size:.82rem;color:var(--accent)}
.nav-toggle{display:none;background:#fff;border:1px solid var(--line);padding:10px 13px;font:inherit}
.main-nav ul{display:flex;gap:25px;list-style:none;margin:0;padding:0;align-items:center}
.main-nav a{text-decoration:none;color:var(--ink);font-size:.96rem}
.main-nav a:hover{text-decoration:underline}
.breadcrumb{font-size:.86rem;color:var(--muted);padding:13px 0 0}
.breadcrumb a{color:inherit}
main{padding-bottom:64px}
.hero{padding:44px 0 34px;border-bottom:1px solid var(--line)}
.hero .lede{font-size:1.16rem;max-width:760px;color:#39413d}
.hero-split{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);gap:56px;align-items:start}
.eyebrow{text-transform:uppercase;letter-spacing:.08em;font-size:.75rem;font-weight:700;color:var(--accent)}
h1,h2,h3{line-height:1.16;margin:0 0 .7em}
h1{font-size:clamp(2rem,4vw,2.65rem);max-width:900px;letter-spacing:-.02em}
h2{font-size:clamp(1.55rem,3vw,1.9rem);letter-spacing:-.012em}
h3{font-size:1.27rem}
p{margin:0 0 1.05em}
section{padding:42px 0}
section.compact{padding:28px 0}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:start}
.content-narrow{max-width:790px}
.side-note{border-left:4px solid var(--accent);padding:2px 0 2px 22px;color:#39413d}
.notice{background:var(--panel);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:22px 24px;margin-block:24px}
.warm-note{background:#f5eee7;border-left:4px solid var(--warm);padding:20px 22px;margin:24px 0}
.route-list{display:grid;grid-template-columns:1.15fr .95fr .9fr;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.route{padding:28px 28px 30px;border-right:1px solid var(--line)}
.route:last-child{border-right:0}
.route h2{font-size:1.42rem}
.button,.supplier-link{
  display:inline-block;background:var(--accent);color:#fff;text-decoration:none;
  padding:12px 18px;border-radius:3px;font-weight:700;border:2px solid var(--accent);
}
.button:hover,.supplier-link:hover{background:var(--accent-dark);color:#fff}
.button.alt{background:#fff;color:var(--accent)}
.link-arrow{font-weight:700;text-decoration-thickness:1px}
.price-strip{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);margin-top:20px}
.price-cell{background:#fff;padding:24px}
.price-cell strong{font-size:1.45rem;display:block;margin-bottom:3px}
.muted{color:var(--muted)}
.small{font-size:.86rem}
.editorial-list{margin:0;padding-left:1.2em}
.editorial-list li{margin:.45em 0}
.rule{border:0;border-top:1px solid var(--line);margin:0}
.table-wrap{overflow-x:auto;border:1px solid var(--line);background:#fff}
table{border-collapse:collapse;width:100%;min-width:760px;font-size:.94rem}
th,td{padding:14px 13px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
th{background:#f3f3ee;font-size:.9rem}
tr:last-child td{border-bottom:0}
.partner{display:inline-block;font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;border:1px solid #b9a48a;color:#68451f;padding:3px 6px;margin-left:5px;vertical-align:middle}
.supplier-feature{display:grid;grid-template-columns:170px 1fr;gap:30px;padding:28px 0;border-top:1px solid var(--line)}
.supplier-feature:first-child{border-top:0}
.supplier-name{font-weight:700;font-size:1.18rem}
.supplier-meta{font-size:.9rem;color:var(--muted)}
.quote-check{border-left:1px solid var(--line);padding-left:28px}
.faq details{border-top:1px solid var(--line);padding:17px 0}
.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{font-weight:700;cursor:pointer}
.finder{max-width:840px}
.finder fieldset{border:0;border-top:1px solid var(--line);padding:24px 0;margin:0}
.finder legend{font-weight:700;font-size:1.13rem;padding:0 12px 0 0}
.choice{display:block;margin:9px 0}
.choice input{width:20px;height:20px;margin-right:9px;vertical-align:-3px}
.finder-actions{display:flex;gap:12px;align-items:center;margin-top:22px}
.finder button{font:inherit;cursor:pointer}
#finder-result{margin-top:30px;border:1px solid var(--line);padding:26px;background:#fff}
.result-supplier{padding:14px 0;border-top:1px solid var(--line)}
.kicker-grid{display:grid;grid-template-columns:2fr 1fr;gap:56px}
.guide-index{columns:2;column-gap:50px}
.guide-index li{break-inside:avoid;margin-bottom:10px}
.pullquote{font-size:1.35rem;line-height:1.45;border-top:3px solid var(--ink);padding-top:18px;max-width:500px}
.footer{background:#222825;color:#edf0ed;padding:40px 0 26px}
.footer a{color:#fff}
.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:46px}
.footer ul{list-style:none;padding:0;margin:0}
.footer li{margin:7px 0}
.footer .small{color:#c9cfcb}
.photo-slot{aspect-ratio:16/9;background:#e8e7e0;border:1px dashed #a9aaa2;display:grid;place-items:center;color:#666;font-size:.9rem;padding:20px;text-align:center}
.list-plain{list-style:none;padding:0;margin:0}
.list-plain li{padding:12px 0;border-top:1px solid var(--line)}
.list-plain li:last-child{border-bottom:1px solid var(--line)}
.callout-row{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.callout{border-top:3px solid var(--accent);padding-top:16px}
.page-note{font-size:.9rem;color:var(--muted);border-top:1px solid var(--line);padding-top:14px;margin-top:30px}
@media(max-width:820px){
  body{font-size:18px}
  .nav-toggle{display:block}
  .main-nav{display:none;width:100%}
  .main-nav.open{display:block}
  .brandrow{flex-wrap:wrap}
  .main-nav ul{display:block;border-top:1px solid var(--line);padding-top:12px}
  .main-nav li{padding:8px 0}
  .hero-split,.two-col,.kicker-grid,.footer-grid,.callout-row{grid-template-columns:1fr;gap:28px}
  .route-list{grid-template-columns:1fr}
  .route{border-right:0;border-bottom:1px solid var(--line)}
  .route:last-child{border-bottom:0}
  .supplier-feature{grid-template-columns:1fr;gap:8px}
  .quote-check{border-left:0;border-top:1px solid var(--line);padding:18px 0 0}
  .guide-index{columns:1}
}
@media print{
  .nav-toggle,.main-nav,.footer,.button,.supplier-link{display:none!important}
  body{font-size:12pt;background:#fff}
  a{color:#000;text-decoration:none}
}

/* Editorial refinement pass */
:root{--cream:#f7f4ed;--pale:#edf2ef;--charcoal:#232826}
body{background:#fffdfa}
.topline{background:#f6f4ee;color:#4c5550}
.brandrow{padding-top:16px;padding-bottom:16px}
.main-nav a{font-weight:600}
.hero{padding-top:36px;padding-bottom:38px;background:linear-gradient(90deg,#fffdfa 0%,#fffdfa 72%,#f7f4ed 72%,#f7f4ed 100%)}
.hero .lede{font-size:1.13rem;line-height:1.62}
.hero-split{grid-template-columns:minmax(0,1.5fr) minmax(250px,.58fr);gap:64px}
section:nth-of-type(even).soft-alternate{background:#f8f6f0}
.route-list{grid-template-columns:1.35fr .85fr;grid-template-rows:auto auto;background:#fff;border-left:1px solid var(--line);border-right:1px solid var(--line)}
.route{border-right:0;border-bottom:1px solid var(--line);padding:30px 32px}
.route:first-child{grid-column:1;grid-row:1/3;background:#f4f1e8;border-right:1px solid var(--line);border-bottom:0;padding:40px 38px}
.route:first-child h2{font-size:1.72rem}
.route:nth-child(2){grid-column:2;grid-row:1}.route:nth-child(3){grid-column:2;grid-row:2;border-bottom:0}
.route h2{margin-bottom:.45em}
.editorial-band{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#f7f4ed}
.feature-line{display:grid;grid-template-columns:minmax(180px,.42fr) minmax(0,1.58fr);gap:38px;padding:26px 0;border-top:1px solid var(--line)}
.feature-line:first-child{border-top:0}
.feature-label{font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;font-weight:700;color:var(--accent);padding-top:4px}
.reading-width{max-width:760px}
.question-band{display:grid;grid-template-columns:1fr 1fr 1fr;gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.question-band>div{padding:22px 25px;border-right:1px solid var(--line)}
.question-band>div:last-child{border-right:0}
.question-band strong{display:block;margin-bottom:6px}
.supplier-feature{grid-template-columns:210px 1fr;gap:34px;padding:24px 0}
.partner{background:#fbf6ef;border-color:#c4aa8b}
.table-wrap{box-shadow:none;border-color:#cfcfc7}
th{background:#efeee8}
tbody tr:nth-child(even) td{background:#fcfbf7}
.notice{background:#f1f3ef}
.warm-note{background:#f8f0e7}
.footer{margin-top:0}
@media(max-width:820px){
 .hero{background:#fffdfa;padding-top:28px}
 .route-list{grid-template-columns:1fr;grid-template-rows:auto}
 .route:first-child{grid-column:auto;grid-row:auto;border-right:0;border-bottom:1px solid var(--line);padding:30px 28px}
 .route{grid-column:auto!important;grid-row:auto!important;padding:26px 28px}
 .question-band{grid-template-columns:1fr}
 .question-band>div{border-right:0;border-bottom:1px solid var(--line)}
 .question-band>div:last-child{border-bottom:0}
 .feature-line{grid-template-columns:1fr;gap:6px}
}

.editorial-photo{margin:0 auto;max-width:1180px;padding:0 18px}
.editorial-photo img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border:1px solid var(--line)}
.editorial-photo figcaption{font-size:.82rem;color:var(--muted);margin-top:8px;max-width:760px}
.editorial-photo.narrow{max-width:940px}
@media(max-width:820px){.editorial-photo{padding:0 18px}}

/* Expanded editorial pages and accessible tables */
h1{font-size:clamp(1.9rem,3.4vw,2.45rem)}
h2{font-size:clamp(1.4rem,2.5vw,1.75rem)}
.hero{background:var(--paper)}
table{font-size:18px;min-width:720px}th{font-size:18px}td,th{overflow-wrap:break-word}
tbody th{background:#f7f6f1;font-weight:600;min-width:150px}
caption{text-align:left;font-weight:700;padding:16px;background:#f2f1eb;caption-side:top}
.table-wrap:focus-visible{outline:3px solid #bd7d28;outline-offset:3px}
.table-hint{font-size:16px;color:var(--muted)}
.source-note{padding-block:22px;border-top:1px solid var(--line);margin-top:24px}
.source-note h2{font-size:1.2rem}.source-note li{margin-bottom:8px;overflow-wrap:anywhere}
.source-note p{font-size:16px}.content-narrow a{overflow-wrap:anywhere}
section .content-narrow p{max-width:72ch}
@media(max-width:1000px){.brandrow{flex-wrap:wrap}.main-nav ul{gap:18px}}
@media(max-width:820px){.hero-split,.supplier-feature{grid-template-columns:1fr;gap:20px}.brand{font-size:1.12rem;gap:8px}.brandrow{gap:12px}.brand-mark{flex-shrink:0}.finder-actions{flex-wrap:wrap}.table-wrap{max-width:100%}.guide-index{columns:1}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Readable supporting copy and a shrinking grid container for wide tables. */
p.small,.footer .small,.supplier-meta,.page-note,.source-note p,.table-hint,.editorial-photo figcaption{font-size:18px}
.wrap>*,.two-col>*,.hero-split>*,.kicker-grid>*{min-width:0}
.finder fieldset{min-inline-size:0}


/* Visible editorial images shared by every article and information page. */
.editorial-photo{width:min(calc(100% - 36px),1180px);margin:28px auto 12px;padding:0}
.editorial-photo picture,.editorial-photo img{display:block;width:100%}
.editorial-photo img{height:auto;aspect-ratio:16/9;object-fit:contain;border:0;border-radius:4px}
.editorial-photo figcaption{margin:12px 0 0;font-size:16px;line-height:1.5;max-width:85ch}
/* A self-contained homepage layout, without the previous nested grids. */
.homepage-v3{background:#fff}
.homepage-v3 .topline{background:#f1f5f3}
.start-page{padding:0}
.start-page section{padding:48px 0}
.start-page h1{font-size:clamp(2rem,3.1vw,2.7rem);line-height:1.15;margin:0 0 22px;letter-spacing:-.025em}
.start-page h2{font-size:1.65rem;line-height:1.25;margin-bottom:20px}
.start-page h3{font-size:1.35rem;line-height:1.3}
.start-page .start-label{font-size:14px;font-weight:700;color:#285b4f;letter-spacing:.07em;text-transform:uppercase;margin:0 0 12px}
.start-hero{background:#eef3f0;border-bottom:1px solid #d8e1db}
.start-hero-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:42px;align-items:center}
.start-intro p:not(.start-label){max-width:47ch;margin-bottom:16px}
.start-text-link{display:inline-block;font-weight:700;margin-top:4px}
.start-picture{margin:0;min-width:0}
.start-picture picture,.start-picture img{display:block;width:100%;height:auto;border-radius:5px}
.start-pair{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px}
.start-option{border:1px solid #cad8cf;border-top:4px solid #285b4f;border-radius:5px;padding:28px;display:flex;flex-direction:column;align-items:flex-start}
.start-option h3{font-size:1.55rem}.start-option p{flex:1}
.start-option .button{margin-bottom:14px}
.start-helper{margin:22px 0 0}
.start-costs{background:#f4f6f4;border-block:1px solid #e0e5e1}
.start-inline-links{display:flex;flex-direction:column;gap:8px;font-weight:700}
.start-checks{border-left:1px solid #c8d5cb;padding-left:32px}
.start-checks ul{padding-left:22px;margin:0}.start-checks li{margin:10px 0}
.start-section-head{display:flex;align-items:center;justify-content:space-between;gap:28px}
.start-section-head h2{max-width:600px}.start-section-head>a{flex-shrink:0}
.start-supplier-list{list-style:none;padding:0;margin:26px 0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.start-supplier-list a{display:flex;justify-content:center;align-items:center;min-height:58px;height:100%;border:1px solid #d4ded7;border-radius:4px;text-align:center;padding:10px;font-weight:700;font-size:17px}
.start-supplier-list a:hover{background:#edf3ef}
.start-referrals{border-top:1px solid #d7dfd9;padding-top:20px}
.start-referrals p{font-size:16px;margin-bottom:6px}
.start-guides{background:#f4f6f4;border-top:1px solid #e0e5e1}
.start-guide-list{padding:0;list-style:none;margin:0}
.start-guide-list li{border-top:1px solid #d3ddd5;padding:12px 0}
@media(max-width:1000px){.start-hero-grid{gap:28px}.start-section-head{display:block}.start-section-head>a{display:inline-block;margin-bottom:16px}.start-supplier-list{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:820px){.start-hero-grid,.start-pair{grid-template-columns:1fr}.start-page section{padding:30px 0}.start-page h1{font-size:2rem}.start-page h2{font-size:1.5rem}.start-picture{margin-top:0}.start-option{padding:24px}.start-checks{border-left:0;border-top:1px solid #c8d5cb;padding:24px 0 0}.start-supplier-list{grid-template-columns:repeat(2,minmax(0,1fr))}.start-hero-grid{gap:24px}}
