/* RoadAheadNow v12 polish layer — last CSS wins. Contrast, scanability, CTA clarity. */
:root{--polish-ink:#173038;--polish-text:#263f45;--polish-muted:#40585e;--polish-line:#aebeba;--polish-soft:#edf2ee;--polish-card:#fff;--polish-gold:#d8ad45;--polish-gold-soft:#f4dfaa}
body[data-polish="12"]{color:var(--polish-text)}
body[data-polish="12"] :where(h1,h2,h3,h4,strong){text-wrap:balance}
body[data-polish="12"] :where(p,li,dd){text-wrap:pretty}
body[data-polish="12"] a:focus-visible,body[data-polish="12"] button:focus-visible,body[data-polish="12"] input:focus-visible,body[data-polish="12"] select:focus-visible,body[data-polish="12"] summary:focus-visible{outline:3px solid #9d6f10;outline-offset:3px}
.page-head{background:linear-gradient(135deg,#edf2ef 0%,#e6ece8 55%,#f6f0df 100%)!important;color:var(--polish-ink)!important;border-bottom:1px solid #b8c7c2!important;box-shadow:inset 0 -1px 0 #ffffffaa}
.page-head .eyebrow{color:#395159!important;font-size:12px!important;font-weight:800!important;letter-spacing:.09em!important}
.page-head h1{color:#142d34!important;letter-spacing:-.055em!important;max-width:1040px!important}
.page-head .lede{color:#314b52!important;font-size:18px!important;line-height:1.7!important;max-width:900px!important}
.page-head .button-primary{background:var(--polish-gold)!important;color:#142d34!important;border-color:#bd8f24!important;box-shadow:0 5px 0 #b48725!important}
.page-head .button-primary:hover{background:#e5ba54!important;transform:translateY(-1px)}
.route-facts{gap:10px!important;margin-top:31px!important}
.route-facts span{display:inline-flex!important;align-items:center!important;gap:8px!important;min-height:44px!important;padding:10px 14px!important;border:1px solid #173038!important;border-radius:12px!important;background:#173038!important;color:#fff!important;font-size:14px!important;font-weight:760!important;line-height:1.35!important;box-shadow:0 5px 0 #0e252b,0 12px 22px #17303814!important}
.route-facts .icon{width:18px!important;height:18px!important;color:#f1c85f!important;stroke-width:2.2!important}
.polish-route-trust{background:#173038;color:#eef5f2;border-bottom:1px solid #38535a}
.polish-route-trust>.wrap{display:flex;gap:22px;align-items:center;flex-wrap:wrap;padding-block:13px}
.polish-route-trust span{display:inline-flex;align-items:center;gap:6px;font-size:13px;line-height:1.5;color:#e7f0ed}
.polish-route-trust strong{color:#f2d27d;font-size:13px}
.button-primary{background:var(--polish-gold)!important;color:#142d34!important;border-color:#bd8f24!important;font-weight:780!important}
.button-primary:hover{background:#e5ba54!important;border-color:#b88619!important}
.button-dark{background:#173038!important;color:#fff!important;border-color:#173038!important}
.button-dark:hover{background:#23434b!important}
.text-link{color:#135a50!important;font-weight:720!important;text-decoration-thickness:1.5px!important;text-underline-offset:4px!important}
.section-head h2,.feature-grid h2,.pro-inline-callout h2,.rf-home-copy h2,.ih-how h2,.av-home-promo h2{color:#173038!important}
.lede,.section-note,.helper,.pro-helper{color:#40585e!important}
.route-card,.rf-card,.ih-route-card,.pro-guide-card.guide-card,.coverage-card,.context-card,.next-route-metrics article,.next-trust-grid article,.av-output-card,.workspace-panel{border-color:#aebeba!important;box-shadow:0 7px 0 #d8e1dd,0 18px 36px #1730380b!important}
.route-card:hover,.rf-card:hover,.ih-route-card:hover,.pro-guide-card.guide-card:hover{border-color:#64867d!important;box-shadow:0 9px 0 #cbd8d2,0 22px 42px #17303816!important;transform:translateY(-2px)}
.route-card>p:not(.eyebrow),.rf-card .rf-intro,.ih-route-card>p,.pro-guide-card p:not(.eyebrow),.coverage-card p,.context-card p,.next-route-metrics p,.next-trust-grid p{color:#3c555b!important}
.route-card-bottom,.rf-card .rf-meta,.ih-route-facts,.static-timeline div>span{color:#344c52!important}
.context-card{background:#edf2ee!important}
.watch-item{color:#314c43!important;border-color:#b9c9c0!important}
.agency-link{color:#17493c!important;border-color:#b7c8bf!important}
.agency-link small{color:#405a50!important}
.coverage-callout,.pro-notice,.kit-notice{border-width:1px!important;box-shadow:0 10px 25px #1730380b!important}
.filter-row,.rf-quick,.next-category-row,.pro-term-nav{gap:10px!important}
.chip,.rf-quick button,.next-category-row a,.pro-term-nav a{min-height:44px!important;border-color:#9fb4ad!important;color:#244740!important;background:#f7faf8!important;font-weight:680!important}
.chip.active,.rf-quick button[aria-pressed="true"]{background:#173038!important;color:#fff!important;border-color:#173038!important}
.field label{color:#263f45!important;font-weight:720!important}
.plan-route-panel .field label{color:#f5fcf8!important}
.plan-route-panel .helper{color:#dfede6!important}
.field input,.field select{border-color:#9fb4ae!important;background:#fff!important;color:#173038!important;box-shadow:inset 0 1px 0 #fff,0 1px 0 #17303808!important}
.field input:hover,.field select:hover{border-color:#738f86!important}
.hero-form,.check-controls,.trip-workspace,.av-calculator,.rf-filter-panel{border-color:#aebeba!important;box-shadow:0 18px 40px #0c242b18!important}
.empty-state p,.saved-state p,.report-side-card p,.report-caveats li,.checkpoint p,.source-state{color:#3d565d!important}
.report-summary{box-shadow:0 10px 30px #17303818!important}
.window,.matrix-cell,.checkpoint,.report-side-card{border-color:#aabdb5!important}
.polish-route-head+.polish-route-trust{margin-top:0}
.pro-article p,.pro-glossary p,.ih-how p,.av-explain p,.rf-explain p{color:#354f55!important}
.footer-main p,.footer-bottom,.footer a{color:#385258!important}
.header nav a{font-weight:650}
.header nav a[aria-current]{color:#124f47!important}
@media(max-width:850px){
 .page-head{padding:46px 0 42px!important}
 .page-head h1{font-size:clamp(38px,9vw,54px)!important}
 .page-head .lede{font-size:17px!important}
 .route-facts{display:grid!important;grid-template-columns:1fr 1fr!important;gap:9px!important}
 .route-facts span{width:100%!important;justify-content:flex-start!important;border-radius:12px!important}
 .polish-route-trust>.wrap{display:grid;grid-template-columns:1fr;gap:6px;padding-block:12px}
 .polish-route-trust span{font-size:12px}
 .route-card,.rf-card,.ih-route-card,.pro-guide-card.guide-card{box-shadow:0 5px 0 #d8e1dd!important}
}
@media(max-width:520px){
 .page-head{padding:38px 0 34px!important}
 .page-head h1{font-size:clamp(36px,11vw,48px)!important;line-height:1.03!important}
 .page-head .lede{font-size:16px!important;line-height:1.65!important}
 .route-facts{grid-template-columns:1fr!important}
 .route-facts span{min-height:44px!important;font-size:14px!important}
 .page-head .button{width:100%!important;justify-content:center!important;min-height:50px!important}
 .section{padding-block:44px!important}
 .route-card h3,.rf-card h2,.ih-route-head h2,.pro-guide-card h3{font-size:25px!important}
 .chip,.rf-quick button,.next-category-row a,.pro-term-nav a{font-size:13px!important}
}
@media(prefers-reduced-motion:reduce){.route-card,.rf-card,.ih-route-card,.pro-guide-card.guide-card,.button-primary{transition:none!important}.route-card:hover,.rf-card:hover,.ih-route-card:hover,.pro-guide-card.guide-card:hover,.button-primary:hover{transform:none!important}}
@media print{.polish-route-trust{background:#fff!important;color:#173038!important;border:1px solid #777}.polish-route-trust span,.polish-route-trust strong{color:#173038!important}.route-facts span{box-shadow:none!important;border-color:#777!important}}


/* v12 — explicit contrast and route-page navigation */
.skip-link{position:fixed;z-index:1000;left:14px;top:10px;transform:translateY(-160%);padding:11px 15px;border-radius:9px;background:#173038;color:#fff;font-weight:800;box-shadow:0 7px 20px #07161c55}
.skip-link:focus{transform:none;color:#fff}
.polish-route-head>.wrap{position:relative}
.polish-route-head .route-facts{display:flex!important;flex-wrap:wrap!important;gap:10px!important;max-width:900px!important;margin:30px 0 22px!important}
.polish-route-head>.wrap>.button-primary{min-height:52px!important;padding-inline:22px!important;font-size:15px!important}
.polish-route-nav{position:sticky;top:76px;z-index:28;background:#f8faf8f2;border-bottom:1px solid #aebeba;backdrop-filter:blur(14px)}
.polish-route-nav>.wrap{display:flex;align-items:center;gap:8px;min-height:58px;overflow-x:auto;scrollbar-width:none}
.polish-route-nav>.wrap::-webkit-scrollbar{display:none}
.polish-route-nav span{flex:0 0 auto;font-size:12px;font-weight:820;letter-spacing:.07em;text-transform:uppercase;color:#53686d;margin-right:4px}
.polish-route-nav a{flex:0 0 auto;display:inline-flex;align-items:center;min-height:40px;padding:8px 11px;border-radius:9px;color:#174c43;font-size:13px;font-weight:720}
.polish-route-nav a:hover{background:#e5ece8}
.polish-route-nav .polish-route-nav-cta{margin-left:auto;background:#173038;color:#fff}
.polish-route-nav .polish-route-nav-cta:hover{background:#24454d;color:#fff}
#route-checkpoints,#route-official-sources,#route-data-limits{scroll-margin-top:150px}

/* Stronger global surface separation. */
.highway-badge{background:#173038!important;color:#fff!important;border-color:#173038!important;font-weight:800!important}
.rf-data-badge,.next-source-state{font-weight:800!important;letter-spacing:.04em!important}
.rf-data-live{background:#173038!important;color:#fff!important;border-color:#173038!important}
.rf-data-links{background:#f4dfaa!important;color:#4f3b0d!important;border-color:#c8a955!important}
.rf-card h2,.ih-card h2,.next-route-command h2,.next-route-faq h3,.av-output-card h3{color:#173038!important}
.rf-card .rf-facts span,.ih-route-facts span{background:#edf2ee!important;color:#29434a!important;border-color:#c1cec9!important}
.rf-card .rf-facts strong,.ih-route-facts strong{color:#173038!important}
.rf-tags span{background:#f7faf8!important;color:#355057!important;border-color:#bdcbc6!important}
.rf-actions .button:not(.button-primary){background:#fff!important;color:#173038!important;border-color:#8da49d!important}
.rf-actions .button:not(.button-primary):hover{background:#edf2ee!important}
.rf-filter-panel{background:#e7eee9!important;border-color:#9fb5ad!important}
.rf-filter-head p:not(.eyebrow),.rf-filter-note p,.rf-results-head p{color:#3b555b!important}
.ih-card,.ih-route-card{background:#fff!important}
.ih-card p,.ih-route-card p{color:#3b555b!important}
.ih-source-list a,.next-handoff-list a{background:#fff!important;color:#173038!important;border-color:#aebfba!important}

/* Report: one clear dark selected state, readable inactive state. */
.window{background:#fff!important;color:#173038!important;border-color:#9fb4ad!important}
.window .window-label,.window .window-state,.window .window-data{color:#3e575d!important}
.window .window-time{color:#173038!important}
.window.active{background:#173038!important;color:#fff!important;border-color:#173038!important;box-shadow:0 7px 0 #0e252b!important}
.window.active .window-label,.window.active .window-state,.window.active .window-data,.window.active .window-time{color:#fff!important}
.checkpoint,.report-side-card{background:#fff!important;color:#173038!important}
.checkpoint h4,.report-side-card h3,.road-record h4{color:#173038!important}
.matrix-section{background:#e5ece8!important;border-color:#9fb4ad!important}
.departure-matrix th{background:#173038!important;color:#fff!important}
.departure-matrix th[scope=row]{background:#edf2ee!important;color:#173038!important}
.timeline-controls{background:#edf2ee!important;color:#173038!important;border-color:#aebfba!important}
.report-jumps a{background:#fff!important;color:#15564c!important;border-color:#9fb4ad!important}
.report-jumps a:hover{background:#e7eee9!important}
.quick-brief{background:#eef3ef!important;border-color:#a7bbb3!important}
.brief-grid article{border-color:#a9beb5!important}
.brief-grid article:not(:first-child){background:#fff!important}

/* Tables and editorial surfaces should never fade into the background. */
.table-scroll{border-radius:12px}
.table-scroll table{background:#fff;border:1px solid #b7c6c1}
.table-scroll th{color:#173038}
.table-scroll td{color:#354f55}
.prose p,.prose li,.article-sources p{color:#354f55!important}
.prose a,.article-sources a{color:#12584e!important;text-decoration-thickness:1.5px!important;text-underline-offset:3px!important}
details summary{color:#173038!important;font-weight:720!important}
details p{color:#3a545a!important}

/* Footer and navigation: stronger text without making them visually heavy. */
.footer-main h2,.footer-main strong{color:#173038!important}
.footer-main a{color:#2d4c52!important}
.footer-main a:hover{color:#0f574c!important}
.header nav a:hover{color:#0f574c!important}

/* Compact route header on mobile while retaining high contrast. */
@media(max-width:850px){
 .polish-route-nav{top:76px}
 .polish-route-nav>.wrap{min-height:54px}
 .polish-route-head .route-facts{display:grid!important;grid-template-columns:1fr 1fr!important;width:100%!important}
 .polish-route-head .route-facts span{border-radius:10px!important;box-shadow:none!important}
}
@media(max-width:520px){
 .polish-route-nav{top:76px}
 .polish-route-nav>.wrap{width:100%;padding-inline:12px}
 .polish-route-nav span{display:none}
 .polish-route-nav a{font-size:12px;padding-inline:9px}
 .polish-route-nav .polish-route-nav-cta{margin-left:0}
 .polish-route-head .route-facts{grid-template-columns:1fr!important}
 .route-facts span{font-size:14px!important}
}
@media print{.skip-link,.polish-route-nav{display:none!important}.route-facts span{background:#fff!important;color:#000!important;box-shadow:none!important}}
