/* Canonical mobile presentation. Loaded last on every page; desktop is untouched.
   Match the approved desktop Jost family without the legacy mobile serif overrides. */
@font-face {
  font-family: "Britannia Jost";
  src: url("jost-latin-mobile-v1.woff2") format("woff2");
  font-style: normal;
  font-weight: 300 600;
  font-display: swap;
}

@media (max-width: 1024px) {
  :root { --site-body-font: "Britannia Jost", "Jost", "Segoe UI", sans-serif; }
  body.site-standard {
    --site-display-font: var(--site-body-font);
    --home-display-font: var(--site-body-font);
    --home-body-font: var(--site-body-font);
    --contact-display-font: var(--site-body-font);
    --contact-body-font: var(--site-body-font);
    --serif: var(--site-body-font);
    --sans: var(--site-body-font);
    --site-display-weight: 400;
    --site-accent-style: normal;
    --site-accent-weight: 500;
    --contact-accent-style: normal;
    --contact-display-weight: 400;
    --site-section-space: 48px;
    --site-copy: #d8d2c9;
    --site-muted: #c5beb3;
    --home-readable-text: #d8d2c9;
    --home-readable-muted: #c5beb3;
    font-family: var(--site-body-font);
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.65;
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
    -webkit-font-smoothing: antialiased;
  }
  body.site-standard #mainContent :is(h1,h2,h3,h4,.hero-title,.page-title,.section-title,.cta-title,.service-name,.fleet-model,.form-title,.feature-title,.airport-name,.process-step-title,.expect-step-title,.why-item-title) {
    font-family: var(--site-body-font) !important;
    font-style: normal;
    overflow-wrap: break-word;
  }
  body.site-standard #mainContent :is(h1,.hero-title,.page-title) {
    font-size: clamp(2.25rem, 9vw + .25rem, 3.25rem) !important;
    font-weight: 400 !important;
    line-height: 1.12 !important;
    letter-spacing: -.032em !important;
    max-width: 20ch;
    margin-inline: auto;
    text-align: center;
    text-wrap: balance;
  }
  body.site-standard #mainContent :is(.section-title,.cta-title) {
    width: 100%;
    max-width: 25ch;
    margin: 0 auto 18px;
    font-size: clamp(1.875rem, 6.8vw + .25rem, 2.625rem) !important;
    font-weight: 400 !important;
    line-height: 1.18 !important;
    letter-spacing: -.025em !important;
    text-align: center;
    text-wrap: balance;
  }
  body.site-standard #mainContent :is(.hero-title,.page-title,.section-title,.cta-title) em {
    font: inherit !important;
    font-weight: 500 !important;
    letter-spacing: inherit !important;
  }
  body.site-standard #mainContent :is(.service-name,.fleet-model,.form-title,.feature-title,.airport-name,.process-step-title,.expect-step-title,.why-item-title) {
    font-size: 1.375rem !important;
    font-weight: 500 !important;
    line-height: 1.3 !important;
    letter-spacing: -.018em;
  }
  body.site-standard #mainContent :is(.section-body,.service-desc,.feature-text p,.intro-feature-text p,.promise-text p,.page-subtitle,.hero-subtitle,.cta-sub,.review-quote,.testimonial-text,.testimonial-quote) {
    font-family: var(--site-body-font) !important;
    font-size: 1rem !important;
    font-weight: 400;
    line-height: 1.7 !important;
  }
  body.site-standard #mainContent :is(.section-eyebrow,.page-eyebrow) {
    justify-content: center;
    width: fit-content;
    max-width: 100%;
    margin-inline: auto;
    gap: 10px;
    text-align: center;
  }
  body.site-standard #mainContent :is(.section-eyebrow,.page-eyebrow) span {
    font-size: .6875rem !important;
    font-weight: 600;
    line-height: 1.5;
    letter-spacing: .1em !important;
    white-space: normal;
  }
  body.site-standard #mainContent .page-eyebrow-line { width:20px; flex-basis:20px; }
  body.site-standard #mainContent .page-eyebrow::after { content:""; width:20px; height:1px; flex:0 0 20px; background:#c9a84c; }

  /* Content-driven heroes remove viewport-height gaps and stay flush with the header. */
  body.page-home #mainContent { padding-top: var(--site-header-height); }
  body.page-home #hero {
    min-height: 0 !important;
    height: auto !important;
    justify-content: flex-start;
    padding-top: 36px !important;
    padding-bottom: 32px !important;
  }
  body.page-home #hero .hero-gold-line { top:20px; bottom:20px; }
  body.page-home #hero .hero-title { margin-bottom:18px; }
  body.page-home #hero .hero-stats { display:grid; margin-top:24px; }
  body.page-home #hero .hero-eyebrow span { white-space:normal; }
  body.page-home #hero .hero-eyebrow-line,
  body.page-home #hero .hero-eyebrow::after { flex-basis:16px; width:16px; }
  body.site-inner #mainContent .page-hero { min-height:260px !important; padding-block:36px !important; }
  body.site-inner #mainContent .page-hero-overlay {
    background: linear-gradient(180deg,rgba(8,8,7,.76),rgba(8,8,7,.88)) !important;
  }
  body.site-inner #mainContent .page-subtitle { margin-inline:auto; text-align:center; }
  body.site-standard #mainContent > .page-first-content { padding-top:36px !important; }
  body.page-home #mainContent > .section-pad { padding-block:48px; }
  body.page-home #mainContent > #services { padding-top:32px; }
  body.site-standard #mainContent .reveal { opacity:1 !important; transform:none !important; }

  /* Cards and form controls retain the shared theme, with comfortable reading and touch sizes. */
  body.site-standard #mainContent :is(.service-card,.service-full-card,.feature-card,.fleet-card,.airport-card,.testimonial-card) { min-width:0; }
  body.site-standard #mainContent :is(.service-features,.feature-list) { font-size:1rem; line-height:1.65; }
  body.site-standard #mainContent :is(.incl-list,.service-features,.hospital-list) li { font-size:1rem; line-height:1.65; color:var(--site-muted); }
  body.site-standard #mainContent .incl-list li { align-items:flex-start; }
  body.site-standard #mainContent .legal-content { font-size:1rem; line-height:1.75; }
  body.site-standard #mainContent .legal-content h2 { font-size:1.5rem !important; line-height:1.3; }
  body.site-standard #mainContent :is(input:not([type=checkbox]):not([type=hidden]),select,textarea) {
    font-family:var(--site-body-font) !important;
    font-size:1rem !important;
    min-height:48px;
    max-width:100%;
  }
  body.site-standard #mainContent :is(.form-subtitle,.form-note,.form-check) { font-size:.875rem !important; line-height:1.65 !important; }
  body.site-standard #mainContent .form-check { min-height:48px; align-items:center; }
  body.site-standard #mainContent :is(.btn-primary,.btn-secondary,.btn-submit,.btn-dark,.btn-outline-dark,.service-cta-link,.fleet-enquire) {
    min-height:48px;
    font-family:var(--site-body-font);
    font-size:.75rem;
    line-height:1.4;
    touch-action:manipulation;
  }
  body.site-standard :is(button,.mobile-bottom-nav a,#mobileMenu a) { touch-action:manipulation; }
  body.site-standard footer :is(.footer-brand-name,.footer-phone) { font-family:var(--site-body-font); font-size:1.375rem; font-weight:500; line-height:1.4; letter-spacing:-.02em; }
  body.site-standard footer :is(.footer-tagline,.footer-email,.footer-links a) { font-size:.875rem; line-height:1.65; }
  body.site-standard #mainContent :is(.form-group,.fleet-card-content,.section-body) { min-width:0; overflow-wrap:break-word; }
}

@media (min-width:768px) and (max-width:1024px) {
  body.site-standard { --site-section-space:56px; }
  body.page-home #hero { padding-block:40px !important; }
  body.site-inner #mainContent .page-hero { min-height:280px !important; }
}
@media (max-width:1024px) and (orientation:landscape) and (max-height:560px) {
  body.page-home #hero { padding-block:28px !important; }
  body.page-home #hero .hero-stats { display:none; }
  body.site-inner #mainContent .page-hero { min-height:220px !important; padding-block:28px !important; }
}
@media (max-width:1024px) and (prefers-reduced-motion:reduce) {
  body.site-standard #mainContent * { animation:none !important; transition:none !important; }
}
