.route-pages{background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);min-height:100dvh;overflow-x:clip}.route-pages *{box-sizing:border-box}.route-pages a{color:var(--color-accent-strong)}.route-pages h1,.route-pages h2,.route-pages h3{color:var(--color-text-strong);font-family:var(--font-display);letter-spacing:var(--tracking-tight)}.route-hero{isolation:isolate;min-height:max(660px, calc(100svh - var(--app-navbar-height)));flex-direction:column;padding:44px clamp(16px,5vw,80px) 22px;display:flex;position:relative}.route-hero-copy{flex:1;max-width:520px;padding-bottom:38px}.route-breadcrumb{font-size:var(--text-xs);color:var(--color-text-muted);margin-bottom:54px}.route-breadcrumb a{color:inherit;text-decoration:none}.route-breadcrumb a:hover{text-decoration:underline}.route-eyebrow{letter-spacing:.18em;text-transform:uppercase;color:var(--color-text-muted);margin:0;font-size:11px;font-weight:600;line-height:1.6}.route-hero h1{letter-spacing:-.025em;margin:16px 0 22px;font-size:clamp(44px,6vw,80px);font-weight:600;line-height:1.05}.route-hero h1 span{display:block}.route-hero-summary{max-width:350px;margin:0;font-size:clamp(16px,1.3vw,18px);line-height:1.55}.route-hero-map-area{z-index:-1;width:75%;position:absolute;inset:0 -4% 175px auto;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 24%);mask-image:linear-gradient(90deg,#0000,#000 24%)}.route-hero-map{width:100%;height:100%;display:block}.route-map-country{fill:var(--color-surface-sunken);stroke:var(--color-border);stroke-width:.7px}.route-map-main{fill:none;stroke:var(--color-accent);stroke-width:3.5px;stroke-linecap:round;stroke-linejoin:round}.route-map-casing{fill:none;stroke:var(--color-accent);stroke-width:13px;opacity:.1}.route-map-alternative{fill:none;stroke:var(--color-text-subtle);stroke-width:1.4px;stroke-dasharray:4 5;opacity:.7}.route-map-station{fill:var(--color-bg);stroke:var(--color-accent);stroke-width:2px}.route-map-label,.route-map-endpoint{fill:var(--color-text-strong);paint-order:stroke;stroke:var(--color-bg);stroke-width:4px;stroke-linejoin:round;font-size:12px}.route-map-endpoint{font-size:18px;font-weight:600}.route-map-caption{text-align:right;color:var(--color-text-muted);margin:16px 0 0;font-size:11px}.route-search{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-panel);box-shadow:var(--shadow-card);padding:12px;position:relative}.route-search-fields{grid-template-columns:minmax(120px,1fr) minmax(120px,1fr) minmax(160px,1.1fr) minmax(145px,.9fr) auto;align-items:center;display:grid}.route-search-field{border-right:1px solid var(--color-border);flex-direction:column;gap:7px;min-width:0;padding:6px 14px;display:flex}.route-search-field>span{font-size:var(--text-xs);color:var(--color-text-muted);white-space:normal;line-height:1.4}.route-search-field input,.route-search-field select{width:100%;min-width:0;max-width:100%;color:var(--color-text);font:400 var(--text-base) / 1.5 var(--font-sans);background:0 0;border:0;height:28px;padding:0}.route-search-time{border-right:0}.route-search-fields>button{white-space:nowrap;margin-left:12px}.route-search-bottom{border-top:1px solid var(--color-border);color:var(--color-text-muted);font-size:var(--text-xs);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:10px;padding:12px 14px 2px;display:flex}.route-search-corridor{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.route-search-corridor select{min-width:0;max-width:100%;font:inherit;color:var(--color-text-strong);background:var(--color-surface-subtle);border:1px solid var(--color-border);border-radius:var(--radius-control);padding:6px 9px}.route-guide{background:var(--color-surface-subtle);padding:48px clamp(16px,5vw,80px)}.route-guide-header{border-bottom:1px solid var(--color-border);grid-template-columns:1.15fr 1fr;align-items:end;gap:44px;padding-bottom:26px;display:grid}.route-guide h2{font-size:var(--text-h2);margin:8px 0 0;font-weight:600}.route-guide h3{margin:10px 0 12px;font-size:19px;font-weight:600;line-height:1.3}.route-guide p{font-size:var(--text-sm);line-height:1.7}.route-guide-header>p{margin:0}.route-options{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:32px;padding:28px 0;display:grid}.route-options .route-option-kicker{color:var(--color-accent-strong);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:11px;font-weight:600}.route-options .route-option-cities{color:var(--color-text-muted);font-size:var(--text-xs);min-height:40px}.route-practical{border-top:1px solid var(--color-border);grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;padding:28px 0;display:grid}.route-practical h3{margin-top:0}.route-questions{border-top:1px solid var(--color-border);padding:28px 0}.route-questions h2{margin:0 0 20px}.route-questions details{border-bottom:1px solid var(--color-border);padding:16px 0}.route-questions summary{font-size:var(--text-base);color:var(--color-text-strong);cursor:pointer;font-weight:500}.route-questions details p{max-width:800px}.route-sources{border-bottom:1px solid var(--color-border);padding:24px 0}.route-sources h3{font-size:var(--text-base);margin-top:0}.route-sources p{color:var(--color-text-muted);max-width:850px}.route-sources ul{font-size:var(--text-xs);flex-wrap:wrap;gap:12px 28px;padding:0;list-style:none;display:flex}.route-sources .route-map-source{font-size:11px}.route-related{font-size:var(--text-sm);flex-wrap:wrap;gap:16px 32px;padding-top:28px;display:flex}.route-related h2{flex-basis:100%;margin:0 0 8px}.route-footer{border-top:1px solid var(--color-border);font-size:var(--text-xs);color:var(--color-text-muted);margin:0;padding:24px clamp(16px,5vw,80px)}.routes-directory{max-width:1500px;margin:auto;padding:56px clamp(16px,5vw,80px)}.routes-directory h1{max-width:820px;font-size:var(--text-display);margin:16px 0 22px;line-height:1.1}.routes-directory-intro{max-width:680px;font-size:var(--text-lg);line-height:1.65}.routes-directory-grid{grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:22px;margin:40px 0;display:grid}.route-directory-link{border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);box-shadow:var(--shadow-card);padding:24px;text-decoration:none;display:block}.route-directory-link:hover{border-color:var(--color-accent-border)}.route-directory-link h2{margin:14px 0;font-size:24px}.route-directory-link p{color:var(--color-text);font-size:var(--text-sm);line-height:1.6}.route-directory-action{font-size:var(--text-sm);margin-top:12px;font-weight:600;display:inline-block}.route-discovery-link{font-size:var(--text-sm);margin:24px 0;display:block}@media (max-width:1000px) and (min-width:761px){.route-search-fields{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.route-search-fields>button{grid-column:1/-1;margin:0}}@media (max-width:760px){.route-hero{min-height:0;padding:28px 16px 22px}.route-hero-copy{order:0;max-width:none;padding-bottom:0}.route-breadcrumb{margin-bottom:28px}.route-eyebrow{letter-spacing:.14em}.route-hero h1{font-size:48px}.route-hero-map-area{order:1;width:calc(100% + 32px);height:330px;margin:0 -16px;position:relative;inset:auto;-webkit-mask-image:linear-gradient(#0000,#000 15%);mask-image:linear-gradient(#0000,#000 15%)}.route-map-label{font-size:22px}.route-map-endpoint{font-size:28px}.route-hero-search{order:3;margin-top:22px}.route-map-caption{order:2;margin-top:0}.route-search{padding:8px}.route-search-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.route-search-field{border:1px solid var(--color-border);border-radius:var(--radius-control);padding:10px}.route-search-field input,.route-search-field select{font-size:16px}.route-search-fields>button{grid-column:1/-1;margin:0}.route-search-bottom{padding:12px 2px 2px}.route-guide{padding:32px 16px}.route-guide-header{grid-template-columns:1fr;gap:18px}.route-options{grid-template-columns:1fr;gap:26px}.route-options .route-option-cities{min-height:0}.route-practical{grid-template-columns:1fr;gap:18px}.route-related{flex-direction:column;align-items:flex-start}.routes-directory{padding:36px 16px}.routes-directory-grid{grid-template-columns:1fr}}
