:root{--color-navy:#120e87;--color-primary:#2c4ade;--color-primary-light:#6b7df2;--color-pink:#f59dbc;--color-lavender:#cbcff2;--color-bg:#f8f8fc;--color-surface:#fff;--color-text:#17172b;--color-text-muted:#62627a;--color-border:#e6e7f2;--shadow-soft:0 18px 46px #120e871f;--radius:8px}*{box-sizing:border-box}html{background:var(--color-bg);color:var(--color-text);font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.6}body{min-width:320px;margin:0}body,button,input,select{font:inherit}a{color:inherit;text-decoration:none}button,input,select,a{-webkit-tap-highlight-color:transparent}:focus-visible{outline:3px solid var(--color-pink);outline-offset:3px}.container{width:min(1120px,100% - 32px);margin-inline:auto}.sr-only,.skip-link:not(:focus){clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.skip-link:focus{z-index:30;background:var(--color-navy);color:#fff;border-radius:var(--radius);padding:12px 16px;position:fixed;top:12px;left:12px}.site-header{z-index:20;border-bottom:1px solid var(--color-border);background:#fffffffa;position:sticky;top:0}.site-header__inner{justify-content:space-between;align-items:center;gap:16px;min-height:72px;display:flex}.logo{min-width:0;min-height:44px;color:var(--color-navy);align-items:center;gap:10px;display:inline-flex}.logo__mark{border-radius:var(--radius);background:var(--color-navy);color:#fff;place-items:center;width:42px;height:42px;font-size:.82rem;font-weight:800;display:grid}.site-logo-image{object-fit:contain;flex:none;width:48px;height:48px}.logo strong,.logo small{display:block}.logo>span:last-child{min-width:0}.logo__title{overflow-wrap:anywhere;line-height:1.25}.logo__title span+span{margin-left:4px}.logo small{color:var(--color-text-muted);font-size:.72rem;line-height:1.35}@media (width<=520px){.logo__title span{display:block}.logo__title span+span{margin-left:0}.logo small{display:none}}@media (width<=360px){.site-header__inner{gap:10px}.logo{gap:8px}.logo__mark{width:38px;height:38px;font-size:.74rem}.site-logo-image{width:40px;height:40px}.logo__title{font-size:.94rem}}.page-hero.guide-hub-hero h1{color:#fff}.page-hero.guide-hub-hero .eyebrow{color:#ffffffeb}.page-hero.guide-hub-hero>.container>p:last-child{color:#ffffffdb}.page-hero.guide-hub-hero .breadcrumb ol{color:#fff}.page-hero.guide-hub-hero .breadcrumb a,.page-hero.guide-hub-hero .breadcrumb a:visited{color:#ffffffd1}.page-hero.guide-hub-hero .breadcrumb li+li:before{color:#ffffffb8}.page-hero.guide-hub-hero .breadcrumb a:hover{color:#fff;text-underline-offset:3px;text-decoration:underline}.page-hero.guide-hub-hero .breadcrumb a:focus-visible{outline-color:#fff}.fare-hero h1{color:#fff;max-width:780px}.fare-hero .breadcrumb ol,.fare-hero .breadcrumb a,.fare-hero .breadcrumb a:visited,.fare-hero .breadcrumb li+li:before,.fare-hero .eyebrow{color:#ffffffe0}.fare-quick-grid,.fare-provider-grid,.fare-discount-grid,.fare-official-links,.fare-related-links,.holiday-summary-grid,.holiday-date-grid,.holiday-home-sections{gap:16px;display:grid}.fare-quick-grid h2,.fare-search-cta h2,.fare-caution h2,.holiday-summary-grid h2{color:var(--color-navy);margin:0}.fare-quick-grid>div>p:last-child{color:var(--color-text-muted)}.fare-quick-grid ol{gap:10px;margin:0;padding:0;list-style:none;display:grid}.fare-quick-grid li{grid-template-columns:34px minmax(0,1fr);align-items:center;gap:10px;display:grid}.fare-quick-grid li strong{background:var(--color-primary);color:#fff;border-radius:50%;place-items:center;width:34px;height:34px;display:grid}.fare-provider-grid article,.fare-discount-card,.fare-official-links a,.fare-related-links a,.holiday-date-card,.holiday-booking-summary{border:1px solid var(--color-border);border-radius:var(--radius);background:#fff;min-width:0}.fare-provider-grid article{gap:12px;padding:20px;display:grid}.fare-provider-grid article>span,.fare-discount-card header div>span{color:var(--color-primary);font-size:.8rem;font-weight:900}.fare-provider-grid h3,.fare-discount-card h3{color:var(--color-navy);margin:0}.fare-provider-grid p{color:var(--color-text-muted);margin:0}.fare-provider-grid .button{justify-self:start}.fare-tabs{border-radius:var(--radius);background:#e9ebf7;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;margin-bottom:18px;padding:4px;display:grid}.fare-tabs button{min-width:0;min-height:44px;color:var(--color-text-muted);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:8px 12px;font-weight:900}.fare-tabs button[aria-selected=true]{color:var(--color-primary);background:#fff;box-shadow:0 2px 8px #120e871f}.fare-tab-panel[hidden]{display:none}.fare-discount-card{box-shadow:var(--shadow-soft);gap:14px;padding:18px;display:grid}.fare-discount-card header,.fare-discount-card footer{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.fare-discount-card header>strong{color:#17633a;background:#e8f5ee;border-radius:999px;flex:none;padding:5px 9px;font-size:.76rem}.fare-discount-card[data-status=needs-review] header>strong{color:#7a4b00;background:#fff1d6}.fare-discount-card__target{color:var(--color-text-muted);margin:0}.fare-discount-card dl{gap:12px;margin:0;display:grid}.fare-discount-card dl>div{border-top:1px solid var(--color-border);min-width:0;padding-top:10px}.fare-discount-card dt{color:var(--color-primary);font-size:.8rem;font-weight:900}.fare-discount-card dd{overflow-wrap:anywhere;margin:4px 0 0}.fare-discount-card ul{margin:0;padding-left:20px}.fare-discount-card footer{align-items:center}.fare-discount-card footer>span{color:var(--color-text-muted);font-size:.8rem;font-weight:800}.fare-caution,.fare-search-cta{align-items:center;gap:18px;display:grid}.fare-caution ul{margin:0;padding-left:22px}.fare-search-cta{border-left:6px solid var(--color-pink);border-radius:var(--radius);background:#fff2f7;padding:22px}.fare-search-cta p{color:var(--color-text-muted);margin-bottom:0}.fare-official-links a,.fare-related-links a{gap:4px;min-height:88px;padding:16px;display:grid}.fare-official-links strong,.fare-related-links strong{color:var(--color-navy)}.fare-official-links span,.fare-related-links span{color:var(--color-text-muted);font-size:.88rem}.result-card__fare{gap:2px;max-width:260px;font-size:.78rem;display:grid}.result-card__fare strong{font-size:1rem}.holiday-summary-grid>section,.holiday-home-sections>section{min-width:0}.holiday-summary-grid>section>h2,.holiday-home-sections>section>h3{color:var(--color-navy);margin:0 0 14px}.holiday-date-card{box-shadow:var(--shadow-soft);padding:18px}.holiday-date-card>div:not(.holiday-date-card__pending){gap:12px;display:grid}.holiday-date-card header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.holiday-date-card header span,.holiday-date-card header>strong{color:var(--color-primary);font-size:.78rem;font-weight:900}.holiday-date-card header>strong{background:#eef0ff;border-radius:999px;flex:none;padding:4px 9px}.holiday-date-card h3{color:var(--color-navy);margin:3px 0 0;font-size:1.2rem}.holiday-date-card__main{color:var(--color-text);margin:0;font-size:1.2rem;font-weight:900}.holiday-date-card__range{color:var(--color-text-muted);margin:0}.holiday-date-card__countdown{border-left:5px solid var(--color-pink);border-radius:var(--radius);background:#fff2f7;padding:12px 14px}.holiday-date-card__countdown span{color:#8d1747;font-size:.8rem;font-weight:900;display:block}.holiday-date-card__countdown strong{color:var(--color-navy);font-size:1.6rem;display:block}.holiday-date-card footer{border-top:1px solid var(--color-border);color:var(--color-text-muted);flex-wrap:wrap;justify-content:space-between;gap:8px 16px;padding-top:10px;font-size:.8rem;display:flex}.holiday-date-card footer a{color:var(--color-primary);font-weight:900}.holiday-date-card__pending{gap:6px;display:grid}.holiday-date-card__pending p{color:var(--color-text-muted);margin:0}.holiday-booking-summary{gap:12px;padding:18px;display:grid}.holiday-booking-summary>strong{color:var(--color-navy);font-size:1.25rem}.holiday-booking-summary ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.holiday-booking-summary li{border-top:1px solid var(--color-border);justify-content:space-between;gap:10px;padding-top:8px;display:flex}.holiday-booking-summary li b{color:var(--color-primary)}.holiday-booking-summary>p,.holiday-booking-summary>small{color:var(--color-text-muted);margin:0}.holiday-date-note{border-left:4px solid var(--color-primary);background:#eef0ff;margin:18px 0 0;padding:12px 14px}.holiday-home-action{margin-top:18px}@media (width>=720px){.fare-quick-grid,.fare-provider-grid,.fare-discount-grid,.fare-official-links,.fare-related-links,.holiday-summary-grid,.holiday-date-grid,.holiday-home-sections{grid-template-columns:repeat(2,minmax(0,1fr))}.fare-caution,.fare-search-cta{grid-template-columns:minmax(0,1fr) auto}}@media (width<=519px){.fare-discount-card header,.fare-discount-card footer,.holiday-date-card header,.holiday-booking-summary li{flex-direction:column;align-items:flex-start}.fare-provider-grid .button,.fare-discount-card .button,.fare-search-cta .button,.holiday-home-action .button{width:100%}}.desktop-nav{display:none}.desktop-nav a,.mobile-menu a{min-height:44px;color:var(--color-text-muted);align-items:center;font-weight:700;display:inline-flex}.desktop-nav a[aria-current=page],.mobile-menu a[aria-current=page]{color:var(--color-primary)}.menu-toggle{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);place-content:center;gap:5px;width:44px;height:44px;display:grid}.menu-toggle span:not(.sr-only){background:var(--color-navy);width:20px;height:2px}.mobile-menu{border-top:1px solid var(--color-border);background:var(--color-surface)}.mobile-menu__nav{gap:4px;width:min(1120px,100% - 32px);margin:0 auto;padding:14px 0 18px;display:grid}.mobile-menu__quick{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:8px;display:grid}.button{border-radius:var(--radius);border:1px solid var(--color-primary);cursor:pointer;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:10px 16px;font-weight:800;display:inline-flex}.button--primary{background:var(--color-primary);color:#fff}.button--ghost{color:var(--color-primary);background:#fff}.button--small{min-height:40px;padding:8px 12px;font-size:.92rem}.ad-slot{border:1px dashed var(--color-lavender);border-radius:var(--radius);background:#f1f3ff;place-items:center;width:min(1120px,100% - 32px);min-height:96px;margin:20px auto;display:grid}.hero{background:radial-gradient(circle at 86% 18%, #cbcff28c, transparent 24%), radial-gradient(circle at 8% 82%, #6b7df273, transparent 25%), linear-gradient(135deg, var(--color-navy), var(--color-primary));color:#fff;padding:42px 0;position:relative;overflow:hidden}.hero__grid{gap:24px;display:grid}.hero__content h1{max-width:680px;margin:18px 0 14px;font-size:clamp(2rem,8vw,4.35rem);line-height:1.08}.hero__content p{color:#eef1ff;max-width:620px;margin:0;font-size:1.06rem}.hero__badges{flex-wrap:wrap;gap:8px;display:flex}.hero__badges span,.badge{border-radius:999px;align-items:center;min-height:32px;padding:5px 11px;font-size:.84rem;font-weight:800;display:inline-flex}.hero__badges span{background:#ffffff24;border:1px solid #ffffff47}.hero__badges span:first-child{background:var(--color-pink);color:var(--color-navy);border-color:var(--color-pink)}.search-panel{background:var(--color-surface);color:var(--color-text);border-radius:var(--radius);box-shadow:var(--shadow-soft);padding:18px}.search-panel__header,.result-card__head,.result-card__meta{justify-content:space-between;align-items:center;gap:12px;display:flex}.search-panel h2,.section-heading h2,.page-hero h1{margin:0;line-height:1.18}.eyebrow{color:var(--color-primary);margin:0 0 6px;font-size:.82rem;font-weight:900}.sample-note{color:var(--color-text-muted);font-size:.86rem;font-weight:700}.train-search{gap:12px;margin-top:18px;display:grid}.train-search--live{grid-template-columns:1fr}.station-group,.search-row{gap:10px;display:grid}.station-group{border:1px solid var(--color-border);border-radius:var(--radius);background:#fbfbff;padding:12px}.station-group__label{color:var(--color-navy);font-size:.86rem;font-weight:900}.search-row--secondary{grid-template-columns:1fr 1fr}.search-row--secondary .search-button{grid-column:1/-1}.field{gap:6px;display:grid}.field label{color:var(--color-text-muted);font-size:.9rem;font-weight:800}.field input,.field select{border:1px solid var(--color-border);border-radius:var(--radius);width:100%;min-height:48px;color:var(--color-text);background:#fff;padding:10px 12px;line-height:1.25}.field input[aria-invalid=true]{border-color:#cf2864}.field select:disabled,.field input:disabled,.button:disabled{cursor:not-allowed;opacity:.62}.swap-button{border:1px solid var(--color-lavender);width:44px;height:44px;color:var(--color-primary);cursor:pointer;background:#eef1ff;border-radius:50%;place-self:center;font-weight:900}.search-button{white-space:nowrap;width:100%;min-width:112px}.form-error{color:#9d174d;margin:12px 0 0;font-weight:800}.quick-stations{grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;gap:7px;margin-top:14px;display:grid}.quick-stations span{color:var(--color-text-muted);grid-column:1/-1;font-size:.84rem;font-weight:900}.quick-stations button{border:1px solid var(--color-lavender);min-width:0;min-height:38px;color:var(--color-primary);cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:#eef1ff;border-radius:999px;padding:6px 8px;font-size:.78rem;font-weight:900;overflow:hidden}.result-status{border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text-muted);background:#fbfbff;margin-top:16px;padding:12px 14px;font-weight:800}.result-status p,.result-notice{margin:0}.result-status{justify-content:space-between;align-items:center;gap:12px;display:flex}.result-status[data-state=loading]{border-color:var(--color-lavender);color:var(--color-primary);background:#eef1ff}.result-status[data-state=success]{border-color:var(--color-lavender);color:var(--color-navy);background:#f6f7ff}.result-status[data-state=empty],.result-status[data-state=error]{color:#9d174d;background:#fff2f7;border-color:#f7c6d8}.result-notice{color:var(--color-text-muted);margin-top:12px;font-size:.9rem}.result-toolbar{border:1px solid var(--color-border);border-radius:var(--radius);background:#fff;gap:12px;margin-top:16px;padding:12px;display:grid}.result-toolbar[hidden]{display:none}.active-filter,.result-count{margin:0}.active-filter{color:var(--color-primary);font-weight:900}.result-count{color:var(--color-text-muted);font-size:.92rem;font-weight:800}.field--sort{min-width:180px}.results{gap:12px;margin-top:18px;display:grid}.result-card{border:1px solid var(--color-border);border-radius:var(--radius);background:linear-gradient(#fff,#fbfbff);padding:16px}.result-card--live{gap:12px;display:grid}.result-card__title{text-align:right;gap:2px;display:grid}.result-card__title strong{color:var(--color-navy);font-size:1rem}.result-card__title span{color:var(--color-text-muted);font-size:.86rem;font-weight:800}.result-card--skeleton{gap:12px;display:grid}.skeleton-line{background:linear-gradient(90deg,#eef1ff,#f8f8fc,#eef1ff) 0 0/200% 100%;border-radius:999px;height:18px;animation:1.2s ease-in-out infinite skeleton-pulse;display:block}.skeleton-line:first-child{width:48%}.skeleton-line:nth-child(2){width:100%;height:42px}.skeleton-line:nth-child(3){width:72%}.badge--blue{color:var(--color-primary);background:#eef1ff}.route-line{grid-template-columns:minmax(72px,1fr) minmax(86px,1.2fr) minmax(72px,1fr);align-items:center;gap:10px;margin:18px 0;display:grid}.route-line__point strong,.route-line__point span{display:block}.route-line__point strong{color:var(--color-navy);font-size:clamp(1.55rem,6vw,2.15rem);line-height:1.05}.route-line__point span{color:var(--color-text-muted);font-weight:800}.route-line__point--right{text-align:right}.route-line__track{min-height:34px;color:var(--color-primary);place-items:center;font-size:.8rem;font-weight:900;display:grid;position:relative}.route-line__track:before{content:"";inset-inline:0;background:linear-gradient(90deg, var(--color-primary), var(--color-lavender));height:3px;position:absolute;top:50%}.route-line__track span{z-index:1;border:1px solid var(--color-lavender);background:#fff;border-radius:999px;padding:2px 8px;position:relative}.result-card__meta{color:var(--color-text-muted);flex-wrap:wrap}.result-card__meta strong{color:var(--color-text)}.booking-button,.load-more-button{white-space:nowrap}.load-more-button{width:min(100%,320px);margin:16px auto 0}@keyframes skeleton-pulse{0%{background-position:100% 0}to{background-position:-100% 0}}.section{padding:54px 0}.section--soft{background:#eef1ff}.section-heading{max-width:720px;margin-bottom:22px}.section-heading p:last-child{color:var(--color-text-muted)}.tool-grid,.route-grid,.station-grid{gap:14px;display:grid}.tool-card,.route-card,.station-card,.empty-state{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);padding:18px}.tool-card{gap:8px;display:grid;position:relative;overflow:hidden}.tool-card:before{content:"";background:linear-gradient(90deg, var(--color-primary), var(--color-pink));height:4px;position:absolute;inset:0 0 auto}.tool-card__icon{border-radius:var(--radius);width:44px;height:44px;color:var(--color-primary);background:#eef1ff;place-items:center;display:grid}.tool-card__icon svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:24px;height:24px}.tool-card strong,.route-card h3,.station-card h3{color:var(--color-navy)}.tool-card span:last-child,.route-card p,.station-card p,.station-card>span{color:var(--color-text-muted)}.compare-table{border:1px solid var(--color-border);border-radius:var(--radius);background:#fff;overflow:hidden}.compare-table__row{grid-template-columns:.8fr 1fr 1fr;display:grid}.compare-table__row+.compare-table__row{border-top:1px solid var(--color-border)}.compare-table__row span{padding:12px 10px}.compare-table__row span:first-child{color:var(--color-navy);font-weight:900}.compare-table__row--head{background:var(--color-navy);color:#fff;font-weight:900}.compare-table__row--head span:first-child{color:#fff}.route-card__note{color:#9d174d;font-size:.82rem;font-weight:900}.station-card{gap:8px;display:grid}.station-card__chips{flex-wrap:wrap;gap:6px;display:flex}.station-card__chips span{color:var(--color-primary);background:#eef1ff;border-radius:999px;padding:3px 9px;font-size:.8rem;font-weight:800}.station-card a{color:var(--color-primary);font-weight:900}.station-hero{background:#eef1ff;border-bottom:1px solid #c9cff8;padding:44px 0}.station-hero h1{max-width:820px;color:var(--color-navy);margin:12px 0}.station-hero>.container>p:last-child{max-width:760px;color:var(--color-text-muted)}.breadcrumb{margin-bottom:18px}.breadcrumb ol{color:var(--color-text-muted);flex-wrap:wrap;gap:7px;margin:0;padding:0;font-size:.88rem;list-style:none;display:flex}.breadcrumb li+li:before{color:var(--color-primary);content:"/";margin-right:7px}.breadcrumb a,.station-info-grid a{color:var(--color-primary);font-weight:900}.station-info-grid,.station-detail-grid,.station-facility-grid,.station-route-grid,.station-related-grid,.station-directory-grid,.station-region-grid{gap:14px;display:grid}.station-info-grid{margin:0}.station-info-grid div{border:1px solid var(--color-border);border-radius:var(--radius);background:#fff;min-width:0;padding:14px}.station-info-grid dt{color:var(--color-text-muted);font-size:.8rem;font-weight:900}.station-info-grid dd{color:var(--color-text);overflow-wrap:anywhere;margin:5px 0 0;font-weight:800}.station-train-badges,.station-official-links,.station-mini-links{flex-wrap:wrap;gap:8px;display:flex}.station-train-badges span{min-height:36px;color:var(--color-primary);background:#eef0ff;border-radius:999px;align-items:center;padding:6px 12px;font-weight:900;display:inline-flex}.station-unverified{border-left:5px solid var(--color-pink);color:#7c1d42;background:#fff2f7;margin:0;padding:12px 14px;font-weight:800}.station-detail-grid>div{min-width:0}.station-transport-list{gap:10px;display:grid}.station-transport-list article,.station-parking-card,.station-facility-grid article,.station-route-grid article,.station-directory-card,.station-region-grid article{border:1px solid var(--color-border);border-radius:var(--radius);background:#fff;min-width:0;padding:16px}.station-transport-list strong,.station-parking-card strong,.station-route-grid h3,.station-directory-card h3,.station-region-grid h3{color:var(--color-navy)}.station-transport-list p,.station-parking-card p,.station-route-grid p,.station-directory-card p,.station-region-grid p{color:var(--color-text-muted)}.station-transport-list a,.station-route-grid a,.station-directory-card a,.station-region-grid a,.station-related-grid a{color:var(--color-primary);font-weight:900}.station-transport-list small,.station-parking-card small{color:var(--color-text-muted);margin-top:10px;font-size:.8rem;display:block}.station-parking-card{gap:10px;display:grid}.station-facility-grid article{gap:6px;display:grid}.station-facility-grid article>span{color:#6b7280;font-size:.84rem;font-weight:900}.station-facility-grid article[data-availability=available]>span{color:#166534}.station-facility-grid article[data-availability=unavailable]>span{color:#9f1239}.station-facility-grid p{color:var(--color-text-muted);margin:0;font-size:.84rem}.station-route-grid article{gap:8px;display:grid}.station-route-grid h3,.station-directory-card h3,.station-region-grid h3{margin:0}.station-route-grid p,.station-directory-card p{margin:0;font-size:.9rem}.station-official-links .button{min-height:44px}.station-related-grid a{border:1px solid var(--color-border);border-radius:var(--radius);background:#fff;gap:5px;min-height:90px;padding:16px;display:grid}.station-related-grid span{color:var(--color-text-muted);font-size:.88rem}.station-directory-search{gap:8px;max-width:620px;margin-bottom:18px;display:grid}.station-directory-search label{color:var(--color-navy);font-weight:900}.station-directory-search p{color:var(--color-text-muted);margin:0;font-size:.88rem}.station-directory-card{gap:8px;display:grid}.station-directory-card>span{color:var(--color-primary);font-size:.78rem;font-weight:900}.station-filter-empty{color:var(--color-text-muted);margin:16px 0 0}.station-region-grid article{gap:12px;display:grid}.station-region-grid article>div{flex-wrap:wrap;gap:8px;display:flex}.station-region-grid a,.station-mini-links a{min-height:36px;color:var(--color-primary);background:#eef0ff;border-radius:999px;align-items:center;padding:5px 10px;font-size:.86rem;font-weight:900;display:inline-flex}.station-hub-split{gap:22px;display:grid}.station-hub-split .section-heading{margin-bottom:12px}.station-official-time{align-items:center;gap:18px;display:grid}.station-official-time h2{color:var(--color-navy);margin:0}.station-official-time p:last-child{color:var(--color-text-muted)}.holiday-card{border:1px solid #f7c6d8;border-left:6px solid var(--color-pink);border-radius:var(--radius);box-shadow:var(--shadow-soft);background:#fff;align-items:center;gap:20px;padding:22px;display:grid}.holiday-card p{color:var(--color-text-muted)}.holiday-card__status{border-radius:var(--radius);background:#fff2f7;padding:16px}.holiday-card__status span{color:#9d174d;font-weight:900}.holiday-card__status strong{color:var(--color-navy);font-size:1.3rem;display:block}.holiday-home-heading{gap:8px;display:grid}.holiday-home-heading p{margin:0}.holiday-home-grid,.holiday-schedule-grid,.holiday-timeline-grid,.holiday-info-grid,.holiday-official-grid{gap:16px;display:grid}.holiday-schedule-card,.holiday-timeline-card,.holiday-info-grid article,.holiday-official-grid article,.holiday-empty-state{border:1px solid var(--color-border);border-radius:var(--radius);background:#fff;min-width:0}.holiday-schedule-card{box-shadow:var(--shadow-soft);gap:16px;padding:18px;display:grid}.holiday-schedule-card__header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.holiday-schedule-card__header h3{color:var(--color-navy);margin:5px 0 0;font-size:1.2rem}.holiday-provider,.holiday-status-badge{border-radius:999px;align-items:center;min-height:28px;padding:4px 10px;font-size:.78rem;font-weight:900;display:inline-flex}.holiday-provider{color:var(--color-primary);background:#eef0ff}.holiday-status-badge{background:var(--color-lavender);color:var(--color-navy);flex:none}.holiday-schedule-card[data-status=upcoming] .holiday-status-badge{color:#164eaa;background:#e5efff}.holiday-schedule-card[data-status=booking-open] .holiday-status-badge{background:var(--color-primary);color:#fff}.holiday-schedule-card[data-status=payment-period] .holiday-status-badge{color:#9d174d;background:#ffe1ec}.holiday-schedule-card[data-status=closed] .holiday-status-badge{color:#545b69;background:#eceef2}.holiday-countdown{border-left:5px solid var(--color-pink);border-radius:var(--radius);background:#fff2f7;padding:14px 16px}.holiday-countdown span{color:#9d174d;font-size:.8rem;font-weight:900}.holiday-countdown strong{color:var(--color-navy);overflow-wrap:anywhere;margin-top:3px;font-size:1.65rem;display:block}.holiday-countdown p{color:var(--color-text-muted);margin:8px 0 0;font-size:.88rem}.holiday-schedule-card__details{gap:10px;margin:0;display:grid}.holiday-schedule-card__details div{border-bottom:1px solid var(--color-border);gap:3px;min-width:0;padding-bottom:9px;display:grid}.holiday-schedule-card__details dt{color:var(--color-text-muted);font-size:.8rem;font-weight:900}.holiday-schedule-card__details dd{color:var(--color-text);overflow-wrap:anywhere;margin:0;font-weight:800}.holiday-schedule-card__note{color:var(--color-text-muted);margin:0;font-size:.88rem}.holiday-schedule-card__actions{gap:8px;display:grid}.button--disabled{border:1px solid var(--color-border);color:#6b7280;background:#eceef2}.holiday-empty-state{gap:10px;padding:22px;display:grid}.holiday-empty-state strong{color:var(--color-navy);font-size:1.15rem}.holiday-empty-state p{color:var(--color-text-muted);margin:0}.holiday-empty-state .button{justify-self:start}.holiday-summary{gap:18px;display:grid}.holiday-summary h2{color:var(--color-navy);margin:0}.holiday-summary p{color:var(--color-text-muted)}.holiday-summary__status{border:1px solid #f7c6d8;border-left:6px solid var(--color-pink);border-radius:var(--radius);background:#fff2f7;padding:18px}.holiday-summary__status span,.holiday-summary__status small{color:#9d174d;font-weight:800;display:block}.holiday-summary__status strong{color:var(--color-navy);margin:5px 0;font-size:1.35rem;display:block}.holiday-timeline-card,.holiday-info-grid article,.holiday-official-grid article{padding:18px}.holiday-timeline-card h3,.holiday-info-grid h2,.holiday-official-grid h3{color:var(--color-navy);margin-top:0}.holiday-timeline-card__status{color:var(--color-primary);font-weight:900}.holiday-timeline{gap:0;margin:18px 0 0;padding:0;list-style:none;display:grid}.holiday-timeline li{grid-template-columns:36px minmax(0,1fr);gap:10px;min-width:0;padding-bottom:18px;display:grid;position:relative}.holiday-timeline li:before{background:var(--color-border);content:"";width:2px;position:absolute;top:34px;bottom:0;left:17px}.holiday-timeline li:last-child{padding-bottom:0}.holiday-timeline li:last-child:before{display:none}.holiday-timeline li>span{z-index:1;border:2px solid var(--color-border);width:36px;height:36px;color:var(--color-text-muted);background:#fff;border-radius:50%;place-items:center;font-weight:900;display:grid;position:relative}.holiday-timeline li.is-complete>span{border-color:var(--color-secondary);color:var(--color-primary);background:#eef0ff}.holiday-timeline li.is-current>span{border-color:var(--color-pink);color:#9d174d;background:#ffe1ec}.holiday-timeline strong{color:var(--color-text);flex-wrap:wrap;align-items:center;gap:7px;display:flex}.holiday-timeline strong small{color:#9d174d;background:#ffe1ec;border-radius:999px;padding:2px 7px;font-size:.72rem}.holiday-timeline p{color:var(--color-text-muted);margin:3px 0 0;font-size:.82rem}.holiday-checklist{gap:14px;display:grid}.holiday-checklist fieldset{border:0;margin:0;padding:0}.holiday-checklist__summary{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.holiday-checklist__summary p{color:var(--color-navy);margin:0;font-weight:900}.holiday-checklist__grid{gap:10px;display:grid}.holiday-check-item{border:1px solid var(--color-border);border-radius:var(--radius);min-width:0;min-height:58px;color:var(--color-text);cursor:pointer;background:#fff;grid-template-columns:44px minmax(0,1fr);align-items:center;padding:6px 12px 6px 8px;font-weight:800;display:grid}.holiday-check-item:has(input:checked){border-color:var(--color-secondary);background:#f2f3ff}.holiday-check-item input{width:22px;height:22px;accent-color:var(--color-primary);margin:auto}.holiday-info-grid article p:last-child,.holiday-official-grid p{color:var(--color-text-muted)}.holiday-official-grid article>div{gap:8px;margin-top:16px;display:grid}.faq-wrap{max-width:860px}.faq-list{gap:10px;display:grid}.faq-list details{border:1px solid var(--color-border);border-radius:var(--radius);background:#fff}.faq-list summary{cursor:pointer;min-height:52px;color:var(--color-navy);padding:14px 16px;font-weight:900}.faq-list p{color:var(--color-text-muted);margin:0;padding:0 16px 16px}.section--notice{background:var(--color-navy);color:#fff}.source-notice{gap:22px;display:grid}.source-notice .eyebrow{color:var(--color-pink)}.source-notice p{color:#eef1ff}.source-notice__meta{gap:10px;margin:0;display:grid}.source-notice__meta div{border-radius:var(--radius);border:1px solid #ffffff2e;padding:14px}.source-notice__meta dt{color:var(--color-lavender);font-weight:900}.source-notice__meta dd{margin:4px 0 0}.page-hero{background:linear-gradient(135deg, var(--color-navy), var(--color-primary));color:#fff;padding:56px 0}.page-hero p{color:#eef1ff;max-width:680px}.empty-state{max-width:720px}.empty-state strong{color:var(--color-navy);font-size:1.3rem}.empty-state p{color:var(--color-text-muted)}.refund-intro{gap:18px;display:grid}.refund-intro h2{color:var(--color-navy);margin:0}.refund-intro p{color:var(--color-text-muted)}.refund-notice-card,.refund-form,.refund-result,.official-refund-grid article{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface)}.refund-notice-card{border-left:6px solid var(--color-pink);padding:18px}.refund-notice-card strong,.official-refund-grid h3{color:var(--color-navy)}.refund-review-date{color:var(--color-navy);margin-top:10px;font-size:.85rem;font-weight:900;display:block}.refund-calculator__grid{gap:18px;display:grid}.refund-form{gap:14px;min-width:0;padding:18px;display:grid}.refund-form .field,.refund-form input,.refund-form select{min-width:0}.label-optional{color:var(--color-text-muted);font-size:.78rem;font-weight:700}.field-note{color:var(--color-text-muted);margin:6px 0 0;font-size:.8rem}.refund-fieldset{border:1px solid var(--color-border);border-radius:var(--radius);background:#fbfbff;gap:12px;margin:0;padding:14px;display:grid}.refund-fieldset legend{color:var(--color-navy);padding-inline:6px;font-weight:900}.form-help{color:var(--color-text-muted);margin:0;font-size:.9rem}.refund-submit{width:100%}.refund-result{background:linear-gradient(#fff,#f6f7ff);align-content:start;gap:12px;padding:20px;display:grid}.refund-result h3,.refund-result p{margin:0}.refund-result h3{color:var(--color-navy)}.refund-result__amount{color:var(--color-navy);overflow-wrap:anywhere;font-size:2.25rem;line-height:1.05;display:block}.refund-result__fee{color:var(--color-text);font-weight:900}.refund-result__details{gap:8px;margin:0;display:grid}.refund-result__details div,.refund-rule-card dl div{gap:2px;display:grid}.refund-result__details dt,.refund-rule-card dt{color:var(--color-text-muted);font-size:.84rem;font-weight:900}.refund-result__details dd,.refund-rule-card dd{color:var(--color-text);margin:0;font-weight:800}.refund-warning{border-radius:var(--radius);color:#9d174d;background:#fff2f7;border:1px solid #f7c6d8;padding:12px;font-weight:800}.refund-status{border-radius:var(--radius);padding:10px 12px;font-weight:900}.refund-status--possible{color:var(--color-navy);background:#eef0ff;border:1px solid #aeb9ff}.refund-source-link,.refund-table-source a,.source-notice a{color:var(--color-primary);font-weight:900}.refund-result__notices{color:var(--color-text-muted);gap:7px;margin:0;padding-left:20px;font-size:.88rem;display:grid}.refund-rule-list,.official-refund-grid{gap:14px;display:grid}.refund-rule-card,.official-refund-grid article{gap:12px;padding:18px;display:grid}.refund-rule-card dl{gap:10px;margin:0;display:grid}.refund-rule-card a{color:var(--color-primary);font-weight:900}.official-refund-grid p{color:var(--color-text-muted)}.refund-rule-tabs{border:1px solid var(--color-border);border-radius:var(--radius);background:#f3f4ff;grid-template-columns:repeat(2,minmax(0,1fr));max-width:440px;margin-bottom:22px;padding:4px;display:grid}.refund-rule-tabs button{border-radius:calc(var(--radius) - 2px);min-height:44px;color:var(--color-text-muted);cursor:pointer;background:0 0;border:0;font-weight:900}.refund-rule-tabs button[aria-selected=true]{background:var(--color-primary);color:#fff}.refund-rule-panel{gap:28px;display:grid}.refund-rule-panel[hidden]{display:none}.refund-rule-group h3{color:var(--color-navy);margin:0 0 12px}.refund-table-scroll{border:1px solid var(--color-border);border-radius:var(--radius);background:#fff;max-width:100%;overflow-x:auto}.refund-rule-table{border-collapse:collapse;text-align:left;width:100%;min-width:680px}.refund-rule-table th,.refund-rule-table td{border-bottom:1px solid var(--color-border);vertical-align:top;padding:13px 14px}.refund-rule-table thead th{color:var(--color-navy);background:#eef0ff;font-size:.86rem}.refund-rule-table tbody th{width:34%;color:var(--color-text)}.refund-rule-table tbody td:nth-child(2){width:20%;color:var(--color-navy);white-space:nowrap;font-weight:900}.refund-rule-table tbody td:last-child{color:var(--color-text-muted)}.refund-rule-table tbody tr:last-child th,.refund-rule-table tbody tr:last-child td{border-bottom:0}.refund-table-source{color:var(--color-text-muted);margin:0;font-size:.88rem}.site-footer{color:#fff;background:#0d0b55;padding:34px 0 24px}.site-footer__grid{gap:24px;display:grid}.site-footer__brand{max-width:680px;color:var(--color-pink);font-size:1.02rem;line-height:1.35;display:block}.site-footer p{color:#dfe3ff;max-width:720px;line-height:1.75}.site-footer__note{margin-bottom:0}.site-footer__business{border-block:1px solid #ffffff29;gap:8px 18px;max-width:820px;margin:18px 0;padding:16px 0;display:grid}.site-footer__business div{min-width:0}.site-footer__business dt{color:#fff;font-size:.82rem;font-weight:850}.site-footer__business dd{color:#dfe3ff;overflow-wrap:break-word;word-break:keep-all;margin:2px 0 0;font-size:.92rem;line-height:1.55}.site-footer__links{flex-direction:column;justify-content:flex-start;align-self:start;align-items:flex-start;min-width:220px;display:flex}.site-footer__links-title{color:#fff;margin:0 0 20px;font-size:1rem;font-weight:700;line-height:1.4}.site-footer__links-list{flex-direction:column;align-items:flex-start;gap:16px;width:100%;display:flex}.site-footer__links-list a,.site-footer__install{color:#ffffffeb;width:fit-content;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;margin:0;padding:0;font-size:1rem;font-weight:600;line-height:1.5;text-decoration:none}.site-footer__links-list a:hover,.site-footer__install:hover{text-decoration:underline}.site-footer__links-list a:focus-visible,.site-footer__install:focus-visible{outline-offset:4px;border-radius:4px;outline:2px solid #f59dbc}.site-footer__bottom{color:var(--color-lavender);border-top:1px solid #ffffff2e;flex-wrap:wrap;justify-content:space-between;gap:10px;margin-top:24px;padding-top:18px;font-size:.9rem;display:flex}.site-footer__bottom span{line-height:1.55}@media (width>=720px){.hero__grid{grid-template-columns:minmax(0,.95fr) minmax(420px,1.05fr);align-items:center}.train-search--live{grid-template-columns:minmax(0,1fr) 52px minmax(0,1fr);align-items:end}.station-group{grid-template-columns:.9fr 1.1fr;align-items:end}.station-group__label{grid-column:1/-1}.search-row--secondary{grid-column:1/-1;grid-template-columns:minmax(160px,1fr) minmax(180px,1fr) minmax(132px,.55fr);align-items:end}.search-row--secondary .search-button{grid-column:auto}.search-button{align-self:end}.quick-stations{flex-wrap:wrap;display:flex}.quick-stations span{grid-column:auto}.quick-stations button{min-height:40px;padding-inline:12px;font-size:.84rem}.result-toolbar{grid-template-columns:1fr auto;align-items:end}.tool-grid{grid-template-columns:repeat(3,1fr)}.route-grid,.station-grid{grid-template-columns:repeat(2,1fr)}.station-info-grid,.station-facility-grid,.station-route-grid,.station-related-grid,.station-directory-grid,.station-region-grid,.station-detail-grid,.station-hub-split,.station-official-time{grid-template-columns:repeat(2,minmax(0,1fr))}.station-official-time .button{justify-self:end}.holiday-card{grid-template-columns:1fr 240px auto}.holiday-home-heading,.holiday-summary{grid-template-columns:minmax(0,1fr) 320px;align-items:start}.holiday-home-grid,.holiday-info-grid,.holiday-official-grid,.holiday-checklist__grid,.holiday-schedule-card__actions,.holiday-official-grid article>div{grid-template-columns:repeat(2,minmax(0,1fr))}.source-notice{grid-template-columns:1fr 320px}.refund-intro{grid-template-columns:1fr 340px;align-items:start}.refund-calculator__grid{grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);align-items:start}.refund-form{grid-template-columns:repeat(2,1fr)}.refund-fieldset,.form-help,.form-error,.refund-submit{grid-column:1/-1}.refund-fieldset{grid-template-columns:1fr 1fr}.refund-result__amount{font-size:3rem}.refund-rule-list,.official-refund-grid{grid-template-columns:repeat(2,1fr)}}@media (width>=1080px){.desktop-nav{align-items:center;gap:18px;display:flex}.menu-toggle,.mobile-menu{display:none}.route-grid{grid-template-columns:repeat(4,1fr)}.station-grid{grid-template-columns:repeat(5,1fr)}.station-facility-grid,.station-directory-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.holiday-schedule-grid,.holiday-timeline-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.site-logo-image{width:56px;height:56px}.site-footer__grid{grid-template-columns:minmax(0,1fr) minmax(180px,auto)}.site-footer__links{grid-template-columns:repeat(2,minmax(120px,1fr))}.site-footer__business{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=1120px){.search-panel{padding:22px}}@media (width<=520px){.compare-table__row{grid-template-columns:1fr}.result-card__head,.result-card__meta,.search-panel__header{flex-direction:column;align-items:flex-start}.result-status{flex-direction:column;align-items:stretch}.route-line{grid-template-columns:1fr;gap:12px}.route-line__point--right{text-align:left}.route-line__track{justify-items:start}.route-line__track:before{display:none}.booking-button{width:100%}.holiday-schedule-card__header{flex-direction:column;align-items:flex-start}.holiday-schedule-card__actions .button,.holiday-official-grid .button,.holiday-empty-state .button,.station-official-links .button,.station-official-time .button{width:100%}}.offline-page{place-items:center;min-height:calc(100vh - 240px);padding:48px 0;display:grid}.offline-page__inner{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);width:min(620px,100% - 32px);box-shadow:var(--shadow-soft);padding:32px}.offline-page__mark{border-radius:var(--radius);background:var(--color-navy);color:#fff;place-items:center;width:56px;height:56px;margin-bottom:20px;font-weight:850;display:grid}.offline-page h1{color:var(--color-navy);margin:8px 0 12px;font-size:clamp(1.8rem,5vw,2.5rem);line-height:1.25}.offline-page ul{margin:22px 0;padding-left:22px}.offline-page__actions{flex-wrap:wrap;gap:10px;display:flex}.offline-page__status{color:var(--color-text-muted);margin:16px 0 0}.install-hero .install-page__prompt{margin-top:18px}.install-copy{max-width:780px}.install-platform-grid,.install-scope-grid{gap:16px;display:grid}.install-platform-grid article,.install-scope-grid article{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);min-width:0;padding:22px}.install-platform-grid h3,.install-scope-grid h3{color:var(--color-navy);margin-top:0}.install-platform-grid ol,.install-scope-grid ul{margin-bottom:0;padding-left:22px}.install-platform-grid li+li,.install-scope-grid li+li{margin-top:8px}.install-copy a{color:var(--color-primary);text-underline-offset:3px;font-weight:750;text-decoration:underline}.privacy-content section+section{margin-top:34px}.privacy-content h2{color:var(--color-navy);margin:0 0 10px;font-size:1.35rem}.privacy-content p{margin:0}.privacy-content__date{border-top:1px solid var(--color-border);color:var(--color-text-muted);padding-top:20px;font-size:.9rem;margin-top:40px!important}.timetable-search-wrap{max-width:960px}.timetable-info-grid,.timetable-related-links,.refund-related-links{gap:16px;display:grid}.timetable-info-grid article,.timetable-related-links a,.refund-related-links a{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);min-width:0;padding:22px}.timetable-info-grid h2{color:var(--color-navy);margin:6px 0 10px;font-size:1.25rem}.timetable-official-links{flex-wrap:wrap;gap:12px;margin-top:16px;display:flex}.timetable-official-links a,.timetable-related-links a,.refund-related-links a,.information-links a{color:var(--color-primary);text-underline-offset:3px;font-weight:750;text-decoration:underline}.timetable-related-links a,.refund-related-links a{gap:5px;text-decoration:none;display:grid}.timetable-related-links strong,.refund-related-links strong{color:var(--color-navy)}.timetable-related-links span,.refund-related-links span{color:var(--color-text-muted);font-size:.92rem}.information-section h2,.information-links h2{color:var(--color-navy);margin:0 0 14px;font-size:1.45rem}.information-section p{margin:0 0 12px}.information-section ul{margin:16px 0 0;padding-left:22px}.information-section li+li{margin-top:8px}.information-links>div{flex-wrap:wrap;gap:10px;display:flex}.information-links a{border:1px solid var(--color-primary-light);border-radius:var(--radius);align-items:center;min-height:44px;padding:9px 13px;text-decoration:none;display:inline-flex}.not-found-links{flex-wrap:wrap;gap:10px;margin-top:22px;display:flex}@media (width>=720px){.timetable-info-grid,.timetable-related-links,.refund-related-links{grid-template-columns:repeat(2,minmax(0,1fr))}.install-platform-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.install-scope-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=520px){.not-found-links .button{width:100%}.offline-page__inner{padding:24px 20px}.offline-page__actions .button{width:100%}}.guide-container{width:min(780px,100% - 32px);margin-inline:auto}.guide-hero{background:var(--color-surface);border-bottom:1px solid var(--color-border);padding:52px 0 44px}.guide-hero h1,.guide-hub-hero h1{max-width:760px;color:var(--color-navy);margin:12px 0;font-size:clamp(2rem,5vw,3rem);line-height:1.22}.guide-hero>.guide-container>p:not(.eyebrow):not(.guide-review){max-width:720px;color:var(--color-text-muted);font-size:1.08rem}.guide-review{color:var(--color-text-muted);margin:18px 0 0;font-size:.9rem}.guide-content{padding:32px 0 56px}.guide-content>.ad-slot{margin-block:28px}.guide-section,.guide-data-view,.guide-related,.guide-faq,.guide-sources,.guide-disclaimer{margin-block:38px}.guide-section h2,.guide-data-view h2,.guide-related h2,.guide-faq h2,.guide-sources h2,.guide-disclaimer h2{color:var(--color-navy);margin:0 0 14px;font-size:1.45rem;line-height:1.35}.guide-section p,.guide-data-view>p,.guide-disclaimer p{margin:0 0 14px}.guide-section ul{margin:18px 0;padding-left:22px}.guide-section li+li{margin-top:8px}.guide-callout{border-left:4px solid var(--color-primary);border-radius:0 var(--radius) var(--radius) 0;background:#f1f3ff;margin:22px 0 0;padding:18px}.guide-callout[data-guide-callout=warning]{background:#fff1f5;border-left-color:#b9476b}.guide-callout[data-guide-callout=tip]{background:#edf9f4;border-left-color:#22715a}.guide-callout p{margin:4px 0 0}.guide-data-view{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);padding:24px}.guide-table-scroll{border:1px solid var(--color-border);border-radius:6px;overflow-x:auto}.guide-table-scroll table{border-collapse:collapse;background:var(--color-surface);width:100%;min-width:620px}.guide-table-scroll caption{text-align:left;color:var(--color-text-muted);padding:12px 14px;font-size:.88rem}.guide-table-scroll th,.guide-table-scroll td{border-top:1px solid var(--color-border);text-align:left;vertical-align:top;padding:12px 14px}.guide-table-scroll thead th{color:var(--color-navy);background:#f1f3ff;border-top:0}.guide-status-grid,.guide-topic-grid,.guide-tools{gap:14px;display:grid}.guide-status-grid article,.guide-topic-grid article,.guide-tools a,.guide-card-grid article{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);min-width:0;padding:20px}.guide-status-grid strong,.guide-status-grid small,.guide-status-grid a{display:block}.guide-status-grid a,.guide-data-view a,.guide-sources a,.guide-related a,.guide-card-grid article>a,.guide-topic-grid a{color:var(--color-primary);text-underline-offset:3px;font-weight:750;text-decoration:underline}.guide-related{border-top:1px solid var(--color-border);padding-top:28px}.guide-related>div{flex-wrap:wrap;gap:10px;display:flex}.guide-related a{border:1px solid var(--color-primary-light);border-radius:var(--radius);align-items:center;min-height:44px;padding:9px 13px;text-decoration:none;display:inline-flex}.guide-sources{border-radius:var(--radius);background:#f1f3ff;padding:24px}.guide-sources ul{gap:10px;margin:0;padding:0;list-style:none;display:grid}.guide-sources li{flex-wrap:wrap;align-items:baseline;gap:4px 12px;display:flex}.guide-sources span,.guide-sources__review{color:var(--color-text-muted);font-size:.9rem}.guide-sources__review{margin:18px 0 0}.guide-disclaimer{border-top:1px solid var(--color-border);color:var(--color-text-muted);padding:22px 0 0}.business-info-list{gap:10px;margin:18px 0 0;padding:0;display:grid}.business-info-list div{border-top:1px solid var(--color-border);gap:3px;min-width:0;padding-top:10px;display:grid}.business-info-list dt{color:var(--color-navy);font-size:.86rem;font-weight:850}.business-info-list dd{color:var(--color-text-muted);overflow-wrap:break-word;word-break:keep-all;margin:0;line-height:1.55}.guide-directory-controls{gap:10px;margin-bottom:24px;display:grid}.guide-directory-controls label{font-weight:800}.guide-directory-controls input{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);width:100%;min-height:48px;padding:10px 12px}.guide-category-filter{flex-wrap:wrap;gap:8px;display:flex}.guide-category-filter button{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);min-height:40px;color:var(--color-text);padding:7px 12px;font-weight:750}.guide-category-filter button.is-active{border-color:var(--color-primary);background:var(--color-primary);color:#fff}.guide-filter-status{color:var(--color-text-muted);margin:2px 0 0;font-size:.9rem}.guide-card-grid{gap:14px;display:grid}.guide-card-grid article{gap:10px;display:grid}.guide-card-grid p{color:var(--color-primary);margin:0;font-size:.84rem;font-weight:800}.guide-card-grid h3{color:var(--color-navy);margin:0;font-size:1.08rem;line-height:1.4}.guide-card-grid span{color:var(--color-text-muted);font-size:.92rem}.guide-card-grid article>a{justify-self:start}.guide-empty{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);text-align:center;padding:24px}.guide-topic-grid article h3,.guide-tools strong{color:var(--color-navy);margin:0}.guide-topic-grid ul{gap:8px;margin:14px 0 0;padding:0;list-style:none;display:grid}.guide-tools a{gap:4px;min-height:112px;display:grid}.guide-tools span{color:var(--color-text-muted);font-size:.92rem}@media (width>=720px){.guide-card-grid,.guide-topic-grid,.guide-tools,.guide-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=520px){.guide-hero{padding-top:38px}.guide-data-view,.guide-sources{padding:18px}}[hidden]{display:none!important}.section--compact{padding-block:30px}.section-action{margin-top:20px}.data-basis-bar,.direct-answer,.v11-cta-bar,.caution-band{gap:16px;display:grid}.data-basis-bar h2,.direct-answer h2,.v11-cta-bar h2,.caution-band h2,.choice-guide h2,.home-info-band h2,.home-guide-layout h2{color:var(--color-navy);margin:0;line-height:1.25}.data-basis-bar>p,.direct-answer p,.v11-cta-bar p{color:var(--color-text-muted);margin:0}.data-basis-bar{border-left:5px solid var(--color-primary);background:#eef1ff;padding:16px 18px}.booking-steps{gap:0;margin:0;padding:0;list-style:none;display:grid}.booking-steps li{grid-template-columns:52px minmax(0,1fr);gap:14px;min-width:0;padding:0 0 24px;display:grid;position:relative}.booking-steps li:not(:last-child):before{background:var(--color-lavender);content:"";width:2px;position:absolute;top:48px;bottom:0;left:23px}.booking-steps__marker{z-index:1;border:1px solid var(--color-lavender);border-radius:var(--radius);width:48px;height:48px;color:var(--color-primary);background:#eef1ff;place-items:center;display:grid;position:relative}.booking-steps__marker span{background:var(--color-navy);color:#fff;border-radius:50%;place-items:center;width:22px;height:22px;font-size:.72rem;font-weight:900;display:grid;position:absolute;top:-7px;right:-7px}.booking-steps__marker svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:24px;height:24px}.booking-steps h3,.booking-steps p{margin:0}.booking-steps h3{color:var(--color-navy);font-size:1.05rem}.booking-steps p{color:var(--color-text-muted)}.booking-steps a,.home-channel-grid a,.representative-route-card__actions>a:not(.button),.station-card__actions a{color:var(--color-primary);text-underline-offset:3px;font-weight:900;text-decoration:underline}.booking-steps__notice{border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text-muted);margin:0;padding:12px 14px;font-weight:800}.quick-train-compare,.home-channel-grid,.representative-route-grid,.train-type-grid,.route-guide-list,.official-link-grid,.channel-choice-grid,.booking-channel-list,.train-mobile-compare{gap:14px;display:grid}.quick-train-compare article{border-top:4px solid var(--color-primary);border-bottom:1px solid var(--color-border);min-width:0;padding:18px 4px}.quick-train-compare article>span,.home-channel-grid article>span,.route-guide-list article>span,.booking-channel-card header span:first-child{color:var(--color-primary);font-size:.8rem;font-weight:900}.quick-train-compare h3,.home-channel-grid h3,.route-guide-list h3{color:var(--color-navy);margin:5px 0 8px}.quick-train-compare p,.home-channel-grid p,.route-guide-list p{color:var(--color-text-muted)}.quick-train-compare dl{gap:7px;margin:14px 0 0;display:grid}.quick-train-compare dl div{gap:2px;display:grid}.quick-train-compare dt{color:var(--color-text-muted);font-size:.78rem;font-weight:900}.quick-train-compare dd{overflow-wrap:anywhere;margin:0;font-weight:800}.representative-route-card{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);gap:12px;min-width:0;padding:18px;display:grid}.representative-route-card header{color:var(--color-navy);grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:8px;font-size:1.12rem;font-weight:900;display:grid}.representative-route-card header span:last-child{text-align:right}.representative-route-card__trains{color:var(--color-primary);margin:0;font-weight:900}.representative-route-card dl{gap:8px;margin:0;display:grid}.representative-route-card dl div{border-top:1px solid var(--color-border);flex-wrap:wrap;justify-content:space-between;gap:4px 10px;padding-top:8px;display:flex}.representative-route-card dt{color:var(--color-text-muted);font-size:.8rem;font-weight:900}.representative-route-card dd{text-align:right;overflow-wrap:anywhere;margin:0;font-weight:800}.representative-route-card__actions{flex-wrap:wrap;align-items:center;gap:10px 14px;display:flex}.representative-route-card--compact .button{width:100%}.home-channel-grid article{border:1px solid var(--color-border);border-radius:var(--radius);background:#fff;align-content:start;gap:8px;min-width:0;padding:18px;display:grid}.home-channel-grid article>p{margin:0}.home-channel-grid__official>div{gap:8px;display:grid}.station-card__actions{flex-wrap:wrap;gap:8px 14px;margin-top:auto;display:flex}.home-info-band{align-items:start;gap:20px;display:grid}.home-info-band p{color:var(--color-text-muted)}.home-info-band>ul{gap:10px;margin:0;padding:0;list-style:none;display:grid}.home-info-band>ul li{border-left:4px solid var(--color-primary-light);gap:2px;padding:6px 0 6px 12px;display:grid}.home-info-band>ul strong{color:var(--color-navy)}.home-info-band>ul span,.home-info-band__actions>span{color:var(--color-text-muted);font-size:.9rem}.home-info-band__actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.home-guide-layout{gap:24px;display:grid}.home-guide-list{border-top:1px solid var(--color-border)}.home-guide-list a{border-bottom:1px solid var(--color-border);grid-template-columns:42px minmax(0,1fr);align-items:center;gap:12px;min-height:76px;display:grid}.home-guide-list>a>span{color:var(--color-primary-light);font-weight:900}.home-guide-list strong,.home-guide-list small{overflow-wrap:anywhere;display:block}.home-guide-list strong{color:var(--color-navy)}.home-guide-list small{color:var(--color-text-muted);margin-top:3px}.v11-hero h1{max-width:860px}.direct-answer{border-left:5px solid var(--color-pink);max-width:900px;padding-left:18px}.v11-filter{flex-wrap:wrap;gap:8px;display:flex}.v11-filter button{border:1px solid var(--color-lavender);border-radius:var(--radius);min-height:44px;color:var(--color-primary);cursor:pointer;background:#fff;padding:8px 14px;font-weight:900}.v11-filter button[aria-pressed=true]{border-color:var(--color-primary);background:var(--color-primary);color:#fff}.filter-result-status{color:var(--color-text-muted);margin:12px 0 0;font-size:.9rem;font-weight:800}.train-type-card,.booking-channel-card,.train-mobile-compare article{border:1px solid var(--color-border);border-radius:var(--radius);background:#fff;min-width:0}.train-type-card{gap:14px;padding:18px;display:grid}.train-type-card header,.booking-channel-card>header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.train-type-card h3,.booking-channel-card h2{color:var(--color-navy);margin:3px 0 0}.train-type-card__category{color:var(--color-primary);font-size:.8rem;font-weight:900}.verification-label{border:1px solid var(--color-lavender);min-height:30px;color:var(--color-primary);background:#eef1ff;border-radius:999px;flex:none;align-items:center;padding:4px 9px;font-size:.75rem;font-weight:900;display:inline-flex}.verification-label[data-status=partially-verified],.verification-label[data-status=needs-review]{color:#9d174d;background:#fff2f7;border-color:#f7c6d8}.train-type-card>p,.booking-channel-card>p{color:var(--color-text-muted);margin:0}.train-type-card dl,.train-mobile-compare dl{gap:8px;margin:0;display:grid}.train-type-card dl div,.train-mobile-compare dl div{border-top:1px solid var(--color-border);gap:2px;padding-top:8px;display:grid}.train-type-card dt,.train-mobile-compare dt{color:var(--color-text-muted);font-size:.78rem;font-weight:900}.train-type-card dd,.train-mobile-compare dd{overflow-wrap:anywhere;margin:0;font-weight:800}.train-type-card footer{gap:8px;margin-top:auto;display:grid}.v11-table-wrap{display:none}.v11-table{border-collapse:collapse;background:#fff;width:100%;font-size:.88rem}.v11-table caption{background:var(--color-navy);color:#fff;text-align:left;padding:12px;font-weight:900}.v11-table th,.v11-table td{border:1px solid var(--color-border);text-align:left;vertical-align:top;overflow-wrap:anywhere;padding:10px}.v11-table thead th{color:var(--color-navy);background:#eef1ff}.train-mobile-compare article{padding:16px}.train-mobile-compare h3{color:var(--color-navy);margin:0 0 12px}.choice-guide{gap:22px;display:grid}.choice-guide ol{gap:12px;margin:0;padding:0;list-style:none;display:grid}.choice-guide li{border-bottom:1px solid var(--color-border);gap:3px;padding-bottom:12px;display:grid}.choice-guide strong{color:var(--color-navy)}.choice-guide span{color:var(--color-text-muted)}.v11-cta-bar{border:1px solid var(--color-lavender);border-radius:var(--radius);background:#fff;align-items:center;padding:20px}.official-link-grid a,.channel-choice-grid a{border:1px solid var(--color-border);border-radius:var(--radius);background:#fff;gap:4px;min-width:0;min-height:88px;padding:16px;display:grid}.official-link-grid strong,.channel-choice-grid strong{color:var(--color-navy)}.official-link-grid span,.channel-choice-grid span{color:var(--color-text-muted);overflow-wrap:anywhere}.related-link-bar{flex-wrap:wrap;gap:8px 18px;display:flex}.related-link-bar a{min-height:44px;color:var(--color-primary);text-underline-offset:3px;align-items:center;font-weight:900;text-decoration:underline;display:inline-flex}.route-search-field{gap:6px;max-width:620px;margin-bottom:14px;display:grid}.route-search-field label{color:var(--color-navy);font-weight:900}.route-search-field input{border:1px solid var(--color-border);border-radius:var(--radius);background:#fff;width:100%;min-height:48px;padding:10px 12px}.route-guide-list article{border-left:4px solid var(--color-primary-light);background:#fff;padding:12px 16px}.route-empty{border:1px solid var(--color-border);border-radius:var(--radius);background:#fff;margin-top:18px;padding:20px}.route-empty strong{color:var(--color-navy);font-size:1.15rem}.route-empty p{color:var(--color-text-muted)}.booking-channel-list{gap:20px}.booking-channel-card{gap:18px;padding:20px;display:grid}.booking-channel-card__details{gap:16px;display:grid}.booking-channel-card__details section{border-top:1px solid var(--color-border);min-width:0;padding-top:12px}.booking-channel-card h3{color:var(--color-navy);margin:0 0 8px;font-size:.95rem}.booking-channel-card ul,.caution-band ul{color:var(--color-text-muted);gap:6px;margin:0;padding-left:20px;display:grid}.booking-channel-card__caution{border-left:4px solid var(--color-pink);background:#fff2f7;padding:12px 14px}.booking-channel-card__caution strong{color:#7c1d42}.booking-channel-card>footer{color:var(--color-text-muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 16px;font-size:.86rem;display:flex}.caution-band{border-left:6px solid var(--color-pink);background:#fff;padding:20px}@media (width>=720px){.data-basis-bar,.v11-cta-bar,.caution-band{grid-template-columns:minmax(0,1fr) minmax(280px,.8fr)}.quick-train-compare,.home-channel-grid,.representative-route-grid,.train-type-grid,.route-guide-list,.official-link-grid,.channel-choice-grid,.booking-channel-card__details{grid-template-columns:repeat(2,minmax(0,1fr))}.home-info-band{grid-template-columns:minmax(0,1fr) minmax(300px,.8fr)}.home-info-band__actions{grid-column:1/-1}.home-guide-layout,.choice-guide{grid-template-columns:minmax(0,.8fr) minmax(360px,1.2fr);align-items:start}.train-type-card footer{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-channel-card{padding:24px}.booking-channel-card__details{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=900px){.booking-steps{grid-template-columns:repeat(5,minmax(0,1fr));gap:18px}.booking-steps li{grid-template-columns:1fr;align-content:start;padding:0}.booking-steps li:not(:last-child):before{width:calc(100% - 30px);height:2px;inset:23px -18px auto 48px}.v11-table-wrap{border-radius:var(--radius);max-width:100%;display:block;overflow-x:auto}.train-mobile-compare{display:none}}@media (width>=1080px){.quick-train-compare,.home-channel-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.representative-route-grid--home,.train-type-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=519px){.v11-filter{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.v11-filter button,.train-type-card footer .button,.representative-route-card__actions .button,.booking-channel-card .button,.home-info-band__actions .button,.v11-cta-bar .button{width:100%}.train-type-card header,.booking-channel-card>header,.booking-channel-card>footer{flex-direction:column;align-items:flex-start}.representative-route-card dl div{display:grid}.representative-route-card dd{text-align:left}.home-info-band__actions{display:grid}}
