/* Mobile refinement: all primary destinations remain visible without a menu. */
@media (max-width: 900px) {
  html { scroll-padding-top: 24px; }
  .header { position: relative; box-shadow: 0 8px 22px rgba(9, 27, 40, .08); }
  .header-inner { min-height: 66px; }
  .header .brand { background: transparent; padding: 0; width: 120px; height: 40px; }
  .header .brand img { object-fit: contain; }
  .header .lighthouse { color: #e8edf0; font-size: .78rem; letter-spacing: .01em; }
  .header .lighthouse .icon { width: 15px; height: 15px; opacity: .75; }

  .mobile-tabs {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    padding: 0 10px 4px;
    background: #101f2c;
    border-top: 1px solid rgba(255, 255, 255, .11);
    border-bottom: 1px solid rgba(255, 255, 255, .14);
    gap: 0;
  }
  .mobile-tabs a {
    min-height: 43px;
    padding: 9px 3px;
    border: 0;
    color: #c8d3da;
    background: transparent;
    font-size: .76rem;
    font-weight: 500;
    line-height: 1.15;
    white-space: nowrap;
  }
  .mobile-tabs a:hover,
  .mobile-tabs a[aria-current=page] { color: white; background: transparent; }
  .mobile-tabs a[aria-current=page]:after {
    left: 17%; right: 17%; bottom: 3px; height: 2px;
    border-radius: 2px; background: #e4b184;
  }

  .section-nav { border-bottom: 0; }
  .section-nav a { border-right: 0; border-bottom: 1px solid #d5dfe6; }
  .section-nav a[aria-current] { color: var(--net-navy); font-weight: 600; }
  .section-nav a[aria-current]:after { display: none; }
  .section-nav .icon,.archive-row>a .icon,.document-row>span .icon { color: #8da0ac; width: 18px; height: 18px; }
  .section-nav a[aria-current] .icon { color: #d49a68; }
  .proof-item .icon circle { display: none; }
  .proof-item .icon { width: 17px; height: 17px; stroke-width: 1.8; }
  .photo-arrow { width: auto; height: auto; border: 0; background: transparent; }
  .photo-arrow .icon { width: 24px; height: 24px; }
}

@media (max-width: 620px) {
  html { scroll-padding-top: 20px; }
  .header-inner { min-height: 62px; }
  .header .brand { width: 112px; height: 38px; }
  .mobile-tabs a { min-height: 42px; font-size: .72rem; }

  .un-hero .hero-grid { padding-top: 44px; }
  .un-hero .eyebrow { margin-bottom: 18px; }
  .un-hero .lead { line-height: 1.58; }
  .un-hero .hero-visual { height: 230px; margin-top: 26px; }
  .un-hero .hero-visual:after {
    background: linear-gradient(180deg, #101f2c 0%, transparent 17%, transparent 75%, #101f2c 100%);
  }
  .un-hero .photo-signature { font-size: .56rem; letter-spacing: .1em; }
  .service-shortcuts>a,
  .service-shortcuts>a:first-child,
  .service-shortcuts>a:last-child { min-height: 72px; padding: 13px 0; }
  .service-shortcuts>a .icon { width: 19px; height: 19px; opacity: .78; }
  .service-shortcuts small { letter-spacing: .075em; }

  .page-intro-grid .page-hero { padding-top: 28px; padding-bottom: 23px; }
  .page-intro-grid .lead { line-height: 1.58; margin-top: 21px; }
  .intro-photo.editorial-photo { margin-top: 5px; }
  .editorial-photo figcaption { letter-spacing: .1em; }

  .section-nav { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 7px; }
  .section-nav a { min-height: 54px; padding: 12px 10px; gap: 7px; line-height: 1.3; }
  .content-section { padding-top: 39px; }
  .editorial-grid { gap: 34px; }
  .editorial-card-copy { padding-top: 17px; }
  .editorial-card h2 { margin-bottom: 10px; }
  .editorial-card-copy>p:not(.eyebrow) { margin-bottom: 15px; }
  .archive-row>a { flex: none; padding-top: 4px; }

  .course-row { grid-template-columns: 56px minmax(0, 1fr); gap: 9px 15px; }
  .course-row>.text-link { grid-column: 2; min-height: 40px; align-items: center; }
  .course-row .date { display: block; }
  .date strong { display: block; }
  .date span { display: block; margin-top: 4px; }
  .proof-inner { gap: 13px; }
  .news-card,.news-card:last-child { min-height: 0; }
  .news-index { font-size: 2rem; margin-bottom: 24px; }
  .news-card h3 { line-height: 1.18; }

  .booking-progress li { line-height: 1.25; }
  .booking-summary dl { grid-template-columns: 1fr 1fr; }
  .booking-price dd { font-size: 1.55rem; white-space: nowrap; }
  .booking-actions { gap: 10px; }
  .booking-actions .btn { min-height: 48px; }
  .footer-grid { gap: 28px 22px; }
}

@media (max-width: 350px) {
  .mobile-tabs { padding-left: 4px; padding-right: 4px; }
  .mobile-tabs a { font-size: .67rem; }
  .header .lighthouse { font-size: .72rem; }
  .booking-summary dl { grid-template-columns: 1fr; }
}
