@media (max-width: 820px) {
  :root { --shell: min(100% - 34px, 720px); }
  body { font-size: 15px; overflow-x: hidden; }

  /* Mobile header and navigation */
  .site-header { position: absolute; background: linear-gradient(180deg, rgba(5,5,5,.94), rgba(5,5,5,.35), transparent); }
  .header-inner { min-height: 78px; gap: 18px; }
  .brand-mark { width: 38px; height: 38px; }
  .brand-copy strong { font-size: 19px; }
  .brand-copy span { margin-top: 5px; font-size: 6px; letter-spacing: .26em; }
  .menu-button {
    position: relative;
    z-index: 32;
    width: 44px;
    height: 44px;
    margin-left: auto;
    display: grid;
    place-content: center;
    gap: 5px;
    border: 1px solid rgba(216,183,101,.45);
    cursor: pointer;
  }
  .menu-button span { width: 19px; height: 1px; display: block; background: var(--gold-bright); transition: transform .25s ease, opacity .2s ease; }
  .nav-toggle { position: absolute; opacity: 0; pointer-events: none; }
  .site-nav {
    position: fixed;
    z-index: 30;
    inset: 0 0 auto;
    min-height: 100svh;
    padding: 112px 30px 45px;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    gap: 7px;
    background:
      radial-gradient(circle at 80% 20%, rgba(216,183,101,.12), transparent 20rem),
      rgba(8,9,10,.985);
    transform: translateX(104%);
    visibility: hidden;
    transition: transform .3s ease, visibility .3s ease;
  }
  .site-nav > a:not(.button) { padding: 17px 4px; border-bottom: 1px solid rgba(216,183,101,.15); font-family: var(--serif); font-size: 24px; font-weight: 400; letter-spacing: .01em; text-transform: none; }
  .site-nav > a:not(.button)::after { display: none; }
  .site-nav .button { margin-top: 22px; }
  .nav-toggle:checked ~ .site-nav { transform: none; visibility: visible; }
  .nav-toggle:checked + .menu-button span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
  .nav-toggle:checked + .menu-button span:nth-child(2) { opacity: 0; }
  .nav-toggle:checked + .menu-button span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }

  /* Hero */
  .hero { min-height: 720px; align-items: end; }
  .hero-photo { object-position: 56% center; }
  .hero-overlay {
    background:
      linear-gradient(180deg, rgba(4,4,4,.22) 0%, rgba(4,4,4,.25) 34%, rgba(4,4,4,.72) 66%, rgba(4,4,4,.96) 100%),
      linear-gradient(90deg, rgba(4,4,4,.74), transparent 78%);
  }
  .hero-inner { padding-top: 120px; padding-bottom: 58px; align-items: end; }
  .hero-copy { width: 100%; max-width: 520px; }
  .hero-kicker { margin-bottom: 12px; font-size: 9px; }
  .hero h1 { margin-bottom: 17px; font-size: clamp(53px, 16vw, 75px); line-height: .94; }
  .hero-lead { margin-bottom: 28px; font-size: 19px; }

  /* Feature cards */
  .feature-grid { grid-template-columns: 1fr 1fr; }
  .feature-card { min-height: 150px; padding: 29px 19px; border-bottom: 1px solid rgba(216,183,101,.2); }
  .feature-card:nth-child(odd) { border-left: 1px solid rgba(216,183,101,.2); }
  .feature-card > svg { width: 29px; height: 29px; }
  .feature-card h2 { font-size: 16px; }
  .feature-card p { font-size: 11px; }

  /* Content */
  .split-layout, .areas-layout { padding-block: 72px; grid-template-columns: 1fr; gap: 44px; }
  .section-copy h2 { font-size: clamp(43px, 13vw, 58px); }
  .section-copy > p:not(.eyebrow) { font-size: 14px; }
  .fleet-slideshow { height: 440px; }
  .slide figcaption { left: 14px; right: 70px; bottom: 42px; font-size: 8px; }
  .slide figcaption small { font-size: 14px; }
  .slide-nav { width: 38px; height: 38px; }
  .slide-prev { left: 14px; }
  .slide-next { right: 14px; }
  .slide-dots { left: 14px; bottom: 20px; }
  .slide-count { right: 16px; bottom: 17px; }
  .areas .section-copy { order: 1; }
  .dark-map { order: 2; min-height: 340px; }
  .map-illustration > svg { min-height: 340px; }
  .map-caption { left: 16px; bottom: 15px; }
  .map-toggle { right: 14px; top: 14px; padding: 9px 13px; font-size: 10px; }

  /* Newsletter */
  .newsletter-inner { min-height: auto; padding-block: 46px; grid-template-columns: 1fr; gap: 22px; }
  .newsletter h2 { font-size: 27px; }
  .newsletter-form { grid-template-columns: 1fr 120px; }
  .newsletter-form input { height: 50px; padding-inline: 14px; font-size: 13px; }
  .newsletter-form button { font-size: 9px; }
  .newsletter-icon { display: none; }

  /* Footer */
  .footer-grid { padding-block: 56px 40px; grid-template-columns: 1fr 1fr; gap: 42px 28px; }
  .footer-brand { grid-column: 1 / -1; }
  .footer-brand > p { max-width: 380px; }
  .footer-bottom { min-height: 0; padding-block: 28px; grid-template-columns: 1fr; justify-items: start; gap: 18px; }
  .footer-bottom nav { order: 1; justify-self: start; flex-wrap: wrap; gap: 18px; }
  .social-links { order: 2; justify-self: start; }
  .footer-bottom p { order: 3; }
}

@media (max-width: 540px) {
  :root { --shell: min(100% - 26px, 500px); }
  .header-inner { min-height: 72px; }
  .brand-copy strong { font-size: 17px; }
  .brand-copy span { font-size: 5.5px; }
  .menu-button { width: 40px; height: 40px; }

  .hero { min-height: 660px; }
  .hero-photo { object-position: 61% center; }
  .hero-overlay { background: linear-gradient(180deg, rgba(4,4,4,.12) 0%, rgba(4,4,4,.21) 38%, rgba(4,4,4,.78) 67%, rgba(4,4,4,.98) 100%); }
  .hero-inner { padding-bottom: 44px; }
  .hero h1 { font-size: clamp(48px, 17vw, 64px); }
  .hero-lead { font-size: 17px; }
  .button { min-height: 46px; padding-inline: 20px; }

  .feature-grid { grid-template-columns: 1fr; }
  .feature-card { min-height: 0; padding: 24px 19px; border-left: 1px solid rgba(216,183,101,.2); }
  .feature-card:last-child { border-bottom: 0; }

  .split-layout, .areas-layout { padding-block: 60px; gap: 36px; }
  .fleet-slideshow { height: 360px; padding: 7px; }
  .slide img { object-position: center 48%; }
  .slide figcaption { right: 14px; bottom: 44px; }
  .dark-map, .map-illustration > svg { min-height: 300px; }
  .map-labels { font-size: 12px; }
  .map-caption small { display: none; }

  .newsletter-form { grid-template-columns: 1fr; gap: 8px; }
  .newsletter-form input { border-right: 1px solid rgba(71,51,11,.25); }
  .newsletter-form button { min-height: 48px; }

  .footer-grid { grid-template-columns: 1fr; gap: 36px; }
  .footer-brand { grid-column: auto; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}
