/* Route planning guide only. Editorial reading in Eagle Overland's ivory, forest and gold. */
body.page-article-routes { --article-header-space:88px; background:#fffdf8; color:#45564b; }
body.page-article-routes main { overflow:clip; }
body.page-article-routes main :is(h1,h2,h3,p,figure) { margin:0; }
body.page-article-routes main :is(.container,.article-container) { width:min(1160px,calc(100% - 80px)); margin-inline:auto; }
body.page-article-routes main .article-container { width:min(1065px,calc(100% - 80px)); }
body.page-article-routes main .section-pad { padding-block:clamp(45px,5vw,72px); }
body.page-article-routes main h2 { color:#173b32; font:500 36px/1.17 var(--font-serif); letter-spacing:-.03em; text-wrap:balance; }
body.page-article-routes main h3 { color:#173b32; font:500 26px/1.22 var(--font-serif); letter-spacing:-.02em; }
body.page-article-routes main .eyebrow { margin-bottom:13px; color:#82632f; font:600 9px/1.6 var(--font-sans); letter-spacing:.17em; text-transform:uppercase; }
body.page-article-routes :is(.btn-primary,.btn-ghost,.article-text-link) { display:inline-flex; align-items:center; justify-content:center; gap:9px; min-height:46px; padding:12px 18px; border:1px solid #aab6a6; border-radius:5px; background:transparent; color:#173b32; font:500 11px/1.65 var(--font-sans); box-shadow:none; text-decoration:none; cursor:pointer; }
body.page-article-routes .btn-primary { color:#fffdf8; background:#173b32; border-color:#173b32; }
body.page-article-routes .btn-primary:hover { color:#fffdf8; background:#285446; border-color:#285446; }
body.page-article-routes .btn-ghost:hover { color:#173b32; background:#e6eddd; border-color:#9cae91; }
body.page-article-routes .article-text-link { padding:8px 0; border:0; text-decoration:underline; text-decoration-color:#b79a62; text-underline-offset:6px; }
body.page-article-routes .article-text-link:hover { color:#82632f; }
body.page-article-routes main :is(a,button,summary,.table-scroll):focus-visible { outline:3px solid #9c793d; outline-offset:4px; }
body.page-article-routes main :is(h2[id],#faq,#guide-content) { scroll-margin-top:16px; }
body.page-article-routes .article-skip-link { position:fixed; top:-100px; left:16px; z-index:2000; padding:12px 18px; background:#173b32; color:#fffdf8; }
body.page-article-routes .article-skip-link:focus { top:12px; }
body.page-article-routes .reading-progress { position:fixed; top:var(--article-header-height,88px); left:0; right:0; z-index:1001; height:3px; background:#e9e2d2; opacity:0; pointer-events:none; }
body.page-article-routes .reading-progress.is-reading { opacity:1; }
body.page-article-routes .reading-progress > span { display:block; width:0; height:100%; background:#b18b47; }

/* Full-width photography and a quiet cream veil leave space for the landscape. */
body.page-article-routes .article-hero::before,body.page-article-routes .article-hero::after { display:none; }
body.page-article-routes .article-hero { position:relative; min-height:0; padding:0; border:0; overflow:hidden; background:#f7f3e8; }
body.page-article-routes .article-hero-shell { position:relative; display:grid; grid-template-columns:1.08fr .92fr; align-items:center; gap:40px; width:100%; min-height:calc(100vh - var(--article-header-space)); min-height:calc(100svh - var(--article-header-space)); padding:35px clamp(24px,5vw,80px); isolation:isolate; }
body.page-article-routes .article-hero-copy { position:relative; z-index:2; min-width:0; max-width:690px; padding:8px 0; }
body.page-article-routes .article-breadcrumb { display:flex; flex-wrap:wrap; align-items:center; gap:8px 11px; margin-bottom:23px; color:#6e7566; font-size:9px; line-height:1.7; }
body.page-article-routes .article-breadcrumb a { color:inherit; text-decoration:none; }
body.page-article-routes .article-breadcrumb a:hover { text-decoration:underline; }
body.page-article-routes .article-kicker { display:flex; align-items:center; gap:12px; margin-bottom:18px; color:#82632f; font:600 9px/1.6 var(--font-sans); letter-spacing:.15em; text-transform:uppercase; }
body.page-article-routes .article-kicker > span { flex:none; width:24px; height:1px; background:#b69a63; }
body.page-article-routes .article-hero h1 { max-width:690px; color:#173b32; font:600 clamp(43px,3.9vw,59px)/1.08 var(--font-serif); letter-spacing:-.04em; text-wrap:balance; }
body.page-article-routes .article-hero h1 em { display:block; color:#896930; font-weight:500; }
body.page-article-routes .article-hero .subtitle { max-width:550px; margin-top:20px; color:#526150; font-size:13px; line-height:1.9; }
body.page-article-routes .article-meta { display:flex; flex-wrap:wrap; gap:6px 18px; margin-top:18px; color:#65715d; font-size:10px; line-height:1.8; }
body.page-article-routes .article-meta > span { display:flex; align-items:center; gap:7px; }
body.page-article-routes .article-meta i { color:#94733b; }
body.page-article-routes .hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:7px 20px; margin-top:24px; }
body.page-article-routes .article-hero .btn-primary { gap:19px; padding:14px 20px; border-radius:999px; background:#c4a56a; border-color:#c4a56a; color:#173b32; }
body.page-article-routes .article-hero .btn-primary:hover { border-color:#d8be86; background:#d8be86; }
body.page-article-routes .hero-author { display:flex; align-items:center; flex-wrap:wrap; gap:10px; max-width:550px; margin-top:24px; padding-top:20px; border-top:1px solid #d8cfbb; color:#65715d; font-size:10px; line-height:1.7; }
body.page-article-routes .author-seal { display:grid; place-items:center; width:31px; height:31px; flex:none; border:1px solid #baa373; border-radius:50%; color:#82632f; font:500 11px/1 var(--font-serif); }
body.page-article-routes .hero-author a { display:flex; align-items:center; gap:17px; min-height:44px; margin-left:auto; color:#82632f; text-decoration:none; }
body.page-article-routes .hero-author a:hover { text-decoration:underline; text-underline-offset:5px; }
body.page-article-routes .article-hero-visual { position:absolute; inset:0; z-index:0; width:100%; height:100%; overflow:hidden; }
body.page-article-routes .article-hero-visual img { display:block; width:100%; height:100%; object-fit:cover; object-position:65% 100%; filter:brightness(1.07) saturate(.92); }
body.page-article-routes .article-hero-visual::after { content:''; position:absolute; inset:0; z-index:1; pointer-events:none; background:linear-gradient(90deg,#f7f3e8 0%,#f7f3e8f5 28%,#f7f3e8d6 43%,#f7f3e81f 70%,#10281d0a); }
body.page-article-routes .article-hero-visual figcaption { position:absolute; z-index:2; right:clamp(24px,5vw,80px); top:30px; display:flex; align-items:center; gap:9px; padding:10px 14px; border:1px solid #ffffff55; border-radius:999px; color:#fff9ed; background:#173b32bb; font-size:10px; line-height:1.8; }

/* The article stays an open reading surface, with a narrower line length and a sticky rail. */
body.page-article-routes .article-shell { display:grid; grid-template-columns:minmax(0,1fr) 240px; align-items:start; gap:65px; }
body.page-article-routes .article-main { min-width:0; }
body.page-article-routes .article-back { display:inline-flex; align-items:center; gap:9px; min-height:44px; margin-bottom:20px; color:#82632f; font-size:11px; text-decoration:none; }
body.page-article-routes .article-back:hover { text-decoration:underline; text-underline-offset:5px; }
body.page-article-routes .article-card { min-width:0; padding:0; border:0; border-radius:0; background:transparent; box-shadow:none; }
body.page-article-routes .article-body { color:#45564b; font-size:16px; line-height:1.9; }
body.page-article-routes .article-body p { margin-block:17px; }
body.page-article-routes .article-body > .lead { margin-block:28px 32px; color:#173b32; font:400 21px/1.75 var(--font-serif); }
body.page-article-routes .article-body > h2 { margin-top:42px; padding-top:29px; border-top:1px solid #ddd4bf; }
body.page-article-routes .article-body h3 { margin-top:26px; margin-bottom:15px; }
body.page-article-routes .article-body :is(ul,ol) { margin:17px 0 24px; padding-left:24px; }
body.page-article-routes .article-body li { padding-left:5px; margin-block:7px; }
body.page-article-routes .article-body li::marker { color:#a3844b; }
body.page-article-routes .article-body strong { color:#173b32; font-weight:600; }
body.page-article-routes .article-body a:not(.btn-primary):not(.btn-ghost) { color:#82632f; text-decoration:underline; text-underline-offset:4px; }
body.page-article-routes .quick-answer { padding:23px 27px; border:1px solid #e1d9c6; border-left:3px solid #b79a62; border-radius:0 25px 0 0; background:#f7f3e8; box-shadow:none; }
body.page-article-routes .quick-answer h2 { display:flex; align-items:center; gap:10px; font-size:26px; }
body.page-article-routes .quick-answer h2 i { color:#94733b; font-size:19px; }
body.page-article-routes .quick-answer p { margin:13px 0 0; color:#526150; font-size:14px; line-height:1.9; }
body.page-article-routes .toc-rail { position:sticky; top:calc(var(--article-header-height,88px) + 30px); min-width:0; padding:0 0 0 23px; border:0; border-left:1px solid #d5c9b0; border-radius:0; background:transparent; box-shadow:none; }
body.page-article-routes .toc-rail .title { display:flex; justify-content:space-between; align-items:center; margin-bottom:16px; color:#82632f; font:600 9px/1.6 var(--font-sans); letter-spacing:.15em; text-transform:uppercase; }
body.page-article-routes .toc-rail .title i { font-size:16px; }
body.page-article-routes .toc-rail nav { display:grid; max-height:calc(100dvh - var(--article-header-height,88px) - 105px); overflow-y:auto; scrollbar-width:thin; scrollbar-color:#c1b28d transparent; }
body.page-article-routes .toc-rail a { display:flex; align-items:center; gap:10px; min-height:43px; padding:9px 0; border:0; border-bottom:1px solid #e6dfcf; border-radius:0; color:#697361; background:transparent; font-size:11px; line-height:1.65; text-decoration:none; }
body.page-article-routes .toc-rail a i { flex:none; color:#94733b; font-size:15px; }
body.page-article-routes .toc-rail a:is(:hover,.active,[aria-current]) { color:#173b32; border-bottom-color:#b79a62; }
body.page-article-routes .toc-rail a.active { font-weight:600; }
body.page-article-routes .mobile-contents { display:none; }

/* A native comparison table keeps its relationships and scrolls within its own region on phones. */
body.page-article-routes .table-hint { display:none; }
body.page-article-routes .table-scroll { max-width:100%; margin-block:23px 28px; overflow-x:auto; border:1px solid #d6dcca; border-radius:6px; background:#fffefa; }
body.page-article-routes .article-table { width:100%; min-width:680px; margin:0; border-collapse:collapse; color:#45564b; font:400 13px/1.75 var(--font-sans); }
body.page-article-routes .article-table :is(th,td) { padding:16px 17px; border:0; border-bottom:1px solid #dce0d5; text-align:left; vertical-align:top; }
body.page-article-routes .article-table thead th { color:#173b32; background:#e9eddf; font-size:11px; font-weight:600; }
body.page-article-routes .article-table tbody th { width:27%; background:#f8f7ef; font-weight:500; }
body.page-article-routes .article-table tbody th strong { font-weight:500; }
body.page-article-routes .article-table tbody tr:last-child > * { border-bottom:0; }
body.page-article-routes .sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
body.page-article-routes .article-note { margin-block:25px; padding:17px 0 17px 20px; border:0; border-left:2px solid #b79a62; border-radius:0; background:transparent; color:#526150; font-size:14px; line-height:1.85; box-shadow:none; }
body.page-article-routes .cta-box { margin-block:35px; padding:29px; border:1px solid #d2dac7; border-radius:35px 7px 7px 7px; background:#e9eddf; box-shadow:none; }
body.page-article-routes .cta-box h2 { font-size:32px; }
body.page-article-routes .cta-box p { color:#526150; font-size:14px; line-height:1.85; }
body.page-article-routes .cta-box .cta-actions { display:flex; flex-wrap:wrap; gap:9px; margin-top:20px; }
body.page-article-routes .cta-box :is(.btn-primary,.btn-ghost) { min-height:44px; padding:11px 15px; }
body.page-article-routes .article-faq-block { margin-top:42px; padding-top:30px; border-top:1px solid #ddd4bf; }
body.page-article-routes .article-faq-block > h2 { margin-bottom:22px; }
body.page-article-routes .article-faq-block details { border:0; border-bottom:1px solid #d4c9b1; border-radius:0; padding:0; background:transparent; box-shadow:none; }
body.page-article-routes .article-faq-block details:first-of-type { border-top:1px solid #d4c9b1; }
body.page-article-routes .article-faq-block summary { position:relative; display:list-item; list-style:none; padding:20px 30px 20px 0; color:#173b32; font-size:14px; font-weight:500; line-height:1.65; cursor:pointer; }
body.page-article-routes .article-faq-block summary::-webkit-details-marker { display:none; }
body.page-article-routes .article-faq-block summary::after { content:'+'; position:absolute; top:18px; right:3px; color:#94733b; font-size:23px; font-weight:400; }
body.page-article-routes .article-faq-block details[open] summary::after { content:'−'; }
body.page-article-routes .article-faq-block details p { margin:0; padding:0 27px 22px 0; color:#526150; font-size:14px; line-height:1.85; }

/* Existing route content becomes a quiet panel with a native journey disclosure. */
body.page-article-routes .route-card { margin-block:24px; padding:24px; border:1px solid #ddd6c2; border-left:3px solid #b79a62; border-radius:0 25px 5px 5px; background:#f7f4eb; box-shadow:none; }
body.page-article-routes .article-body .route-card h3 { margin:0; color:#173b32; font:500 22px/1.55 var(--font-serif); letter-spacing:-.01em; text-wrap:pretty; }
body.page-article-routes .route-card > p { margin:18px 0; color:#526150; font-size:14px; line-height:1.85; }
body.page-article-routes .route-meta { display:flex; align-items:center; flex-wrap:wrap; gap:9px 19px; margin-top:18px; padding:0 0 16px; border:0; border-bottom:1px solid #e0d7c2; border-radius:0; background:transparent; box-shadow:none; }
body.page-article-routes .route-meta > span { display:inline-flex; align-items:center; gap:7px; min-height:0; padding:0; border:0; border-radius:0; background:transparent; color:#65715d; font:500 11px/1.8 var(--font-sans); box-shadow:none; }
body.page-article-routes .route-meta > span:first-child { color:#173b32; font:500 20px/1.3 var(--font-serif); font-variant-numeric:tabular-nums; }
body.page-article-routes .route-meta i { color:#94733b; font-size:13px; }
body.page-article-routes .route-itinerary { margin:0; padding:0; border:0; border-top:1px solid #d6ccb5; border-radius:0; background:transparent; box-shadow:none; }
body.page-article-routes .itinerary-toggle { display:flex; align-items:center; justify-content:space-between; gap:15px; min-height:48px; padding:13px 0; list-style:none; color:#173b32; font:500 12px/1.75 var(--font-sans); cursor:pointer; }
body.page-article-routes .itinerary-toggle::-webkit-details-marker { display:none; }
body.page-article-routes .itinerary-toggle > span { display:flex; align-items:center; gap:10px; }
body.page-article-routes .itinerary-toggle i { flex:none; color:#94733b; font-size:15px; }
body.page-article-routes .route-itinerary[open] .itinerary-toggle > i { transform:rotate(180deg); }
body.page-article-routes .route-itinerary .route-days { display:grid; gap:0; margin:0; padding:0; list-style:none; }
body.page-article-routes .route-itinerary .route-days li { display:grid; grid-template-columns:80px minmax(0,1fr); gap:15px; margin:0; padding:12px 0; border:0; border-top:1px solid #e3dbc8; border-radius:0; background:transparent; color:#526150; font:400 13px/1.85 var(--font-sans); box-shadow:none; }
body.page-article-routes .route-days li strong { display:block; padding:0; color:#82632f; font-size:11px; font-weight:600; line-height:2.1; font-variant-numeric:tabular-nums; }
body.page-article-routes .route-days .day-copy { min-width:0; }
body.page-article-routes .route-summary-table { min-width:640px; }
body.page-article-routes .route-summary-table tbody th { width:29%; }
body.page-article-routes .route-summary-table tbody td:last-child { white-space:nowrap; color:#173b32; font-weight:500; font-variant-numeric:tabular-nums; }
body.page-article-routes .article-body .route-summary-table a { display:inline-block; color:#173b32; text-decoration-color:#b79a62; text-underline-offset:5px; }
body.page-article-routes .article-body .route-summary-table a:hover { color:#82632f; }

/* The three existing related guides keep the library's compact card language. */
body.page-article-routes .article-related { border-top:1px solid #e0d8c3; background:#f7f3e8; }
body.page-article-routes .article-related .section-title { margin-bottom:28px; }
body.page-article-routes .related-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
body.page-article-routes .related-card { display:flex; flex-direction:column; min-width:0; overflow:hidden; border:1px solid #ddd4bd; border-radius:10px; background:#fffdf8; color:#173b32; text-decoration:none; box-shadow:none; }
body.page-article-routes .related-card img { width:100%; height:190px; object-fit:cover; border-radius:0 35px 0 0; }
body.page-article-routes .related-card:nth-child(1) img { object-position:55% 45%; }
body.page-article-routes .related-card:nth-child(2) img { object-position:50% 40%; }
body.page-article-routes .related-card:nth-child(3) img { object-position:50% 35%; }
body.page-article-routes .related-card > div { position:relative; flex:1; min-width:0; padding:20px 22px 23px; }
body.page-article-routes .related-card h3 { padding-right:15px; font-size:25px; }
body.page-article-routes .related-card > div::after { content:'↗'; position:absolute; top:20px; right:17px; color:#94733b; font-size:17px; }
body.page-article-routes .related-card p { margin-top:13px; color:#526150; font-size:12px; line-height:1.85; }
body.page-article-routes .related-card:hover h3 { color:#82632f; }
body.page-article-routes .related-return { margin-top:27px; }
@media (hover:hover) and (prefers-reduced-motion:no-preference) {
 body.page-article-routes .related-card img { transition:transform .6s ease; }
 body.page-article-routes .related-card:hover img { transform:scale(1.025); }
}
@media (max-width:1100px) {
 body.page-article-routes main :is(.container,.article-container) { width:calc(100% - 48px); }
 body.page-article-routes .article-shell { grid-template-columns:1fr; gap:0; }
 body.page-article-routes .toc-rail { display:none; }
 body.page-article-routes .article-main { width:min(100%,780px); margin-inline:auto; }
 body.page-article-routes .mobile-contents { position:sticky; top:calc(var(--article-header-height,88px) + 3px); z-index:20; display:block; margin-bottom:19px; padding:0; border:1px solid #d9d2bf; border-radius:5px; background:#fffdf8; box-shadow:none; }
 body.page-article-routes .mobile-contents summary { display:flex; justify-content:space-between; align-items:center; gap:20px; min-height:48px; padding:12px 16px; list-style:none; color:#173b32; font-size:12px; font-weight:500; line-height:1.6; cursor:pointer; }
 body.page-article-routes .mobile-contents summary::-webkit-details-marker { display:none; }
 body.page-article-routes .mobile-contents summary > span { display:flex; align-items:center; gap:10px; min-width:0; }
 body.page-article-routes .mobile-contents summary i { flex:none; color:#94733b; font-size:16px; }
 body.page-article-routes .mobile-contents[open] summary > i { transform:rotate(180deg); }
 body.page-article-routes .mobile-contents nav { display:grid; max-height:min(54dvh,430px); overflow-y:auto; padding:0 16px 7px; border-top:1px solid #e4ddcd; }
 body.page-article-routes .mobile-contents nav a { display:flex; align-items:center; gap:11px; min-height:44px; padding:10px 0; border-bottom:1px solid #e9e3d6; color:#697361; font-size:12px; text-decoration:none; }
 body.page-article-routes .mobile-contents nav a i { color:#94733b; font-size:15px; }
 body.page-article-routes .mobile-contents nav a[aria-current] { color:#173b32; border-color:#b79a62; font-weight:600; }
 body.page-article-routes .article-back { margin-bottom:16px; }
 body.page-article-routes .article-hero h1 { font-size:clamp(39px,4.6vw,50px); }
 body.page-article-routes .hero-actions { gap:6px 17px; }
}
@media (max-width:1080px) { body.page-article-routes { --article-header-space:76px; } }
@media (max-width:900px) {
 body.page-article-routes .article-hero-shell { display:block; padding:30px 24px calc(clamp(230px,30svh,360px) + 36px); }
 body.page-article-routes .article-hero-copy { max-width:690px; }
 body.page-article-routes .article-hero h1 { font-size:clamp(36px,5.4vw,49px); }
 body.page-article-routes .article-hero-visual img { position:absolute; inset:auto 0 0; height:clamp(230px,30svh,360px); object-position:65% 100%; }
 body.page-article-routes .article-hero-visual { background:#f7f3e8; }
 body.page-article-routes .article-hero-visual::after { inset:auto 0 0; height:clamp(230px,30svh,360px); background:linear-gradient(180deg,#f7f3e8 0%,#f7f3e8bb 12%,#f7f3e80a 40%,#10271d10); }
 body.page-article-routes .article-hero-visual figcaption { top:auto; right:24px; bottom:calc(clamp(230px,30svh,360px) - 54px); }
 body.page-article-routes .related-grid { gap:18px; }
 body.page-article-routes .related-card > div { padding:18px; }
 body.page-article-routes .related-card h3 { font-size:23px; }
}
@media (max-width:760px) {
 body.page-article-routes .table-hint { display:flex; align-items:center; gap:8px; margin:22px 0 10px; color:#82632f; font-size:11px; line-height:1.7; }
 body.page-article-routes .table-scroll { margin-top:0; }
 body.page-article-routes .related-grid { grid-template-columns:1fr; }
 body.page-article-routes .related-card { display:grid; grid-template-columns:minmax(0,.7fr) minmax(0,1fr); }
 body.page-article-routes .related-card img { height:100%; min-height:180px; }
 body.page-article-routes .related-card > div { padding:25px; }
}
@media (max-width:600px) {
 body.page-article-routes main :is(.container,.article-container) { width:calc(100% - 36px); }
 body.page-article-routes main .section-pad { padding-block:40px; }
 body.page-article-routes main h2 { font-size:30px; }
 body.page-article-routes main h3 { font-size:24px; }
 body.page-article-routes .article-hero-shell { padding:24px 20px calc(clamp(230px,30svh,360px) + 30px); }
 body.page-article-routes .article-breadcrumb { margin-bottom:18px; font-size:9px; }
 body.page-article-routes .article-kicker { margin-bottom:16px; font-size:8px; }
 body.page-article-routes .article-hero h1 { font-size:clamp(31px,8.8vw,39px); }
 body.page-article-routes .article-hero .subtitle { margin-top:17px; font-size:12px; line-height:1.8; }
 body.page-article-routes .article-meta { gap:6px 15px; margin-top:16px; font-size:10px; }
 body.page-article-routes .hero-actions { gap:5px 15px; margin-top:18px; }
 body.page-article-routes .article-hero .btn-primary { min-height:44px; padding:12px 17px; gap:14px; }
 body.page-article-routes .article-text-link { font-size:10px; min-height:44px; }
 body.page-article-routes .hero-author { gap:8px; margin-top:17px; padding-top:14px; font-size:10px; }
 body.page-article-routes .hero-author a { gap:9px; }
 body.page-article-routes .article-hero-visual img { object-position:82% 100%; }
 
 body.page-article-routes .article-hero-visual figcaption { right:20px; font-size:9px; }
 body.page-article-routes .article-body { font-size:15px; line-height:1.9; }
 body.page-article-routes .article-body > .lead { font-size:20px; }
 body.page-article-routes .article-body > h2 { margin-top:33px; padding-top:25px; }
 body.page-article-routes .quick-answer { padding:21px; }
 body.page-article-routes .quick-answer h2 { font-size:25px; }
 body.page-article-routes .quick-answer p { font-size:14px; }
 body.page-article-routes .article-table :is(th,td) { padding:15px; }
 body.page-article-routes .route-card { padding:20px 18px; }
 body.page-article-routes .article-body .route-card h3 { font-size:21px; }
 body.page-article-routes .route-meta { gap:9px 15px; }
 body.page-article-routes .route-itinerary .route-days li { grid-template-columns:65px minmax(0,1fr); gap:11px; }
 body.page-article-routes .cta-box { padding:24px 21px; }
 body.page-article-routes .cta-box h2 { font-size:30px; }
 body.page-article-routes .article-faq-block summary { font-size:13px; }
 body.page-article-routes .related-grid { grid-template-columns:1fr; gap:20px; }
 body.page-article-routes .related-card { display:flex; }
 body.page-article-routes .related-card img { height:205px; min-height:0; }
 body.page-article-routes .related-card > div { padding:20px 21px; }
 body.page-article-routes .related-card h3 { font-size:26px; }
}
@media (prefers-reduced-motion:reduce) {
 html:has(body.page-article-routes) { scroll-behavior:auto; }
 body.page-article-routes *,body.page-article-routes *::before,body.page-article-routes *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
}

@media print {
 body.page-article-routes { background:white; color:#253b30; }
 body.page-article-routes > :is(header,footer,.reading-progress,.article-skip-link,.grain),
 body.page-article-routes :is(.toc-rail,.mobile-contents,.hero-actions,.hero-author,.article-back,.article-hero-visual,.related-return,.article-related,.table-hint,.cta-actions) { display:none!important; }
 body.page-article-routes main { overflow:visible; }
 body.page-article-routes main :is(.container,.article-container) { width:100%; }
 body.page-article-routes .article-hero-shell { display:block; min-height:0; padding:0 0 25px; }
 body.page-article-routes .article-hero h1 { font-size:36px; }
 body.page-article-routes .article-shell { display:block; }
 body.page-article-routes .article-main { width:100%; }
 body.page-article-routes .article-body { font-size:11pt; line-height:1.6; }
 body.page-article-routes .table-scroll { overflow:visible; }
 body.page-article-routes .article-table { min-width:0; font-size:9pt; }
 body.page-article-routes .itinerary-toggle > i { display:none; }
 body.page-article-routes .route-card { background:white; }
 body.page-article-routes :is(h2,h3,summary) { break-after:avoid; }
 body.page-article-routes .route-days li { break-inside:avoid; }
}

/* Driving comparison: compact reference table with native horizontal scrolling. */
body.page-article-routes .drive-comparison .article-table { min-width:780px; }
body.page-article-routes .drive-comparison caption { text-align:left; padding:16px; color:#173b32; font-weight:700; background:#f4f0e6; }
body.page-article-routes .drive-comparison small { display:block; margin-top:5px; font-size:11px; line-height:1.5; font-weight:400; }
body.page-article-routes .drive-source-note { margin:18px 0 30px; border-block:1px solid #ded7c8; padding:14px 0; }
body.page-article-routes .drive-source-note summary { cursor:pointer; color:#173b32; font-weight:600; }
body.page-article-routes .drive-source-note p { font-size:13px; }
@media print { body.page-article-routes .drive-comparison .article-table { min-width:0; } }
