/* Mobile-only corrections. Loaded after the legacy presentation layers. */
.mobile-nav { display: none; }

@media (max-width: 760px) {
  html, body { max-width: 100%; overflow-x: hidden; }
  body.menu-open { overflow: hidden; }

  .topbar, .topbar .container { height: 72px !important; }
  .topbar { overflow: visible; }
  .topbar .container { width: 90% !important; gap: 7px !important; }
  .topbar .ep-logo { width: 82px !important; height: 42px !important; }
  .topbar .mission-logo { width: 104px !important; height: 42px !important; }
  .topbar .brand-divider { height: 26px; flex: 0 0 1px; }
  .topbar .language { margin-left: auto; padding: 7px 9px; min-width: 52px; }
  .topbar .menu-btn { display: grid !important; place-items: center; margin-left: 0; padding: 4px; width: 34px; height: 34px; color: var(--cyan); line-height: 1; }

  .mobile-nav { position: fixed; z-index: 30; top: 72px; right: 0; left: 0; display: none; flex-direction: column; gap: 0; padding: 10px 5%; background: #fff; border-bottom: 1px solid var(--line); box-shadow: 0 16px 30px rgba(7,11,58,.16); }
  .mobile-nav.is-open { display: flex; }
  .mobile-nav a { padding: 15px 0; border-bottom: 1px solid var(--line); color: var(--ink); font-size: 1rem; font-weight: 800; }
  .mobile-nav a:last-child { border-bottom: 0; }

  .container, .page-hero .container { width: 90% !important; max-width: 100%; }
  .section { padding: 64px 0; }
  .hero { min-height: auto; padding: 76px 0; }
  .hero h1, .page-hero h1 { font-size: clamp(2.35rem, 10.4vw, 3.55rem) !important; line-height: 1.02 !important; max-width: 100% !important; white-space: normal !important; overflow-wrap: anywhere; }
  .section-heading h2, .media-copy h2, .final h2 { font-size: clamp(2.15rem, 10vw, 3.1rem) !important; max-width: 100%; white-space: normal !important; overflow-wrap: anywhere; }
  .section-heading p, .media-copy p, .page-hero p, .hero p, .contact-form-grid p { max-width: 100%; overflow-wrap: break-word; }
  .eyebrow { max-width: 100%; overflow-wrap: anywhere; }

  .partner-strip { padding: 30px 0; }
  .partner-strip .container { display: block !important; width: 90% !important; }
  .partner-org, .partner-collab, .partner-title { display: block !important; width: 100% !important; }
  .partner-org > span, .partner-collab [data-collaboration], .partner-title > span { display: block; margin: 0 0 13px !important; }
  .partner-org img, .partner-title .ep-partner { width: 165px !important; height: 54px !important; margin: 0 0 30px !important; object-fit: contain; object-position: left; }
  .partner-collab-group { display: block !important; width: 100% !important; margin: 0 !important; }
  .partner-collab > .partner-logos, .partner-collab-group > .partner-logos, .partner-logos { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: center !important; justify-content: stretch !important; gap: 20px 18px !important; width: 100% !important; padding: 0 !important; transform: none !important; }
  .partner-logos img, .partner-logo, .partner-logo.camara, .partner-logo.scec, .partner-logo.icities { width: 100% !important; max-width: 155px !important; height: 44px !important; margin: 0 !important; object-fit: contain; object-position: left center; }

  .proof-grid, .cards-3, .package-grid, .program-grid, .steps, .logo-wall, .contact-form-grid, .form-row, .media-split, .media-split.reverse, .hero-grid, .final-grid, .companies-proof { grid-template-columns: minmax(0, 1fr) !important; }
  .cards-3 { gap: 18px; }
  .contact-card { min-width: 0; padding: 26px; }
  .contact-card h3 { overflow-wrap: anywhere; }
  .steps .step, .package, .program-card, .proof-card { min-width: 0; }

  .follow-up { display: flex !important; flex-direction: column; align-items: stretch !important; gap: 20px; padding: 25px; }
  .follow-up > div { width: 100%; min-width: 0; }
  .follow-up .btn { align-self: stretch !important; width: 100%; max-width: 100%; white-space: normal; text-align: center; }
  .btn, .header-cta { max-width: 100%; white-space: normal; text-align: center; }

  .stat-row { grid-template-columns: minmax(0, 1fr) !important; }
  .compare { display: block; overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .compare th, .compare td { min-width: 130px; }
  .timeline { display: block; }
  .timeline > div + div { border-left: 0; border-top: 1px solid var(--line); }
  .media-image { height: 300px; }
  .image-band { min-height: 320px; }

  .floating-method { right: 12px !important; bottom: 12px !important; display: flex !important; flex: 0 0 46px !important; width: 46px !important; height: 46px !important; min-width: 46px !important; max-width: 46px !important; overflow: hidden !important; padding: 0 !important; border-radius: 50% !important; justify-content: center !important; gap: 0 !important; }
  .floating-method > span:not(.floating-arrow),
  .floating-method small,
  .floating-method b { display: none !important; }
  .floating-method > .floating-arrow { display: grid !important; flex: 0 0 46px !important; width: 46px !important; height: 46px !important; margin: 0 !important; }
}

@media (max-width: 370px) {
  .topbar .container { gap: 4px !important; }
  .topbar .ep-logo { width: 76px !important; }
  .topbar .mission-logo { width: 96px !important; }
  .topbar .language { min-width: 48px; padding: 6px 7px; }
}
