/* Mobile layout corrections loaded after the production bundle. */
.interior-copy {
  width: 100%;
  min-width: 0;
}

@media (max-width: 760px) {
  html,
  body {
    max-width: 100%;
    overflow-x: clip;
    -webkit-text-size-adjust: 100%;
  }

  .header {
    height: 68px;
    padding-inline: 18px;
  }

  .menu {
    width: 46px;
    height: 46px;
  }

  .nav {
    justify-content: center;
    gap: 10px;
    padding: 88px 20px 36px;
    overflow-y: auto;
  }

  .nav a {
    display: flex;
    align-items: center;
    width: 100%;
    min-height: 46px;
    max-width: 100%;
    font-size: clamp(25px, 7.4vw, 32px);
    line-height: 1.08;
    white-space: normal;
    overflow-wrap: break-word;
  }

  .hero-content {
    padding: 104px 20px 148px;
  }

  .hero h1 {
    max-width: 100%;
    font-size: clamp(43px, 13.4vw, 58px);
    line-height: 0.87;
    letter-spacing: -0.055em;
  }

  .hero-lead {
    max-width: 35rem;
    font-size: 15px;
    line-height: 1.55;
  }

  .hero-actions {
    margin-top: 26px;
  }

  .hero-trust {
    bottom: 16px;
    left: 16px;
    right: 16px;
  }

  .hero-trust span {
    padding-inline: 6px;
    font-size: 9px;
    line-height: 1.25;
  }

  .section {
    padding: 68px 20px;
  }

  .manifesto-grid {
    gap: 30px;
  }

  .manifesto h2 {
    font-size: 38px;
    line-height: 1.04;
  }

  .manifesto-copy p,
  .selection-copy > p,
  .legal p {
    font-size: 16px;
    line-height: 1.65;
  }

  .map-sticky {
    height: 76svh;
    min-height: 560px;
  }

  .map-copy {
    bottom: 34px;
  }

  .map-copy h2 {
    margin-bottom: 18px;
    font-size: 42px;
  }

  .map-stops {
    padding-bottom: 48px;
  }

  .map-stop {
    padding: 36px 0 42px;
  }

  .map-stop-photo {
    height: 54vw;
    max-height: 270px;
    margin-bottom: 20px;
  }

  .map-stop > div:last-child {
    grid-template-columns: 42px minmax(0, 1fr);
  }

  .map-stop h3 {
    font-size: 35px;
  }

  .map-stop p {
    font-size: 14px;
    line-height: 1.55;
  }

  .section-heading {
    gap: 24px;
    margin-bottom: 38px;
  }

  .section-heading h2 {
    font-size: 43px;
    line-height: 0.98;
  }

  .segmented {
    min-height: 52px;
  }

  .segmented button,
  .filter-pills button {
    min-height: 42px;
  }

  .tour-grid,
  .catalog-grid {
    gap: 52px;
  }

  .tour-image-wrap,
  .catalog-grid .tour-image-wrap {
    height: 96vw;
    max-height: 470px;
  }

  .tour-copy {
    padding-top: 18px;
  }

  .tour-copy h3 {
    margin-bottom: 14px;
    font-size: 28px;
  }

  .tour-description {
    margin-bottom: 14px;
    line-height: 1.55;
  }

  .all-tours {
    margin-top: 46px;
  }

  .winter-cinema,
  .winter-content {
    min-height: 82svh;
  }

  .winter-content {
    padding: 86px 20px 52px;
  }

  .winter-content h2 {
    font-size: 47px;
  }

  .principles {
    gap: 32px;
  }

  .principles-intro h2 {
    font-size: 40px;
  }

  .principle {
    grid-template-columns: 38px minmax(0, 1fr);
    min-height: 0;
    padding: 32px 0;
  }

  .principle h3 {
    font-size: 24px;
  }

  .principle p {
    font-size: 14px;
    line-height: 1.58;
  }

  .review-river {
    min-height: 82svh;
    padding: 72px 20px 64px;
  }

  .review-river blockquote > p {
    font-size: 29px;
    line-height: 1.17;
  }

  .review-river blockquote footer {
    margin-top: 28px;
  }

  .review-river > .text-link {
    margin-top: 36px;
  }

  .selection {
    gap: 34px;
  }

  .selection-copy > span {
    margin-bottom: 28px;
  }

  .selection-copy h2 {
    margin-bottom: 22px;
    font-size: 41px;
    line-height: 1.02;
  }

  .selection-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    width: 100%;
    height: auto;
    margin-top: 26px;
    transform: none;
  }

  .selection-tags i {
    position: static;
    width: auto;
    height: auto;
    padding: 8px 13px;
    border-radius: 99px;
    animation: none;
  }

  .lead-form,
  .form-success {
    padding: 28px 20px;
  }

  .form-heading h2,
  .form-success h3 {
    font-size: 36px;
  }

  .lead-form input,
  .lead-form textarea,
  .lead-form select {
    min-height: 48px;
    font-size: 16px;
  }

  .interior-hero {
    min-height: 82svh;
    padding: 112px 20px 52px;
  }

  .interior-copy,
  .interior-copy h1,
  .interior-copy > p:last-child {
    width: 100%;
    min-width: 0;
    max-width: 100%;
  }

  .interior-copy h1 {
    margin-bottom: 22px;
    font-size: clamp(36px, 10.6vw, 48px);
    line-height: 0.9;
    letter-spacing: -0.055em;
  }

  .about-page .interior-copy h1 {
    font-size: clamp(28px, calc((100vw - 42px) / 10), 40px);
    letter-spacing: -0.06em;
  }

  .interior-copy > p:last-child {
    font-size: 15px;
    line-height: 1.55;
  }

  .filter-pills {
    padding-bottom: 6px;
    scrollbar-width: none;
    overscroll-behavior-inline: contain;
  }

  .filter-pills::-webkit-scrollbar {
    display: none;
  }

  .tour-facts > div {
    min-height: 104px;
    padding: 22px 20px;
  }

  .route-days {
    gap: 32px;
  }

  .route-days-heading h2,
  .included h2,
  .custom-route h2,
  .about-statement h2 {
    font-size: 40px;
    line-height: 1.02;
  }

  .day {
    grid-template-columns: 42px minmax(0, 1fr);
    min-height: 0;
    padding: 32px 0;
  }

  .day h3 {
    font-size: 24px;
  }

  .day p {
    font-size: 14px;
    line-height: 1.6;
  }

  .included {
    gap: 28px;
  }

  .statement-grid {
    gap: 22px;
    font-size: 16px;
  }

  .guide-grid {
    gap: 40px;
  }

  .guide-number,
  .guide-photo {
    height: 104vw;
    max-height: 500px;
  }

  .numbers-ridge > div {
    min-height: 190px;
    padding: 42px 20px;
  }

  .reviews-hero,
  .contacts-hero {
    min-height: 68svh;
  }

  .reviews-hero h1,
  .contacts-heading h1 {
    max-width: 100%;
    font-size: clamp(42px, 13vw, 56px);
    line-height: 0.88;
  }

  .review-card {
    padding: 38px 0;
  }

  .review-card > p {
    font-size: 27px;
  }

  .contact-grid {
    gap: 44px;
  }

  .map-art {
    min-height: 340px;
  }

  .legal {
    width: 100%;
    min-width: 0;
    padding-top: 116px;
  }

  .legal h1 {
    max-width: 100%;
    margin-bottom: 38px;
    font-size: clamp(38px, 11vw, 48px);
    line-height: 1.02;
    hyphens: auto;
    overflow-wrap: anywhere;
  }

  .legal h2 {
    margin-top: 34px;
    font-size: 29px;
  }

  .footer-callout {
    gap: 30px;
    min-height: 0;
    padding: 70px 20px;
  }

  .footer-callout h2 {
    font-size: 40px;
    line-height: 1.02;
  }

  .circle-link {
    width: 120px;
    height: 120px;
  }

  .footer-grid {
    gap: 34px 20px;
    padding: 50px 20px;
  }

  .footer-grid a,
  .footer-grid span {
    font-size: 14px;
    line-height: 1.5;
  }
}

@media (max-width: 370px) {
  .hero-trust span {
    font-size: 8px;
  }

  .interior-copy h1 {
    font-size: 36px;
  }

  .footer-grid {
    grid-template-columns: 1fr;
  }

  .footer-grid > .brand {
    grid-column: auto;
  }
}
