/* Responsive foundation: desktop, iPad, and iPhone layouts. */
html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

img, svg, video {
  max-width: 100%;
}

button, a, input, textarea {
  -webkit-tap-highlight-color: transparent;
}

@media (min-width: 801px) and (max-width: 1100px) {
  .nav { padding-inline: 4vw; }
  .nav-links { gap: 21px; margin-left: 32px; }
  .page-nav .nav-links { margin-right: 22px; }
  .nav-actions { gap: 15px; }
  .button { padding: 13px 15px; gap: 15px; }
  .hero { min-height: 700px; padding-inline: 7vw; }
  .hero-copy { width: 36%; margin-left: 0; }
  .hero-visual { left: 55%; right: auto; width: 45%; height: 570px; }
  .flight-card { bottom: 269px; left: calc(90% - 157px); right: auto; top: auto; }
  .request-card { left: calc(90% - 196px); right: auto; }
  .section { padding-inline: 7vw; }
  .feature-grid { grid-template-columns: 1.15fr 1fr 1fr; }
  .page-hero { padding-inline: 7vw; }
  .page-grid { padding-inline: 7vw; }
  .page-cta { margin-inline: 7vw; }
}

@media (max-width: 800px) {
  .nav { min-height: 70px; height: auto; }
  .nav-open .nav-links { padding-bottom: 20px; }
  .nav-open .nav-actions {
    top: 278px;
    gap: 14px;
    flex-wrap: wrap;
  }
  .nav-open .button { min-height: 44px; }
  .button, .login, .menu { min-height: 44px; }
  .menu { padding: 9px 4px; }

  .hero {
    min-height: 820px;
    padding: 124px 7vw 390px;
  }
  .hero h1 { font-size: clamp(44px, 13vw, 58px); letter-spacing: -2.8px; }
  .hero-actions { gap: 18px; flex-wrap: wrap; }
  .hero-visual {
    top: auto;
    bottom: 57px;
    right: 0;
    width: 92%;
    height: 275px;
  }
  .hero-video-media { object-position: center; }
  .flight-card { bottom: auto; left: auto; right: 11%; top: 75px; transform: scale(.76); transform-origin: top right; }
  .request-card { left: auto; right: 4%; bottom: 22px; transform: scale(.75); transform-origin: right bottom; }
  .hero-footer { display: none; }
  .trust-row { margin-top: 38px; }
  .feature-grid { gap: 12px; }
  .feature { min-height: 390px; }
  .workflow-head { display: block; }
  .workflow-head p { padding-bottom: 25px; }
  .page-hero { padding-top: 58px; }
  .page-grid { gap: 12px; }
  .page-card { min-height: 0; padding: 24px; }
  .page-card h2 { margin-top: 32px; }
  .page-cta { padding: 32px 24px; }
  .simple-form input, .simple-form textarea { font-size: 16px; }
}

@media (max-width: 390px) {
  .hero { min-height: 845px; padding-bottom: 408px; }
  .hero h1 { font-size: 43px; }
  .hero-visual { height: 268px; }
  .flight-card { right: 6%; transform: scale(.7); }
  .request-card { transform: scale(.67); }
  .button { width: 100%; justify-content: space-between; }
  .hero-actions { display: grid; }
  .page-cta .button, .simple-form .button { width: 100%; }
}


/* Fluid type scale: preserves hierarchy as browser width changes. */
@media (min-width: 801px) {
  .nav-links a, .login, .button, .text-link { font-size: clamp(10px, 0.62vw, 12px); }
  .eyebrow, .card-label, .feature-top .number { font-size: clamp(8px, 0.55vw, 10px); }
  .lead, .page-hero p { font-size: clamp(14px, 0.9vw, 16px); }
  .feature-heading > p, .feature > p, .workflow-head p, .step p, .page-card p, .page-cta p { font-size: clamp(11px, 0.72vw, 13px); }
  .feature h3, .page-card h2, .step h3 { font-size: clamp(18px, 1.35vw, 26px); }
}
