/* ===================================================================
   BLYFT — shared mobile typography overrides
   Loaded LAST on every page it applies to, so it always wins over
   that page's own inline <style> block regardless of source order.
   This is the single place mobile heading sizes are decided — do not
   re-introduce page-local mobile font-size overrides for these
   selectors, edit them here instead.
   =================================================================== */

/* Breakpoint matches the site's nav hamburger threshold (1080px) rather
   than a narrower "phone" width. iOS Safari's "Request Desktop Website"
   mode renders pages at a fixed 980px layout width — narrow enough to
   still collapse the nav to a hamburger, but wide enough to skip past a
   640/720px breakpoint entirely, leaving desktop-sized headings on a
   phone screen. Using 1080px here means these rules apply in that
   scenario too, not just on a genuinely narrow viewport. */
@media (max-width: 1080px) {

  /* ---- blyft.html / index.html (homepage) ---- */
  .hero-title { font-size: clamp(42px, 12vw, 54px) !important; line-height: 1.08 !important; max-width: 100% !important; overflow-wrap: break-word; }
  .section-title { font-size: 30px !important; line-height: 1.15 !important; overflow-wrap: break-word; }
  .cta h2 { font-size: 28px !important; line-height: 1.15 !important; overflow-wrap: break-word; }
  .home-hero { flex-direction: column !important; align-items: stretch !important; justify-content: center !important; min-height: auto !important; padding: 140px 0 56px !important; }
  .home-hero .hero-inner { width: 100% !important; }
  .home-hero .hero-bottom { position: static !important; padding: 32px 20px 0 !important; flex-direction: column !important; align-items: center !important; gap: 20px !important; }
  .home-hero .hero-scroll { display: none !important; }
  .home-hero .hero-stats { gap: 20px !important; flex-wrap: wrap !important; justify-content: center !important; width: 100% !important; }
  .home-hero .hero-stat { text-align: center !important; }

  /* ---- growthx.html / arc.html ---- */
  .hero-h1 { font-size: 32px !important; line-height: 1.12 !important; overflow-wrap: break-word; }
  .sec-title { font-size: 28px !important; line-height: 1.15 !important; overflow-wrap: break-word; }
  .cta-h { font-size: 28px !important; line-height: 1.15 !important; overflow-wrap: break-word; }

  /* ---- about.html ---- */
  .about-hero h1 { font-size: 34px !important; line-height: 1.15 !important; max-width: 100% !important; overflow-wrap: break-word; }
  .cta-strip h2 { font-size: 26px !important; line-height: 1.2 !important; overflow-wrap: break-word; }

  /* ---- contact.html / contact-us.html ---- */
  .contact-left h1 { font-size: 32px !important; line-height: 1.15 !important; max-width: 100% !important; overflow-wrap: break-word; }

  /* ---- careers.html ---- */
  .hero h1 { font-size: 34px !important; line-height: 1.15 !important; overflow-wrap: break-word; }
  .lookfor-left h2 { font-size: 28px !important; line-height: 1.15 !important; overflow-wrap: break-word; }
  .apply-card h2 { font-size: 26px !important; line-height: 1.2 !important; overflow-wrap: break-word; }

  /* ---- faq.html ---- */
  .faq-hero h1 { font-size: 32px !important; line-height: 1.15 !important; max-width: 100% !important; overflow-wrap: break-word; }
  .faq-cta h2 { font-size: 26px !important; line-height: 1.2 !important; max-width: 100% !important; overflow-wrap: break-word; }

  /* ---- blog.html ---- */
  .hero-left h1 { font-size: 32px !important; line-height: 1.12 !important; overflow-wrap: break-word; }
}

@media (max-width: 560px) {
  .home-hero { padding: 194px 0 48px !important; }
  .home-hero .hero-title { margin-top: 18px !important; font-size: clamp(42px, 12vw, 54px) !important; line-height: 1.08 !important; }
  .home-hero .hero-sub { max-width: 100% !important; text-align: left !important; }
  .home-hero .hero-ctas { width: 100% !important; justify-content: stretch !important; }
  .home-hero .hero-ctas .btn { width: 100% !important; justify-content: center !important; }
  .home-hero .hero-stats { display: grid !important; grid-template-columns: 1fr !important; gap: 24px !important; margin-top: 6px !important; }
  .home-hero .hero-stat .num { font-size: 46px !important; }
  .home-hero .hero-stat .lbl { font-size: 11px !important; letter-spacing: 0.12em !important; }
  .marquee-track { animation-duration: 4s !important; font-size: 30px !important; gap: 24px !important; }
  .marquee-track span { gap: 24px !important; }
  #promoBanner .promo-marquee-track { animation-duration: 10s !important; }
}

@media (max-width: 720px) {
  footer { padding: 52px 0 28px !important; }
  .footer-top { grid-template-columns: 1fr !important; gap: 30px !important; padding-bottom: 34px !important; }
  .footer-brand .brand-logo { height: 38px !important; }
  .footer-brand p { margin-top: 18px !important; max-width: 30ch !important; font-size: 15px !important; line-height: 1.55 !important; }
  .footer-col h5 { margin-bottom: 14px !important; font-size: 11px !important; letter-spacing: 0.18em !important; }
  .footer-col ul { gap: 11px !important; }
  .footer-col a { font-size: 16px !important; line-height: 1.25 !important; }
  .footer-bottom { flex-direction: column !important; align-items: flex-start !important; gap: 18px !important; padding-top: 26px !important; font-size: 11px !important; line-height: 1.55 !important; letter-spacing: 0.09em !important; }
  .footer-legal { display: grid !important; grid-template-columns: 1fr !important; gap: 12px !important; width: 100% !important; }
  .footer-legal a { font-size: 11px !important; letter-spacing: 0.09em !important; }
  footer .container > div[style*="justify-content:center"] { justify-content: flex-start !important; text-align: left !important; }
  footer .container > div[style*="justify-content:center"] span { width: 100% !important; font-size: 10px !important; line-height: 1.55 !important; letter-spacing: 0.09em !important; }
}
