@import "../../../../shared/styles/home-portal.css";@import "../../../../shared/styles/design-system.css";.credit-showcase[data-astro-cid-2goqeetn]{width:min(var(--max,1280px), calc(100% - 32px));background:var(--surface,#fffaf1);border:1px solid var(--line,#d8cbbc);font-family:var(--font-ui,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif);box-sizing:border-box;border-radius:16px;margin:36px auto;padding:24px;box-shadow:0 4px 20px #2d29260d}.credit-header[data-astro-cid-2goqeetn]{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.credit-header[data-astro-cid-2goqeetn] h2[data-astro-cid-2goqeetn]{color:var(--ink,#2d2926);letter-spacing:-.02em;margin:0 0 6px;font-size:1.25rem;font-weight:800;line-height:1.25}.credit-header[data-astro-cid-2goqeetn] p[data-astro-cid-2goqeetn]{color:var(--muted,#746b64);margin:0;font-size:.88rem;line-height:1.45}.credit-badge-top[data-astro-cid-2goqeetn]{background:var(--positive-soft,#dcece4);color:var(--positive,#33745b);white-space:nowrap;border:1px solid #33745b40;border-radius:20px;padding:4px 12px;font-size:.75rem;font-weight:750}.credit-callout[data-astro-cid-2goqeetn]{background:color-mix(in srgb, var(--accent-soft,#efdce2) 35%, #fff);border:1px dashed var(--accent,#7b2d42);color:var(--accent-strong,#5d2032);border-radius:12px;align-items:center;gap:10px;margin-bottom:20px;padding:11px 15px;font-size:.84rem;line-height:1.45;display:flex}.credit-callout-icon[data-astro-cid-2goqeetn]{flex-shrink:0;font-size:1.1rem}.credit-tabs[data-astro-cid-2goqeetn]{scrollbar-width:none;gap:10px;margin-bottom:20px;padding-bottom:4px;display:flex;overflow-x:auto}.credit-tabs[data-astro-cid-2goqeetn]::-webkit-scrollbar{display:none}.credit-tab-btn[data-astro-cid-2goqeetn]{background:var(--surface-strong,#e9dfd1);border:1px solid var(--line,#d8cbbc);color:var(--muted,#746b64);cursor:pointer;white-space:nowrap;border-radius:24px;padding:9px 18px;font-size:.84rem;font-weight:750;transition:all .15s}.credit-tab-btn[data-astro-cid-2goqeetn]:hover{color:var(--ink,#2d2926);background:#fff}.credit-tab-btn[data-astro-cid-2goqeetn].active{background:var(--accent,#7b2d42);color:#fff;border-color:var(--accent,#7b2d42);box-shadow:0 4px 12px #7b2d4233}.credit-grid-cards[data-astro-cid-2goqeetn]{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.credit-grid-cards[data-astro-cid-2goqeetn]:not(.is-expanded)>.credit-card[data-astro-cid-2goqeetn]:nth-child(n+4){display:none!important}.credit-more-wrap[data-astro-cid-2goqeetn]{justify-content:center;margin-top:20px;display:flex}.credit-more-btn[data-astro-cid-2goqeetn]{border:1.5px solid var(--accent,#7b2d42);color:var(--accent,#7b2d42);cursor:pointer;background:#fff;border-radius:24px;align-items:center;gap:8px;padding:10px 22px;font-size:.88rem;font-weight:750;transition:all .2s;display:inline-flex;box-shadow:0 2px 8px #7b2d4214}.credit-more-btn[data-astro-cid-2goqeetn]:hover{background:var(--accent,#7b2d42);color:#fff;transform:translateY(-1px);box-shadow:0 4px 16px #7b2d4233}.credit-more-btn[data-astro-cid-2goqeetn] svg[data-astro-cid-2goqeetn]{transition:transform .2s}.credit-more-btn[data-astro-cid-2goqeetn]:hover svg[data-astro-cid-2goqeetn]{transform:translateY(2px)}.credit-grid-refinance[data-astro-cid-2goqeetn]{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}.credit-card[data-astro-cid-2goqeetn]{border:1px solid var(--line,#d8cbbc);box-sizing:border-box;background:#fff;border-radius:14px;flex-direction:column;justify-content:space-between;padding:20px;transition:transform .2s,border-color .2s,box-shadow .2s;display:flex;position:relative}.credit-card[data-astro-cid-2goqeetn]:hover{border-color:var(--accent,#7b2d42);transform:translateY(-2px);box-shadow:0 8px 24px #7b2d421a}.credit-card-badge[data-astro-cid-2goqeetn]{color:#fff;text-transform:uppercase;letter-spacing:.04em;background:#1e5ba8;border-radius:6px;padding:3px 9px;font-size:.66rem;font-weight:800;position:absolute;top:-10px;right:14px;box-shadow:0 2px 6px #0000001a}.credit-card-badge[data-astro-cid-2goqeetn].gold{background:var(--warning,#b16a22)}.credit-card-badge[data-astro-cid-2goqeetn].green{background:var(--positive,#33745b)}.credit-card-badge[data-astro-cid-2goqeetn].blue{background:#1e5ba8}.credit-brand-row[data-astro-cid-2goqeetn]{align-items:center;gap:12px;margin-bottom:14px;display:flex}.credit-logo-img[data-astro-cid-2goqeetn]{border:1px solid var(--line,#d8cbbc);object-fit:contain;background:#fff;border-radius:10px;flex-shrink:0;width:44px;height:44px}.credit-brand-title[data-astro-cid-2goqeetn]{color:var(--ink,#2d2926);font-size:1rem;font-weight:800;line-height:1.2}.credit-brand-sub[data-astro-cid-2goqeetn]{color:var(--muted,#746b64);margin-top:2px;font-size:.78rem;font-weight:500}.credit-perks[data-astro-cid-2goqeetn]{flex-grow:1;margin:0 0 16px!important;padding:0!important;list-style:none!important}.credit-perk-item[data-astro-cid-2goqeetn]{color:var(--ink,#2d2926)!important;align-items:flex-start!important;gap:7px!important;margin-bottom:7px!important;font-size:.81rem!important;line-height:1.38!important;list-style:none!important;display:flex!important}.credit-perk-item[data-astro-cid-2goqeetn] i[data-astro-cid-2goqeetn]{color:var(--positive,#33745b);flex-shrink:0;margin-top:1px;font-size:.88rem;font-style:normal;font-weight:900}.credit-btn[data-astro-cid-2goqeetn]{box-sizing:border-box!important;background:var(--accent,#7b2d42)!important;color:#fff!important;text-align:center!important;border-radius:8px!important;justify-content:center!important;align-items:center!important;width:100%!important;min-height:42px!important;padding:11px 16px!important;font-size:.84rem!important;font-weight:750!important;text-decoration:none!important;transition:background .15s,transform .15s!important;display:flex!important}.credit-btn[data-astro-cid-2goqeetn]:hover{background:var(--accent-strong,#5d2032)!important;color:#fff!important}.credit-btn-green[data-astro-cid-2goqeetn]{background:var(--positive,#33745b)!important}.credit-btn-green[data-astro-cid-2goqeetn]:hover{background:#255845!important}.credit-disclaimer[data-astro-cid-2goqeetn]{text-align:center;color:var(--muted,#746b64);margin-top:8px;font-size:.67rem;line-height:1.35;display:block}.credit-erid[data-astro-cid-2goqeetn]{text-align:center;color:var(--muted,#8c827a);margin-top:4px;font-size:.63rem;line-height:1.3;display:block}@media (width<=680px){.credit-showcase[data-astro-cid-2goqeetn]{border-radius:12px;width:calc(100% - 24px);margin:24px auto;padding:16px}.credit-header[data-astro-cid-2goqeetn] h2[data-astro-cid-2goqeetn]{font-size:1.1rem}.credit-header[data-astro-cid-2goqeetn] p[data-astro-cid-2goqeetn]{font-size:.82rem}.credit-grid-cards[data-astro-cid-2goqeetn],.credit-grid-refinance[data-astro-cid-2goqeetn]{grid-template-columns:1fr}.credit-more-btn[data-astro-cid-2goqeetn]{justify-content:center;width:100%;padding:11px 16px;font-size:.86rem}}html,body{box-sizing:border-box;max-width:100vw;overflow-x:hidden}*,:before,:after{box-sizing:border-box}.portal-root,body{--portal-primary:#50468c;--portal-primary-hover:#3f3675;--portal-primary-light:#f1effa;--portal-primary-subtle:#eae7f6;--portal-accent-orange:#d96b27;--portal-accent-orange-light:#fdf3eb;--portal-bg:#f5f6fa;--portal-surface:#fff;--portal-surface-secondary:#f8f9fc;--portal-border:#e2e5ec;--portal-border-subtle:#ebeef5;--portal-text-main:#191c24;--portal-text-muted:#5e6678;--portal-text-light:#8b95a5;--portal-shadow-sm:0 2px 8px #191c240a;--portal-shadow-md:0 4px 16px #191c240f;--portal-shadow-lg:0 10px 30px #50468c14;--portal-radius-sm:10px;--portal-radius-md:14px;--portal-radius-lg:20px;--portal-radius-pill:9999px;--portal-font:"Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, "Roboto", sans-serif;font-family:var(--portal-font)}.portal-root{max-width:100%;overflow-x:hidden}.portal-container{box-sizing:border-box;width:min(1280px,100% - 32px);margin-inline:auto}.portal-breadcrumbs-wrap{background:var(--portal-bg);padding:16px 0 8px}.portal-breadcrumbs{flex-wrap:wrap;align-items:center;gap:8px;margin:0;padding:0;font-size:.82rem;list-style:none;display:flex}.portal-crumb-item{align-items:center;gap:8px;display:flex}.portal-crumb-item+.portal-crumb-item:before{content:"/";color:var(--portal-text-light);margin-right:4px;font-size:.74rem}.portal-crumb-sep{display:none}.portal-crumb-link{color:var(--portal-text-muted);font-weight:600;text-decoration:none;transition:color .15s}.portal-crumb-link:hover{color:var(--portal-primary)}.portal-crumb-current{color:var(--portal-text-main);font-weight:750}.portal-page-hero{background:linear-gradient(180deg, #fff 0%, var(--portal-bg) 100%);border-bottom:1px solid var(--portal-border-subtle);margin-bottom:24px;padding:32px 0 24px}.portal-page-hero-inner{flex-direction:column;gap:12px;display:flex}.portal-page-hero-tag{box-sizing:border-box;border-radius:var(--portal-radius-pill);background:var(--portal-primary-light);width:fit-content;max-width:100%;color:var(--portal-primary);letter-spacing:.02em;text-transform:uppercase;white-space:normal;word-break:break-word;align-items:center;gap:6px;padding:6px 12px;font-size:.78rem;font-weight:800;line-height:1.35;display:inline-flex}.portal-page-hero-title{letter-spacing:-.035em;color:var(--portal-text-main);word-break:break-word;max-width:100%;margin:0;font-size:clamp(2rem,3.8vw,3rem);font-weight:850;line-height:1.1}.portal-page-hero-desc{color:var(--portal-text-muted);max-width:680px;margin:0;font-size:clamp(.95rem,1.25vw,1.08rem);line-height:1.5}.portal-page-hero-chips{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.portal-hero-chip{border-radius:var(--portal-radius-pill);background:var(--portal-surface);border:1px solid var(--portal-border);color:var(--portal-text-main);padding:8px 16px;font-size:.84rem;font-weight:700;text-decoration:none;transition:all .2s}.portal-hero-chip:hover{background:var(--portal-primary-light);border-color:var(--portal-primary);color:var(--portal-primary)}.portal-hero{z-index:25;background:linear-gradient(180deg, #fff 0%, var(--portal-bg) 100%);border-bottom:1px solid var(--portal-border-subtle);padding:48px 0 40px;position:relative;overflow:visible}.portal-hero:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(circle,#50468c0d 0%,#d96b2708 50%,#0000 70%);border-radius:50%;width:600px;max-width:100%;height:600px;position:absolute;top:-100px;right:0}.portal-hero-grid{z-index:1;box-sizing:border-box;grid-template-columns:minmax(0,1.25fr) minmax(360px,.95fr);align-items:center;gap:36px;width:100%;max-width:100%;display:grid;position:relative}.portal-hero-content{box-sizing:border-box;flex-direction:column;width:100%;min-width:0;max-width:100%;display:flex}.portal-hero-title{letter-spacing:-.04em;color:var(--portal-text-main);word-break:break-word;max-width:100%;margin:0 0 14px;font-size:clamp(1.6rem,5vw,3.4rem);font-weight:850;line-height:1.08}.portal-hero-desc{color:var(--portal-text-muted);max-width:580px;margin:0 0 28px;font-size:clamp(.95rem,1.35vw,1.12rem);line-height:1.5}.portal-type-tabs{flex-wrap:wrap;gap:8px;max-width:100%;margin-bottom:16px;display:flex}.portal-type-tab{border-radius:var(--portal-radius-pill);color:var(--portal-text-muted);background:var(--portal-surface);border:1px solid var(--portal-border);cursor:pointer;align-items:center;gap:8px;padding:10px 18px;font-size:.9rem;font-weight:700;text-decoration:none;transition:all .2s;display:inline-flex}.portal-type-tab:hover{border-color:var(--portal-primary);color:var(--portal-primary)}.portal-type-tab.active{background:var(--portal-primary);border-color:var(--portal-primary);color:#fff;box-shadow:0 4px 14px #50468c40}.portal-type-tab svg,.portal-type-tab span.tab-icon{font-size:1.05rem;line-height:1}.portal-search-card{background:var(--portal-surface);border-radius:var(--portal-radius-md);border:1px solid var(--portal-border);box-shadow:var(--portal-shadow-md);padding:8px;position:relative}.portal-search-form{grid-template-columns:1fr auto 1fr auto auto;align-items:center;gap:8px;display:grid}.portal-input-group{align-items:center;display:flex;position:relative}.portal-input-field{border-radius:var(--portal-radius-sm);background:var(--portal-surface-secondary);width:100%;height:48px;color:var(--portal-text-main);border:1px solid #0000;outline:none;padding:0 16px;font-size:.92rem;transition:border-color .2s,background-color .2s}.portal-input-field:focus{border-color:var(--portal-primary);background:#fff}.portal-input-field::placeholder{color:var(--portal-text-light)}.portal-swap-btn{border:1px solid var(--portal-border);background:var(--portal-surface);width:38px;height:38px;color:var(--portal-text-muted);cursor:pointer;border-radius:50%;flex-shrink:0;place-items:center;transition:all .2s;display:grid}.portal-swap-btn:hover{background:var(--portal-primary-light);color:var(--portal-primary);border-color:var(--portal-primary);transform:rotate(180deg)}.portal-btn-primary{border-radius:var(--portal-radius-sm);color:#fff;cursor:pointer;white-space:nowrap;background:#1c2230;border:none;justify-content:center;align-items:center;height:48px;padding:0 24px;font-size:.92rem;font-weight:750;text-decoration:none;transition:all .2s;display:inline-flex}.portal-btn-primary:hover{background:var(--portal-primary);color:#fff;box-shadow:0 4px 12px #50468c4d}.portal-btn-secondary{border-radius:var(--portal-radius-sm);height:48px;color:var(--portal-text-main);border:1px solid var(--portal-border);cursor:pointer;white-space:nowrap;background:0 0;justify-content:center;align-items:center;padding:0 18px;font-size:.92rem;font-weight:700;text-decoration:none;transition:all .2s;display:inline-flex}.portal-btn-secondary:hover{background:var(--portal-surface-secondary);border-color:var(--portal-text-muted)}.portal-suggest-box{border-radius:var(--portal-radius-sm);border:1px solid var(--portal-border);box-shadow:var(--portal-shadow-lg);z-index:50;background:#fff;max-height:340px;padding:8px 0;position:absolute;top:calc(100% + 8px);left:0;right:0;overflow-y:auto}.portal-suggest-item{color:var(--portal-text-main);align-items:center;gap:12px;padding:10px 16px;text-decoration:none;transition:background-color .15s;display:flex}.portal-suggest-item:hover{background-color:var(--portal-primary-light)}.portal-suggest-badge{background:var(--portal-primary);color:#fff;border-radius:6px;padding:4px 8px;font-size:.78rem;font-weight:800}.portal-network-card{border-radius:var(--portal-radius-lg);border:1px solid var(--portal-border);height:320px;box-shadow:var(--portal-shadow-md);background:#fff;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.portal-network-svg{width:100%;height:100%;position:absolute;inset:0}.portal-floating-badge{border-radius:var(--portal-radius-md);backdrop-filter:blur(12px);border:1px solid var(--portal-border);box-shadow:var(--portal-shadow-md);z-index:2;background:#fffffff0;max-width:210px;padding:14px 20px;position:absolute;top:24px;right:24px}.portal-floating-tag{color:var(--portal-text-main);margin-bottom:4px;font-size:.76rem;font-weight:750;display:block}.portal-floating-stat{color:var(--portal-primary);letter-spacing:-.03em;font-size:1.85rem;font-weight:900;line-height:1;display:block}.portal-floating-sub{color:var(--portal-text-muted);margin-top:4px;font-size:.74rem;display:block}.portal-transit-node{color:#fff;z-index:2;border-radius:50%;place-items:center;width:38px;height:38px;display:grid;position:absolute;box-shadow:0 4px 12px #0000001f}.portal-transit-node.bus{background:var(--portal-primary);top:60px;right:170px}.portal-transit-node.train{background:var(--portal-accent-orange);bottom:80px;left:60px}.portal-transit-node.stop{color:var(--portal-primary);border:2px solid var(--portal-primary);background:#fff;top:100px;right:60px}.portal-metrics-section{padding:24px 0}.portal-metrics-grid{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.portal-metric-card{background:var(--portal-surface);border-radius:var(--portal-radius-md);border:1px solid var(--portal-border);box-shadow:var(--portal-shadow-sm);align-items:center;gap:16px;padding:20px;transition:transform .2s,box-shadow .2s;display:flex}.portal-metric-card:hover{box-shadow:var(--portal-shadow-md);transform:translateY(-2px)}.portal-metric-icon-wrap{border-radius:12px;flex-shrink:0;place-items:center;width:48px;height:48px;font-size:1.4rem;display:grid}.portal-metric-icon-wrap.purple{background:var(--portal-primary-light);color:var(--portal-primary)}.portal-metric-icon-wrap.orange{background:var(--portal-accent-orange-light);color:var(--portal-accent-orange)}.portal-metric-icon-wrap.blue{color:#2872e5;background:#eef5ff}.portal-metric-icon-wrap.green{color:#128a5c;background:#e9f8f2}.portal-metric-info strong{color:var(--portal-text-main);letter-spacing:-.02em;font-size:1.55rem;font-weight:850;line-height:1.1;display:block}.portal-metric-info span{color:var(--portal-text-muted);margin-top:3px;font-size:.82rem;display:block}.portal-categories-section{padding:16px 0 32px}.portal-categories-grid{grid-template-columns:1fr 1fr;gap:24px;display:grid}.portal-category-card{background:var(--portal-surface);border-radius:var(--portal-radius-lg);border:1px solid var(--portal-border);box-shadow:var(--portal-shadow-sm);flex-direction:column;justify-content:space-between;padding:30px;transition:box-shadow .2s;display:flex}.portal-category-card:hover{box-shadow:var(--portal-shadow-md)}.portal-cat-header{align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.portal-cat-icon{border-radius:14px;flex-shrink:0;place-items:center;width:52px;height:52px;font-size:1.6rem;display:grid}.portal-cat-icon.bus{background:var(--portal-primary);color:#fff}.portal-cat-icon.train{background:var(--portal-accent-orange);color:#fff}.portal-cat-title{color:var(--portal-text-main);letter-spacing:-.02em;margin:0 0 4px;font-size:1.45rem;font-weight:800}.portal-cat-subtitle{color:var(--portal-text-muted);margin:0;font-size:.88rem;line-height:1.4}.portal-cat-body{flex-grow:1;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);align-items:stretch;gap:20px;display:grid}.portal-cat-left{flex-direction:column;justify-content:space-between;gap:16px;height:100%;display:flex}.portal-pill-group{flex-wrap:wrap;gap:8px;display:flex}.portal-pill{border-radius:var(--portal-radius-pill);background:var(--portal-surface-secondary);border:1px solid var(--portal-border-subtle);color:var(--portal-text-muted);padding:6px 12px;font-size:.78rem;font-weight:750}.portal-pill.active{background:var(--portal-primary-light);color:var(--portal-primary);border-color:var(--portal-primary-subtle)}.portal-pill.orange-active{background:var(--portal-accent-orange-light);color:var(--portal-accent-orange);border-color:#d96b2733}.portal-cat-btn{border-radius:var(--portal-radius-sm);justify-content:center;align-items:center;width:fit-content;height:44px;padding:0 20px;font-size:.88rem;font-weight:750;text-decoration:none;transition:all .2s;display:inline-flex}.portal-cat-btn.bus{background:var(--portal-primary);color:#fff}.portal-cat-btn.bus:hover{background:var(--portal-primary-hover);box-shadow:0 4px 12px #50468c40}.portal-cat-btn.train{background:var(--portal-accent-orange);color:#fff}.portal-cat-btn.train:hover{background:#bf591b;box-shadow:0 4px 12px #d96b2740}.portal-preview-box{background:var(--portal-surface-secondary);border-radius:var(--portal-radius-md);border:1px solid var(--portal-border-subtle);padding:16px}.portal-preview-header{color:var(--portal-text-muted);justify-content:space-between;align-items:center;margin-bottom:12px;font-size:.78rem;font-weight:750;display:flex}.portal-preview-badge{background:var(--portal-primary);color:#fff;letter-spacing:.02em;white-space:nowrap;border-radius:6px;justify-content:center;align-items:center;min-width:24px;height:auto;padding:3px 8px;font-size:.72rem;font-weight:800;display:inline-flex}.portal-preview-timeline{margin:0;padding-left:20px;list-style:none;position:relative}.portal-preview-timeline:before{content:"";background:var(--portal-border);width:2px;position:absolute;top:8px;bottom:8px;left:6px}.portal-timeline-item{margin-bottom:10px;font-size:.82rem;position:relative}.portal-timeline-item:last-child{margin-bottom:0}.portal-timeline-item:before{content:"";border:2px solid var(--portal-text-light);box-sizing:border-box;background:#fff;border-radius:50%;width:10px;height:10px;position:absolute;top:4px;left:-20px}.portal-timeline-item.start:before{background:var(--portal-primary);border-color:var(--portal-primary)}.portal-timeline-item.end:before{background:var(--portal-accent-orange);border-color:var(--portal-accent-orange)}.portal-timeline-item strong{color:var(--portal-text-main);display:block}.portal-timeline-item small{color:var(--portal-text-light);font-size:.72rem;display:block}.portal-departures-box{background:var(--portal-surface-secondary);border-radius:var(--portal-radius-md);border:1px solid var(--portal-border-subtle);flex-direction:column;padding:16px;display:flex}.portal-departures-head{color:var(--portal-text-muted);margin-bottom:10px;font-size:.78rem;font-weight:750}.portal-departures-list{flex-direction:column;gap:6px;display:flex}.portal-dep-row{border:1px solid var(--portal-border-subtle);background:#fff;border-radius:8px;grid-template-columns:82px minmax(0,1fr) 18px;align-items:center;gap:10px;padding:8px 10px;font-size:.82rem;text-decoration:none;transition:all .15s;display:grid}.portal-dep-row:hover{border-color:var(--portal-accent-orange);transform:translate(2px);box-shadow:0 2px 8px #d96b2714}.portal-dep-badge,.portal-dep-num{width:82px;height:26px;color:var(--portal-accent-orange);text-align:center;white-space:nowrap;text-overflow:ellipsis;background:#d96b2714;border:1px solid #d96b2738;border-radius:6px;justify-content:center;align-items:center;padding:0 4px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.72rem;font-weight:800;display:inline-flex;overflow:hidden}.portal-dep-route{flex-direction:column;min-width:0;display:flex}.portal-dep-name,.portal-dep-dest{color:var(--portal-text-main);white-space:nowrap;text-overflow:ellipsis;font-size:.82rem;font-weight:750;line-height:1.3;overflow:hidden}.portal-dep-carrier{color:var(--portal-text-muted);white-space:nowrap;text-overflow:ellipsis;margin-top:1px;font-size:.7rem;line-height:1.2;overflow:hidden}.portal-dep-time,.portal-dep-arrow{color:var(--portal-accent-orange);text-align:right;font-size:.95rem;font-weight:750;transition:transform .15s}.portal-dep-row:hover .portal-dep-arrow{transform:translate(3px)}.portal-dep-link{color:var(--portal-primary);margin-top:10px;font-size:.76rem;font-weight:750;text-decoration:none;display:block}.portal-dep-link:hover{text-decoration:underline}.portal-popular-section{padding:16px 0 32px}.portal-section-title-wrap{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.portal-section-title{color:var(--portal-text-main);letter-spacing:-.02em;margin:0;font-size:1.25rem;font-weight:800}.portal-title-link{color:var(--portal-primary);font-size:.86rem;font-weight:750;text-decoration:none}.portal-title-link:hover{text-decoration:underline}.portal-chips-grid{flex-wrap:wrap;gap:10px;display:flex}.portal-chip{border-radius:var(--portal-radius-pill);background:var(--portal-surface);border:1px solid var(--portal-border);color:var(--portal-text-main);align-items:center;gap:8px;padding:10px 18px;font-size:.86rem;font-weight:650;text-decoration:none;transition:all .2s;display:inline-flex}.portal-chip:hover{background:var(--portal-primary-light);border-color:var(--portal-primary);color:var(--portal-primary);transform:translateY(-1px)}.portal-chip svg,.portal-chip span.chip-icon{color:var(--portal-primary);font-size:1rem}.portal-actual-section{padding:16px 0 32px}.portal-actual-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;display:grid}.portal-actual-card{background:var(--portal-surface);border:1px solid var(--portal-border);border-radius:var(--portal-radius-lg);flex-direction:column;justify-content:space-between;padding:26px 24px;transition:transform .2s,box-shadow .2s,border-color .2s;display:flex;box-shadow:0 2px 8px #0f172a0a}.portal-actual-card:hover{border-color:var(--portal-primary);transform:translateY(-3px);box-shadow:0 10px 24px #0f172a14}.portal-actual-icon{background:var(--portal-surface-secondary);border:1px solid var(--portal-border-subtle);border-radius:12px;place-items:center;width:48px;height:48px;margin-bottom:18px;font-size:1.5rem;display:grid}.portal-actual-name{color:var(--portal-text-main);margin:0 0 10px;font-size:1.15rem;font-weight:750;line-height:1.35}.portal-actual-text{color:var(--portal-text-muted);flex-grow:1;margin:0 0 18px;font-size:.88rem;line-height:1.55}.portal-actual-link{color:var(--portal-primary);align-items:center;gap:6px;margin-top:auto;font-size:.88rem;font-weight:750;text-decoration:none;transition:gap .15s,color .15s;display:inline-flex}.portal-actual-link:hover{gap:10px;text-decoration:underline}.portal-info-card{background:var(--portal-surface);border-radius:var(--portal-radius-md);border:1px solid var(--portal-border);box-shadow:var(--portal-shadow-sm);justify-content:space-between;align-items:center;gap:12px;padding:18px 20px;transition:transform .2s,box-shadow .2s;display:flex}.portal-info-card:hover{box-shadow:var(--portal-shadow-md);transform:translateY(-2px)}.portal-info-left{align-items:center;gap:12px;display:flex}.portal-info-icon-box{border-radius:50%;flex-shrink:0;place-items:center;width:42px;height:42px;font-size:1.15rem;display:grid}.portal-info-icon-box.purple{background:var(--portal-primary-light);color:var(--portal-primary)}.portal-info-icon-box.orange{background:var(--portal-accent-orange-light);color:var(--portal-accent-orange)}.portal-info-icon-box.blue{color:#2872e5;background:#eef5ff}.portal-info-icon-box.green{color:#128a5c;background:#e9f8f2}.portal-info-text strong{color:var(--portal-text-main);font-size:.92rem;font-weight:750;display:block}.portal-info-text small{color:var(--portal-text-muted);margin-top:2px;font-size:.74rem;display:block}.portal-info-value{color:var(--portal-text-main);font-variant-numeric:tabular-nums;font-size:1.35rem;font-weight:850}.portal-info-action{color:var(--portal-primary);white-space:nowrap;font-size:.82rem;font-weight:750;text-decoration:none}.portal-info-action:hover{text-decoration:underline}.portal-why-section{padding:16px 0 48px}.portal-why-grid{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.portal-why-card{background:var(--portal-surface);border-radius:var(--portal-radius-md);border:1px solid var(--portal-border);box-shadow:var(--portal-shadow-sm);padding:24px;transition:transform .2s,box-shadow .2s}.portal-why-card:hover{box-shadow:var(--portal-shadow-md);transform:translateY(-2px)}.portal-why-icon-box{background:var(--portal-primary-light);width:44px;height:44px;color:var(--portal-primary);border-radius:12px;place-items:center;margin-bottom:16px;font-size:1.25rem;display:grid}.portal-why-card h3{color:var(--portal-text-main);margin:0 0 8px;font-size:1rem;font-weight:800}.portal-why-card p{color:var(--portal-text-muted);margin:0;font-size:.84rem;line-height:1.45}.portal-search-section{margin-bottom:40px}.portal-catalog-card{background:var(--portal-surface);border-radius:var(--portal-radius-lg);border:1px solid var(--portal-border);box-shadow:var(--portal-shadow-sm);overflow:hidden}.portal-catalog-tools{border-bottom:1px solid var(--portal-border-subtle);background:#fff;flex-wrap:wrap;gap:12px;padding:18px 24px;display:flex}.portal-search-input-wrap{flex:300px;align-items:center;display:flex;position:relative}.portal-search-icon{color:var(--portal-text-light);pointer-events:none;position:absolute;left:14px}.portal-catalog-input{border-radius:var(--portal-radius-sm);background:var(--portal-surface-secondary);width:100%;height:46px;color:var(--portal-text-main);border:1px solid #0000;outline:none;padding:0 16px 0 42px;font-size:.92rem;transition:all .2s}.portal-catalog-input:focus{border-color:var(--portal-primary);background:#fff;box-shadow:0 0 0 3px #50468c1a}.portal-filter-select-wrap{flex:none}.portal-catalog-select{border-radius:var(--portal-radius-sm);background:var(--portal-surface-secondary);height:46px;color:var(--portal-text-main);cursor:pointer;border:1px solid #0000;outline:none;padding:0 36px 0 16px;font-size:.9rem;font-weight:650;transition:all .2s}.portal-catalog-select:focus{border-color:var(--portal-primary);background:#fff}.portal-catalog-meta{background:var(--portal-surface-secondary);border-bottom:1px solid var(--portal-border-subtle);padding:12px 24px}.portal-catalog-count{color:var(--portal-text-muted);margin:0;font-size:.82rem}.portal-catalog-count strong{color:var(--portal-text-main)}.portal-route-grid{margin:0;padding:0;list-style:none}.portal-route-card-item{border-bottom:1px solid var(--portal-border-subtle)}.portal-route-card-item:last-child{border-bottom:none}.portal-route-card-item[hidden]{display:none!important}.portal-route-link{color:var(--portal-text-main);grid-template-columns:76px minmax(0,1fr) auto;align-items:center;gap:18px;padding:16px 24px;text-decoration:none;transition:background-color .18s,transform .18s;display:grid}.portal-route-link:hover{background-color:var(--portal-primary-light)}.portal-route-badge-wrap{justify-content:center;align-items:center;display:flex}.portal-route-badge{background:var(--portal-primary);color:#fff;font-variant-numeric:tabular-nums;letter-spacing:-.02em;border-radius:8px;place-items:center;min-width:58px;height:40px;padding:0 8px;font-size:1.05rem;font-weight:850;display:inline-grid}.portal-route-badge.bus,.portal-route-badge.city{background:var(--portal-primary)}.portal-route-badge.suburban,.portal-route-badge.prigorod{background:var(--portal-accent-orange)}.portal-route-badge.tram{background:#c88214}.portal-route-badge.trolleybus{background:#1a8c76}.portal-route-badge.train{background:#394459}.portal-route-badge.flight{background:#2570d9}.portal-route-badge.mezgorod{background:#475467}.portal-route-content{flex-direction:column;gap:4px;min-width:0;display:flex}.portal-route-name{color:var(--portal-text-main);font-size:1.02rem;font-weight:750;line-height:1.35}.portal-route-tags{flex-wrap:wrap;align-items:center;gap:8px;font-size:.78rem;display:flex}.portal-route-mode-tag{color:var(--portal-text-muted);font-weight:600}.portal-route-tariff-tag{background:var(--portal-surface-secondary);border:1px solid var(--portal-border);color:var(--portal-text-muted);border-radius:4px;padding:2px 6px;font-size:.72rem;font-weight:700}.portal-route-stops-tag{color:var(--portal-text-light);font-size:.74rem}.portal-route-dir-tag{color:var(--portal-text-muted);font-size:.78rem}.portal-route-arrow{color:var(--portal-primary);font-size:1.25rem;font-weight:700;transition:transform .18s}.portal-route-link:hover .portal-route-arrow{transform:translate(4px)}.portal-empty-state{text-align:center;color:var(--portal-text-muted);padding:48px 24px}.portal-empty-icon{margin-bottom:12px;font-size:2.2rem}.portal-empty-state p{color:var(--portal-text-main);margin:0 0 6px;font-size:1.05rem;font-weight:750}.portal-empty-state small{color:var(--portal-text-light);font-size:.84rem}.portal-stop-item-link{color:var(--portal-text-main);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;padding:16px 24px;text-decoration:none;transition:background-color .15s;display:grid}.portal-stop-item-link:hover{background-color:var(--portal-primary-light)}.portal-stop-badge{border-radius:var(--portal-radius-pill);background:var(--portal-primary-light);color:var(--portal-primary);padding:4px 10px;font-size:.78rem;font-weight:800}.portal-detail-hero{background:linear-gradient(180deg, #fff 0%, var(--portal-bg) 100%);border-bottom:1px solid var(--portal-border-subtle);margin-bottom:28px;padding:32px 0 28px}.portal-detail-identity{grid-template-columns:88px minmax(0,1fr) minmax(320px,.75fr);align-items:start;gap:24px;display:grid}.portal-detail-badge-wrap{flex-direction:column;align-items:center;display:flex}.portal-detail-badge{border-radius:var(--portal-radius-md);background:var(--portal-primary);color:#fff;letter-spacing:-.04em;place-items:center;width:88px;height:88px;font-size:2.2rem;font-weight:900;display:grid;box-shadow:0 8px 24px #50468c40}.portal-detail-badge.suburban{background:var(--portal-accent-orange);font-size:1.5rem;box-shadow:0 8px 24px #d96b2740}.portal-detail-badge.tram{background:#c88214}.portal-detail-badge.trolleybus{background:#1a8c76}.portal-detail-badge.stop{color:var(--portal-primary);border:2px solid var(--portal-primary);background:#fff}.portal-detail-title{letter-spacing:-.03em;color:var(--portal-text-main);margin:0 0 6px;font-size:clamp(1.8rem,3.2vw,2.6rem);font-weight:850;line-height:1.15}.portal-detail-subtitle{color:var(--portal-text-muted);margin:0 0 14px;font-size:1.05rem;line-height:1.45}.portal-detail-tags{flex-wrap:wrap;gap:8px;display:flex}.portal-detail-tag{border-radius:var(--portal-radius-pill);background:var(--portal-surface-secondary);border:1px solid var(--portal-border);color:var(--portal-text-muted);padding:5px 12px;font-size:.78rem;font-weight:750}.portal-detail-tag.primary{background:var(--portal-primary-light);color:var(--portal-primary);border-color:var(--portal-primary-subtle)}.portal-detail-stats{background:var(--portal-surface);border:1px solid var(--portal-border);border-radius:var(--portal-radius-md);box-shadow:var(--portal-shadow-sm);grid-template-columns:1fr 1fr;gap:10px;padding:14px;display:grid}.portal-stat-cell{padding:6px}.portal-stat-cell small{color:var(--portal-text-light);text-transform:uppercase;letter-spacing:.04em;font-size:.72rem;font-weight:750;display:block}.portal-stat-cell strong{color:var(--portal-text-main);font-variant-numeric:tabular-nums;margin-top:3px;font-size:1.35rem;font-weight:850;display:block}.portal-direction-wrap{grid-template-columns:1fr auto;align-items:center;gap:12px;margin-top:24px;display:grid}.portal-direction-tabs{grid-template-columns:1fr 1fr;gap:10px;display:grid}.portal-direction-tab{border-radius:var(--portal-radius-sm);background:var(--portal-surface);border:1px solid var(--portal-border);text-align:left;cursor:pointer;flex-direction:column;gap:2px;padding:12px 18px;transition:all .2s;display:flex}.portal-direction-tab:hover{border-color:var(--portal-primary);background:var(--portal-primary-light)}.portal-direction-tab[aria-selected=true]{background:var(--portal-primary);border-color:var(--portal-primary);color:#fff;box-shadow:0 4px 14px #50468c33}.portal-direction-tab small{color:var(--portal-text-light);text-transform:uppercase;font-size:.72rem;font-weight:750}.portal-direction-tab[aria-selected=true] small{color:#ffffffbf}.portal-direction-tab strong{white-space:nowrap;text-overflow:ellipsis;font-size:.92rem;font-weight:750;overflow:hidden}.portal-live-strip{border-radius:var(--portal-radius-sm);color:#128a5c;background:#e9f8f2;border:1px solid #c7eedd;align-items:center;gap:10px;margin-top:16px;padding:10px 18px;font-size:.86rem;font-weight:700;display:flex}.portal-live-pulse{background:#128a5c;border-radius:50%;flex-shrink:0;width:10px;height:10px;box-shadow:0 0 0 4px #128a5c33}.portal-detail-layout{grid-template-columns:minmax(0,1fr) 280px;gap:32px;padding-bottom:60px;display:grid}.portal-main-col{flex-direction:column;gap:28px;min-width:0;display:flex}.portal-sidebar-col{flex-direction:column;gap:20px;display:flex}.portal-sidebar-card{background:var(--portal-surface);border-radius:var(--portal-radius-md);border:1px solid var(--portal-border);box-shadow:var(--portal-shadow-sm);padding:20px}.portal-sidebar-card h3{color:var(--portal-text-main);margin:0 0 12px;font-size:1.05rem;font-weight:800}.portal-sidebar-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.portal-sidebar-list a{border-bottom:1px solid var(--portal-border-subtle);color:var(--portal-text-main);padding:8px 0;font-size:.86rem;text-decoration:none;transition:color .15s,padding-left .15s;display:block}.portal-sidebar-list a:hover{color:var(--portal-primary);padding-left:4px}.portal-sidebar-list a:last-child{border-bottom:none}.portal-dep-picker-card{background:var(--portal-surface);border-radius:var(--portal-radius-lg);border:1px solid var(--portal-border);box-shadow:var(--portal-shadow-sm);margin-bottom:24px;overflow:hidden}.portal-dep-picker-head{background:var(--portal-surface-secondary);border-bottom:1px solid var(--portal-border-subtle);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.portal-dep-head-title strong{color:var(--portal-text-main);font-size:1.02rem;display:block}.portal-dep-head-title small{color:var(--portal-text-muted);font-size:.76rem}.portal-dep-selected-badge{text-align:right}.portal-dep-selected-badge small{color:var(--portal-text-light);text-transform:uppercase;font-size:.72rem;display:block}.portal-dep-selected-badge strong{color:var(--portal-primary);font-variant-numeric:tabular-nums;font-size:1.55rem;font-weight:900}.portal-dep-times-grid{grid-template-columns:repeat(auto-fill,minmax(62px,1fr));gap:8px;max-height:240px;padding:16px 20px;display:grid;overflow-y:auto}.portal-dep-time-btn{border:1px solid var(--portal-border);background:var(--portal-surface);height:38px;color:var(--portal-text-main);font-variant-numeric:tabular-nums;cursor:pointer;border-radius:8px;font-size:.88rem;font-weight:750;transition:all .15s}.portal-dep-time-btn:hover{border-color:var(--portal-primary);color:var(--portal-primary);transform:translateY(-1px)}.portal-dep-time-btn.is-active{background:var(--portal-primary);border-color:var(--portal-primary);color:#fff;box-shadow:0 4px 12px #50468c40}.portal-timeline-wrap{background:var(--portal-surface);border-radius:var(--portal-radius-lg);border:1px solid var(--portal-border);box-shadow:var(--portal-shadow-sm);overflow:hidden}.portal-timeline-head-bar{border-bottom:1px solid var(--portal-border-subtle);background:var(--portal-surface-secondary);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.portal-timeline-search-input{border-radius:var(--portal-radius-sm);border:1px solid var(--portal-border);background:#fff;outline:none;height:36px;padding:0 14px;font-size:.84rem}.portal-timeline-search-input:focus{border-color:var(--portal-primary)}.portal-timeline-table{border-collapse:collapse;width:100%}.portal-timeline-table th{background:var(--portal-surface-secondary);border-bottom:1px solid var(--portal-border-subtle);color:var(--portal-text-light);text-transform:uppercase;letter-spacing:.05em;text-align:left;padding:10px 18px;font-size:.72rem;font-weight:800}.portal-timeline-table th:last-child{text-align:right}.portal-timeline-row:hover{background-color:var(--portal-primary-light)}.portal-timeline-row td{vertical-align:middle;padding:12px 18px;font-size:.9rem}.portal-timeline-idx{width:48px;color:var(--portal-text-light);font-variant-numeric:tabular-nums;font-size:.8rem;font-weight:800}.portal-timeline-offset{width:auto;color:var(--portal-primary);font-variant-numeric:tabular-nums;font-size:.82rem;font-weight:750}.portal-timeline-stop-name{color:var(--portal-text-main);font-weight:750;text-decoration:none;transition:color .15s}.portal-timeline-stop-name:hover{color:var(--portal-primary)}.portal-timeline-clock{text-align:right;color:var(--portal-text-main);font-variant-numeric:tabular-nums;font-size:1.05rem;font-weight:850}.portal-timeline-row.start-terminal .portal-timeline-stop-name,.portal-timeline-row.end-terminal .portal-timeline-stop-name{color:var(--portal-primary);font-weight:850}.portal-stop-routes-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px;display:grid}.portal-stop-route-card{background:var(--portal-surface);border-radius:var(--portal-radius-md);border:1px solid var(--portal-border);box-shadow:var(--portal-shadow-sm);flex-direction:column;justify-content:space-between;gap:14px;padding:18px;transition:transform .2s,box-shadow .2s;display:flex}.portal-stop-route-card:hover{box-shadow:var(--portal-shadow-md);transform:translateY(-2px)}.portal-stop-route-head{align-items:center;gap:12px;display:flex}.portal-stop-route-times{flex-wrap:wrap;gap:6px;display:flex}.portal-stop-route-time-pill{background:var(--portal-surface-secondary);border:1px solid var(--portal-border-subtle);font-variant-numeric:tabular-nums;color:var(--portal-text-main);border-radius:6px;padding:4px 8px;font-size:.78rem;font-weight:750}.portal-stop-route-btn{color:var(--portal-primary);align-items:center;gap:4px;font-size:.82rem;font-weight:750;text-decoration:none;display:inline-flex}.portal-stop-route-btn:hover{text-decoration:underline}@media (width<=1024px){.portal-detail-identity{grid-template-columns:1fr}.portal-detail-badge-wrap{align-items:flex-start}.portal-detail-layout{grid-template-columns:1fr}}@media (width<=768px){.portal-direction-tabs{grid-template-columns:1fr}.portal-detail-stats{grid-template-columns:1fr 1fr}.portal-timeline-table th,.portal-timeline-table td{padding:10px 12px}}.portal-footer{background:var(--portal-surface);border-top:1px solid var(--portal-border);padding:48px 0 32px;font-size:.86rem}.portal-footer-grid{grid-template-columns:1.4fr 1fr 1fr 1fr auto;align-items:start;gap:32px;display:grid}.portal-footer-brand-wrap{flex-direction:column;gap:8px;display:flex}.portal-footer-logo{color:var(--portal-text-main);align-items:center;gap:10px;font-weight:850;text-decoration:none;display:inline-flex}.portal-footer-logo-mark{background:var(--portal-primary);color:#fff;border-radius:8px;place-items:center;width:32px;height:32px;font-size:.95rem;font-weight:900;display:grid}.portal-footer-copy{color:var(--portal-text-light);margin:0;font-size:.78rem}.portal-footer-col{flex-direction:column;gap:10px;display:flex}.portal-footer-col a{color:var(--portal-text-muted);text-decoration:none;transition:color .15s}.portal-footer-col a:hover{color:var(--portal-primary)}.portal-footer-socials{gap:10px;display:flex}.portal-social-btn{background:var(--portal-surface-secondary);border:1px solid var(--portal-border);width:38px;height:38px;color:var(--portal-text-muted);border-radius:50%;place-items:center;font-size:.88rem;font-weight:750;text-decoration:none;transition:all .2s;display:grid}.portal-social-btn:hover{background:var(--portal-primary);color:#fff;border-color:var(--portal-primary)}@media (width<=1024px){.portal-hero-grid{grid-template-columns:minmax(0,1fr)}.portal-network-card{display:none}.portal-metrics-grid{grid-template-columns:repeat(2,1fr)}.portal-categories-grid{grid-template-columns:1fr}.portal-actual-grid,.portal-why-grid{grid-template-columns:repeat(2,1fr)}.portal-footer-grid{grid-template-columns:1fr 1fr}}@media (width<=768px){.portal-hero{padding:32px 0 24px}.portal-hero:before{display:none}.portal-container{width:calc(100% - 24px)}.portal-hero-title{font-size:clamp(1.5rem,6vw,2.2rem);line-height:1.15}.portal-type-tabs{gap:6px}.portal-type-tab{padding:8px 14px;font-size:.84rem}.portal-search-form{grid-template-columns:1fr}.portal-swap-btn{display:none}.portal-btn-primary,.portal-btn-secondary{width:100%}.portal-cat-body{grid-template-columns:1fr}.portal-cat-btn{width:100%}.portal-metrics-grid,.portal-actual-grid,.portal-why-grid{grid-template-columns:1fr}.portal-footer-grid{grid-template-columns:1fr;gap:24px}.portal-route-link{grid-template-columns:56px minmax(0,1fr) auto;gap:12px;padding:12px 16px}.portal-route-badge{min-width:48px;height:36px;font-size:.92rem}.portal-catalog-tools{padding:12px 16px}}@media (width<=480px){.portal-container{width:calc(100% - 20px)}.portal-page-hero-tag{padding:5px 10px;font-size:.72rem;line-height:1.3}.portal-type-tabs{gap:6px}.portal-type-tab{padding:7px 12px;font-size:.8rem}}.portal-features-section{padding:40px 0 60px}.portal-features-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin-top:24px;display:grid}.portal-feature-item{border:1px solid var(--portal-border);background:#fff;border-radius:16px;align-items:flex-start;gap:16px;padding:22px 24px;transition:transform .2s,box-shadow .2s;display:flex;box-shadow:0 4px 14px #0f172a08}.portal-feature-item:hover{border-color:#cbd5e1;transform:translateY(-2px);box-shadow:0 10px 25px #0f172a0f}.portal-feat-check{width:32px;height:32px;color:var(--portal-primary);background:#2563eb1a;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.95rem;font-weight:900;display:flex}.portal-feature-item strong{color:var(--portal-text-main);margin-bottom:4px;font-size:1.02rem;font-weight:750;display:block}.portal-feature-item span{color:var(--portal-text-muted);font-size:.88rem;line-height:1.45;display:block}.portal-route-detail-page{background:var(--portal-bg);min-height:100vh;padding-bottom:80px}.portal-route-detail-top{border-bottom:1px solid var(--portal-border);background:#fff;margin-bottom:24px;padding:14px 0}.portal-route-layout{grid-template-columns:1fr 340px;align-items:start;gap:32px;display:grid}@media (width<=992px){.portal-route-layout{grid-template-columns:1fr;gap:24px}}.portal-route-hero{border:1px solid var(--portal-border);background:#fff;border-radius:20px;margin-bottom:24px;padding:32px;box-shadow:0 4px 20px #0f172a08}.portal-route-hero-top{align-items:flex-start;gap:24px;display:flex}.portal-route-badge-num{background:linear-gradient(135deg, var(--portal-primary), var(--portal-primary-hover));color:#fff;border-radius:20px;flex-shrink:0;justify-content:center;align-items:center;min-width:76px;height:76px;font-size:2rem;font-weight:850;display:flex;box-shadow:0 10px 25px #2563eb40}.portal-route-hero-titles{flex:1}.portal-route-eyebrow{text-transform:uppercase;letter-spacing:.06em;color:var(--portal-primary);margin-bottom:6px;font-size:.82rem;font-weight:750;display:inline-block}.portal-route-title{color:var(--portal-text-main);margin:0 0 8px;font-size:clamp(1.4rem,2.2vw,1.85rem);font-weight:800;line-height:1.25}.portal-route-subtitle{color:var(--portal-text-muted);margin:0;font-size:.95rem;line-height:1.45}.portal-direction-tabs{background:var(--portal-bg);border-radius:14px;gap:10px;margin-top:24px;padding:6px;display:flex}.portal-dir-tab-btn{cursor:pointer;color:var(--portal-text-muted);text-align:left;background:0 0;border:1px solid #0000;border-radius:10px;flex:1;align-items:center;gap:10px;padding:12px 18px;font-family:inherit;font-size:.92rem;font-weight:600;transition:all .2s;display:flex}.portal-dir-tab-btn:hover{color:var(--portal-text-main);background:#fff9}.portal-dir-tab-btn[aria-selected=true]{color:var(--portal-primary);border-color:var(--portal-border);background:#fff;box-shadow:0 4px 12px #0f172a0a}.portal-dir-tab-tag{text-transform:uppercase;color:inherit;background:#0f172a0f;border-radius:6px;padding:3px 8px;font-size:.72rem;font-weight:800}.portal-dir-tab-btn[aria-selected=true] .portal-dir-tab-tag{color:var(--portal-primary);background:#2563eb1a}.portal-schedule-card{border:1px solid var(--portal-border);background:#fff;border-radius:20px;margin-bottom:24px;padding:28px;box-shadow:0 4px 20px #0f172a08}.portal-schedule-header{border-bottom:1px solid var(--portal-border);justify-content:space-between;align-items:flex-end;margin-bottom:20px;padding-bottom:20px;display:flex}.portal-schedule-sub{text-transform:uppercase;letter-spacing:.05em;color:var(--portal-text-muted);margin-bottom:4px;font-size:.8rem;font-weight:650;display:block}.portal-schedule-origin-title{color:var(--portal-text-main);margin:0;font-size:1.3rem;font-weight:800}.portal-schedule-head-right{text-align:right}.portal-selected-label{text-transform:uppercase;letter-spacing:.05em;color:var(--portal-primary);margin-bottom:2px;font-size:.72rem;font-weight:750;display:block}.portal-selected-time{color:var(--portal-primary);font-variant-numeric:tabular-nums;font-size:1.8rem;font-weight:850;line-height:1}.portal-relative-day-bar{flex-wrap:wrap;gap:8px;margin-bottom:18px;display:flex}.portal-day-filter-btn{border:1px solid var(--portal-border);color:var(--portal-text-muted);cursor:pointer;background:#fff;border-radius:10px;padding:8px 16px;font-family:inherit;font-size:.88rem;font-weight:650;transition:all .15s}.portal-day-filter-btn:hover{background:var(--portal-bg);color:var(--portal-text-main);border-color:#cbd5e1}.portal-day-filter-btn.active,.portal-day-filter-btn[aria-selected=true]{background:var(--portal-primary);color:#fff;border-color:var(--portal-primary);box-shadow:0 4px 12px #2563eb33}.portal-hours-summary{background:var(--portal-bg);border-radius:12px;flex-wrap:wrap;gap:12px;margin-bottom:22px;padding:12px 18px;display:flex}.portal-hour-range-row{align-items:center;gap:6px;font-size:.88rem;display:flex}.portal-hour-days{color:var(--portal-text-muted)}.portal-hour-val{color:var(--portal-text-main);font-weight:750}.portal-hour-interval{color:var(--portal-primary);background:#2563eb14;border-radius:6px;padding:2px 8px;font-size:.78rem;font-weight:600}.portal-dep-chips-bar{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.portal-dep-count-badge{color:var(--portal-text-main);background:#f1f5f9;border-radius:8px;padding:4px 10px;font-size:.82rem;font-weight:750}.portal-dep-range-label{color:var(--portal-text-muted);font-size:.82rem}.portal-dep-time-chips{flex-wrap:wrap;gap:8px;max-height:240px;padding-right:4px;display:flex;overflow-y:auto}.portal-dep-time-chips::-webkit-scrollbar{width:6px}.portal-dep-time-chips::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.portal-dep-time-btn{border:1px solid var(--portal-border);font-variant-numeric:tabular-nums;color:var(--portal-text-main);cursor:pointer;background:#fff;border-radius:8px;padding:8px 13px;font-family:inherit;font-size:.92rem;font-weight:700;transition:all .15s}.portal-dep-time-btn:hover{border-color:var(--portal-primary);color:var(--portal-primary);background:#f8fafc;transform:translateY(-1px)}.portal-dep-time-btn.is-active,.portal-dep-time-btn[aria-pressed=true]{background:var(--portal-primary);color:#fff;border-color:var(--portal-primary);box-shadow:0 4px 10px #2563eb40}.portal-timeline-wrap{border:1px solid var(--portal-border);background:#fff;border-radius:20px;margin-bottom:24px;overflow:hidden;box-shadow:0 4px 20px #0f172a08}.portal-timeline-head-bar{border-bottom:1px solid var(--portal-border);justify-content:space-between;align-items:center;gap:16px;padding:20px 28px;display:flex}.portal-timeline-head-bar h2{color:var(--portal-text-main);margin:0;font-size:1.25rem;font-weight:800}.portal-timeline-search-input{border:1px solid var(--portal-border);background:#f8fafc;border-radius:10px;width:100%;max-width:260px;padding:8px 14px;font-family:inherit;font-size:.88rem}.portal-timeline-search-input:focus{border-color:var(--portal-primary);background:#fff;outline:none}.portal-timeline-table{border-collapse:collapse;text-align:left;width:100%}.portal-timeline-table thead th{text-transform:uppercase;letter-spacing:.06em;color:var(--portal-text-muted);border-bottom:1px solid var(--portal-border);background:#f8fafc;padding:12px 28px;font-size:.74rem;font-weight:800}.portal-timeline-row{border-bottom:1px solid #f1f5f9;transition:background .15s}.portal-timeline-row:last-child{border-bottom:none}.portal-timeline-row:hover{background:#f8fafc}.portal-timeline-row.start-terminal{background:#2563eb05}.portal-timeline-row.end-terminal{background:#f9731605}.portal-timeline-table td{vertical-align:middle;padding:14px 28px}.portal-timeline-idx{color:#94a3b8;font-variant-numeric:tabular-nums;font-size:.88rem;font-weight:750}.portal-timeline-offset{color:var(--portal-primary);font-variant-numeric:tabular-nums;white-space:nowrap;background:#2563eb0f;border-radius:6px;padding:3px 8px;font-size:.82rem;font-weight:700;display:inline-block}.portal-timeline-stop-name{color:var(--portal-text-main);font-size:.98rem;font-weight:700;text-decoration:none;transition:color .15s}a.portal-timeline-stop-name:hover{color:var(--portal-primary)}.portal-timeline-arrival{color:var(--portal-primary);font-variant-numeric:tabular-nums;background:#2563eb14;border-radius:8px;padding:4px 10px;font-size:1.05rem;font-weight:800;display:inline-block}.portal-sidebar-card{border:1px solid var(--portal-border);background:#fff;border-radius:18px;margin-bottom:20px;padding:24px;box-shadow:0 4px 16px #0f172a08}.portal-sidebar-card h3{color:var(--portal-text-main);border-bottom:1px solid var(--portal-border);margin:0 0 16px;padding-bottom:12px;font-size:1.05rem;font-weight:800}.portal-sidebar-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.portal-sidebar-list li a{color:var(--portal-text-main);background:#f8fafc;border-radius:8px;padding:8px 12px;font-size:.9rem;font-weight:600;text-decoration:none;transition:all .15s;display:block}.portal-sidebar-list li a:hover{color:var(--portal-primary);background:#2563eb14;transform:translate(3px)}.portal-route-desc-card{border:1px solid var(--portal-border);background:#fff;border-radius:20px;padding:28px;box-shadow:0 4px 20px #0f172a08}.portal-route-desc-card h2{color:var(--portal-text-main);margin:0 0 14px;font-size:1.2rem;font-weight:800}.skip-link{z-index:9999;position:absolute;top:-9999px;left:-9999px}.skip-link:focus{background:var(--ink);color:#fff;border-radius:6px;padding:.75rem 1rem;position:fixed;top:10px;left:10px}.stats{border-bottom:1px solid var(--line);grid-template-columns:repeat(3,1fr);display:grid}.stats strong{font-variant-numeric:tabular-nums;font-size:2rem;line-height:1;display:block}.stats span{color:var(--muted);margin-top:.4rem;font-size:.82rem;display:block}.route-hero,.detail-hero{border-top:5px solid var(--accent);border-bottom:1px solid var(--line);background:var(--surface);padding:clamp(24px,4vw,44px) 0 1.6rem;position:relative}.route-number-large{border:2px solid color-mix(in srgb, var(--accent) 86%, #000);background:var(--accent);color:#fff;letter-spacing:-.055em;min-height:84px;box-shadow:0 6px 0 color-mix(in srgb, var(--accent) 72%, #000);border-radius:14px;place-items:center;padding:.55rem;font-size:clamp(2rem,3.6vw,3.25rem);font-weight:900;display:grid}.route-subtitle{max-width:780px;color:var(--muted);margin:.65rem 0 0;font-size:1rem;line-height:1.45}.route-summary{border:1px solid var(--line);background:var(--bg);border-radius:10px;grid-template-columns:repeat(2,1fr);display:grid;overflow:hidden}.summary-item small{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:.64rem;font-weight:750;display:block}.summary-item strong{font-variant-numeric:tabular-nums;margin-top:.25rem;font-size:1.12rem;display:block}.schedule-layout article{flex-direction:column;display:flex}.content-section{padding:0 0 clamp(2rem,4vw,3.25rem)}.content-section+.content-section{border-top:1px solid var(--line);padding-top:clamp(1.8rem,3vw,2.6rem)}.route-answer-section{order:0}.route-timetable-section{order:1}.service-board-section{order:2}.route-operating-section{order:3}.route-stops-section{order:4}.route-trace-section{order:5}.route-vehicle-section{order:6}@keyframes panel-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.published-schedule{margin-bottom:1.35rem}.departure-table thead th:first-child{width:235px}.departure-table tbody th{color:var(--ink);letter-spacing:.02em;font-size:.76rem}.departure-times{flex-wrap:wrap;gap:.45rem;display:flex}.departure-time{border:1px solid color-mix(in srgb, var(--accent) 55%, var(--line));background:color-mix(in srgb, var(--accent-soft) 55%, var(--surface));min-width:68px;min-height:38px;color:var(--ink);font-variant-numeric:tabular-nums;border-radius:7px;place-items:center;padding:.35rem .7rem;font-size:1rem;font-weight:850;display:inline-grid}.departure-details{max-width:780px;color:var(--muted);margin:.65rem 0 0;font-size:.78rem;line-height:1.55}.route-matrix thead th>span{color:var(--accent);letter-spacing:.08em;margin-bottom:.28rem;font-size:.62rem;display:block}.route-matrix thead th>strong{line-height:1.2;display:block}.route-matrix tbody th strong,.route-matrix tbody th small{display:block}.route-matrix tbody th small{color:var(--muted);margin-top:.2rem;font-size:.6rem}.route-matrix td time{font-variant-numeric:tabular-nums;font-weight:760}.route-matrix td.is-empty{color:color-mix(in srgb, var(--muted) 45%, transparent)}.time-note-marker{background:var(--warning-soft);min-width:18px;height:18px;color:var(--warning);border-radius:50%;place-items:center;margin-left:.25rem;font-size:.62rem;font-weight:900;display:inline-grid}.matrix-overview{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:minmax(240px,1.5fr) repeat(3,minmax(100px,.55fr));margin-bottom:1rem;display:grid}.matrix-overview>div{min-width:0;padding:.8rem 1rem .8rem 0}.matrix-overview>div+div{border-left:1px solid var(--line);padding-left:1rem}.matrix-overview small,.matrix-overview strong{display:block}.matrix-overview small{color:var(--muted);letter-spacing:.07em;text-transform:uppercase;font-size:.62rem;font-weight:800}.matrix-overview strong{font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;margin-top:.25rem;font-size:.9rem;overflow:hidden}.schedule-legend{border-bottom:1px solid var(--line);color:var(--muted);flex-wrap:wrap;gap:.45rem 1rem;padding:.9rem 0;font-size:.72rem;display:flex}.schedule-legend span:first-letter{color:var(--accent);font-weight:900}.route-stops-table-wrap{border-radius:6px}.route-stops-table{min-width:780px}.route-stops-table th:first-child,.route-stops-table td:first-child{width:58px;color:var(--accent);font-variant-numeric:tabular-nums;font-weight:900}.route-stops-table th:nth-child(2){width:34%}.route-stops-table td:nth-child(3){color:var(--muted);font-size:.78rem}.route-stops-table td:nth-child(n+4){font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:800}.schedule-toolbar-compact{border-bottom:1px solid var(--line);align-items:end;padding-bottom:1.1rem}.stop-picker{max-width:520px;color:var(--muted);letter-spacing:.04em;flex:360px;font-size:.72rem;font-weight:750}.stop-picker select{border-radius:8px;width:100%;min-height:48px;margin-top:.35rem;padding-inline:.9rem 2.4rem;font-size:.92rem;font-weight:700}.schedule-day-controls{justify-items:end;gap:.45rem;display:grid}.relative-day-switch{gap:.35rem;display:flex}.relative-day-button{background:var(--surface-strong);min-height:32px;color:var(--ink);border:0;border-radius:999px;padding:.35rem .7rem;font-size:.72rem;font-weight:850}.relative-day-button:hover:not(:disabled),.relative-day-button.is-active{background:var(--ink);color:#fff}.relative-day-button:disabled{cursor:not-allowed;opacity:.42}.day-switch{flex-wrap:wrap;justify-content:flex-end;gap:.35rem;display:flex}.day-switch-button{border:1px solid var(--line);min-height:42px;color:var(--muted);background:0 0;border-radius:7px;padding:.55rem .85rem;font-size:.76rem;font-weight:800}.day-switch-button:hover{border-color:var(--accent);color:var(--accent)}.day-switch-button.is-active{border-color:var(--accent);background:var(--accent);color:#fff}.selected-stop-heading{gap:.2rem;margin:1.2rem 0 1rem;display:grid}.selected-stop-heading span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.68rem;font-weight:800}.selected-stop-heading strong{font-size:clamp(1.1rem,2.2vw,1.45rem)}.stop-schedule-stack{border-top:1px solid var(--line)}.stop-schedule-panel[hidden],.day-schedule[hidden]{display:none}.hour-row{border-bottom:1px solid var(--line);grid-template-columns:54px minmax(0,1fr);align-items:start;gap:.8rem;padding:.72rem 0;display:grid}.hour-row>strong{color:var(--accent);font-variant-numeric:tabular-nums;font-size:1.25rem;line-height:1.65}.hour-row>div{flex-wrap:wrap;gap:.38rem;display:flex}.hour-row time{border:1px solid color-mix(in srgb, var(--line) 72%, transparent);background:var(--surface-strong);min-width:42px;color:var(--ink);text-align:center;font-variant-numeric:tabular-nums;border-radius:7px;padding:.42rem .5rem;font-size:.88rem;font-weight:820}.hour-row time:before{content:":";color:var(--muted);font-weight:600}.hour-row time.is-next{background:var(--positive-soft);color:var(--positive);box-shadow:inset 0 0 0 1px var(--positive)}.route-stops-open{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.route-stops-head{justify-content:space-between;align-items:center;gap:1rem;padding:.9rem 0;display:flex}.route-stops-head strong{font-size:1.02rem}.route-stops-head span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.7rem;font-weight:800}.route-stops-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 1.35rem;margin:0;padding:0 0 .75rem;list-style:none;display:grid}.route-stops-grid li{border-top:1px solid var(--line);grid-template-columns:36px minmax(0,1fr);align-items:start;gap:.6rem;min-height:56px;padding:.7rem 0;display:grid;position:relative}.route-stops-grid li>span{border:1px solid var(--accent);width:27px;height:27px;color:var(--accent);font-variant-numeric:tabular-nums;border-radius:50%;place-items:center;font-size:.67rem;font-weight:900;display:grid}.route-stops-grid li strong{line-height:1.3;display:block}.route-stops-grid li small{color:var(--muted);margin-top:.18rem;font-size:.72rem;display:block}.service-board{border-top:1px solid var(--line)}.service-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(180px,1.25fr) repeat(2,minmax(110px,.55fr));align-items:start;gap:.75rem 1rem;padding:1rem 0;display:grid}.service-row:has(.service-interval){grid-template-columns:minmax(180px,1.15fr) repeat(2,minmax(105px,.5fr)) minmax(180px,1fr)}.service-day strong,.service-day small,.service-time small,.service-time strong,.service-interval small,.service-interval span{display:block}.service-day strong{font-size:.95rem}.service-day small{color:var(--muted);margin-top:.25rem;font-size:.7rem;line-height:1.35}.service-time,.service-interval{border-left:1px solid var(--line);padding-left:1rem}.service-time small,.service-interval small{color:var(--muted);letter-spacing:.07em;text-transform:uppercase;font-size:.62rem;font-weight:800}.service-time strong{color:var(--accent);font-variant-numeric:tabular-nums;margin-top:.25rem;font-size:1.18rem}.service-interval span{margin-top:.25rem;font-size:.76rem;line-height:1.45}.last-trip-answer{border:1px solid var(--line);border-top:4px solid var(--accent);background:var(--surface);border-radius:12px;margin-bottom:clamp(2.5rem,6vw,4.5rem);padding:clamp(1.35rem,3vw,2rem)}.last-trip-answer h2{margin-bottom:.75rem}.last-trip-intro,.last-trip-note{color:var(--muted)}.last-trip-intro{margin:0 0 1rem}.last-trip-note{margin:1rem 0 0;font-size:.8rem}.last-trip-grid{border-top:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.last-trip-card{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;gap:.25rem 1rem;padding:1rem 0;display:grid}.last-trip-card:nth-child(2n){border-left:1px solid var(--line);padding-left:1rem}.last-trip-card span{color:var(--accent);letter-spacing:.07em;text-transform:uppercase;font-size:.7rem;font-weight:850}.last-trip-card strong{font-variant-numeric:tabular-nums;grid-row:span 2;font-size:1.65rem;line-height:1}.last-trip-card small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.stop-detail-link,.inline-route-link{color:var(--accent);font-weight:850}.stop-catalog{border-top-color:var(--secondary)}.stop-count{background:var(--accent-soft);min-width:46px;color:var(--accent);text-align:center;font-variant-numeric:tabular-nums;border-radius:999px;padding:.35rem .55rem;font-weight:900}.stop-hero{padding-bottom:2.5rem}.stop-summary{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(4,minmax(0,1fr));margin-top:2rem;display:grid}.stop-summary>div{padding:1rem 1.2rem 1rem 0}.stop-summary>div+div{border-left:1px solid var(--line);padding-left:1.2rem}.stop-summary strong{font-variant-numeric:tabular-nums;font-size:1.45rem;display:block}.stop-summary small{color:var(--muted);margin-top:.2rem;display:block}.stop-route-list{border-top-color:var(--secondary)}.stop-route-list .route-list a{align-items:start;min-height:0;padding-block:1rem}.stop-route-copy{min-width:0}.route-passage{border-top:1px solid var(--line);color:var(--muted);margin-top:.8rem;padding-top:.75rem;font-size:.82rem;display:block}.route-passage>b,.route-passage>span{display:block}.route-passage>b{color:var(--ink)}.stop-departures{margin-top:.6rem}.stop-time-grid{flex-wrap:wrap;gap:.35rem;margin-top:.45rem;display:flex!important}.stop-time-grid time{border:1px solid var(--line);background:var(--surface-strong);min-width:56px;color:var(--ink);text-align:center;font-variant-numeric:tabular-nums;border-radius:5px;padding:.34rem .42rem;font-weight:800}.stop-route-table{min-width:900px}.stop-route-table th:first-child{width:18%}.stop-route-table th:nth-child(2){width:22%}.stop-route-table th:nth-child(3){width:28%}.stop-route-table td>small,.stop-route-table td>strong+small{color:var(--muted);margin-top:.4rem;font-weight:500;display:block}.stop-route-table .route-badge{width:fit-content;min-width:54px;margin-bottom:.5rem;text-decoration:none}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}[data-reveal]{opacity:1;transform:none}}@media (width<=900px){.home-intro-inner{grid-template-columns:1fr}.home-copy{padding:44px 24px}.atlas-visual{min-height:330px}.section-head,.route-identity,.detail-grid,.schedule-layout{grid-template-columns:1fr}.route-identity{grid-template-columns:88px minmax(0,1fr)}.route-summary{grid-column:1/-1}.route-number-large{min-height:76px}.aside{position:static}.mode-links{grid-template-columns:repeat(2,1fr)}}@media (width<=680px){:root{--header:58px}.shell,.breadcrumbs{width:calc(100% - 28px)}.departure-table thead th:first-child{width:150px}.departure-table th,.departure-table td{padding:.7rem}.departure-time{min-width:62px;min-height:34px;font-size:.9rem}.site-header{gap:.7rem;padding:0 14px}.brand-note{display:none}.brand-name{font-size:.82rem}.brand-mark{width:32px;height:32px}.site-header nav{gap:.05rem;min-width:0;overflow-x:auto}.site-header nav a{padding:.45rem .48rem;font-size:.72rem}.site-header .nav-search{display:none}.home-copy h1{font-size:clamp(2.15rem,10.5vw,3.25rem)}.home-copy{padding:34px 18px}.atlas-visual{min-height:220px}.atlas-board strong{font-size:2.5rem}.stats{grid-template-columns:1fr}.stats>div,.stats>div+div{border-left:0;border-bottom:1px solid var(--line);grid-template-columns:80px 1fr;align-items:baseline;padding:.8rem 0;display:grid}.stats>div:last-child{border-bottom:0}.stats strong{font-size:1.55rem}.search-tools{grid-template-columns:1fr}.search-tools label+label{border-left:0;border-top:1px solid var(--line)}.route-list a{grid-template-columns:56px minmax(0,1fr) auto;padding-inline:.8rem}.route-list a:hover{padding-left:.8rem}.route-list strong{font-size:.9rem}.route-list small{font-size:.7rem}.mode-links{grid-template-columns:1fr}.mode-links a{min-height:116px}.mode-links a+a{border-left:0}.page-hero h1{font-size:clamp(2rem,9vw,3rem)}.route-identity{grid-template-columns:68px minmax(0,1fr);gap:1rem}.route-number-large{border-radius:10px 10px 14px 14px;min-height:60px;font-size:1.7rem}.route-hero h1,.detail-hero h1{font-size:clamp(1.75rem,7.8vw,2.55rem)}.direction-bar{grid-template-columns:1fr;padding:.4rem}.direction-tabs{grid-template-columns:1fr}.print-button{display:none}.next-strip{gap:.55rem;padding-inline:.75rem}.next-note{margin-left:0}.schedule-toolbar{display:grid}.schedule-toolbar label{min-width:0}.schedule-day-controls{justify-items:start}.matrix-overview{grid-template-columns:repeat(3,1fr)}.matrix-overview>div:first-child{border-bottom:1px solid var(--line);grid-column:1/-1}.matrix-overview>div:nth-child(2){border-left:0;padding-left:0}.day-switch{justify-content:flex-start}.route-stops-grid{grid-template-columns:1fr}.service-row,.service-row:has(.service-interval){grid-template-columns:repeat(2,minmax(0,1fr))}.service-day,.service-interval{grid-column:1/-1}.service-time:nth-of-type(2),.service-interval{border-left:0;padding-left:0}.facts,.last-trip-grid{grid-template-columns:1fr}.stop-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.stop-summary>div:nth-child(3){border-left:0;border-top:1px solid var(--line);padding-left:0}.stop-summary>div:nth-child(4){border-top:1px solid var(--line)}.stop-route-list .route-list a{grid-template-columns:48px minmax(0,1fr)}.stop-route-list .route-arrow{display:none}.fact:nth-child(2n),.last-trip-card:nth-child(2n){border-left:0;padding-left:0}.site-footer{grid-template-columns:1fr}.site-footer nav{flex-wrap:wrap;justify-content:flex-start}.site-footer small{grid-column:auto}}@media (width<=520px){.brand-name{display:none}.site-header nav a{padding-inline:.42rem;font-size:.68rem}}@media print{.site-header,.site-footer,.breadcrumbs,.aside,.hero-actions,.print-button,.direction-bar{display:none!important}body{background:#fff}.shell{width:100%}.route-hero{padding-top:0}.schedule-layout,.detail-grid{padding:1rem 0;display:block}details{break-inside:avoid}}:root{--canvas:#f1eee7;--surface:#fffdf8;--surface-strong:#e8e3d8;--ink:#172c2b;--muted:#64706d;--line:#d3cdc0;--accent:#d4772a;--accent-strong:#984b13;--accent-soft:#f4dfcc;--secondary:#0d5b57;--secondary-soft:#d5e8e5;--positive:#147254;--positive-soft:#dcefe6;--warning:#ae6b10;--warning-soft:#f6e8c8;--max:1280px;--header:62px;--font-ui:"Segoe UI Variable", "Segoe UI", Arial, sans-serif;color:var(--ink);background:var(--canvas);font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--canvas)}body{background:var(--canvas);min-width:320px;color:var(--ink);font-family:var(--font-ui);margin:0;line-height:1.52}body:before{content:"";pointer-events:none;opacity:.36;z-index:-1;background-image:linear-gradient(#20282706 1px,#0000 1px),linear-gradient(90deg,#20282706 1px,#0000 1px);background-size:48px 48px;display:block;position:fixed;inset:0;mask-image:linear-gradient(#000,#0000 72%)}a{color:inherit;text-underline-offset:4px;text-decoration-thickness:1px}a:hover{color:var(--accent)}button,input,select{font:inherit}button,select{cursor:pointer}img{max-width:100%}.analytics-pixel{width:1px;height:1px;position:absolute;left:-9999px}::selection{background:var(--accent);color:#fff}.skip-link{z-index:100;background:var(--ink);color:#fff;padding:.75rem 1rem;position:fixed;top:8px;left:8px;transform:translateY(-160%)}.skip-link:focus{transform:none}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.shell{width:min(var(--max), calc(100% - 48px));margin-inline:auto}.site-header{min-height:var(--header);padding:0 max(24px, calc((100vw - var(--max)) / 2));border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--canvas) 92%, transparent);backdrop-filter:blur(16px);z-index:20;justify-content:space-between;align-items:center;gap:1rem;display:flex;position:sticky;top:0}.brand{letter-spacing:-.02em;align-items:center;gap:.85rem;font-weight:850;line-height:1.05;text-decoration:none;display:flex}.brand:hover{color:var(--ink)}.brand-mark{background:var(--accent);color:#fff;border-radius:7px 7px 10px 10px;flex:none;place-items:center;width:34px;height:34px;font-size:.94rem;font-weight:900;display:grid;position:relative;box-shadow:inset 0 -4px #0000001f}.brand-mark:before,.brand-mark:after{content:"";background:var(--ink);border:2px solid var(--canvas);border-radius:50%;width:7px;height:7px;position:absolute;bottom:-4px}.brand-mark:before{left:4px}.brand-mark:after{right:4px}.brand-name{font-size:.9rem;display:block}.brand-note{color:var(--muted);letter-spacing:.025em;margin-top:.12rem;font-size:.62rem;font-weight:600;display:block}.site-header nav,.site-footer nav{align-items:center;gap:.35rem;display:flex}.site-header nav a{border-radius:6px;align-items:center;min-height:34px;padding:.42rem .65rem;font-size:.8rem;font-weight:750;text-decoration:none;display:inline-flex}.site-header nav a:hover{background:var(--surface-strong);color:var(--ink)}.site-header .nav-search{background:var(--ink);color:#fff;margin-left:.25rem}.site-header .nav-search:hover{background:var(--accent);color:#fff}.menu-toggle{border:1px solid var(--line);background:var(--surface);width:44px;height:44px;color:var(--ink);border-radius:8px;padding:10px;display:none}.menu-toggle span{background:currentColor;width:100%;height:2px;transition:transform .18s,opacity .18s;display:block}.menu-toggle span+span{margin-top:5px}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(7px)rotate(45deg)}.menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-7px)rotate(-45deg)}.eyebrow{color:var(--accent);letter-spacing:.13em;text-transform:uppercase;align-items:center;gap:.6rem;margin:0 0 .9rem;font-size:.72rem;font-weight:850;display:flex}.eyebrow:before{content:"";background:currentColor;width:26px;height:3px}.button{border:1px solid var(--ink);background:var(--ink);color:#fff;border-radius:8px;justify-content:center;align-items:center;min-height:46px;padding:.72rem 1rem;font-weight:800;text-decoration:none;transition:transform .18s,background .18s,border-color .18s;display:inline-flex}.button:hover{background:var(--accent);border-color:var(--accent);color:#fff;transform:translateY(-2px)}.button.secondary{color:var(--ink);background:0 0}.button.secondary:hover{color:#fff}.home-intro{border-bottom:1px solid var(--line);background:var(--surface);position:relative;overflow:hidden}.home-intro-inner{grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);min-height:360px;display:grid}.home-copy{padding:clamp(34px, 4vw, 52px) clamp(30px, 5vw, 70px) clamp(34px, 4vw, 52px) max(24px, calc((100vw - var(--max)) / 2));align-self:center}.home-copy h1,.page-hero h1,.detail-hero h1,.route-hero h1{letter-spacing:-.055em;text-wrap:balance;margin:0;font-weight:780;line-height:.98}.home-copy h1{max-width:760px;font-size:clamp(2.45rem,4.8vw,4.7rem)}.home-copy>p:not(.eyebrow){max-width:620px;color:var(--muted);margin:1rem 0 0;font-size:clamp(.98rem,1.35vw,1.16rem)}.hero-actions{flex-wrap:wrap;gap:.6rem;margin-top:1.2rem;display:flex}.atlas-visual{background:var(--secondary);color:#fff;min-height:360px;position:relative;overflow:hidden}.atlas-grid{opacity:.16;background-image:linear-gradient(#ffffff80 1px,#0000 1px),linear-gradient(90deg,#ffffff80 1px,#0000 1px);background-size:54px 54px;position:absolute;inset:0}.atlas-route{border:12px solid var(--accent-soft);border-left:0;border-radius:0 48% 48% 0;width:88%;height:62%;position:absolute;top:18%;left:-12%;transform:rotate(-7deg)}.atlas-route:before,.atlas-route:after{content:"";background:var(--secondary);border:7px solid var(--accent-soft);border-radius:50%;width:18px;height:18px;position:absolute}.atlas-route:before{top:-15px;right:20%}.atlas-route:after{bottom:24%;right:-15px}.atlas-board{border-top:1px solid #ffffff73;width:min(390px,82%);padding-top:1rem;position:absolute;bottom:9%;right:8%}.atlas-board span{color:#ffffffb8;text-transform:uppercase;letter-spacing:.11em;font-size:.78rem;display:block}.atlas-board strong{letter-spacing:-.055em;font-variant-numeric:tabular-nums;margin:.35rem 0;font-size:clamp(2.4rem,5vw,4.7rem);line-height:1;display:block}.stats{border-bottom:1px solid var(--line);grid-template-columns:repeat(3,1fr);margin-block:0;display:grid}.stats>div{padding:1.35rem 1.5rem 1.35rem 0}.stats>div+div{border-left:1px solid var(--line);padding-left:1.5rem}.stats dd{font-variant-numeric:tabular-nums;margin:0;font-size:2rem;font-weight:800;line-height:1;display:block}.stats dt{color:var(--muted);margin-top:.4rem;font-size:.82rem;display:block}.section{padding:clamp(58px,8vw,104px) 0}.section+.section{border-top:1px solid var(--line)}.section-head{grid-template-columns:minmax(0,1fr) minmax(280px,.52fr);align-items:end;gap:clamp(2rem,8vw,7rem);margin-bottom:2rem;display:grid}.section-head h2,.content-section h2{letter-spacing:-.05em;text-wrap:balance;margin:0;font-size:clamp(2rem,4.2vw,4.1rem);font-weight:760;line-height:1}.section-head p{color:var(--muted);margin:0}.route-search{background:var(--surface);border-top:3px solid var(--ink);border-bottom:1px solid var(--line)}.search-tools{border-bottom:1px solid var(--line);grid-template-columns:2fr 1fr;display:grid}.search-tools:is(fieldset){border:0;border-bottom:1px solid var(--line);min-width:0;margin:0;padding:0}.search-tools.single{grid-template-columns:1fr}.route-list article{margin:0}.search-tools label{gap:.35rem;padding:1rem 1.2rem;display:grid}.search-tools label+label{border-left:1px solid var(--line)}.search-tools span{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-size:.68rem;font-weight:800}.search-tools input,.search-tools select{width:100%;min-height:38px;color:var(--ink);background:0 0;border:0;outline:0;padding:0;font-weight:650}.search-tools label:focus-within{background:var(--accent-soft)}.search-status{border-bottom:1px solid var(--line);color:var(--muted);margin:0;padding:.7rem 1.2rem;font-size:.78rem}.route-list{margin:0;padding:0;list-style:none}.route-list li{border-bottom:1px solid var(--line)}.route-list li:last-child{border-bottom:0}.route-list li[hidden]{display:none}.route-list a{grid-template-columns:74px minmax(0,1fr) auto;align-items:center;gap:1rem;min-height:76px;padding:.7rem 1.2rem;text-decoration:none;transition:background .18s,padding .18s;display:grid}.route-list a:hover{background:var(--accent-soft);color:var(--ink);padding-left:1.65rem}.route-list strong{font-size:1rem;display:block}.route-list small{color:var(--muted);margin-top:.2rem;display:block}.route-arrow{color:var(--accent);font-size:1.4rem}.route-badge{background:var(--ink);color:#fff;font-variant-numeric:tabular-nums;border-radius:7px;place-items:center;min-height:42px;padding:.25rem .45rem;font-size:1rem;font-weight:900;display:grid}.route-badge.city,.route-badge.bus{background:var(--accent)}.route-badge.sady,.route-badge.tram{background:var(--warning)}.route-badge.prigorod,.route-badge.trolleybus{background:var(--secondary)}.route-badge.mezgorod{background:var(--ink)}.connection-number{overflow-wrap:normal;word-break:normal;text-align:center;min-width:0;font-size:clamp(.76rem,2.4vw,.9rem);line-height:1.05}.empty-state{margin:0;padding:1.5rem 1.2rem}.mode-links{border-top:1px solid var(--line);grid-template-columns:repeat(4,1fr);display:grid}.mode-links a{border-bottom:1px solid var(--line);flex-direction:column;justify-content:space-between;min-height:164px;padding:1.5rem;text-decoration:none;transition:background .18s,color .18s;display:flex}.mode-links a+a{border-left:1px solid var(--line)}.mode-links a:hover{background:var(--ink);color:#fff}.mode-links span{color:var(--muted)}.mode-links a:hover span{color:#ffffffad}.mode-links strong{letter-spacing:-.035em;font-size:clamp(1.45rem,2.8vw,2.35rem);line-height:1.05}.breadcrumbs{width:min(var(--max), calc(100% - 48px));margin:1rem auto}.breadcrumbs ol{color:var(--muted);flex-wrap:wrap;gap:.5rem;margin:0;padding:0;font-size:.78rem;list-style:none;display:flex}.breadcrumbs a{text-decoration:none}.breadcrumbs li+li:before{content:"/";color:var(--accent);margin-right:.5rem}.page-hero{border-bottom:1px solid var(--line);padding:clamp(42px,7vw,82px) 0 2.2rem}.page-hero h1{max-width:960px;font-size:clamp(2.15rem,4vw,4rem)}.page-hero p{max-width:740px;color:var(--muted);margin:1.2rem 0 0;font-size:1.08rem}.page-hero .data-period{color:var(--secondary);font-size:.9rem;font-weight:750}.route-hero,.detail-hero{border-bottom:1px solid var(--line);padding:clamp(30px,5vw,60px) 0 2.4rem}.route-identity{grid-template-columns:110px minmax(0,1fr) minmax(280px,.5fr);align-items:start;gap:clamp(1.25rem,4vw,3.5rem);display:grid}.route-number-large{background:var(--accent);color:#fff;letter-spacing:-.055em;border-radius:16px 16px 22px 22px;place-items:center;min-height:92px;padding:.6rem;font-size:clamp(2.1rem,4vw,3.7rem);font-weight:900;display:grid;box-shadow:inset 0 -8px #0000001f}.route-number-large.train,.route-number-large.suburban{background:var(--warning);color:var(--ink);overflow-wrap:anywhere;border-radius:10px;font-size:clamp(1.4rem,2.5vw,2.45rem);overflow:hidden}.route-number-large.flight{background:var(--secondary);border-radius:50%}.route-hero h1,.detail-hero h1{font-size:clamp(1.9rem,3.4vw,3.35rem)}.route-subtitle{color:var(--muted);margin:1rem 0 0;font-size:1.04rem}.route-summary{border-top:1px solid var(--line);grid-template-columns:repeat(2,1fr);margin:0;display:grid}.summary-item{border-bottom:1px solid var(--line);padding:.9rem .8rem .9rem 0}.summary-item:nth-child(2n){border-left:1px solid var(--line);padding-left:.8rem}.summary-item dt{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:.68rem;display:block}.summary-item dd{margin:.2rem 0 0;font-size:1rem;font-weight:800;display:block}.detail-meta{flex-wrap:wrap;gap:.5rem;margin-top:1.2rem;display:flex}.tag{border:1px solid var(--line);background:var(--surface);border-radius:6px;align-items:center;min-height:32px;padding:.35rem .65rem;font-size:.78rem;display:inline-flex}.detail-number{color:var(--accent)}.direction-bar{border:1px solid var(--line);background:var(--surface);border-radius:12px;grid-template-columns:1fr auto;align-items:center;gap:1rem;margin-top:1.2rem;padding:.55rem;display:grid}.direction-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem;display:grid}.direction-tab{min-height:56px;color:var(--ink);text-align:left;background:0 0;border:0;border-radius:8px;padding:.65rem .85rem}.direction-tab small{color:var(--muted);font-size:.68rem;display:block}.direction-tab strong{margin-top:.15rem;font-size:.9rem;display:block}.direction-tab[aria-selected=true]{background:var(--accent);color:#fff}.direction-tab[aria-selected=true] small{color:#ffffffbf}.print-button{border:0;border-left:1px solid var(--line);width:46px;height:46px;color:var(--muted);background:0 0;font-size:1.15rem}.print-button:hover{color:var(--accent)}.next-strip{border-left:4px solid var(--positive);background:var(--positive-soft);color:#135a45;white-space:nowrap;align-items:center;gap:.75rem;margin-top:1rem;padding:.72rem 1rem;display:flex;overflow-x:auto}.next-strip:before{content:"";background:var(--positive);border-radius:50%;width:9px;height:9px;box-shadow:0 0 0 5px #197a5a1f}.next-label{font-size:.75rem}.next-times{font-variant-numeric:tabular-nums;flex-wrap:wrap;gap:.4rem;font-weight:850;display:flex}.next-note{color:var(--muted);margin-left:auto;font-size:.72rem}.detail-grid,.schedule-layout{grid-template-columns:minmax(0,1fr) 270px;gap:clamp(2rem,4vw,3.5rem);padding:clamp(42px,6vw,72px) 0;display:grid}.detail-grid article,.schedule-layout article{min-width:0}.content-section{padding-bottom:clamp(2.5rem,6vw,4.5rem)}.content-section h2{margin-bottom:1.3rem;font-size:clamp(1.8rem,3.4vw,3.05rem)}.section-kicker{color:var(--accent);text-transform:uppercase;letter-spacing:.11em;margin:0 0 .5rem;font-size:.69rem;font-weight:850}.schedule-toolbar{justify-content:space-between;align-items:end;gap:1rem;margin-bottom:1rem;display:flex}.schedule-toolbar label{min-width:min(280px,100%);color:var(--muted);gap:.3rem;font-size:.7rem;display:grid}.schedule-toolbar select{border:1px solid var(--line);background:var(--surface);min-height:42px;color:var(--ink);border-radius:7px;padding:.5rem .7rem}.direction-panel{animation:.22s panel-in}.direction-panel[hidden]{display:none}.weekday-row{flex-wrap:wrap;gap:.35rem;margin:0 0 1rem;display:flex}.weekday{border:1px solid var(--line);background:var(--surface);min-height:38px;color:var(--ink);border-radius:7px;padding:.4rem .72rem;font-size:.78rem}.weekday.is-active{border-color:var(--accent);background:var(--accent);color:#fff}.stop-time{border-top:1px solid var(--line)}.stop-time summary{cursor:pointer;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1rem;padding:1rem 0;font-weight:800;list-style:none;display:grid}.stop-time summary::-webkit-details-marker{display:none}.stop-time summary:after{content:"+";color:var(--accent);font-size:1.2rem}.stop-time[open] summary:after{content:"−"}.always-open{padding-bottom:1.2rem}.always-open-head{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1rem;padding:1rem 0;font-weight:800;display:grid}.always-open-head small{color:var(--muted)}.time-chips{flex-wrap:wrap;gap:.45rem;padding:.1rem 0 1.2rem;display:flex}.time-chips span{border:1px solid var(--line);background:var(--surface);text-align:center;font-variant-numeric:tabular-nums;border-radius:6px;min-width:62px;padding:.45rem .55rem;font-weight:780}.time-chips span.is-next{border-color:var(--positive);background:var(--positive-soft);color:var(--positive)}.time-chips small{color:var(--muted);font-size:.62rem}.schedule-table-wrap{border:1px solid var(--line);background:var(--surface);border-radius:10px;overflow-x:auto}.schedule-table{border-collapse:collapse;background:var(--surface);width:100%}.schedule-table caption{border-bottom:1px solid var(--line);color:var(--muted);text-align:left;padding:.75rem 1rem;font-size:.78rem;font-weight:700}.schedule-table th,.schedule-table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:.85rem 1rem}.schedule-table tr:last-child th,.schedule-table tr:last-child td{border-bottom:0}.schedule-table th{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:.7rem;font-weight:800}.schedule-table td:first-child{font-variant-numeric:tabular-nums;font-weight:800}.table-hint{color:var(--muted);margin:-.35rem 0 .7rem;font-size:.75rem}.route-matrix-wrap{max-height:min(70vh,720px);scroll-margin-top:calc(var(--header) + 8px);border-radius:6px}.route-matrix{width:max-content;min-width:100%;font-size:.78rem}.route-matrix th,.route-matrix td{border-right:1px solid var(--line);text-align:center;white-space:nowrap;min-width:88px;padding:.58rem .7rem}.route-matrix thead th{z-index:3;white-space:normal;background:var(--surface-strong);max-width:145px;color:var(--ink);position:sticky;top:0}.route-matrix thead th:first-child,.route-matrix tbody th{z-index:4;background:var(--surface-strong);text-align:left;min-width:118px;position:sticky;left:0}.route-matrix tbody tr:nth-child(2n) td{background:color-mix(in srgb, var(--surface) 70%, var(--accent-soft))}.route-matrix td.is-next{color:var(--positive);font-weight:900;background:var(--positive-soft)!important}.stops-table td:first-child{width:52px;color:var(--accent)}.stops-table td:last-child{font-variant-numeric:tabular-nums;font-weight:850}.route-line{margin:0;padding:0;list-style:none;position:relative}.route-line:before{content:"";background:var(--secondary);width:3px;position:absolute;top:16px;bottom:16px;left:9px}.route-line li{min-height:48px;padding:0 0 1rem 2.2rem;position:relative}.route-line li:before{content:"";z-index:1;border:3px solid var(--surface);background:var(--secondary);width:13px;height:13px;box-shadow:0 0 0 2px var(--secondary);border-radius:50%;position:absolute;top:4px;left:2px}.route-line li:first-child:before,.route-line li:last-child:before{background:var(--warning);box-shadow:0 0 0 2px var(--warning)}.route-line small{color:var(--muted);display:block}.stops{counter-reset:stops;margin:0;padding:0;list-style:none}.stops li{counter-increment:stops;border-bottom:1px solid var(--line);padding:.75rem 0 .75rem 2.4rem;position:relative}.stops li:before{content:counter(stops, decimal-leading-zero);color:var(--accent);font-size:.76rem;font-weight:850;position:absolute;left:0}.facts{border-top:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.fact{border-bottom:1px solid var(--line);padding:1rem 0}.fact:nth-child(2n){border-left:1px solid var(--line);padding-left:1rem}.fact dt{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:.68rem}.fact dd{margin:.3rem 0 0;font-size:1.08rem;font-weight:800}.aside{top:calc(var(--header) + 1rem);border-top:4px solid var(--accent);align-self:start;padding-top:1rem;position:sticky}.aside h2{margin:0 0 .6rem;font-size:1.25rem}.aside a{border-bottom:1px solid var(--line);padding:.75rem 0;text-decoration:none;display:block}.aside small{color:var(--muted)}.notice{border-left:4px solid var(--warning);background:var(--warning-soft);margin:0;padding:1rem 1.1rem}details{border-bottom:1px solid var(--line)}summary{cursor:pointer}.faq details{padding:1rem 0}.faq summary{font-weight:800}.faq details p{color:var(--muted)}.site-footer{padding:3.5rem max(24px, calc((100vw - var(--max)) / 2));background:var(--ink);color:#fff;grid-template-columns:1.2fr .8fr;gap:2rem;display:grid}.site-footer strong{font-size:1.15rem}.site-footer p,.site-footer small{color:#ffffff9e;max-width:620px}.site-footer nav{justify-content:flex-end}.site-footer nav a{padding:.4rem}.site-footer small{border-top:1px solid #ffffff29;grid-column:1/-1;padding-top:1rem}[data-reveal]{opacity:0;transition:opacity .5s,transform .5s;transform:translateY(16px)}[data-reveal].is-visible{opacity:1;transform:none}.schedule-days-nav{flex-wrap:wrap;gap:8px;margin:12px 0 10px;display:flex}.day-chip{border:1.5px solid var(--line);color:var(--ink);cursor:pointer;background:#fff;border-radius:20px;padding:6px 16px;font-family:inherit;font-size:.88rem;font-weight:700;transition:all .15s}.day-chip:hover{border-color:var(--accent);color:var(--accent)}.day-chip.active{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 2px 8px #7b2d4233}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}[data-reveal]{opacity:1;transform:none}}@media (width<=900px){.home-intro-inner{grid-template-columns:1fr}.home-copy{padding:44px 24px}.atlas-visual{min-height:330px}.section-head,.route-identity,.detail-grid,.schedule-layout{grid-template-columns:1fr}.route-identity{grid-template-columns:88px minmax(0,1fr)}.route-summary{grid-column:1/-1}.route-number-large{min-height:76px}.aside{position:static}.mode-links{grid-template-columns:repeat(2,1fr)}}@media (width<=680px){:root{--header:58px}.shell,.breadcrumbs{width:calc(100% - 28px)}.site-header{min-height:var(--header);gap:.7rem;padding:0 14px}.brand-note{display:none}.brand-name{font-size:.82rem}.brand-mark{width:32px;height:32px}.menu-toggle{flex:none;margin-left:auto;display:block}.site-header nav{max-height:calc(100svh - var(--header));border-bottom:1px solid var(--line);background:var(--canvas);padding:.55rem 14px .8rem;display:none;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 18px 32px #172c2b24}.site-header.is-menu-open nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem;animation:.18s both menu-in;display:grid}.site-header nav a{border:1px solid var(--line);background:var(--surface);min-height:46px;padding:.65rem .75rem;font-size:.78rem}.site-header .nav-search{margin-left:0;display:inline-flex}.home-copy h1{font-size:clamp(2.15rem,10.5vw,3.25rem)}.home-copy{padding:34px 18px}.atlas-visual{min-height:220px}.atlas-board strong{font-size:2.5rem}.stats{grid-template-columns:1fr}.stats>div,.stats>div+div{border-left:0;border-bottom:1px solid var(--line);grid-template-columns:80px 1fr;align-items:baseline;padding:.8rem 0;display:grid}.stats>div:last-child{border-bottom:0}.stats dd{font-size:1.55rem}.search-tools{grid-template-columns:1fr}.search-tools label+label{border-left:0;border-top:1px solid var(--line)}.route-list a{grid-template-columns:56px minmax(0,1fr) auto;padding-inline:.8rem}.route-list a:hover{padding-left:.8rem}.route-list strong{font-size:.9rem}.route-list small{font-size:.7rem}.mode-links{grid-template-columns:1fr}.mode-links a{min-height:116px}.mode-links a+a{border-left:0}.page-hero h1{font-size:clamp(2rem,9vw,3rem)}.route-identity{grid-template-columns:68px minmax(0,1fr);gap:1rem}.route-number-large{border-radius:10px 10px 14px 14px;min-height:60px;font-size:1.7rem}.route-hero h1,.detail-hero h1{font-size:clamp(1.75rem,7.8vw,2.55rem)}.direction-bar{grid-template-columns:1fr;padding:.4rem}.direction-tabs{grid-template-columns:1fr}.print-button{display:none}.next-strip{gap:.55rem;padding-inline:.75rem}.next-note{margin-left:0}.schedule-toolbar{display:grid}.schedule-toolbar label{min-width:0}.facts{grid-template-columns:1fr}.fact:nth-child(2n){border-left:0;padding-left:0}.site-footer{grid-template-columns:1fr}.site-footer nav{flex-wrap:wrap;justify-content:flex-start}.site-footer small{grid-column:auto}}@media (width<=520px){.brand-name{display:block}}@keyframes menu-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}@media print{.site-header,.site-footer,.breadcrumbs,.aside,.hero-actions,.print-button,.direction-bar{display:none!important}body{background:#fff}.shell{width:100%}.route-hero{padding-top:0}.schedule-layout,.detail-grid{padding:1rem 0;display:block}details{break-inside:avoid}}.site-header{min-height:var(--header)}.brand-mark{background:var(--secondary);width:40px;font-size:.8rem}.brand-mark:before,.brand-mark:after{border-color:var(--canvas)}.site-header .nav-search{background:var(--secondary)}.home-intro{min-height:min(720px, calc(100svh - var(--header)));isolation:isolate;color:#fff;background:#142a29 url(/hero-tyumen.png) 54%/cover no-repeat;border:0}.home-intro:before{content:"";z-index:-1;background:linear-gradient(90deg,#091818f5 0%,#091818d4 36%,#09181833 70%),linear-gradient(#0000 48%,#0918186b);position:absolute;inset:0}.home-intro-inner{width:min(var(--max), calc(100% - 48px));min-height:min(720px, calc(100svh - var(--header)));grid-template-columns:minmax(0,760px) 1fr;margin-inline:auto;position:relative}.home-copy{align-self:center;padding:clamp(70px,10vw,130px) 0;animation:.72s cubic-bezier(.2,.8,.2,1) both hero-rise}.home-copy h1{max-width:780px}.home-copy .eyebrow{color:#f0b77c}.home-copy>p:not(.eyebrow){color:#ffffffc2}.button.light{color:var(--ink);background:#fff;border-color:#fff}.button.light:hover{border-color:var(--accent);background:var(--accent);color:#fff}.button.ghost{color:#fff;backdrop-filter:blur(8px);background:#08191947;border-color:#ffffff80}.button.ghost:hover{color:var(--ink);background:#fff;border-color:#fff}.hero-index{border-top:1px solid #ffffff80;width:min(320px,36vw);padding-top:1rem;animation:.72s cubic-bezier(.2,.8,.2,1) .15s both hero-rise;position:absolute;bottom:clamp(38px,6vw,76px);right:0}.hero-index span{color:#ffffffb3;letter-spacing:.1em;text-transform:uppercase;font-size:.72rem;font-weight:780;display:block}.hero-index strong{letter-spacing:-.065em;font-variant-numeric:tabular-nums;margin:.35rem 0;font-size:clamp(3.4rem,7vw,7rem);line-height:.9;display:block}@keyframes hero-rise{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}.route-badge.city,.route-number-large.city{background:var(--secondary)}.route-badge.suburban,.route-number-large.suburban{color:#fff;background:#315e77}.route-badge.seasonal,.route-number-large.seasonal{background:var(--accent);color:#fff}.route-number-large.suburban{border-radius:16px 16px 22px 22px;font-size:clamp(2.1rem,4vw,3.7rem)}.detail-hero .route-number-large.train,.detail-hero .route-number-large.suburban,.detail-hero .route-number-large.flight{overflow-wrap:normal;word-break:normal;text-align:center;font-size:clamp(1.05rem,2.2vw,1.9rem);line-height:1.05}.accessible-tag{border-color:var(--positive);background:var(--positive-soft);color:var(--positive)}.catalog-actions{flex-wrap:wrap;gap:.65rem;margin-top:1.25rem;display:flex}.text-link{color:var(--secondary);font-size:1.05rem;font-weight:850}.split-proof{grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);align-items:end;gap:clamp(2rem,9vw,8rem);display:grid}.split-proof h2{letter-spacing:-.05em;max-width:800px;margin:0;font-size:clamp(2rem,4.2vw,4.1rem);line-height:1}.split-proof>div:last-child{color:var(--muted)}.mode-links.three{grid-template-columns:repeat(3,1fr)}.schedule-toolbar>div>small{color:var(--muted);margin-top:.2rem;display:block}.stop-schedules{border-top:3px solid var(--ink)}.stop-schedule{border-bottom:1px solid var(--line);scroll-margin-top:calc(var(--header) + 18px)}.stop-schedule>summary{grid-template-columns:46px minmax(0,1fr) auto;align-items:center;gap:1rem;min-height:76px;padding:.7rem .25rem;list-style:none;display:grid}.stop-schedule>summary::-webkit-details-marker{display:none}.stop-schedule>summary:after{content:"+";width:24px;color:var(--accent);text-align:center;font-size:1.25rem}.stop-schedule[open]>summary:after{content:"−"}.stop-order{color:var(--accent);font-variant-numeric:tabular-nums;font-size:.78rem;font-weight:900}.stop-schedule summary strong,.stop-schedule summary small{display:block}.stop-schedule summary small{color:var(--muted);margin-top:.15rem;font-weight:500}.time-count{color:var(--muted);white-space:nowrap;font-size:.72rem}.stop-schedule .time-chips{padding:.2rem 0 1rem 62px}.time-chips span{position:relative}.time-chips span.is-accessible{border-color:var(--positive);background:var(--positive-soft);color:var(--positive)}.time-chips span small{color:inherit;margin-left:.24rem;display:inline}.stop-actions{flex-wrap:wrap;gap:1rem;padding:0 0 1rem 62px;font-size:.78rem;font-weight:800;display:flex}.muted{color:var(--muted)}.route-line li.is-active:before{background:var(--accent);box-shadow:0 0 0 5px var(--accent-soft)}.route-line a{text-decoration-color:color-mix(in srgb, var(--secondary) 35%, transparent)}.print-button{width:auto;padding-inline:1rem;font-size:.75rem;font-weight:850}.stop-catalog .search-tools.single{grid-template-columns:1fr}.stop-catalog .route-list a{grid-template-columns:minmax(0,1fr) auto}.stop-count{background:var(--secondary-soft);min-width:46px;min-height:38px;color:var(--secondary);border-radius:999px;place-items:center;font-weight:900;display:grid}.route-passage{color:var(--muted);margin-top:.28rem;font-size:.74rem;display:block}.route-passage b{color:var(--ink)}.stop-schedule.compact>summary{grid-template-columns:64px minmax(0,1fr) 24px}.stop-schedule.compact>summary:after{display:none}.summary-arrow{color:var(--accent);font-size:1.2rem}.plain-list{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.plain-list li{border-bottom:1px solid var(--line);padding:.85rem 0}.fleet-overview{grid-template-columns:minmax(260px,.55fr) minmax(0,1.45fr);align-items:end;gap:clamp(2rem,8vw,7rem);display:grid}.metric-feature{border-top:4px solid var(--accent);margin:0;padding-top:1rem}.metric-feature dt{color:var(--muted);display:block}.metric-feature dd{letter-spacing:-.08em;margin:.25rem 0;font-size:clamp(4rem,10vw,8rem);font-weight:850;line-height:.85;display:block}.metric-feature .metric-unit{color:var(--muted);letter-spacing:0;font-size:.85rem;font-weight:400;line-height:1.5}.metric-bars{gap:2rem;display:grid}.metric-bars>div>div{justify-content:space-between;gap:1rem;margin-bottom:.6rem;display:flex}.metric-bars progress{background:var(--surface-strong);width:100%;height:12px;accent-color:var(--secondary);border:0;border-radius:0}.metric-bars progress::-webkit-progress-value{background:var(--secondary)}.class-list{border-top:1px solid var(--line);margin:0}.class-list>div{border-bottom:1px solid var(--line);justify-content:space-between;padding:1rem 0;display:flex}.class-list dd{margin:0;font-size:1.4rem;font-weight:800}.reading-layout{max-width:920px;padding:clamp(50px,8vw,100px) 0}.reading-layout section+section{margin-top:clamp(54px,9vw,100px)}.reading-layout h2{letter-spacing:-.05em;margin:0 0 1.2rem;font-size:clamp(2rem,4vw,3.6rem);line-height:1}.error-page{align-content:center;min-height:65vh;padding-block:4rem;display:grid}.error-page h1{letter-spacing:-.065em;max-width:780px;margin:0;font-size:clamp(2.6rem,7vw,6.4rem);line-height:.92}.error-page p:not(.eyebrow){color:var(--muted)}@media (width<=900px){.home-intro-inner{display:block}.home-copy{max-width:680px;padding:72px 0 190px}.hero-index{width:min(260px,74vw);bottom:30px}.split-proof,.fleet-overview{grid-template-columns:1fr}}@media (width<=680px){.home-intro{background-position:64%}.home-intro:before{background:linear-gradient(90deg,#091818f0,#09181873),linear-gradient(#0000 36%,#091818ad)}.home-intro-inner{width:calc(100% - 28px);min-height:620px}.home-copy{padding:62px 0 190px}.mode-links.three{grid-template-columns:1fr}.stop-schedule>summary{grid-template-columns:34px minmax(0,1fr) 20px;gap:.65rem}.time-count{display:none}.stop-schedule .time-chips,.stop-actions{padding-left:0}.metric-bars>div>div{display:grid}.site-header nav{scrollbar-width:none}.site-header nav::-webkit-scrollbar{display:none}.detail-hero .route-number-large.train,.detail-hero .route-number-large.suburban,.detail-hero .route-number-large.flight{font-size:1.05rem}}@media print{.stop-actions,.next-strip{display:none!important}.stop-schedule{break-inside:avoid}.stop-schedule>.time-chips{display:flex!important}}
