.results, .trip-intelligence { padding: clamp(4rem, 8vw, 7rem) clamp(1.25rem, 5vw, 5.5rem); display: grid; grid-template-columns: 50px minmax(240px, .8fr) minmax(360px, 1.2fr); gap: clamp(1.5rem, 4vw, 4rem); }
.results { background: var(--green); color: #fff; }
.results .section-number { border-color: rgba(255,255,255,.65); }
.results .eyebrow { color: var(--lime); }
.results h2, .trip-intelligence h2 { margin: 0 0 1rem; font: 400 clamp(2.1rem, 4vw, 4rem)/1 Georgia, serif; letter-spacing: -.04em; overflow-wrap: anywhere; }
.results h2 span { display: block; margin: .55rem 0; color: var(--lime); font: 800 .7rem/1 sans-serif; text-transform: uppercase; letter-spacing: .15em; }
.results p { color: rgba(255,255,255,.72); line-height: 1.6; }
.route-planning-tools, .route-comparison-disclosure { grid-column: 2 / -1; border: 1px solid rgba(255,255,255,.28); background: rgba(255,255,255,.06); }
.route-planning-tools > summary, .route-comparison-disclosure > summary { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .6rem 2rem; align-items: center; padding: 1.2rem 1.35rem; color: #fff; cursor: pointer; list-style: none; }
.route-planning-tools > summary::-webkit-details-marker, .route-comparison-disclosure > summary::-webkit-details-marker { display: none; }
.route-planning-tools > summary::after, .route-comparison-disclosure > summary::after { content: '+'; grid-column: 2; grid-row: 1 / span 2; color: var(--lime); font: 400 1.8rem/1 Georgia, serif; }
.route-planning-tools[open] > summary::after, .route-comparison-disclosure[open] > summary::after { content: '−'; }
.route-planning-tools > summary span { font: 400 clamp(1.25rem, 2.2vw, 1.7rem)/1.15 Georgia, serif; }
.route-planning-tools > summary small { max-width: 720px; color: rgba(255,255,255,.7); font-size: .72rem; line-height: 1.45; }
.route-comparison-disclosure > summary { font: 800 .8rem/1.3 system-ui, sans-serif; letter-spacing: .03em; }
.route-planning-tools > summary:hover, .route-planning-tools > summary:focus-visible, .route-comparison-disclosure > summary:hover, .route-comparison-disclosure > summary:focus-visible { background: rgba(255,255,255,.08); outline: 3px solid rgba(200,245,96,.35); outline-offset: 2px; }
.route-planning-tools-content { display: grid; gap: 1rem; padding: 0 1rem 1rem; }
.route-planning-tools-content > * { grid-column: 1 !important; margin: 0; }
.route-comparison-disclosure .route-comparison { margin: 0; border: 0; border-top: 1px solid rgba(255,255,255,.18); }
.estimate-card { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .8rem 1rem; margin-top: 1.5rem; padding: 1rem; border: 1px solid rgba(255,255,255,.3); }
.estimate-card .estimate-label, .estimate-card small { grid-column: 1 / -1; margin: 0; }
.estimate-card .estimate-label { color: var(--lime); font-size: .7rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.estimate-card div { display: flex; flex-direction: column; }.estimate-card strong { font: 400 1.7rem Georgia, serif; }.estimate-card span { color: rgba(255,255,255,.65); font-size: .72rem; }
.estimate-card small { color: rgba(255,255,255,.66); line-height: 1.45; }.estimate-card a { color: #fff; }
.estimate-card .estimate-tool-link { grid-column: 1 / -1; color: #fff; font-size: .82rem; font-weight: 800; }
.estimate-unavailable { margin-top: 1rem; padding-left: .8rem; border-left: 3px solid var(--lime); }
.route-result-heading { min-width: 0; }
.route-result-unit-switch { display: flex; align-items: center; flex-wrap: wrap; gap: .4rem; margin-top: 1rem; color: #fff; font-size: .74rem; }
.route-result-unit-switch[hidden] { display: none; }
.route-result-unit-switch button { min-height: 36px; border: 1px solid rgba(255,255,255,.65); padding: .4rem .65rem; background: transparent; color: #fff; font: inherit; font-weight: 800; cursor: pointer; }
.route-result-unit-switch button[aria-pressed="true"] { background: #fff; color: var(--green); }
.route-result-unit-switch button:focus-visible { outline: 3px solid var(--lime); outline-offset: 2px; }
.route-source-credit { grid-column: 2 / -1; margin: -.6rem 0 0; color: rgba(255,255,255,.76); font-size: .68rem; line-height: 1.4; }
.route-source-credit a { color: inherit; text-underline-offset: .15em; }
@media (max-width: 560px) { .route-source-credit { grid-column: 1; } }
.route-result-heading > p:last-child { color: rgba(255,255,255,.72); line-height: 1.65; }
.route-result-heading .route-preference-result { padding: .7rem .8rem; border-left: 3px solid var(--lime); background: rgba(255,255,255,.08); color: #fff; font-size: .76rem; line-height: 1.5; }
.route-print-action { display: flex; flex-wrap: wrap; gap: .7rem 1rem; align-items: center; margin-top: 1.2rem; }.route-print-action button { min-height: 44px; border: 1px solid rgba(255,255,255,.55); padding: .7rem 1rem; background: transparent; color: #fff; font: inherit; font-size: .78rem; font-weight: 850; cursor: pointer; }.route-print-action button:hover, .route-print-action button:focus-visible { border-color: var(--lime); color: var(--lime); }.route-print-action span { color: rgba(255,255,255,.68); font-size: .72rem; line-height: 1.4; }.route-print-only { display: none; }
.route-print-preview-toolbar[hidden] { display: none; }
.route-print-preview-toolbar { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 1rem; padding: 1rem; border: 1px solid #b5c3ba; background: #edf4df; color: var(--ink); }
.route-print-preview-toolbar strong { display: block; font-size: 1rem; }.route-print-preview-toolbar p { max-width: 42rem; margin: .3rem 0 0; color: var(--muted); font-size: .75rem; line-height: 1.5; }
.route-print-preview-toolbar > div:last-child { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; }.route-print-preview-toolbar button { min-height: 44px; padding: .65rem .85rem; border: 1px solid var(--green); background: var(--green); color: #fff; font: inherit; font-size: .75rem; font-weight: 800; cursor: pointer; }.route-print-preview-toolbar button:last-child { background: #fff; color: var(--green); }
body.route-print-preview-active { background: #ecefe9; }
body.route-print-preview-active > :not(#main), body.route-print-preview-active #main > :not(#route-options), body.route-print-preview-active .route-result-section > :not(.route-print-preview-toolbar):not(.route-print-sheet):not(.route-summary-panel):not(.route-live-map):not(.route-shape):not(.route-steps) { display: none !important; }
body.route-print-preview-active .route-result-section { display: block; width: min(100%, 900px); box-sizing: border-box; margin: 0 auto; padding: clamp(1rem, 4vw, 2.5rem); background: #fff; color: var(--ink); }
body.route-print-preview-active .route-print-sheet { display: block; margin: 1.5rem 0; color: var(--ink); }
body.route-print-preview-active .route-print-sheet-brand { display: flex; justify-content: space-between; gap: 1rem; align-items: baseline; padding-bottom: .65rem; border-bottom: 2px solid var(--green); }
body.route-print-preview-active .route-print-sheet h1 { margin: .8rem 0 .5rem; font: 400 clamp(1.8rem, 4vw, 2.7rem)/1.15 Georgia, serif; }
body.route-print-preview-active .route-print-sheet p { color: var(--muted); }
body.route-print-preview-active .route-summary-panel { border: 1px solid var(--line); }
body.route-print-preview-active .route-live-map, body.route-print-preview-active .route-shape:not([hidden]) { margin: 1rem 0; }
body.route-print-preview-active .route-map-print-image:not([hidden]) { display: block; width: 100%; height: auto; }
body.route-print-preview-active .route-live-map.has-print-map .route-live-map-canvas { display: none !important; }
body.route-print-preview-active .route-cost-link, body.route-print-preview-active .route-step-scroll-hint { display: none !important; }
body.route-print-preview-active .route-steps { padding: 1.5rem 0; }
body.route-print-preview-active .route-steps ol { max-height: none; overflow: visible; }
.route-download { grid-column: 2 / -1; display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(220px, .75fr); gap: clamp(1.5rem, 5vw, 4rem); padding: clamp(1.4rem, 4vw, 2.5rem); border: 1px solid rgba(255,255,255,.28); background: rgba(255,255,255,.08); }.route-download[hidden] { display: none; }.route-download h3 { margin: .4rem 0 1rem; font: 400 clamp(1.8rem, 4vw, 3rem)/1 Georgia, serif; }.route-download > div > p:last-child { max-width: 720px; margin-bottom: 0; color: rgba(255,255,255,.72); line-height: 1.6; }.route-download-actions { display: grid; gap: .7rem; align-content: center; }.route-download-actions button { min-height: 46px; border: 1px solid var(--lime); padding: .75rem 1rem; background: var(--lime); color: var(--ink); font: inherit; font-size: .8rem; font-weight: 850; cursor: pointer; }.route-download-actions button + button { background: transparent; color: #fff; }.route-download-actions button:hover, .route-download-actions button:focus-visible { outline: 3px solid rgba(200,245,96,.35); outline-offset: 2px; }.route-download-actions p { min-height: 2.8em; margin: .25rem 0 0; color: rgba(255,255,255,.72); font-size: .72rem; line-height: 1.4; }
.route-schedule { grid-column: 2 / -1; padding: clamp(1.4rem, 4vw, 2.5rem); border-left: 5px solid var(--orange); background: #fff5e7; color: var(--ink); }.route-schedule[hidden], .route-schedule-result[hidden], .route-schedule-controls button[hidden] { display: none; }.route-schedule > header { display: flex; align-items: start; justify-content: space-between; gap: 1rem; }.route-schedule > header .eyebrow { margin: 0; color: #8d4300; }.route-schedule h3 { margin: .35rem 0 0; font: 400 clamp(1.8rem, 3vw, 2.7rem)/1.05 Georgia, serif; }.route-schedule > header > span { flex: 0 0 auto; padding: .45rem .65rem; background: #8d4300; color: #fff; font-size: .65rem; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }.route-schedule > p { max-width: 850px; color: var(--muted); font-size: .76rem; line-height: 1.55; }.route-schedule-controls { display: grid; grid-template-columns: minmax(220px, 1fr) auto auto; gap: .65rem; align-items: end; margin-top: 1rem; }.route-schedule-controls label { grid-column: 1 / -1; font-size: .68rem; font-weight: 850; letter-spacing: .05em; text-transform: uppercase; }.route-schedule-controls input, .route-schedule-controls button { min-height: 44px; border: 1px solid #8d4300; padding: .65rem .8rem; font: inherit; }.route-schedule-controls button { background: #8d4300; color: #fff; font-size: .74rem; font-weight: 850; cursor: pointer; }.route-schedule-controls button:last-child { background: #fff; color: #8d4300; }.route-schedule-controls button:hover, .route-schedule-controls button:focus-visible { outline: 3px solid rgba(141,67,0,.2); outline-offset: 2px; }.route-schedule-status { min-height: 1.3em; margin: .65rem 0 0; }.route-schedule-result { margin-top: 1rem; padding: 1rem; border: 1px solid #dfc5a3; background: #fff; }.route-schedule-result > p:first-child { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .5rem 1rem; margin-top: 0; }.route-schedule-result > p:first-child span { color: var(--muted); font-size: .7rem; }.route-schedule-result ol { display: grid; gap: .55rem; padding-left: 1.4rem; }.route-schedule-result li { padding-left: .3rem; }.route-schedule-result li strong, .route-schedule-result li span, .route-schedule-result li small { display: block; }.route-schedule-result li span { margin-top: .2rem; font: 400 1.15rem/1.2 Georgia, serif; }.route-schedule-result li small, .route-schedule-result > p:last-child, .route-schedule-noscript { color: var(--muted); font-size: .68rem; line-height: 1.5; }
.route-schedule-controls input, .route-schedule-controls button { min-width: 0; }.route-schedule-controls input { width: 100%; box-sizing: border-box; }
.route-schedule-controls { grid-template-columns: repeat(2, minmax(180px, 1fr)) auto auto; }.route-schedule-field { min-width: 0; }.route-schedule-field label { display: block; margin-bottom: .35rem; }.route-schedule-field label small { font-size: inherit; font-weight: 650; text-transform: none; }.route-schedule-field input { width: 100%; }
.route-schedule-calendar { min-height: 44px; border: 1px solid #8d4300; padding: .65rem .85rem; background: #fff; color: #8d4300; font: inherit; font-size: .72rem; font-weight: 850; cursor: pointer; }.route-schedule-calendar[hidden] { display: none; }.route-schedule-calendar:hover, .route-schedule-calendar:focus-visible { outline: 3px solid rgba(141,67,0,.2); outline-offset: 2px; }
.route-cost { grid-column: 2 / -1; padding: clamp(1.4rem, 4vw, 2.5rem); border-left: 5px solid var(--lime); background: #f5f9e8; color: var(--ink); }.route-cost[hidden], .route-cost-result[hidden], .route-cost [hidden] { display: none; }.route-cost > header { display: flex; align-items: start; justify-content: space-between; gap: 1rem; }.route-cost > header .eyebrow { margin: 0; color: var(--green); }.route-cost h3 { margin: .35rem 0 0; font: 400 clamp(1.8rem, 3vw, 2.7rem)/1.05 Georgia, serif; }.route-cost > header > span { flex: 0 0 auto; padding: .45rem .65rem; background: var(--green); color: #fff; font-size: .65rem; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }.route-cost > p { max-width: 880px; color: var(--muted); font-size: .76rem; line-height: 1.55; }.route-cost-controls { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .8rem; margin-top: 1rem; }.route-cost-controls label { min-width: 0; }.route-cost-controls label > span { display: block; min-height: 2.2em; margin-bottom: .35rem; font-size: .68rem; font-weight: 850; letter-spacing: .04em; text-transform: uppercase; }.route-cost-controls input, .route-cost-controls select { width: 100%; min-width: 0; min-height: 44px; box-sizing: border-box; border: 1px solid #81908a; padding: .65rem .75rem; background: #fff; color: var(--ink); font: inherit; }.route-cost-contract { margin: .8rem 0 0; }.route-cost-actions { display: flex; flex-wrap: wrap; gap: .6rem; margin-top: 1rem; }.route-cost-actions button { min-height: 44px; border: 1px solid var(--green); padding: .65rem .9rem; background: var(--green); color: #fff; font: inherit; font-size: .74rem; font-weight: 850; cursor: pointer; }.route-cost-actions button:last-child { background: #fff; color: var(--green); }.route-cost-status { min-height: 1.3em; margin: .6rem 0 0; }.route-cost-result { margin-top: 1rem; padding: 1rem; border: 1px solid #cbd7c7; background: #fff; }.route-cost-result .eyebrow { margin: 0; color: var(--green); }.route-cost-result h4 { margin: .3rem 0 1rem; font: 400 2rem/1.05 Georgia, serif; }.route-cost-result dl { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .7rem; margin: 0; }.route-cost-result dl div { min-width: 0; border-top: 1px solid var(--line); padding-top: .6rem; }.route-cost-result dt { color: var(--muted); font-size: .62rem; font-weight: 850; letter-spacing: .05em; text-transform: uppercase; }.route-cost-result dd { margin: .25rem 0 0; overflow-wrap: anywhere; font-weight: 800; }.route-cost-result > p:not(.eyebrow) { color: var(--muted); font-size: .68rem; line-height: 1.5; }.route-cost-full-link { display: inline-block; margin-top: 1rem; color: var(--green); font-size: .74rem; font-weight: 850; text-underline-offset: .2rem; }.route-cost-noscript { color: rgba(255,255,255,.75); }
.route-cost-budget { margin-top: 1.2rem; padding-top: 1rem; border-top: 2px solid var(--lime); }.route-cost-budget h5 { margin: 0; font: 700 1rem/1.2 system-ui, sans-serif; }.route-cost-budget > p { margin: .35rem 0 .8rem; color: var(--muted); font-size: .68rem; line-height: 1.5; }.route-cost-budget-controls { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)) auto; align-items: end; gap: .6rem; }.route-cost-budget-controls label { min-width: 0; }.route-cost-budget-controls label span { display: block; margin-bottom: .3rem; font-size: .62rem; font-weight: 850; letter-spacing: .04em; text-transform: uppercase; }.route-cost-budget-controls input { width: 100%; min-width: 0; min-height: 44px; box-sizing: border-box; border: 1px solid #81908a; padding: .6rem; background: #fff; color: var(--ink); font: inherit; }.route-cost-budget-controls button { min-height: 44px; border: 1px solid var(--green); padding: .6rem .8rem; background: #fff; color: var(--green); font: inherit; font-size: .7rem; font-weight: 850; cursor: pointer; }.route-cost-result .route-cost-budget-result { margin-top: .9rem; }
.route-summary-panel { align-self: start; padding: clamp(1.4rem, 3vw, 2.2rem); background: #fff; color: var(--ink); }
.route-summary-panel .estimate-label { margin: 0 0 1.2rem; color: var(--green); font-size: .7rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.route-summary-panel dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin: 0; }
.route-summary-panel dl div { padding-top: .8rem; border-top: 1px solid var(--line); }.route-summary-panel dt { color: var(--muted); font-size: .72rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }.route-summary-panel dd { margin: .45rem 0 0; font: 400 clamp(1.7rem, 3vw, 2.5rem)/1 Georgia, serif; }.route-summary-panel dd small { display: block; margin-top: .4rem; color: var(--muted); font: 700 .72rem/1.3 sans-serif; }
.route-summary-panel > p { margin: 1.3rem 0; color: var(--muted); font-size: .76rem; line-height: 1.55; }.route-summary-panel > p a { color: var(--green); }
.route-revision { grid-column: 2 / -1; padding: clamp(1.4rem, 4vw, 2.5rem); border: 1px solid #cbd7c7; background: #fff; color: var(--ink); }.route-revision > header { display: flex; align-items: start; justify-content: space-between; gap: 1rem; }.route-revision > header .eyebrow { margin: 0; color: var(--green); }.route-revision h3 { margin: .35rem 0 0; font: 400 clamp(1.8rem, 3vw, 2.7rem)/1.05 Georgia, serif; }.route-revision > header > span { flex: 0 0 auto; padding: .45rem .65rem; border: 1px solid var(--green); color: var(--green); font-size: .65rem; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }.route-revision > p, .route-revision form > small { max-width: 820px; color: var(--muted); font-size: .76rem; line-height: 1.55; }.route-revision form { margin-top: 1.2rem; }.route-revision-endpoints { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }.route-revision label > span, .route-revision legend { display: block; margin-bottom: .4rem; color: var(--muted); font-size: .7rem; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }.route-revision fieldset { min-width: 0; margin: 1.2rem 0 0; padding: 0; border: 0; }.route-revision legend small { font-size: .62rem; font-weight: 700; letter-spacing: 0; text-transform: none; }.route-revision-stops { display: grid; gap: .65rem; }.route-revision-stop { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 1rem; align-items: end; padding: .75rem; border: 1px solid var(--line); background: #faf9f4; }.route-revision-stop[hidden] { display: none; }.route-revision-stop-actions { display: flex; flex-wrap: wrap; gap: .35rem; }.route-revision-stop-actions button, .route-revision-add { min-height: 38px; border: 1px solid var(--green); padding: .45rem .65rem; background: #fff; color: var(--green); font: inherit; font-size: .68rem; font-weight: 850; cursor: pointer; }.route-revision-stop-actions button:disabled { border-color: var(--line); color: #89918d; cursor: default; }.route-revision-stop-actions button:not(:disabled):hover, .route-revision-stop-actions button:not(:disabled):focus-visible, .route-revision-add:hover, .route-revision-add:focus-visible { background: #edf4df; }.route-revision-add { margin-top: .65rem; }.route-revision-order { margin: 1rem 0; padding: .8rem; border-left: 4px solid var(--lime); background: #f4f8e8; overflow-wrap: anywhere; color: var(--muted); font-size: .76rem; line-height: 1.5; }.route-revision-order strong { color: var(--ink); }.route-revision-submit { min-height: 44px; border: 0; padding: .7rem 1rem; background: var(--green); color: #fff; font: inherit; font-size: .76rem; font-weight: 850; cursor: pointer; }.route-revision-submit:hover, .route-revision-submit:focus-visible { outline: 3px solid rgba(20,53,42,.2); outline-offset: 2px; }.route-revision form > small { display: block; margin-top: .65rem; }
.route-revision-reverse { min-height: 40px; margin-top: .9rem; border: 1px solid var(--green); padding: .55rem .8rem; background: #fff; color: var(--green); font: inherit; font-size: .72rem; font-weight: 850; cursor: pointer; }.route-revision-reverse:hover, .route-revision-reverse:focus-visible { background: #edf4df; }.route-revision-reverse-note { margin: .45rem 0 0; color: var(--muted); font-size: .7rem; line-height: 1.45; }
.route-round-trip { grid-column: 2 / -1; padding: clamp(1.4rem, 4vw, 2.5rem); border-left: 5px solid var(--green); background: #edf4df; color: var(--ink); }.route-round-trip > header { display: flex; align-items: start; justify-content: space-between; gap: 1rem; }.route-round-trip > header .eyebrow { margin: 0; color: var(--green); }.route-round-trip h3 { margin: .35rem 0 0; font: 400 clamp(1.8rem, 3vw, 2.7rem)/1.05 Georgia, serif; }.route-round-trip > header > span { flex: 0 0 auto; padding: .45rem .65rem; background: var(--green); color: #fff; font-size: .65rem; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }.route-round-trip > p, .route-round-trip > small { max-width: 860px; color: var(--muted); font-size: .76rem; line-height: 1.55; }.route-round-trip form { margin-top: 1rem; }.route-round-trip form button { min-height: 44px; border: 0; padding: .7rem 1rem; background: var(--green); color: #fff; font: inherit; font-size: .76rem; font-weight: 850; cursor: pointer; }.route-round-trip form button:hover, .route-round-trip form button:focus-visible { outline: 3px solid rgba(20,53,42,.2); outline-offset: 2px; }.route-round-trip > small { display: block; margin-top: .65rem; }.route-round-trip-total { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 1rem; align-items: end; margin: 1.2rem 0; padding: 1rem; background: #fff; }.route-round-trip-total dl, .route-round-trip-grid article > dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .8rem; margin: 0; }.route-round-trip-total dl div, .route-round-trip-grid article > dl div { min-width: 0; }.route-round-trip-total dt, .route-round-trip-grid dt { color: var(--muted); font-size: .64rem; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }.route-round-trip-total dd { margin: .35rem 0 0; font: 400 1.45rem/1.1 Georgia, serif; }.route-round-trip-total dd small { display: block; margin-top: .25rem; color: var(--muted); font: 700 .68rem/1.3 sans-serif; }.route-round-trip-total > a { color: var(--green); font-size: .74rem; font-weight: 850; text-underline-offset: .2rem; }.route-round-trip-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }.route-round-trip-grid article { min-width: 0; padding: 1rem; border: 1px solid #cbd7c7; background: #fff; }.route-round-trip-grid article > header { display: flex; justify-content: space-between; gap: .7rem; }.route-round-trip-grid article > header p { margin: 0; color: var(--green); font-size: .68rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }.route-round-trip-grid article > header span { color: var(--muted); font-size: .65rem; }.route-round-trip-grid h4 { margin: .7rem 0 1rem; overflow-wrap: anywhere; font: 400 1.2rem/1.25 Georgia, serif; }.route-round-trip-grid dd { margin: .3rem 0 0; font-weight: 800; }.route-round-trip-grid article > p { margin: 1rem 0 0; overflow-wrap: anywhere; color: var(--muted); font-size: .68rem; line-height: 1.5; }.route-round-trip-grid article > p a { color: var(--green); }.route-round-trip-difference, .route-round-trip-unavailable { padding: .85rem; border-left: 4px solid var(--orange); background: #fff; }.route-round-trip-unavailable strong { color: var(--ink); }
.route-return-evidence { margin: 1rem 0; padding: 1rem; border: 1px solid #cbd7c7; background: #fff; }.route-return-evidence > header { display: flex; align-items: start; justify-content: space-between; gap: .8rem; }.route-return-evidence > header .eyebrow { margin: 0; }.route-return-evidence > header h4 { margin: .3rem 0 0; font: 400 1.35rem/1.2 Georgia, serif; }.route-return-evidence > header > span { color: var(--green); font-size: .65rem; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }.route-return-evidence > p { color: var(--muted); font-size: .72rem; line-height: 1.5; }.route-return-checks { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .55rem; margin: 1rem 0; padding: 0; list-style: none; }.route-return-checks li { min-width: 0; padding: .7rem; border-top: 3px solid var(--green); background: var(--paper); }.route-return-checks li.is-review { border-top-color: var(--orange); }.route-return-checks li.is-limited { border-top-color: #81908a; }.route-return-checks li > span { display: block; margin-bottom: .35rem; color: var(--green); font-size: .6rem; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }.route-return-checks li.is-review > span { color: #8b3f20; }.route-return-checks li.is-limited > span { color: #596762; }.route-return-checks strong, .route-return-checks small { display: block; overflow-wrap: anywhere; }.route-return-checks strong { font-size: .76rem; }.route-return-checks small { margin-top: .3rem; color: var(--muted); font-size: .65rem; line-height: 1.4; }.route-return-evidence-details { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .8rem; }.route-return-evidence .comparison-resolved-places, .route-return-evidence .comparison-preference-receipt { margin: 0; }.route-return-evidence .comparison-resolved-places ol { margin: .65rem 0 0; padding-left: 1rem; }.route-return-evidence > .comparison-shape, .route-return-evidence > .comparison-shape-unavailable { margin-top: .8rem; }
.route-round-trip-download { display: grid; grid-template-columns: minmax(0, 1fr) minmax(250px, .65fr); gap: 1rem; align-items: center; margin: 1rem 0; padding: 1rem; border: 1px solid #cbd7c7; background: #fff; }.route-round-trip-download[hidden] { display: none; }.route-round-trip-download .eyebrow { margin: 0; }.route-round-trip-download h4 { margin: .3rem 0; font: 400 1.35rem/1.2 Georgia, serif; }.route-round-trip-download > div > p:last-child, .route-round-trip-download-unavailable { color: var(--muted); font-size: .7rem; line-height: 1.5; }.route-round-trip-download-actions { display: grid; gap: .5rem; }.route-round-trip-download-actions button { min-height: 42px; border: 1px solid var(--green); padding: .6rem .8rem; background: var(--green); color: #fff; font: inherit; font-size: .72rem; font-weight: 850; cursor: pointer; }.route-round-trip-download-actions button + button { background: #fff; color: var(--green); }.route-round-trip-download-actions button:hover, .route-round-trip-download-actions button:focus-visible { outline: 3px solid rgba(20,53,42,.2); outline-offset: 2px; }.route-round-trip-download-actions p { min-height: 2.2em; margin: 0; color: var(--muted); font-size: .66rem; line-height: 1.4; }.route-round-trip-download-unavailable { margin: 1rem 0; padding: .8rem; border: 1px dashed #81908a; background: #fff; }
.route-inspection-summary { grid-column: 2 / -1; padding: clamp(1.4rem, 4vw, 2.5rem); border: 1px solid rgba(255,255,255,.28); background: rgba(255,255,255,.08); }.route-inspection-summary > header { display: flex; align-items: start; justify-content: space-between; gap: 1rem; }.route-inspection-summary > header .eyebrow { margin: 0; }.route-inspection-summary h3 { margin: .35rem 0 0; font: 400 clamp(1.8rem, 3vw, 2.7rem)/1.05 Georgia, serif; }.route-inspection-summary > header > span { flex: 0 0 auto; padding: .45rem .65rem; border: 1px solid rgba(255,255,255,.45); color: #fff; font-size: .65rem; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }.route-inspection-summary > p { max-width: 820px; margin: 1rem 0 1.3rem; }.route-inspection-summary ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .7rem; margin: 0; padding: 0; list-style: none; }.route-inspection-summary li { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: .75rem; align-items: start; min-width: 0; padding: .9rem; border-top: 4px solid var(--green); background: #fff; color: var(--ink); }.route-inspection-summary li.is-review { border-top-color: var(--orange); }.route-inspection-summary li.is-limited { border-top-color: #81908a; }.route-inspection-summary li > span { padding: .3rem .45rem; background: var(--green); color: #fff; font-size: .6rem; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }.route-inspection-summary li.is-review > span { background: var(--orange); color: var(--ink); }.route-inspection-summary li.is-limited > span { background: #66736e; }.route-inspection-summary strong { display: block; font-size: .8rem; }.route-inspection-summary li p { margin: .3rem 0 0; color: var(--muted); font-size: .7rem; line-height: 1.45; }.route-inspection-summary li a { color: var(--green); font-size: .7rem; font-weight: 850; white-space: nowrap; text-underline-offset: .2rem; }
.route-resolution { grid-column: 2 / -1; padding: clamp(1.4rem, 4vw, 2.5rem); border-left: 5px solid var(--green); background: #f5f7f1; color: var(--ink); }.route-resolution.is-review { border-left-color: var(--orange); background: #fff1e4; }.route-resolution.is-limited { border-left-color: #81908a; background: #edf0ef; }.route-resolution-heading { display: flex; align-items: start; justify-content: space-between; gap: 1rem; }.route-resolution-heading .eyebrow { margin: 0; }.route-resolution-heading h3 { margin: .35rem 0 0; font: 400 clamp(1.8rem, 3vw, 2.7rem)/1.05 Georgia, serif; }.route-resolution-heading > span { flex: 0 0 auto; padding: .45rem .65rem; background: var(--green); color: #fff; font-size: .65rem; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }.route-resolution.is-review .route-resolution-heading > span { background: var(--orange); color: var(--ink); }.route-resolution.is-limited .route-resolution-heading > span { background: #66736e; }.route-resolution-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .8rem; margin-top: 1.3rem; }.route-resolution-grid article { min-width: 0; padding: 1rem; border-top: 3px solid var(--green); background: #fff; }.route-resolution-grid article > p { margin: 0 0 .8rem; color: var(--green); font-size: .68rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }.route-resolution-grid dl, .route-resolution-grid dl div { margin: 0; }.route-resolution-grid dl div + div { margin-top: .7rem; padding-top: .7rem; border-top: 1px solid var(--line); }.route-resolution-grid dt { color: var(--muted); font-size: .62rem; font-weight: 800; text-transform: uppercase; }.route-resolution-grid dd { margin: .25rem 0 0; overflow-wrap: anywhere; font-size: .82rem; line-height: 1.4; }.route-resolution > ul { margin: 1rem 0; padding-left: 1.2rem; }.route-resolution > ul li { line-height: 1.5; }.route-resolution > p { color: var(--muted); line-height: 1.55; }.route-resolution-boundary { margin-bottom: 0; font-size: .72rem; }
.route-correction { margin-top: 1.25rem; padding: 1rem; border: 1px solid #cbd7c7; background: #fff; }.route-correction > div:first-child .eyebrow { margin: 0; color: var(--green); }.route-correction h4 { margin: .3rem 0 0; font: 400 1.45rem/1.15 Georgia, serif; }.route-correction > p { max-width: 800px; color: var(--muted); font-size: .76rem; line-height: 1.5; }.route-correction-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .7rem; margin: 1rem 0; }.route-correction fieldset { min-width: 0; margin: 0; padding: .8rem; border: 1px solid var(--line); }.route-correction legend { padding: 0 .3rem; color: var(--green); font-size: .63rem; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }.route-correction label { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: .55rem; align-items: start; min-width: 0; padding: .55rem; cursor: pointer; }.route-correction label + label { margin-top: .35rem; border-top: 1px solid var(--line); }.route-correction label input { margin-top: .15rem; accent-color: var(--green); }.route-correction label span { overflow-wrap: anywhere; color: var(--muted); font-size: .72rem; line-height: 1.4; }.route-correction label strong { display: block; margin-bottom: .15rem; color: var(--ink); font-size: .72rem; }.route-correction button { min-height: 44px; border: 0; padding: .7rem 1rem; background: var(--green); color: #fff; font: inherit; font-size: .76rem; font-weight: 850; cursor: pointer; }.route-correction button:hover, .route-correction button:focus-visible { outline: 3px solid rgba(20,53,42,.2); outline-offset: 2px; }.route-correction > small { display: block; max-width: 760px; margin-top: .65rem; color: var(--muted); line-height: 1.45; }
.route-preference-receipt { grid-column: 2 / -1; padding: clamp(1.4rem, 4vw, 2.5rem); border-left: 5px solid var(--green); background: #eff5e8; color: var(--ink); }.route-preference-receipt.is-limited { border-left-color: var(--orange); background: #fff1e4; }.route-preference-receipt-heading { display: flex; align-items: start; justify-content: space-between; gap: 1rem; }.route-preference-receipt-heading .eyebrow { margin: 0; }.route-preference-receipt-heading h3 { margin: .35rem 0 0; font: 400 clamp(1.8rem, 3vw, 2.7rem)/1.05 Georgia, serif; }.route-preference-receipt-heading > span { flex: 0 0 auto; padding: .45rem .65rem; background: var(--green); color: #fff; font-size: .65rem; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }.route-preference-receipt.is-none .route-preference-receipt-heading > span { background: #66736e; }.route-preference-receipt.is-limited .route-preference-receipt-heading > span { background: var(--orange); color: var(--ink); }.route-preference-receipt > ul { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .8rem; margin: 1.3rem 0; padding: 0; list-style: none; }.route-preference-receipt > ul li { min-width: 0; padding: 1rem; border-top: 3px solid var(--green); background: #fff; }.route-preference-receipt > ul strong, .route-preference-receipt > ul span { display: block; }.route-preference-receipt > ul strong { font-size: .82rem; }.route-preference-receipt > ul span { margin-top: .4rem; color: var(--muted); font-size: .72rem; line-height: 1.45; overflow-wrap: anywhere; }.route-preference-receipt > p { color: var(--muted); line-height: 1.55; }.route-preference-boundary { margin-bottom: 0; font-size: .72rem; }
.route-country-guidance { grid-column: 2 / -1; padding: clamp(1.4rem, 4vw, 2.5rem); border-left: 5px solid var(--green); background: #f7f3e9; color: var(--ink); }.route-country-guidance.is-partial { border-left-color: var(--orange); }.route-country-guidance-heading { display: flex; align-items: start; justify-content: space-between; gap: 1rem; }.route-country-guidance-heading .eyebrow { margin: 0; }.route-country-guidance-heading h3 { margin: .35rem 0 0; font: 400 clamp(1.8rem, 3vw, 2.7rem)/1.05 Georgia, serif; }.route-country-guidance-heading > span { flex: 0 0 auto; padding: .45rem .65rem; background: var(--green); color: #fff; font-size: .65rem; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }.route-country-guidance-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin-top: 1.3rem; }.route-country-guidance-grid article { min-width: 0; padding: clamp(1rem, 2.5vw, 1.5rem); border-top: 3px solid var(--green); background: #fff; }.route-country-guidance-grid article:last-child:nth-child(odd) { grid-column: 1 / -1; }.route-country-guidance-grid article:last-child:nth-child(odd) .route-country-decisions { grid-template-columns: repeat(2, minmax(0, 1fr)); }.route-country-guidance-grid article > p:first-child { margin: 0 0 .6rem; color: var(--green); font-size: .64rem; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }.route-country-guidance-grid h4 { margin: 0; font: 400 1.35rem/1.15 Georgia, serif; }.route-country-guidance-grid h4 a { color: var(--ink); text-decoration-thickness: 1px; text-underline-offset: .16em; }.route-country-guidance-grid article > p { color: var(--muted); font-size: .78rem; line-height: 1.5; }.route-country-guidance-grid small { display: block; color: var(--muted); font-size: .66rem; line-height: 1.4; }.route-country-guidance > p { color: var(--muted); line-height: 1.55; }.route-country-guidance-boundary { margin-bottom: 0; font-size: .72rem; }
.route-country-decisions { display: grid; gap: .65rem; margin: 1rem 0; padding: 0; list-style: none; }.route-country-decisions li { min-width: 0; padding: .75rem; border-left: 2px solid var(--lime); background: var(--paper); break-inside: avoid; }.route-country-decisions li > p { margin: 0 0 .25rem; color: var(--green); font-size: .58rem; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }.route-country-decisions strong, .route-country-decisions span { display: block; }.route-country-decisions strong { font-size: .8rem; line-height: 1.3; }.route-country-decisions span { margin-top: .3rem; color: var(--muted); font-size: .7rem; line-height: 1.45; }.route-country-decisions small { margin-top: .45rem; overflow-wrap: anywhere; }.route-country-decision-unavailable { padding: .65rem; border: 1px dashed #c9c0aa; background: var(--paper); font-size: .68rem !important; }
.route-country-guidance-grid article:last-child:nth-child(odd) .route-country-decisions li:last-child:nth-child(odd) { grid-column: 1 / -1; }
.route-plausibility { grid-column: 2 / -1; padding: clamp(1.4rem, 3vw, 2.2rem); border-left: 5px solid var(--green); background: #edf3ec; color: var(--ink); }.route-plausibility.is-review { border-left-color: var(--orange); background: #fff1e4; }.route-plausibility.is-limited { border-left-color: #81908a; background: #edf0ef; }.route-plausibility-heading { display: flex; align-items: start; justify-content: space-between; gap: 1rem; }.route-plausibility-heading .eyebrow { margin: 0; color: var(--green); }.route-plausibility-heading h3 { margin: .35rem 0 0; font: 400 clamp(1.65rem, 3vw, 2.45rem)/1.05 Georgia, serif; }.route-plausibility-heading > span { flex: 0 0 auto; padding: .45rem .65rem; background: var(--green); color: #fff; font-size: .65rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }.route-plausibility.is-review .route-plausibility-heading > span { background: var(--orange); color: var(--ink); }.route-plausibility.is-limited .route-plausibility-heading > span { background: #66736e; }.route-plausibility > p { max-width: 780px; color: var(--muted); line-height: 1.55; }.route-plausibility dl { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .7rem; margin: 1.25rem 0; }.route-plausibility dl div { min-width: 0; padding: .8rem; border-top: 1px solid rgba(20,53,42,.22); background: rgba(255,255,255,.55); }.route-plausibility dt { color: var(--muted); font-size: .64rem; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }.route-plausibility dd { overflow-wrap: anywhere; margin: .35rem 0 0; font-weight: 850; }.route-plausibility ul { margin: 1rem 0; padding-left: 1.2rem; }.route-plausibility li { margin: .45rem 0; line-height: 1.5; }.route-plausibility .route-plausibility-boundary { margin-bottom: 0; font-size: .72rem; }
.route-leg-summary { grid-column: 2 / -1; padding: clamp(1.4rem, 3vw, 2.2rem); border: 1px solid rgba(255,255,255,.22); background: rgba(255,255,255,.07); color: #fff; }
.route-leg-summary-heading { margin-bottom: 1.2rem; }.route-leg-summary-heading .eyebrow { color: var(--lime); }.route-leg-summary-heading h3 { margin: .35rem 0 0; font: 400 clamp(1.7rem, 3vw, 2.5rem)/1.05 Georgia, serif; }
.route-leg-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }.route-leg-grid article { min-width: 0; padding: 1.1rem; background: #fff; color: var(--ink); }.route-leg-grid article > p { margin: 0 0 .5rem; color: var(--green); font-size: .68rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }.route-leg-grid h4 { overflow-wrap: anywhere; margin: 0 0 1rem; font: 400 1.2rem/1.25 Georgia, serif; }.route-leg-grid h4 span { color: var(--green); }.route-leg-grid dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .8rem; margin: 0; }.route-leg-grid dl div { padding-top: .7rem; border-top: 1px solid var(--line); }.route-leg-grid dt { color: var(--muted); font-size: .66rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }.route-leg-grid dd { margin: .35rem 0 0; font-weight: 800; }.route-leg-grid dd small { display: block; margin-top: .2rem; color: var(--muted); font-size: .7rem; }.route-leg-summary > p { margin: 1rem 0 0; color: rgba(255,255,255,.7); font-size: .72rem; line-height: 1.5; }
.route-cost-link { display: flex; justify-content: space-between; gap: 1rem; padding-top: .9rem; border-top: 1px solid var(--ink); color: var(--ink); font-size: .84rem; font-weight: 850; text-decoration: none; }
.route-shape { grid-column: 2 / -1; display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(220px, .55fr); min-width: 0; margin: 0; background: #e8f0e8; color: var(--ink); }
.route-shape[hidden] { display: none !important; }
.route-shape svg { display: block; width: 100%; min-height: 260px; padding: 1rem; background: radial-gradient(circle at 50% 50%, rgba(200,245,96,.45), transparent 55%), linear-gradient(rgba(12,89,73,.08) 1px, transparent 1px), linear-gradient(90deg, rgba(12,89,73,.08) 1px, transparent 1px); background-size: auto, 32px 32px, 32px 32px; }
.route-shape polyline { fill: none; stroke: var(--orange); stroke-width: 5; stroke-linecap: round; stroke-linejoin: round; vector-effect: non-scaling-stroke; }.route-shape-shadow { fill: none; stroke: rgba(16,32,29,.22); stroke-width: 11; stroke-linecap: round; stroke-linejoin: round; vector-effect: non-scaling-stroke; }.route-shape circle { stroke: #fff; stroke-width: 4; vector-effect: non-scaling-stroke; }.route-start { fill: var(--green); }.route-end { fill: var(--orange); }
.route-shape figcaption { display: flex; flex-direction: column; justify-content: flex-end; gap: .7rem; padding: 2rem; background: var(--lime); }.route-shape figcaption strong { font: 400 2rem/1 Georgia, serif; }.route-shape figcaption span { color: #35423e; font-size: .8rem; line-height: 1.55; }
.route-live-map { grid-column: 2 / -1; min-width: 0; margin: 0; border: 1px solid rgba(16,32,29,.18); background: var(--panel); }.route-map-consent { display: flex; align-items: center; justify-content: space-between; gap: 2rem; padding: clamp(1.4rem, 3vw, 2.25rem); }.route-map-consent[hidden] { display: none; }.route-map-consent .eyebrow { margin-bottom: .55rem; }.route-map-consent strong { display: block; font: 400 clamp(1.65rem, 3vw, 2.4rem)/1.05 Georgia, serif; }.route-map-consent p:last-child { max-width: 720px; margin: .7rem 0 0; color: var(--muted); font-size: .78rem; line-height: 1.55; }.route-map-consent button { flex: 0 0 auto; border: 0; background: var(--green); color: #fff; padding: .85rem 1.1rem; font: inherit; font-size: .78rem; font-weight: 800; cursor: pointer; }.route-map-consent button:hover { background: var(--orange); }.route-map-consent button:focus-visible { outline: 3px solid var(--orange); outline-offset: 3px; }.route-live-map-canvas { width: 100%; height: 420px; background: #e8f0e8; }.route-map-status { margin: 0; padding: .65rem 1rem; color: var(--muted); font-size: .72rem; line-height: 1.4; }.route-map-status:empty { display: none; }.route-live-map figcaption { padding: .75rem 1rem; border-top: 1px solid var(--line); color: var(--muted); font-size: .7rem; line-height: 1.5; }
.route-map-print-image, .route-map-print-attribution { display: none; }
.route-steps { grid-column: 2 / -1; padding: clamp(1.5rem, 4vw, 2.6rem); background: #fff; color: var(--ink); }
.route-steps-heading { display: flex; justify-content: space-between; align-items: end; gap: 1rem; margin-bottom: 1.4rem; }.route-steps-heading .eyebrow { margin-bottom: .45rem; }.route-steps-heading h3, .route-exports-heading h3 { margin: 0; font: 400 clamp(2rem, 4vw, 3.4rem)/1 Georgia, serif; }.route-steps-heading > span { color: var(--muted); font-size: .72rem; font-weight: 800; }
.route-step-coverage { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 1rem; margin: 0 0 1.2rem; padding: 1rem; border-left: 5px solid var(--green); background: #edf4df; }.route-step-coverage.is-partial, .route-step-coverage.is-excessive, .route-step-coverage.is-truncated { border-left-color: var(--orange); background: #fff1e8; }.route-step-coverage strong { display: block; }.route-step-coverage p { max-width: 680px; margin: .35rem 0 0; color: var(--muted); font-size: .76rem; line-height: 1.5; }.route-step-coverage dl { display: grid; grid-template-columns: repeat(2, minmax(95px, 1fr)); gap: .5rem; margin: 0; }.route-step-coverage dl div { padding: .55rem; background: rgba(255,255,255,.72); }.route-step-coverage dt { color: var(--muted); font-size: .6rem; font-weight: 850; letter-spacing: .05em; text-transform: uppercase; }.route-step-coverage dd { margin: .25rem 0 0; font-weight: 900; }
.route-step-scroll-hint { margin: 0 0 .8rem; color: var(--muted) !important; font-size: .72rem; line-height: 1.45; }.route-steps ol { max-height: 680px; margin: 0; padding: 0; overflow-y: auto; list-style: none; border-bottom: 1px solid var(--line); scrollbar-gutter: stable; }.route-steps ol:focus-visible { outline-offset: 5px; }.route-steps li { display: grid; grid-template-columns: 36px minmax(0, 1fr); gap: .8rem; padding: 1rem 0; border-top: 1px solid var(--line); }.route-step-number { display: grid; place-items: center; width: 30px; height: 30px; border: 1px solid var(--orange); border-radius: 50%; color: var(--orange); font-size: .72rem; font-weight: 900; }.route-step-content { min-width: 0; }.route-step-content > strong { display: block; line-height: 1.45; overflow-wrap: anywhere; }.route-step-content dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .2rem .45rem; margin: .65rem 0; }.route-step-content dt, .route-step-content dd { min-width: 0; }.route-step-content dt { grid-row: 1; color: var(--muted); font-size: .58rem; font-weight: 850; letter-spacing: .05em; text-transform: uppercase; }.route-step-content dd { grid-row: 2; margin: 0; font-size: .74rem; font-weight: 800; overflow-wrap: anywhere; }.route-step-progress { display: grid; grid-template-columns: minmax(80px, 1fr) auto; align-items: center; gap: .7rem; color: var(--muted); font-size: .64rem; white-space: nowrap; }.route-step-progress::before { display: block; height: 5px; background: linear-gradient(90deg, var(--green) var(--route-step-progress), #d9ded9 var(--route-step-progress)); content: ""; }.route-step-limit { margin: 1rem 0 0; color: var(--muted); font-size: .78rem; }
.route-comparison { grid-column: 2 / -1; padding: clamp(1.5rem, 4vw, 2.6rem); background: #e8f0e8; color: var(--ink); }.route-comparison-heading { display: flex; align-items: end; justify-content: space-between; gap: 1.5rem; }.route-comparison-heading h3 { margin: 0; font: 400 clamp(2rem, 4vw, 3.4rem)/1 Georgia, serif; }.route-comparison-heading form { flex: 0 0 auto; }.route-comparison-heading button { min-height: 48px; padding: .75rem 1rem; border: 0; background: var(--green); color: #fff; font-weight: 850; cursor: pointer; }.route-comparison > p { max-width: 760px; color: var(--muted); line-height: 1.6; }.route-comparison-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .8rem; margin-top: 1.5rem; }.route-comparison-grid article { padding: 1.25rem; border-top: 4px solid var(--green); background: #fff; }.route-comparison-grid p { margin: 0 0 .45rem; color: var(--muted); font-size: .68rem; font-weight: 850; letter-spacing: .09em; text-transform: uppercase; }.route-comparison-grid h4 { margin: 0 0 1.1rem; font: 400 1.65rem/1 Georgia, serif; }.route-comparison-grid strong, .route-comparison-grid span { display: block; }.route-comparison-grid strong { font: 400 2rem/1 Georgia, serif; }.route-comparison-grid span { margin-top: .45rem; color: var(--muted); font-size: .75rem; }.route-comparison .comparison-verdict { max-width: none; margin: .8rem 0 0; padding: 1rem; background: rgba(255,255,255,.68); color: var(--ink); }.route-comparison .comparison-verdict.is-material { border-left: 5px solid var(--orange); }
.comparison-candidate { min-width: 0; }.comparison-candidate.is-review { border-top-color: var(--orange); }.comparison-candidate.is-limited { border-top-color: #81908a; }.comparison-candidate > header { display: flex; align-items: start; justify-content: space-between; gap: .75rem; }.comparison-candidate header > span { flex: 0 0 auto; margin: 0; padding: .4rem .55rem; background: var(--green); color: #fff; font-size: .62rem; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }.comparison-candidate.is-review header > span { background: var(--orange); color: var(--ink); }.comparison-candidate.is-limited header > span { background: #66736e; }.comparison-candidate dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .55rem; margin: 0 0 1rem; }.comparison-candidate dl div { min-width: 0; padding: .7rem; background: var(--paper); }.comparison-candidate dt { color: var(--muted); font-size: .62rem; font-weight: 850; letter-spacing: .05em; text-transform: uppercase; }.comparison-candidate dd { overflow-wrap: anywhere; margin: .3rem 0 0; font-weight: 850; }.comparison-shape { margin: 0; border: 1px solid var(--line); }.comparison-shape svg { display: block; width: 100%; min-height: 150px; background: radial-gradient(circle at 50% 50%, rgba(200,245,96,.35), transparent 55%), linear-gradient(rgba(12,89,73,.07) 1px, transparent 1px), linear-gradient(90deg, rgba(12,89,73,.07) 1px, transparent 1px); background-size: auto, 24px 24px, 24px 24px; }.comparison-shape path { fill: none; stroke: rgba(16,32,29,.2); stroke-width: 8; stroke-linecap: round; stroke-linejoin: round; vector-effect: non-scaling-stroke; }.comparison-shape polyline { fill: none; stroke: var(--orange); stroke-width: 4; stroke-linecap: round; stroke-linejoin: round; vector-effect: non-scaling-stroke; }.comparison-shape figcaption, .route-comparison-grid .comparison-shape-unavailable { margin: 0; padding: .7rem; color: var(--muted); font-size: .68rem; font-weight: 500; letter-spacing: 0; line-height: 1.45; text-transform: none; }.comparison-shape-unavailable { border: 1px dashed var(--line); background: var(--paper); }.comparison-review-items { margin: 1rem 0; padding-left: 1.15rem; }.comparison-review-items li { margin: .4rem 0; color: #7c351b; font-size: .76rem; line-height: 1.45; }.route-comparison-grid .comparison-source { margin: 1rem 0 0; color: var(--muted); font-size: .68rem; font-weight: 500; letter-spacing: 0; line-height: 1.45; text-transform: none; overflow-wrap: anywhere; }.comparison-source a { color: var(--green); }.route-comparison .comparison-structural-warning { max-width: none; margin: .8rem 0 0; padding: 1rem; border-left: 5px solid var(--orange); background: rgba(255,255,255,.68); color: var(--ink); font-size: .82rem; line-height: 1.55; }
.comparison-resolved-places { margin: 1rem 0; padding: .85rem; background: var(--paper); }.comparison-resolved-places > strong { color: var(--green); font-size: .68rem; letter-spacing: .06em; text-transform: uppercase; }.comparison-resolved-places ul { margin: .65rem 0 0; padding-left: 1rem; }.comparison-resolved-places li, .comparison-resolved-places p { margin: .35rem 0; color: var(--muted); font-size: .72rem; line-height: 1.4; overflow-wrap: anywhere; }.comparison-resolved-places li span { color: var(--ink); font-weight: 800; }
.comparison-preference-receipt { margin: 1rem 0; padding: .85rem; border-left: 3px solid var(--green); background: var(--paper); }.comparison-preference-receipt > strong { color: var(--green); font-size: .68rem; letter-spacing: .06em; text-transform: uppercase; }.comparison-preference-receipt ul { margin: .65rem 0 0; padding-left: 1rem; }.comparison-preference-receipt li, .route-comparison-grid .comparison-preference-receipt p { margin: .35rem 0; color: var(--muted); font-size: .72rem; font-weight: 500; letter-spacing: 0; line-height: 1.4; text-transform: none; overflow-wrap: anywhere; }.comparison-preference-receipt li span { display: inline; color: var(--ink); font-weight: 800; }
.route-recovery { grid-column: 2 / -1; padding: clamp(1.2rem, 3vw, 1.8rem); border-left: 5px solid var(--lime); background: rgba(255,255,255,.1); }.route-recovery h3 { margin: .35rem 0 .65rem; color: #fff; font: 400 clamp(1.45rem, 3vw, 2rem)/1.15 Georgia, serif; }.route-recovery p { max-width: 850px; margin: .45rem 0 0; color: rgba(255,255,255,.78); line-height: 1.55; }.route-recovery p strong { color: #fff; }.route-recovery.is-quota, .route-recovery.is-circuit_open, .route-recovery.is-malformed_response, .route-recovery.is-provider_outage, .route-recovery.is-rejected { border-left-color: var(--orange); }.route-degraded { grid-column: 3; align-self: start; }
.route-exports-heading { grid-column: 2 / -1; padding-top: 1.5rem; border-top: 1px solid rgba(255,255,255,.25); }.route-exports-heading .eyebrow { margin-bottom: .65rem; }.route-exports-heading > p:last-child { max-width: 680px; margin-bottom: 0; }
.route-export-grid { grid-column: 2 / -1; }.route-export-grid .provider-card { min-height: 0; }
.provider-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.provider-card { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: .35rem 1rem; align-items: center; min-height: 0; padding: 1.15rem 1.25rem; background: #fff; color: var(--ink); }
.provider-icon { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 50%; background: var(--paper); }
.provider-card h3 { margin: 0; font-size: 1.05rem; }.provider-card > p { grid-column: 2; margin: 0; color: var(--muted); font-size: .76rem; }
.provider-card .export-preference-receipt, .provider-card .export-stop-receipt { flex: 0; margin: .3rem 0 1rem; padding: .7rem; border-left: 3px solid var(--green); background: var(--paper); font-size: .72rem; line-height: 1.45; }.export-preference-receipt strong, .export-stop-receipt strong { color: var(--ink); }
.provider-card a { grid-column: 3; grid-row: 1 / span 3; align-self: stretch; display: flex; align-items: center; gap: .7rem; border: 1px solid var(--green); padding: .7rem .85rem; color: var(--green); font-size: .75rem; font-weight: 850; text-decoration: none; }.provider-card a:hover, .provider-card a:focus-visible { background: #edf4df; outline: 3px solid rgba(200,245,96,.35); outline-offset: 2px; }.provider-card .export-preference-note, .provider-card .export-stop-note { grid-column: 2; margin: 0; color: #7c351b; font-size: .68rem; }
.trip-intelligence { background: #fffdf8; }
.intelligence-copy p:last-child { color: var(--muted); line-height: 1.7; }
.checklist article { display: grid; grid-template-columns: 42px 1fr; gap: 1rem; padding: 1.25rem 0; border-top: 1px solid var(--line); }
.checklist article > span { color: var(--orange); font: italic 1.2rem Georgia, serif; }
.checklist h3 { margin: 0 0 .35rem; }.checklist p { margin: 0; color: var(--muted); line-height: 1.55; }
.result-context-note { display: block; margin-top: .55rem; color: var(--green); font-size: .78rem; font-weight: 800; line-height: 1.45; }

@media (max-width: 900px) {
  .results, .trip-intelligence { grid-template-columns: 42px 1fr; }
  .provider-grid, .checklist { grid-column: 2; }
  .route-result-section { grid-template-columns: 42px minmax(0, 1fr); }.route-summary-panel, .route-degraded, .route-recovery { grid-column: 2; }.route-revision, .route-inspection-summary, .route-predeparture-checklist, .route-resolution, .route-preference-receipt, .route-country-guidance, .route-plausibility, .route-download, .route-leg-summary, .route-live-map, .route-shape, .route-steps, .route-comparison, .route-planning-tools, .route-comparison-disclosure, .route-exports-heading, .route-export-grid { grid-column: 2; }.route-inspection-summary ul, .route-predeparture-checklist ul, .route-resolution-grid, .route-preference-receipt > ul, .route-country-guidance-grid { grid-template-columns: 1fr; }.route-plausibility dl { grid-template-columns: repeat(2, minmax(0, 1fr)); }.route-download { grid-template-columns: 1fr; }.route-shape { grid-template-columns: 1fr; }.route-shape figcaption { justify-content: flex-start; }
  .route-schedule { grid-column: 2; }
  .route-cost { grid-column: 2; }.route-cost-controls { grid-template-columns: repeat(2, minmax(0, 1fr)); }.route-cost-result dl { grid-template-columns: repeat(2, minmax(0, 1fr)); }.route-cost-budget-controls { grid-template-columns: repeat(2, minmax(0, 1fr)); }.route-cost-budget-controls button { align-self: end; }
}
@media (max-width: 560px) {
  .results, .trip-intelligence { grid-template-columns: 1fr; }.results .section-number, .trip-intelligence .section-number { display: none; }
  .provider-grid, .checklist { grid-column: 1; }.provider-grid { grid-template-columns: 1fr; }
  .route-result-section { grid-template-columns: 1fr; }.route-summary-panel, .route-degraded, .route-recovery, .route-revision, .route-inspection-summary, .route-predeparture-checklist, .route-resolution, .route-preference-receipt, .route-country-guidance, .route-plausibility, .route-download, .route-leg-summary, .route-live-map, .route-shape, .route-steps, .route-comparison, .route-planning-tools, .route-comparison-disclosure, .route-exports-heading, .route-export-grid { grid-column: 1; }.route-summary-panel dl, .route-plausibility dl, .route-leg-grid, .route-leg-grid dl { grid-template-columns: 1fr; }.route-revision > header, .route-inspection-summary > header, .route-predeparture-checklist > header, .route-resolution-heading, .route-preference-receipt-heading, .route-country-guidance-heading, .route-plausibility-heading { align-items: flex-start; flex-direction: column; }.route-revision-endpoints, .route-revision-stop { grid-template-columns: 1fr; }.route-revision-stop-actions button { flex: 1 1 auto; }.route-revision-submit { width: 100%; }.route-inspection-summary li { grid-template-columns: auto minmax(0, 1fr); }.route-inspection-summary li a { grid-column: 2; white-space: normal; }.route-predeparture-checklist li { grid-template-columns: 1fr; }.route-predeparture-checklist li > a { padding-left: 1.9rem; white-space: normal; }.route-predeparture-checklist footer { align-items: flex-start; flex-direction: column; }.route-download-actions button { width: 100%; }.route-map-consent { align-items: stretch; flex-direction: column; gap: 1rem; }.route-map-consent button { width: 100%; }.route-live-map-canvas { height: 300px; }.route-shape svg { min-height: 220px; }.route-steps { margin-inline: -1.25rem; }.route-steps-heading, .route-comparison-heading, .comparison-candidate > header { align-items: flex-start; flex-direction: column; }.route-step-coverage { grid-template-columns: 1fr; }.route-step-content dl { grid-template-columns: 1fr; }.route-step-content dt:nth-of-type(1) { grid-row: 1; }.route-step-content dd:nth-of-type(1) { grid-row: 2; }.route-step-content dt:nth-of-type(2) { grid-row: 3; }.route-step-content dd:nth-of-type(2) { grid-row: 4; }.route-step-progress { grid-template-columns: 1fr; gap: .35rem; white-space: normal; }.route-comparison-grid, .comparison-candidate dl { grid-template-columns: 1fr; }.provider-card { grid-template-columns: auto minmax(0, 1fr); }.provider-card a { grid-column: 1 / -1; grid-row: auto; justify-content: space-between; }.provider-card > p, .provider-card .export-preference-note, .provider-card .export-stop-note { grid-column: 2; }
  .route-correction-grid { grid-template-columns: 1fr; }.route-correction button { width: 100%; }
  .route-round-trip { grid-column: 1; }.route-round-trip > header, .route-return-evidence > header { align-items: flex-start; flex-direction: column; }.route-round-trip-total, .route-round-trip-grid, .route-round-trip-total dl, .route-round-trip-grid article > dl, .route-return-checks, .route-return-evidence-details, .route-round-trip-download { grid-template-columns: 1fr; }.route-round-trip form button, .route-round-trip-download-actions button { width: 100%; }
  .route-schedule { grid-column: 1; }.route-schedule > header { align-items: flex-start; flex-direction: column; }.route-schedule-controls { grid-template-columns: 1fr; }.route-schedule-controls label { grid-column: 1; }.route-schedule-controls button { width: 100%; }
  .route-cost { grid-column: 1; }.route-cost > header { align-items: flex-start; flex-direction: column; }.route-cost-controls, .route-cost-result dl, .route-cost-budget-controls { grid-template-columns: 1fr; }.route-cost-actions button, .route-cost-budget-controls button { width: 100%; }
}

@media (max-width: 340px) {
  .route-steps { margin-inline: -1rem; }
}

@media (max-width: 900px) {
  .route-country-guidance-grid article:last-child:nth-child(odd) .route-country-decisions { grid-template-columns: 1fr; }
}
@media print {
  .route-print-preview-toolbar { display: none !important; }
  .section-number, .trip-intelligence, .route-print-action, .route-revision, .route-correction, .route-plausibility, .route-download, .route-round-trip-download, .route-round-trip-download-unavailable, .route-comparison-disclosure, .route-exports-heading, .route-export-grid, .route-cost-link { display: none !important; }
  .route-planning-tools { display: contents; }.route-planning-tools > summary { display: none !important; }.route-planning-tools-content { display: block; padding: 0; }
  .route-round-trip.is-incomplete, .route-round-trip form { display: none !important; }
  .route-schedule:not(.is-prepared), .route-schedule-controls, .route-schedule-status, .route-schedule-noscript, .route-schedule-calendar { display: none !important; }
  .route-cost:not(.is-prepared), .route-cost-controls, .route-cost-contract, .route-cost-actions, .route-cost-status, .route-cost-budget-controls, .route-cost-full-link, .route-cost-noscript { display: none !important; }
  main, .results.route-result-section { display: block; margin: 0; padding: 0; background: #fff; color: #000; }
  .route-result-heading { margin-bottom: 7mm; }
  .results .eyebrow { color: #000; }
  .results h2 { margin: 0 0 3mm; color: #000; font: 700 22pt/1.15 Georgia, serif; letter-spacing: 0; }
  .results h2 span { display: inline; margin: 0 .2em; color: #000; font: inherit; text-transform: none; letter-spacing: 0; }
  .route-result-heading > p, .route-result-heading > p:last-child, .route-result-heading .route-preference-result { color: #222; }
  .route-result-heading .route-preference-result { border-color: #555; background: #f3f3f3; }
  .route-print-only { display: block !important; }
  .route-print-note { margin: 0 0 6mm; padding: 4mm; border: 1px solid #777; background: #f6f6f6; color: #111; break-inside: avoid; }.route-print-note strong { font: 700 13pt Georgia, serif; }.route-print-note p { margin: 2mm 0 0; color: #222; line-height: 1.45; }
  .route-summary-panel { margin: 0 0 7mm; padding: 5mm; border: 1px solid #777; background: #fff; color: #000; break-inside: avoid; }.route-summary-panel .estimate-label, .route-summary-panel > p, .route-summary-panel dt, .route-summary-panel dd small { color: #222; }.route-summary-panel > p { margin-bottom: 0; }.route-summary-panel a { color: #000; }
  .route-round-trip.is-complete { display: block; margin: 0 0 7mm; padding: 5mm; border: 1px solid #777; background: #fff; color: #000; }.route-round-trip > header > span { border: 1px solid #555; background: #fff; color: #000; }.route-round-trip > p, .route-round-trip-grid article > p, .route-round-trip dt, .route-return-evidence > p, .route-return-checks small { color: #222; }.route-round-trip-total { border: 1px solid #999; }.route-round-trip-total > a { display: none; }.route-round-trip-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }.route-round-trip-grid article { border: 1px solid #999; break-inside: avoid; }.route-return-evidence { border: 1px solid #999; break-inside: avoid; }.route-return-checks { grid-template-columns: repeat(4, minmax(0, 1fr)); }.route-return-checks li { border: 1px solid #999; }.route-return-evidence .comparison-shape { break-inside: avoid; }
  .route-schedule.is-prepared { display: block; margin: 0 0 7mm; padding: 5mm; border: 1px solid #777; background: #fff; color: #000; break-inside: avoid; }.route-schedule > header > span { border: 1px solid #555; background: #fff; color: #000; }.route-schedule > p, .route-schedule-result li small, .route-schedule-result > p:last-child { color: #222; }.route-schedule-result { border: 1px solid #999; break-inside: avoid; }
  .route-cost.is-prepared { display: block; margin: 0 0 7mm; padding: 5mm; border: 1px solid #777; background: #fff; color: #000; break-inside: avoid; }.route-cost > header > span { border: 1px solid #555; background: #fff; color: #000; }.route-cost > p, .route-cost-result > p:not(.eyebrow), .route-cost-budget > p { color: #222; }.route-cost-result { border: 1px solid #999; break-inside: avoid; }
  .route-inspection-summary { margin: 0 0 7mm; padding: 5mm; border: 1px solid #777; background: #fff; color: #000; break-inside: avoid; }.route-inspection-summary > header > span { border-color: #555; color: #000; }.route-inspection-summary > p { color: #222; }.route-inspection-summary ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }.route-inspection-summary li { border: 1px solid #999; }.route-inspection-summary li p { color: #222; }.route-inspection-summary li a { color: #000; }
  .route-predeparture-checklist { margin: 0 0 7mm; padding: 5mm; border: 1px solid #777; background: #fff; color: #000; }.route-predeparture-checklist > header > span { border: 1px solid #555; background: #fff; color: #000; }.route-predeparture-checklist > p, .route-predeparture-checklist em, .route-predeparture-checklist footer p { color: #222; }.route-predeparture-checklist ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }.route-predeparture-checklist li { border: 1px solid #999; }.route-predeparture-checklist input, .route-predeparture-checklist footer button { display: none !important; }.route-checklist-print-box { display: block; width: 4mm; height: 4mm; margin-top: .5mm; border: 1px solid #333; background: #fff; }.route-predeparture-checklist li > a { color: #000; }.route-predeparture-checklist footer { display: block; }
  .route-resolution { margin: 0 0 7mm; padding: 5mm; border: 1px solid #777; background: #fff; color: #000; break-inside: avoid; }.route-resolution-heading > span { border: 1px solid #555; background: #fff !important; color: #000 !important; }.route-resolution-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }.route-resolution-grid article { border: 1px solid #999; }.route-resolution > p, .route-resolution dt, .route-resolution dd { color: #222; }
  .route-preference-receipt { margin: 0 0 7mm; padding: 5mm; border: 1px solid #777; background: #fff; color: #000; break-inside: avoid; }.route-preference-receipt-heading > span { border: 1px solid #555; background: #fff !important; color: #000 !important; }.route-preference-receipt > ul { grid-template-columns: repeat(3, minmax(0, 1fr)); }.route-preference-receipt > ul li { border: 1px solid #999; }.route-preference-receipt > p, .route-preference-receipt > ul span { color: #222; }
  .route-country-guidance { margin: 0 0 7mm; padding: 5mm; border: 1px solid #777; background: #fff; color: #000; break-inside: avoid; }.route-country-guidance-heading > span { border: 1px solid #555; background: #fff; color: #000; }.route-country-guidance-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }.route-country-guidance-grid article { border: 1px solid #999; }.route-country-guidance > p, .route-country-guidance-grid article > p, .route-country-guidance-grid small { color: #222; }
  .route-leg-summary { margin: 0 0 7mm; padding: 5mm; border: 1px solid #777; background: #fff; color: #000; break-inside: avoid; }.route-leg-summary-heading { margin-bottom: 4mm; }.route-leg-summary-heading .eyebrow, .route-leg-summary > p { color: #222; }.route-leg-grid { gap: 4mm; }.route-leg-grid article { border: 1px solid #999; break-inside: avoid; }
  .route-shape { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(48mm, .55fr); margin: 0 0 7mm; border: 1px solid #777; background: #fff; color: #000; break-inside: avoid; }.route-shape svg { min-height: 0; max-height: 50mm; background: #f6f6f6; }.route-shape figcaption { padding: 5mm; background: #eee; }.route-shape figcaption span { color: #222; }
  .route-steps { margin: 0; padding: 0; background: #fff; color: #000; }.route-steps-heading { margin-bottom: 3mm; break-after: avoid; }.route-step-scroll-hint { display: none; }.route-steps-heading h3 { color: #000; font-size: 18pt; }.route-steps-heading > span { color: #222; }.route-step-coverage { margin-bottom: 4mm; padding: 3mm; border: 1px solid #777; background: #f6f6f6; break-inside: avoid; }.route-step-coverage p, .route-step-coverage dt { color: #222; }.route-steps ol { max-height: none; overflow: visible; }.route-steps li { padding: 3mm 0; break-inside: avoid; }.route-step-content dl { grid-template-columns: repeat(2, minmax(0, 1fr)); }.route-step-progress::before { border: 1px solid #777; background: linear-gradient(90deg, #555 var(--route-step-progress), #ddd var(--route-step-progress)); }.route-step-progress, .route-step-limit, .estimate-unavailable { color: #222; }
  /* A route sheet is a travel document, not a printout of the dashboard. */
  .route-result-section > :not(.route-print-sheet):not(.route-summary-panel):not(.route-live-map):not(.route-shape):not(.route-steps):not(.route-source-credit) { display: none !important; }
  .route-live-map { display: block !important; width: 100%; margin: 0 0 4mm; border: 1px solid #777; break-inside: avoid; page-break-inside: avoid; }
  .route-live-map:not(.map-tiles-loaded):not(.has-print-map) { display: none !important; }
  .route-live-map.has-print-map .route-live-map-canvas { display: none !important; }
  .route-map-print-image:not([hidden]) { display: block !important; width: 100%; height: auto; max-height: 105mm; object-fit: contain; }
  .route-live-map:not(.has-print-map) .route-live-map-canvas { display: block !important; height: 105mm !important; }
  .route-map-consent, .route-map-status, .route-live-map figcaption, .leaflet-control-zoom, .leaflet-control-scale { display: none !important; }
  .route-map-print-attribution { display: block !important; margin: 0; padding: 1.5mm 2mm; font-size: 6pt; color: #333; }
  .route-shape:not([hidden]) { display: grid !important; max-height: 105mm; }
  .route-steps { break-before: page; page-break-before: always; }
  .route-print-sheet { margin: 0 0 5mm; padding: 0; color: #111; break-inside: avoid; }
  .route-print-sheet-brand { display: flex; justify-content: space-between; gap: 6mm; align-items: baseline; padding-bottom: 3mm; border-bottom: 2px solid #163f35; color: #163f35; font: 700 10pt/1.2 Arial, sans-serif; }
  .route-print-sheet-brand span { color: #444; font-size: 8pt; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
  .route-print-sheet h1 { margin: 5mm 0 2mm; color: #111; font: 700 18pt/1.18 Georgia, serif; overflow-wrap: anywhere; }
  .route-print-sheet h1 span { color: #555; }
  .route-print-sheet-meta { margin: 0 0 4mm; color: #444 !important; font-size: 8pt; }
  .route-print-sheet-stops { display: flex; gap: 4mm; align-items: baseline; padding: 2mm 0; border-top: 1px solid #bbb; font-size: 8.5pt; }
  .route-print-sheet-stops strong { flex: 0 0 30mm; }
  .route-print-sheet-stops ol { display: flex; flex-wrap: wrap; gap: 1mm 5mm; margin: 0; padding-left: 5mm; }
  .route-print-sheet-stops li { padding-right: 2mm; }
  .route-print-sheet-choices { margin: 2mm 0; color: #222 !important; font-size: 8pt; }
  .route-print-sheet-return { margin: 3mm 0; padding: 2.5mm 3mm; border: 1px solid #888; color: #222 !important; font-size: 8pt; line-height: 1.4 !important; }
  .route-print-sheet-caution { margin: 3mm 0 0; padding: 2.5mm 3mm; border-left: 2px solid #9b4d25; background: #f4f2ed; color: #222 !important; font-size: 8pt; line-height: 1.35 !important; }
  .route-summary-panel { display: block; margin-bottom: 4mm; padding: 3mm 4mm; border: 1px solid #777; }
  .route-summary-panel .estimate-label { margin-bottom: 2mm; font-size: 7pt; }
  .route-summary-panel dl { gap: 4mm; }
  .route-summary-panel dl div { padding-top: 1.5mm; }
  .route-summary-panel dt { font-size: 7pt; }
  .route-summary-panel dd { margin-top: 1mm; font-size: 15pt; }
  .route-steps-heading { display: flex; align-items: baseline; justify-content: space-between; margin-bottom: 1mm; }
  .route-steps-heading .eyebrow { display: none; }
  .route-steps-heading h3 { margin: 0; font-size: 13pt; }
  .route-steps-heading > span { font-size: 8pt; }
  .route-steps ol { border-bottom: 0; }
  .route-steps li { grid-template-columns: 7mm minmax(0, 1fr); gap: 3mm; padding: 2mm 0; border-color: #bbb; }
  .route-step-number { width: 6mm; height: 6mm; border-color: #555; color: #111; font-size: 7pt; }
  .route-step-content > strong { font-size: 9pt; line-height: 1.25; }
  .route-step-content dl { display: flex; flex-wrap: wrap; gap: 1mm 5mm; margin: 1mm 0 0; }
  .route-step-content dt, .route-step-content dd { display: inline; grid-row: auto; margin: 0; font-size: 7pt; }
  .route-step-content dt::after { content: ':'; }
  .route-step-progress { display: none; }
  .route-source-credit { margin: 4mm 0 0; padding-top: 2mm; border-top: 1px solid #bbb; color: #333 !important; font-size: 7pt; }
  .route-source-credit a { color: #111 !important; }
}
