.route-page{max-width:1180px;margin:0 auto;padding-bottom:70px}.route-hero{padding:46px 0 26px;display:grid;grid-template-columns:minmax(0,1fr) 300px;align-items:end;gap:30px}.route-eyebrow{font:800 10px 'DM Sans',sans-serif;letter-spacing:.14em;color:var(--theme-accent)}.route-hero h1{margin:10px 0 10px;font-size:clamp(30px,4vw,45px);line-height:1.3;letter-spacing:-.07em;color:var(--theme-text)}.route-hero p{color:var(--theme-secondary);line-height:1.8;word-break:keep-all;margin:0;font-size:14px}.route-hero-note{padding:15px 17px;background:var(--theme-panel);border:1px solid var(--theme-border);border-radius:12px;color:var(--theme-secondary);font-size:12px;line-height:1.7}.route-hero-note strong{display:block;color:var(--theme-text);margin-bottom:4px}.route-filters{display:flex;overflow-x:auto;gap:8px;padding:5px 0 17px}.route-filters button{flex:none;border:1px solid var(--theme-border);border-radius:99px;background:var(--theme-surface);color:var(--theme-secondary);padding:9px 14px;font-size:12px;font-weight:700}.route-filters button[aria-pressed=true]{background:var(--theme-accent);color:var(--theme-on-accent);border-color:var(--theme-border)}.route-results{margin:0 0 11px;color:var(--theme-secondary);font-size:11px}.route-card{background:var(--theme-surface);border:1px solid var(--theme-border);border-radius:16px;overflow:hidden;box-shadow:0 8px 25px rgb(32 35 34 / 0.039);scroll-margin-top:20px}.route-card[hidden]{display:none}.route-card+.route-card{margin-top:18px}.route-card-head{padding:25px 27px 20px}.route-title-line{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.route-title-line h2{margin:5px 0 4px;font-size:22px;letter-spacing:-.055em;color:var(--theme-text)}.route-card-sub{font-size:12px;font-weight:700;color:var(--theme-secondary)}.route-state{flex:none;padding:7px 10px;border-radius:99px;background:#fff4de;color:#8d6528;font-size:10px;font-weight:800}.route-card-head>p{font-size:13px;color:var(--theme-secondary);line-height:1.8;word-break:keep-all}.route-tags{display:flex;flex-wrap:wrap;gap:6px}.route-tag{border-radius:6px;padding:5px 8px;background:var(--theme-panel);color:var(--theme-accent);font-size:10px;font-weight:800}.route-facts{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--theme-border);border-bottom:1px solid var(--theme-border)}.route-fact{padding:15px 19px}.route-fact+.route-fact{border-left:1px solid var(--theme-border)}.route-fact small,.route-fact strong{display:block}.route-fact small{font-size:10px;color:var(--theme-secondary);margin-bottom:5px}.route-fact strong{font-size:12px;color:var(--theme-text);line-height:1.55;word-break:keep-all}.route-content{padding:24px 27px 28px}.route-content h3{font-size:16px;letter-spacing:-.04em;margin:0 0 16px;color:var(--theme-text)}.route-steps{list-style:none;padding:0;margin:0;display:grid;gap:16px}.route-steps li{display:flex;gap:12px}.route-step-num{flex:none;background:var(--theme-panel);color:var(--theme-accent);width:27px;height:27px;border-radius:8px;display:grid;place-items:center;font:800 11px 'DM Sans',sans-serif}.route-steps strong{display:block;color:var(--theme-text);font-size:13px}.route-steps p,.route-note p{font-size:12px;line-height:1.8;word-break:keep-all;margin:5px 0 0;color:var(--theme-secondary)}.route-note{margin-top:20px;padding:16px 17px;background:var(--theme-panel);border:1px solid var(--theme-border);border-radius:10px}.route-note strong{font-size:13px;color:var(--theme-text)}.route-note.alert{background:#fff9ed;border-color:#f0e2c3}.route-note.alert strong{color:#856334}.route-note.alert p{color:#796749}.route-links,.route-sources{display:flex;gap:9px 14px;flex-wrap:wrap;margin-top:16px}.route-links a{padding:10px 12px;border:1px solid var(--theme-border);border-radius:8px;color:var(--theme-accent);font-size:11px;font-weight:800;text-decoration:none;background:var(--theme-surface)}.route-sources{padding-top:15px;border-top:1px solid var(--theme-border);font-size:10px}.route-sources a{color:var(--theme-accent);text-decoration:none;font-weight:700}.route-sources span{color:var(--theme-secondary)}.route-empty{padding:30px;color:var(--theme-secondary);background:var(--theme-surface);border:1px solid var(--theme-border);border-radius:12px}.route-next{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:22px;padding:20px 22px;border-radius:14px;background:var(--theme-accent);color:var(--theme-on-accent)}.route-next strong,.route-next small{display:block}.route-next small{font-size:11px;margin-top:5px;color:var(--theme-secondary)}.route-next a{color:var(--theme-text);background:var(--theme-surface);border-radius:8px;padding:10px 12px;text-decoration:none;font-size:11px;font-weight:800;white-space:nowrap}html[data-theme=dark] .route-state,html[data-theme=dark] .route-note.alert{background:#403424;border-color:#6b5636;color:#f0d9af}html[data-theme=dark] .route-note.alert strong,html[data-theme=dark] .route-note.alert p{color:#f0d9af}@media(max-width:700px){.route-hero{display:block;padding:30px 0 18px}.route-hero h1{font-size:30px}.route-hero p{font-size:13px}.route-hero-note{margin-top:18px}.route-card-head{padding:20px 18px}.route-title-line{display:block}.route-state{display:inline-block;margin-top:10px}.route-facts{grid-template-columns:repeat(2,1fr)}.route-fact{padding:13px 15px}.route-fact:nth-child(3){border-left:0;border-top:1px solid var(--theme-border)}.route-fact:nth-child(4){border-top:1px solid var(--theme-border)}.route-content{padding:20px 18px}.route-next{display:block}.route-next a{display:inline-block;margin-top:12px}}

.routes-view :focus-visible{outline:3px solid var(--theme-accent);outline-offset:3px}
.routes-view .header-map,.routes-view .theme-toggle{min-height:44px;display:inline-flex;align-items:center;justify-content:center}
.route-filters button{min-height:44px}.route-filters{padding-left:3px;padding-right:3px}
.route-links a,.route-next a{display:inline-flex;align-items:center;min-height:44px}
.route-sources{align-items:center;column-gap:18px;row-gap:0}.route-sources>a{display:inline-flex;align-items:center;min-height:44px}
.route-fact,.route-steps li>div{min-width:0}.route-steps p,.route-note p{overflow-wrap:anywhere}
.route-eyebrow{color:var(--theme-accent)}
@media(max-width:700px){.routes-view .theme-toggle{width:44px;min-width:44px}.route-sources>span{flex-basis:100%;margin-bottom:4px}.route-title-line h2{font-size:21px;line-height:1.5}}
.routes-view .site-nav a{min-height:44px}
