.mobile-menu-home, .mobile-menu-meta, .mobile-services-back, .hero-lead-mobile { display: none; }
@media (max-width: 960px) {
  :root { --mobile-nav-height: calc(72px + env(safe-area-inset-top, 0px)); }
  html { scroll-padding-top: calc(var(--mobile-nav-height) + 12px); }
  .nav, .nav.solid, .nav.services-open { backdrop-filter: none; }
  .nav::before { backdrop-filter: none; background: linear-gradient(#04111ba3, #04111b1a); }
  .nav.menu-open { background: #04121b; transform: none!important; transition: none; }
  body:has(.nav.menu-open) .wa-widget { visibility: hidden; pointer-events: none; }
  .nav__in { position: relative; height: var(--mobile-nav-height); padding: env(safe-area-inset-top, 0px) max(22px, env(safe-area-inset-right, 0px)) 0 max(22px, env(safe-area-inset-left, 0px)); }
  .brand, .brand img { width: clamp(118px, 31vw, 145px); }
  .brand, .burger { z-index: 2; }
  .burger { width: 44px; height: 44px; }
  .burger::after { content: ''; position: absolute; left: 10px; right: 10px; top: 21px; height: 2.5px; background: currentColor; border-radius: 2px; transition: opacity .2s; }
  .burger[aria-expanded=true]::after { opacity: 0; }
  .menu { position: fixed; inset: 0; z-index: 1; height: 100vh; height: 100dvh; max-height: none; width: 100%; border: 0; border-radius: 0; background: #04121b; padding: calc(var(--mobile-nav-height) + 16px) max(24px, env(safe-area-inset-right, 0px)) max(24px, env(safe-area-inset-bottom, 0px)) max(24px, env(safe-area-inset-left, 0px)); box-shadow: none; overflow-y: auto; overscroll-behavior: contain; transform: none; opacity: 0; visibility: hidden; transition: opacity .22s ease, visibility .22s ease; gap: 0; }
  .menu.open { transform: none; opacity: 1; visibility: visible; }
  .menu { overflow-x: hidden; }
  .menu::before { content: ''; position: absolute; right: -75px; top: 32%; width: 280px; height: 390px; border: 45px solid #ffcc000e; border-left-color: transparent; border-radius: 60% 70% 50% 60%; transform: rotate(35deg); pointer-events: none; }
  .menu > a, .menu > .nav-group, .mobile-menu-meta { position: relative; z-index: 1; }
  .menu > a:not(.btn), .nav-service-toggle { min-height: 44px; display: flex; align-items: center; padding: 9px 0; border: 0; font-size: 15px; font-weight: 400; opacity: 1; }
  .menu .mobile-menu-home { display: flex; }
  .nav-service-toggle { width: 100%; justify-content: space-between; color: #ffcc00; }
  .nav-service-toggle::after { display: none; }
  .menu > .btn { align-self: flex-start; width: min(210px, 100%); min-height: 44px; display: flex; justify-content: flex-start; gap: 18px; margin: 16px 0 0; padding: 11px 19px; font-size: 13px; border-radius: 6px; opacity: 1; }
  .mobile-menu-meta { display: block; margin-top: 23px; padding-top: 20px; border-top: 1px solid #ffffff16; }
  .mobile-menu-contact { list-style: none; margin: 0 0 22px; padding: 0; display: grid; gap: 15px; }
  .mobile-menu-contact li { display: flex; align-items: flex-start; gap: 12px; font-size: 12px; color: #c4cdd8; line-height: 1.5; }
  .mobile-menu-contact svg { width: 19px; height: 21px; flex-shrink: 0; color: #ffcc00; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
  .mobile-menu-contact a { padding: 0; border: 0; font-size: inherit; font-weight: 400; opacity: 1; }
  .mobile-menu-contact small { display: block; font-size: 10px; color: #98a7b9; margin-top: 2px; }
  .mobile-menu-meta .footer-socials { gap: 11px; }
  .mobile-menu-meta .footer-socials > span { width: 34px; height: 34px; }
  .mobile-menu-legal { margin-top: 23px; padding-top: 17px; border-top: 1px solid #ffffff12; }
  .mobile-menu-legal p { margin: 0; color: #91a0b2; font-size: 9px; line-height: 1.6; }
  .mobile-menu-legal p + p { display: flex; flex-wrap: wrap; gap: 12px; color: #c8d1dc; margin-top: 12px; }
  .mobile-menu-legal p > span + span { border-left: 1px solid #ffffff28; padding-left: 12px; }
  .mobile-services-back { width: 100%; border: 0; background: none; color: #ffcc00; font: inherit; font-size: 13px; text-align: left; min-height: 38px; padding: 0 0 11px; gap: 10px; align-items: center; cursor: pointer; }
  .mobile-services-back > span { font-size: 21px; line-height: 1; }
  .menu.services-view > .mobile-menu-home, .menu.services-view .nav-service-toggle, .menu.services-view > .btn, .menu.services-view > a[href="#cobertura"], .menu.services-view > a[href="#nosotros"], .menu.services-view .mobile-menu-meta { display: none; }
  .menu.services-view .mobile-services-back { display: flex; }
  .menu.services-view > a[href="#especializados"], .menu.services-view > a[href="#clientes"] { border-bottom: 1px solid #ffffff18; margin-top: 4px; font-size: 13px; }
  .services-mega.nav-pop { background: #071822; color: #fff; border: 1px solid #ffffff1c; border-radius: 9px; margin: 0 0 10px; }
  .services-mega-content { padding: 20px 16px; background: transparent; border-radius: 9px; }
  .services-mega-eyebrow { color: #ffcc00; font-size: 8px; letter-spacing: .17em; }
  .services-mega h2 { font-size: clamp(21px, 5.3vw, 27px); line-height: 1.12; margin-bottom: 16px; }
  .services-mega-grid { grid-template-columns: 1fr; gap: 9px; }
  .services-mega-grid > a { grid-template-columns: 43px 1fr 18px; gap: 12px; padding: 11px; background: #0e202c; border: 1px solid #ffffff10; color: #f5f7fa; border-radius: 8px; }
  .services-mega-grid > a:hover, .services-mega-grid > a:focus-visible { color: #fff; background: #183040; border-color: #ffcc0080; }
  .services-mega-grid b { font-size: 12px; font-weight: 500; margin: 0 0 3px; letter-spacing: -.015em; }
  .services-mega-grid small { font-size: 10px; color: #bac5d2; line-height: 1.4; }
  .services-mega-arrow { color: #d8e1e9; font-size: 20px; }
  .services-mega-icon { width: 43px; height: 43px; border-radius: 8px; }
  .services-mega-icon svg { width: 25px; height: 25px; }
  .services-mega-help { border: 0; margin-top: 19px; padding-top: 0; grid-template-columns: 28px 1fr; gap: 8px 13px; }
  .services-mega-help > svg { width: 27px; color: #ffcc00; }
  .services-mega-help h3 { font-size: 11px; font-weight: 500; margin-bottom: 4px; }
  .services-mega-help p { font-size: 10px; color: #b6c3d2; }
  .services-mega-help a { color: #ffcc00; font-size: 11px; gap: 10px; grid-column: 2; }
  .services-mega-photo { display: none; }
  .hero { min-height: calc(100svh - 28px); padding: clamp(185px, 28svh, 285px) 0 max(25px, env(safe-area-inset-bottom, 0px)); align-items: flex-end; }
  .hero__in { padding-inline: max(22px, env(safe-area-inset-left, 0px)) max(22px, env(safe-area-inset-right, 0px)); }
  .hero__copy { max-width: 550px; }
  .hero__photo, .hero__photo picture { height: 100%; }
  .hero__photo picture { display: block; }
  .hero__photo img { object-position: 48% top; }
  .hero::before { background: linear-gradient(180deg, #03111b25 0%, #03111b15 18%, #03111b9c 36%, #03111be8 57%, #03111bf5 86%, #03111b), linear-gradient(90deg, #03111b22, transparent); }
  .hero .eyebrow { font-size: clamp(8px, 2vw, 10px); padding: 7px 9px; margin-bottom: 13px; letter-spacing: .03em; border-radius: 8px; background: #04121ba8; }
  .hero h1 { font-size: clamp(24px, 7.6vw, 42px); line-height: 1.1; margin-bottom: 16px; letter-spacing: -.04em; }
  .hero-lead-desktop { display: none; }
  .hero-lead-mobile { display: inline; }
  .hero .lead { font-size: clamp(12px, 3vw, 15px); line-height: 1.55; max-width: 440px; }
  .hero .cta { flex-direction: column; align-items: flex-start; flex-wrap: nowrap; gap: 10px; margin: 20px 0 24px; }
  .hero .cta .btn { min-height: 44px; padding: 10px 16px; font-size: 12px; border-radius: 6px; }
  .hero .cta > .btn:first-child { min-width: 210px; gap: 18px; }
  .hero .cta .btn--ghost { padding: 8px 15px; min-height: 40px; gap: 15px; }
  .hero .btn--ghost small { display: none; }
  .hero-service-icon { order: 2; width: 21px; height: 21px; font-size: 20px; border: 0; }
  .hero .chips { display: grid; grid-template-columns: 1fr 1fr; gap: 17px 16px; max-width: 375px; }
  .hero .chips li { padding: 0; border: 0; font-size: 10px; gap: 11px; line-height: 1.4; }
  .hero .chips svg { width: 25px; height: 28px; }
}
@media (max-width: 359px) {
  .nav__in { padding-inline: max(18px, env(safe-area-inset-left, 0px)) max(18px, env(safe-area-inset-right, 0px)); }
  .menu { padding-inline: 18px; }
  .hero__in { padding-inline: 18px; }
  .hero .eyebrow { font-size: 7px; gap: 5px; }
  .hero h1 { font-size: 24px; }
  .hero .chips { gap: 14px 9px; }
  .hero .chips li { font-size: 9px; gap: 8px; }
  .services-mega-content { padding: 16px 12px; }
  .services-mega-grid > a { gap: 9px; padding: 10px 8px; grid-template-columns: 39px 1fr 15px; }
  .services-mega-icon { width: 39px; height: 39px; }
}
@media (max-width: 960px) and (max-height: 520px) and (orientation: landscape) {
  .hero { min-height: 0; padding-top: 120px; }
  .hero h1 { font-size: 34px; }
  .hero__copy { max-width: 600px; }
  .hero .cta { flex-direction: row; flex-wrap: wrap; }
  .hero::before { background: linear-gradient(90deg, #03111bf0, #03111b80), linear-gradient(0deg, #03111bf0, transparent); }
  .menu { padding-top: calc(var(--mobile-nav-height) + 8px); }
}
