/* First editorial pass for the public home, catalog and route pages. */
@font-face {
  font-family: Roboto;
  src: url("../fonts/roboto-cyrillic.f852254ed004.woff2") format("woff2");
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: Roboto;
  src: url("../fonts/roboto-latin.b7627e3c9663.woff2") format("woff2");
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
  --bureau-paper: #f3f5f2;
  --bureau-ink: #18201d;
  --bureau-muted: #5e6862;
  --bureau-line: #dce1dc;
  --bureau-accent: #2d6253;
  --bureau-dark: #18201d;
  --bureau-font: Roboto, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --bureau-width: 68rem;
  --bureau-gutter: clamp(1.25rem, 3vw, 2rem);
}
body { background: var(--bureau-paper); color: var(--bureau-ink); font-family: var(--bureau-font); font-size: 1rem; line-height: 1.6; }
body > main, body > .bureau-header, body > .bureau-footer { max-width: var(--bureau-width); }
body main .section { max-width: var(--bureau-width); }
.bureau-header { min-height: 4.3rem; padding: .85rem var(--bureau-gutter); gap: 2rem; background: var(--bureau-paper); }
.bureau-logo { font-size: 1.25rem; font-weight: 700; letter-spacing: -.025em; }
.bureau-logo small { display: none; }
.bureau-header nav { gap: clamp(.85rem, 2.5vw, 2rem); font-size: .91rem; font-weight: 500; letter-spacing: 0; }
.bureau-header .language-switch { padding: .25rem .55rem; border-radius: .35rem; font-size: .81rem; letter-spacing: 0; }
.bureau-button { min-height: 2.8rem; gap: .6rem; padding: .65rem 1.1rem; border-color: var(--bureau-accent); border-radius: .4rem; background: var(--bureau-accent); font-size: .91rem; font-weight: 500; letter-spacing: 0; }
.bureau-button:hover { border-color: #214d40; background: #214d40; }
.bureau-underlink { padding-bottom: .1rem; border-bottom-color: #9ab3aa; color: var(--bureau-accent); font-size: .91rem; font-weight: 500; }
.bureau-kicker, .bureau-label { color: var(--bureau-muted); font-size: .81rem; font-weight: 500; letter-spacing: 0; line-height: 1.5; text-transform: none; }
.bureau-section { padding-top: clamp(3rem, 5vw, 4.5rem); padding-bottom: clamp(3rem, 5vw, 4.5rem); }
.bureau-section__heading { align-items: baseline; margin-bottom: 1.4rem; }
.bureau-section__heading h2, .bureau-schedule h2, .bureau-guide h2, .bureau-faq h2, .bureau-contact h2, .bureau-detail h2 { margin: 0; font-size: clamp(1.7rem, 3vw, 2.1rem); font-weight: 600; line-height: 1.2; letter-spacing: -.015em; }
.bureau-section__heading p:not(.bureau-kicker) { max-width: 34rem; margin: .45rem 0 0; font-size: .98rem; line-height: 1.6; }

/* Home */
.editorial-home-hero { display: block; min-height: 0; padding: 3.5rem var(--bureau-gutter) 0; background: transparent; }
.editorial-home-hero .bureau-hero__copy { display: block; min-height: 0; padding: 0; }
.editorial-home-hero .bureau-hero__copy h1 { max-width: 18ch; margin: .55rem 0 .8rem; font-size: clamp(2.6rem, 4.2vw, 3.65rem); font-weight: 600; line-height: 1.08; letter-spacing: -.025em; }
.editorial-home-hero .bureau-hero__intro { max-width: 39rem; margin: 0; color: var(--bureau-muted); font-size: 1.1rem; line-height: 1.55; }
.editorial-home-hero .bureau-hero__actions { gap: 1.5rem; margin: 1.4rem 0 2rem; }
.editorial-home-hero .bureau-hero__actions .button { margin: 0; }
.editorial-feature { border-bottom: 1px solid var(--bureau-line); }
.editorial-feature .bureau-hero__visual { display: block; height: auto; min-height: 0; aspect-ratio: 2.18; background: #d6dcd7; }
.editorial-feature .bureau-hero__visual::after { display: none; }
.editorial-feature .bureau-hero__visual img { display: block; width: 100%; height: 100%; object-fit: cover; }
.editorial-feature .bureau-hero__caption { position: static; display: grid; gap: .2rem; padding: .85rem 0 1.15rem; color: var(--bureau-ink); }
.editorial-feature .bureau-hero__caption .bureau-label { color: var(--bureau-muted); }
.editorial-feature .bureau-hero__caption a { display: block; max-width: none; color: var(--bureau-ink); font-size: 1.2rem; font-weight: 600; line-height: 1.3; letter-spacing: 0; }
.editorial-feature .bureau-hero__caption a:hover { color: var(--bureau-accent); }
.editorial-feature .bureau-hero__caption > span:last-child { color: var(--bureau-muted); font-size: .87rem; }
.bureau-route-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.4rem; }
.bureau-route-card .route-card__visual, .bureau-catalog-grid .route-card__visual { aspect-ratio: 1.5; background: #e7ece8; }
.bureau-route-card .route-card__visual::after { display: none; }
.bureau-route-card .route-card__visual img { display: block; height: 100%; transition: none; }
.bureau-route-card:hover .route-card__visual img { transform: none; }
.bureau-route-card { display: flex; flex-direction: column; overflow: hidden; border: 1px solid #e2e7e2; border-radius: .45rem; background: #fff; }
.bureau-route-card .route-card__visual { display: block; width: 100%; }
.bureau-route-card:hover { transform: none; box-shadow: none; }
.bureau-route-card:hover .route-card__visual img { transform: none; }
.bureau-route-card .card-copy { display: flex; flex: 1; flex-direction: column; padding: 1rem 1.2rem 1.15rem; }
.bureau-route-card .route-card__region { min-height: 0; margin: 0 0 .35rem; color: var(--bureau-muted); font-size: .81rem; line-height: 1.4; }
.bureau-route-card .route-card__meta { gap: .75rem; color: var(--bureau-muted); font-size: .78rem; font-weight: 400; letter-spacing: 0; text-transform: none; }
.bureau-route-card .route-card__meta span + span::before { margin-right: .75rem; color: var(--bureau-muted); }
.bureau-route-card .card-copy h2, .bureau-route-card .card-copy h3 { margin: .55rem 0 .4rem; font-size: 1.24rem; font-weight: 600; line-height: 1.3; letter-spacing: 0; }
.bureau-route-card .card-copy > p:not(.route-card__region) { min-height: 0; margin: 0; color: var(--bureau-muted); font-size: .93rem; line-height: 1.55; }
.bureau-route-card .route-card__more { display: inline-block; margin-top: .55rem; padding: 0; border: 0; color: var(--bureau-accent); font-size: .88rem; font-weight: 500; }
.bureau-route-card .route-card__footer { margin-top: auto; padding-top: 1rem; border-color: var(--bureau-line); color: var(--bureau-muted); font-size: .83rem; font-weight: 400; }
.route-card__placeholder { display: grid; height: 100%; place-items: center; padding: 1rem; color: #52665c; font-size: 1.2rem; font-weight: 500; text-align: center; letter-spacing: 0; }
.bureau-schedule { background: transparent; color: var(--bureau-ink); }
.bureau-schedule__inner { padding-top: 3rem; padding-bottom: 3rem; border-top: 1px solid var(--bureau-line); }
.bureau-schedule .bureau-section__heading p:not(.bureau-kicker) { color: var(--bureau-muted); }
.bureau-schedule__list { border-top: 1px solid var(--bureau-line); }
.bureau-schedule .departure-row { grid-template-columns: 5.2rem minmax(0, 1fr) auto 1rem; gap: 1rem; padding: .9rem 0; border-color: var(--bureau-line); color: var(--bureau-ink); }
.bureau-schedule .departure-row:hover { color: var(--bureau-accent); }
.departure-row__date { font-family: var(--bureau-font); font-size: 1rem; font-weight: 500 !important; }
.departure-row__date small, .departure-row__name small { margin-top: .15rem; color: var(--bureau-muted); font-family: var(--bureau-font); font-size: .81rem; }
.departure-row__name { font-size: 1rem; font-weight: 500 !important; }
.departure-row__price { font-size: .91rem; font-weight: 500; }
.departure-row__arrow { color: var(--bureau-accent); font-size: 1.2rem; }
.bureau-guide { grid-template-columns: minmax(0, 1.4fr) minmax(0, .6fr); align-items: center; gap: 2rem; padding-top: 3rem; padding-bottom: 3rem; border-top: 1px solid var(--bureau-line); }
.bureau-guide__intro > p:not(.bureau-kicker) { max-width: 38rem; margin: .8rem 0 1rem; color: var(--bureau-muted); font-size: .96rem; line-height: 1.65; }
.bureau-guide__profile { min-height: 0; padding: 0; background: none; }
.bureau-guide__profile img { width: 100%; max-height: 16rem; margin: 0; object-fit: cover; }
.bureau-faq { grid-template-columns: minmax(0, .7fr) minmax(0, 1.3fr); padding-top: 3rem; padding-bottom: 3rem; }
.bureau-faq__items summary { font-size: 1rem; font-weight: 500; }
.bureau-faq__items summary::after { color: var(--bureau-muted); }
.bureau-contact { align-items: center; max-width: var(--bureau-width); margin: 0 auto; padding-top: 2rem; padding-bottom: 2rem; border-top: 1px solid var(--bureau-line); background: transparent; color: var(--bureau-ink); }
.bureau-contact p:not(.bureau-kicker) { color: var(--bureau-muted); font-size: .95rem; }
.bureau-contact .bureau-button { border-color: var(--bureau-accent); background: var(--bureau-accent); color: #fff; }
.bureau-contact .bureau-button:hover { border-color: #214d40; background: #214d40; }

/* Catalog */
.bureau-catalog { padding-top: 3rem; padding-bottom: 4rem; }
.bureau-catalog .catalog-heading { display: block; padding-bottom: 1.2rem; }
.bureau-catalog .catalog-heading h1 { display: flex; align-items: baseline; gap: .7rem; margin: 0; font-size: clamp(2.4rem, 4vw, 3.15rem); font-weight: 600; line-height: 1.12; letter-spacing: -.025em; }
.catalog-heading__count { color: var(--bureau-muted); font-size: 1rem; font-weight: 400; letter-spacing: 0; }
.bureau-catalog .catalog-intro { max-width: 40rem; margin: .35rem 0 0; color: var(--bureau-muted); font-size: 1rem; line-height: 1.6; }
.bureau-filters { margin-bottom: 1.3rem; padding: 1.2rem 0; }
.bureau-filters__fields { gap: .75rem; }
.bureau-filters__fields label { gap: .35rem; color: var(--bureau-ink); font-size: .81rem; font-weight: 500; letter-spacing: 0; text-transform: none; }
.bureau-filters__fields input, .bureau-filters__fields select { min-height: 2.7rem; padding: .45rem .7rem; border-radius: .35rem; background: #fff; font-size: .91rem; font-weight: 400; }
.bureau-filters__actions { padding-top: .75rem; }
.bureau-filters__checkbox { font-size: .88rem; font-weight: 400; }
.bureau-filters button { min-height: 2.7rem; gap: .5rem; border-radius: .35rem; background: var(--bureau-accent); font-size: .88rem; font-weight: 500; }
.bureau-filters button:hover { background: #214d40; }
.bureau-filters button span { display: none; }
.catalog-results__summary { margin-bottom: 1.2rem; }
.catalog-results__summary strong { font-size: .87rem; font-weight: 500; }
.catalog-results__summary p { font-size: .81rem; }
.bureau-catalog-grid { align-items: stretch; column-gap: 1.5rem; row-gap: 1.5rem; }
.bureau-catalog-grid .route-card__visual { aspect-ratio: 1.7; }
.bureau-catalog-grid .card-copy > p:not(.route-card__region) { margin-bottom: 1.25rem; }

/* Booking pages use the same white surfaces as route cards. */
.booking-trip-summary, .booking-panel, .booking-status-card { border: 1px solid #e2e7e2; border-radius: .45rem; background: #fff; box-shadow: none; }
.booking-trip-summary { border-left: 3px solid var(--bureau-accent); }
.booking-change-page .booking-form { padding: clamp(1.25rem, 3vw, 2rem); border: 1px solid #e2e7e2; border-radius: .45rem; background: #fff; }
.booking-trip-summary span { color: var(--bureau-muted); font-size: .78rem; font-weight: 500; letter-spacing: 0; text-transform: none; }
.booking-status-card { margin: 1.25rem 0; }
.booking-status-card h2 { font-size: 1.45rem; font-weight: 600; }
.booking-money-grid > div { border-top: 1px solid var(--bureau-line); background: #fff; }
.booking-submit .price-estimate, .booking-change-estimate, .booking-pending-note { border: 1px solid #e2e7e2; border-radius: .35rem; background: #fff; }
.booking-pending-note { border-left: 3px solid var(--bureau-accent); }
.bureau-reviews blockquote { border: 1px solid #e2e7e2; border-radius: .45rem; background: #fff; }
.booking-name-hint { margin: -.35rem 0 0; color: var(--bureau-muted); font-size: .84rem; line-height: 1.5; }

/* Route */
.bureau-detail-hero { padding-top: 2.3rem; background: transparent; }
.bureau-detail-hero__copy { max-width: 48rem !important; padding-top: 0; padding-bottom: 1.2rem; }
.bureau-detail-hero__copy h1 { max-width: 22ch; margin: .55rem 0 .6rem; font-size: clamp(2.3rem, 4vw, 3.25rem); font-weight: 600; line-height: 1.13; letter-spacing: -.025em; }
.bureau-detail-hero__summary { max-width: 44rem; color: var(--bureau-muted); font-size: 1.1rem; line-height: 1.55; }
.bureau-detail-hero__actions { margin-top: 1.2rem; }
.bureau-stats { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 1rem; padding-top: .95rem; padding-bottom: .95rem; border-top: 1px solid var(--bureau-line); border-bottom: 1px solid var(--bureau-line); }
.bureau-stats > div, .bureau-stats > div:first-child { gap: .2rem; padding: 0; border: 0; }
.bureau-stats small { color: var(--bureau-muted); font-size: .79rem; font-weight: 400; letter-spacing: 0; text-transform: none; }
.bureau-stats strong { font-size: 1.1rem; font-weight: 500; white-space: normal; }
.bureau-detail-hero__image { height: auto; max-height: none; margin: 1.1rem var(--bureau-gutter) 0; background: #e7ece8; }
.bureau-detail-hero__image img { display: block; width: 100%; max-height: 30rem; aspect-ratio: 2.12; object-fit: cover; }
.bureau-detail-hero__zoom { display: block; width: 100%; padding: 0; text-align: left; cursor: zoom-in; }
.bureau-detail-hero__zoom:focus-visible { outline: 3px solid var(--bureau-accent); outline-offset: 3px; }
.bureau-detail-hero__image figcaption { padding-top: .4rem; color: var(--bureau-muted); font-size: .81rem; }
body main .bureau-detail .route-season { max-width: 48rem; margin: 0 auto; padding-top: .4rem; padding-bottom: 0; color: var(--bureau-muted); font-size: .88rem; }
body main .bureau-route-story { display: block; max-width: 48rem; padding-top: 2.5rem; padding-bottom: 2.5rem; }
.bureau-route-story h2 { margin: 0 0 1rem; }
.bureau-route-story__body { color: var(--bureau-ink); font-size: 1.05rem; line-height: 1.72; }
.bureau-route-story__body a { color: var(--bureau-accent); font-weight: 500; }
.bureau-gallery { gap: .5rem; padding-bottom: 2.5rem; }
.bureau-gallery img { height: clamp(10rem, 18vw, 16rem); }
.bureau-gallery__item { min-width: 0; padding: 0; overflow: hidden; background: #e7ece8; cursor: zoom-in; }
.bureau-gallery__item img { width: 100%; height: clamp(10rem, 18vw, 16rem); object-fit: cover; }
.bureau-gallery__item:first-child { grid-column: span 2; }
.bureau-gallery__item:focus-visible { outline: 3px solid var(--bureau-accent); outline-offset: 3px; }
.bureau-gallery-dialog { width: min(94vw, 70rem); max-width: none; max-height: 94vh; margin: auto; padding: .75rem; border: 0; border-radius: .5rem; background: #fff; color: var(--bureau-ink); }
.bureau-gallery-dialog::backdrop { background: rgba(13, 21, 17, .88); }
.bureau-gallery-dialog__bar { display: flex; justify-content: space-between; align-items: center; padding: 0 .35rem .5rem; color: var(--bureau-muted); font-size: .85rem; }
.bureau-gallery-dialog__bar button { padding: .1rem .55rem; color: var(--bureau-ink); font-size: 1.7rem; line-height: 1; }
.bureau-gallery-dialog__stage { display: grid; grid-template-columns: 2.5rem minmax(0, 1fr) 2.5rem; align-items: center; gap: .5rem; }
.bureau-gallery-dialog__stage > button { min-height: 3rem; border: 1px solid var(--bureau-line); border-radius: .35rem; background: #fff; cursor: pointer; }
.bureau-gallery-dialog__stage figure { min-width: 0; }
.bureau-gallery-dialog__stage img { display: block; width: 100%; max-height: calc(94vh - 7rem); object-fit: contain; }
.bureau-gallery-dialog__stage figcaption { padding-top: .5rem; color: var(--bureau-muted); font-size: .85rem; }
body main .bureau-safety { max-width: 48rem; padding-top: 1.2rem; padding-bottom: 1.2rem; border: 1px solid var(--bureau-line); border-left: 1px solid var(--bureau-line); border-radius: .4rem; background: #fff; }
.bureau-safety h2 { margin: .3rem 0 .5rem; font-family: var(--bureau-font); font-size: 1.25rem; font-weight: 600; letter-spacing: 0; }
.bureau-safety p { color: var(--bureau-muted); font-size: .91rem; line-height: 1.6; }
body main .bureau-itinerary { max-width: 48rem; padding-top: 2.5rem; padding-bottom: 2.5rem; }
.bureau-itinerary .bureau-section__heading { margin-bottom: .7rem; }
.bureau-itinerary .day-list { display: grid; grid-template-columns: 1fr; gap: .75rem; border: 0; }
.bureau-itinerary .day-card { grid-template-columns: 2rem minmax(0, 1fr); gap: 1rem; padding: 1.1rem 1.25rem; border: 1px solid var(--bureau-line); border-radius: .4rem; background: #fff; }
.day-card__index { color: var(--bureau-muted); font-size: 1rem; font-weight: 500; line-height: 1.6; }
.bureau-itinerary .day-card h3 { margin: .2rem 0 .45rem; font-size: 1.22rem; font-weight: 600; letter-spacing: 0; }
.bureau-itinerary .day-card p { color: var(--bureau-muted); font-size: .96rem; line-height: 1.65; }
.bureau-practical { border-top: 0; padding-top: 2.5rem; padding-bottom: 2.5rem; }
.bureau-practical .included-grid { gap: 1rem; }
.bureau-practical .included-grid article { padding: 1.25rem; border: 1px solid var(--bureau-line); border-radius: .4rem; background: #fff; }
.bureau-practical h3 { font-size: 1.25rem; font-weight: 600; letter-spacing: 0; }
.bureau-detail-departures { padding-top: 2.5rem; padding-bottom: 3.5rem; background: transparent; color: var(--bureau-ink); }
.bureau-detail-departures h2 { margin-bottom: 1rem; }
.bureau-detail-departures th, .bureau-detail-departures td { border-color: var(--bureau-line); }
.bureau-detail-departures th { color: var(--bureau-muted); font-size: .81rem; font-weight: 500; letter-spacing: 0; text-transform: none; }
.bureau-detail-departures td { font-size: .91rem; }
.bureau-detail-departures td small { color: var(--bureau-muted); }
.bureau-detail-departures .table-wrap { border: 1px solid var(--bureau-line); border-radius: .4rem; background: #fff; }
.bureau-detail-departures table { width: 100%; }
.bureau-detail-departures th, .bureau-detail-departures td { padding: .9rem .75rem; }
.bureau-detail-departures th:nth-child(3) { width: 8rem; }
.bureau-detail-departures td:nth-child(3) { white-space: nowrap; }
.bureau-detail-departures .bureau-button { min-height: 2.3rem; margin-top: .45rem; padding: .4rem .7rem; border-color: #b8cec3; background: #fff; color: var(--bureau-accent); white-space: nowrap; }
.bureau-detail-departures .bureau-button:hover { border-color: var(--bureau-accent); background: #edf4ef; color: var(--bureau-accent); }
.bureau-detail-departures { border-bottom: 0; }
.bureau-detail .bureau-faq { border-top: 0; padding-top: 3.5rem; }
.bureau-detail .bureau-faq .bureau-kicker { margin-bottom: .45rem; }

/* Shared footer */
body > .bureau-footer { padding: 2rem var(--bureau-gutter) 1rem; border-top: 1px solid var(--bureau-line); background: var(--bureau-paper); color: var(--bureau-muted); }
.bureau-footer a, .bureau-footer .legal-link { color: var(--bureau-ink); }
.bureau-footer a:hover, .bureau-footer .legal-link:hover { color: var(--bureau-accent); }
.footer-top { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.35fr); align-items: start; gap: 2rem; padding-bottom: 1.4rem; }
.footer-wordmark { font-size: 1.2rem; font-weight: 600; letter-spacing: -.02em; }
.footer-top p { color: var(--bureau-muted); font-size: .81rem; }
.footer-links { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 1.5rem; width: auto; padding: 0; font-size: .88rem; }
.footer-links__navigation, .footer-links__contacts { display: grid; align-content: start; gap: .55rem; }
.footer-links__contacts a { overflow-wrap: anywhere; }
.footer-bottom { display: flex; justify-content: flex-start; gap: 1rem; border-color: var(--bureau-line); color: var(--bureau-muted); font-size: .79rem; }
.footer-bottom .legal-link { color: var(--bureau-ink); }

@media (max-width: 64rem) {
  .bureau-route-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bureau-route-grid .bureau-route-card:last-child:nth-child(odd) { display: block; grid-column: auto; }
  .bureau-schedule .departure-row { grid-template-columns: 5rem minmax(0, 1fr) auto 1rem; }
}
@media (max-width: 48rem) {
  .footer-top { grid-template-columns: 1fr; gap: 1.4rem; }
  .editorial-home-hero { padding-top: 2rem; }
  .editorial-home-hero .bureau-hero__copy { min-height: 0; }
  .editorial-home-hero .bureau-hero__copy h1 { max-width: 16ch; margin-top: .55rem; font-size: clamp(2.3rem, 7vw, 3rem); }
  .editorial-feature .bureau-hero__visual { height: auto; min-height: 0; aspect-ratio: 1.6; }
  .bureau-route-grid, .bureau-catalog-grid { grid-template-columns: 1fr; }
  .bureau-guide { grid-template-columns: 1fr; }
  .bureau-guide__profile img { max-height: 19rem; }
  .bureau-faq { grid-template-columns: 1fr; }
  .bureau-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
  .bureau-filters__fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 40rem) {
  .bureau-gallery-dialog { width: 98vw; padding: .5rem; }
  .bureau-gallery-dialog__stage { grid-template-columns: 2rem minmax(0, 1fr) 2rem; gap: .25rem; }
  .bureau-gallery-dialog__stage > button { min-height: 2.5rem; }
  .bureau-route-card .card-copy { padding: .9rem 1rem 1rem; }
  .bureau-catalog-grid { row-gap: 1rem; }
  .bureau-header { align-items: center; gap: .7rem; }
  .bureau-header nav { gap: .5rem 1rem; font-size: .83rem; }
  .editorial-home-hero .bureau-hero__actions { gap: .9rem; }
  .editorial-feature .bureau-hero__visual { aspect-ratio: 1.25; }
  .bureau-schedule .departure-row { grid-template-columns: 4.2rem minmax(0, 1fr) 1rem; gap: .65rem; }
  .bureau-schedule .departure-row__price { grid-column: 2; }
  .bureau-schedule .departure-row__arrow { grid-column: 3; grid-row: 1 / span 2; }
  .bureau-filters__fields { grid-template-columns: 1fr; }
  .bureau-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bureau-stats > div:nth-child(4) { padding: 0; border: 0; }
  .bureau-detail-hero__image img { aspect-ratio: 1.35; }
  .bureau-detail-departures .table-wrap { margin-right: calc(-1 * var(--bureau-gutter)); }
  .bureau-detail-departures table { min-width: 42rem; }
  .footer-links { grid-template-columns: 1fr 1fr; gap: 1rem; }
}
