.fact-date{margin:1rem 0;color:#5f6f84;line-height:1.55}
.route-kpis dd{font-size:clamp(1.25rem,1.8vw,1.62rem);font-weight:700;letter-spacing:-.025em}
.unknown-state{display:grid;gap:.75rem;min-height:auto;padding:1.5rem}
.unknown-state strong{color:#8a5a00}
.unknown-state p{margin:0;max-width:72ch}
.unknown-state a{display:inline-flex;align-items:center;gap:.35rem;width:max-content;font-weight:700}
.season-source-note{margin:1rem 0 0;color:#617188;font-size:.72rem;line-height:1.55}
.route-motion-v8{display:block!important}
.route-motion-v8 .route-road .route-bus{width:28px!important;height:20px!important;min-width:28px!important;max-width:28px!important;min-height:20px!important;max-height:20px!important;transform-origin:center!important;animation:route-bus-position-moscow-berdyansk 36s linear infinite,route-bus-direction-moscow-berdyansk 36s steps(1,end) infinite!important}
.route-motion-v8 .route-bus__passengers i:nth-child(1){animation:passenger-exit-waypoint-one-v11 36s linear infinite!important}
.route-motion-v8 .route-bus__passengers i:nth-child(2){animation:passenger-exit-waypoint-two-v11 36s linear infinite!important}
.route-motion-v8 .route-bus__passengers i:nth-child(3){animation:passenger-exit-waypoint-three-v11 36s linear infinite!important}
.route-motion-v8 .route-bus__passengers i:nth-child(4){animation:passenger-exit-destination-v11 36s linear infinite!important}
.route-motion-v8 [data-route-waypoint] .route-stop__label small{max-width:74px}
@keyframes route-bus-position-moscow-berdyansk{0%,5%{left:0}18%,21%{left:19.8%}30%,33%{left:47%}43%,46%{left:69.3%}55%,60%{left:100%}69%,72%{left:69.3%}80%,83%{left:47%}91%,94%{left:19.8%}100%{left:0}}
@keyframes route-bus-direction-moscow-berdyansk{0%,59.99%{transform:translate(-50%,-50%) scaleX(1)}60%,99.99%{transform:translate(-50%,-50%) scaleX(-1)}100%{transform:translate(-50%,-50%) scaleX(1)}}
.station-columns li{display:flex;gap:.55rem;align-items:flex-start}
.station-columns .station-link__content{display:block}
.station-columns .station-link__times{display:block;margin-top:.2rem;color:#617188;line-height:1.45}
.route-cell--arrival small{max-width:16ch}
.routes-table-v8 table{table-layout:fixed;min-width:1040px;font-family:var(--font-sans)}
.routes-table-v8 .col-departure{width:13%}
.routes-table-v8 .col-arrival{width:18%}
.routes-table-v8 .col-duration{width:10%}
.routes-table-v8 .col-schedule{width:10%}
.routes-table-v8 .col-price{width:19%}
.routes-table-v8 .col-ticket{width:7%}
.routes-table-v8 .col-comfort{width:15%}
.routes-table-v8 .col-action{width:8%}
.routes-table-v8 .route-cell--price>strong{white-space:nowrap;font-variant-numeric:tabular-nums}
.routes-table-v8 .route-cell--arrival>strong{white-space:nowrap}
.arrival-next-day{display:inline-block;margin-left:.25rem;color:#7f8b9b;font-size:.52rem;font-weight:400;line-height:1;vertical-align:super;letter-spacing:0;white-space:nowrap}
.routes-table-v8 .comfort-list{display:inline-flex;flex-wrap:wrap;gap:4px;align-items:center;max-width:100%}
.routes-table-v8 .comfort-icon .icon{width:16px;height:16px}
.routes-table-v8 .route-row-cta{width:44px;min-width:44px;height:44px;min-height:44px;padding:0}
.routes-table-v8 .route-row-cta .icon{width:18px;height:18px}
.route-table-buy-link{margin:14px 0 0;text-align:center}
.route-table-buy-link a{display:inline-flex;align-items:center;gap:6px;font-size:.9rem;font-weight:700}
.route-table-buy-link .icon{width:15px;height:15px}
.route-filterbar-v8{--filter-chevron:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23315d89' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.route-filterbar-v8 .route-filter select{appearance:none;background-image:var(--filter-chevron);background-repeat:no-repeat;background-position:right 13px center;background-size:12px 8px}
.route-filterbar-v8 .route-comfort-picker>summary:after{content:"";display:block;flex:0 0 12px;width:12px;height:8px;margin-left:3px;background:var(--filter-chevron) center/12px 8px no-repeat}
.route-show-more-wrap{display:flex;justify-content:center;margin-top:1.25rem}
.route-show-more[hidden]{display:none}
.prose .station-link__content{display:inline}
.content-grid--full{grid-template-columns:minmax(0,1fr);gap:28px}
.content-grid--full>.prose{width:100%;max-width:none;min-width:0}
.content-grid--full>.source-card{position:static;width:100%}
.content-grid--full .prose>.table-wrap{width:100%;margin:22px 0}
.transport-section{background:#f7faff}
.data-table-v2{overflow:visible}
.data-table-v2 table{width:100%;min-width:0;table-layout:fixed}
.data-table-v2 th,.data-table-v2 td{padding:14px 16px;font-family:var(--font-sans);font-size:.875rem;line-height:1.45;vertical-align:top;overflow-wrap:break-word}
.data-table-v2 thead th{color:#405775;background:#eef5fd;font-weight:700;letter-spacing:0;text-transform:none}
.data-table-v2 tbody th{color:var(--heading);font-weight:700}
.data-table-v2 tbody tr:last-child th{border-bottom:0}
.data-table-v2 small{display:block;margin-top:4px;color:var(--muted);font-size:.75rem;line-height:1.4}
.data-table-v2 small a{color:inherit}
.data-table-v2__value{display:block;min-width:0}
.data-table-v2__value strong{color:var(--heading)}
.transport-comparison-table thead th:nth-child(1){width:18%}
.transport-comparison-table thead th:nth-child(2){width:24%}
.transport-comparison-table thead th:nth-child(3){width:28%}
.transport-comparison-table thead th:nth-child(4){width:30%}
.price-summary-table thead th:nth-child(1){width:19%}
.price-summary-table thead th:nth-child(2){width:49%}
.price-summary-table thead th:nth-child(3){width:12%}
.price-summary-table thead th:nth-child(4){width:20%}
.routes-table--static{margin:22px 0}
.routes-table--static thead th{font-family:var(--font-sans);font-size:.8rem;line-height:1.4}
.routes-table--static tbody [data-route-row][hidden]{display:table-row}

/* moskva-berdyansk-demand-history-v1 */
.demand-history-section{border-top:1px solid var(--line);background:linear-gradient(180deg,#f7faff 0,#eef4fb 100%)}
.season-card--demand{overflow:hidden}
.demand-season-chart .season-bar i{min-height:2px}
.demand-season-chart .season-bar:focus-visible{outline:0}
.demand-season-chart .season-bar:focus-visible i{box-shadow:inset 0 1px #ffffff80,0 0 0 3px #ff8a1f66}
.season-card--demand .season-card__meta{justify-content:flex-start}
.season-card--demand .season-card__meta output{font-weight:600}
.season-card--demand .season-method{max-width:1040px}
@media(max-width:760px){.demand-season-chart{grid-template-columns:repeat(12,56px);height:250px}.season-card--demand .season-card__meta{display:grid;gap:10px}.season-card--demand .chart-legend{gap:10px}}
@media(max-width:760px){.demand-history-section,.main-nav a[href$="#season-chart"]{display:none!important}}
@media(max-width:760px){.route-motion-v8{display:block!important}.route-motion__map{min-height:230px}.route-motion-v8 .route-road{margin-right:14px;margin-left:14px}.route-motion-v8 [data-route-waypoint] .route-stop__label{max-width:70px}.route-motion-v8 [data-route-waypoint] .route-stop__label strong{font-size:.64rem}.route-motion-v8 [data-route-waypoint] .route-stop__label small{max-width:68px;font-size:.54rem}.route-stop--terminal .route-stop__label strong{font-size:.76rem}.routes-table-v8{overflow:visible}.routes-table-v8 table{width:100%}}
@media(max-width:900px){.data-table-v2{border:0;background:transparent}.data-table-v2 table,.data-table-v2 tbody{display:block;width:100%}.data-table-v2 thead{display:none}.data-table-v2 tbody{display:grid;gap:12px}.data-table-v2 tbody tr{display:block;padding:10px 12px;border:1px solid #d9e5f2;border-radius:14px;background:#fff;box-shadow:0 8px 24px #16345c0e}.data-table-v2 th,.data-table-v2 td{display:grid;grid-template-columns:minmax(98px,30%) minmax(0,1fr);gap:12px;padding:9px 4px;border:0;border-bottom:1px solid #e5edf6;font-size:.875rem;background:transparent!important}.data-table-v2 tbody tr>:last-child{border-bottom:0}.data-table-v2 th:before,.data-table-v2 td:before{content:attr(data-label);color:var(--muted);font-size:.75rem;font-weight:600}.data-table-v2__value{min-width:0}.data-table-v2 small{font-size:.75rem}}
@media(min-width:600px) and (max-width:900px){.data-table-v2 tbody{grid-template-columns:repeat(2,minmax(0,1fr))}.data-table-v2 th,.data-table-v2 td{grid-template-columns:minmax(0,1fr);gap:3px}}
@media(max-width:1180px){.routes-table-v8 table{table-layout:auto;min-width:0}.routes-table-v8 colgroup{display:none}.routes-table-v8 .route-cell--price>strong{white-space:nowrap}}
@media(max-width:420px){.arrival-next-day{font-size:.49rem}.routes-table-v8 .route-cell--duration{grid-column:1/13}.routes-table-v8 .route-cell--duration>strong{white-space:nowrap}.routes-table-v8 .route-cell--action{justify-content:flex-start}.page-hero h1{overflow-wrap:anywhere}.data-table-v2 th,.data-table-v2 td{grid-template-columns:minmax(0,1fr);gap:3px}}
@media(prefers-reduced-motion:reduce){.route-motion-v8 .route-bus{animation:none!important;left:50%!important;transform:translate(-50%,-50%) scaleX(1)!important}}


/* Local responsive QA repair, 2026-10-07. */
.routes-table-v8 .route-cell--departure small,.routes-table-v8 .route-cell--arrival small{overflow-wrap:anywhere}
