/* CODE VISION TECH — rediseño móvil v3
   Este archivo solo actúa en tabletas y teléfonos. */
@media (max-width: 900px) {
  html { font-size: 18px !important; }
  body { line-height: 1.65 !important; }
  .container { width: calc(100% - 32px) !important; max-width: 760px !important; }

  .promo-bar { height: 38px !important; }
  .promo-item { font-size: .68rem !important; padding: 0 18px !important; letter-spacing: .045em !important; }

  .header { top: 38px !important; }
  .nav-wrap { height: 82px !important; gap: 12px !important; }
  .brand { display:flex !important; align-items:center !important; min-width:0 !important; }
  .brand img { width: 215px !important; height: 64px !important; object-fit: contain !important; object-position:left center !important; }
  .menu-toggle { width: 48px !important; height: 48px !important; padding: 8px !important; }
  .menu-toggle span { width: 30px !important; height: 3px !important; margin: 6px auto !important; }
  .nav.open { top: 82px !important; left: 16px !important; right: 16px !important; padding: 20px !important; gap: 4px !important; max-height: calc(100vh - 140px) !important; overflow-y:auto !important; }
  .nav.open a, .nav.open .lang-toggle { font-size: 1rem !important; min-height: 48px !important; display:flex !important; align-items:center !important; padding: 10px 12px !important; }

  h1 { font-size: clamp(2.35rem, 10.8vw, 3.3rem) !important; line-height: 1.12 !important; letter-spacing: -.035em !important; }
  h2 { font-size: clamp(2rem, 8.5vw, 2.8rem) !important; line-height: 1.17 !important; }
  h3 { font-size: 1.25rem !important; line-height: 1.3 !important; }
  p, li, .value span, .step p, .software-card p, .service-card ul { font-size: 1rem !important; }
  .eyebrow { font-size: .78rem !important; letter-spacing: .12em !important; margin-bottom: 14px !important; }

  .section { padding: 72px 0 !important; }
  .section-heading { margin-bottom: 34px !important; padding-inline: 2px !important; }
  .section-heading p { font-size: 1.05rem !important; }

  /* Portada: sin vacío excesivo y con contenido grande */
  .hero { min-height: auto !important; display:block !important; padding: 156px 0 64px !important; background: radial-gradient(circle at 50% 70%,rgba(0,164,255,.18),transparent 42%) !important; }
  .hero-grid { display:flex !important; flex-direction:column !important; gap: 38px !important; }
  .hero-copy { width:100% !important; text-align:center !important; }
  .hero-copy > p { font-size: 1.08rem !important; line-height: 1.7 !important; max-width: 36rem !important; margin: 0 auto !important; }
  .hero-actions { display:grid !important; grid-template-columns:1fr !important; gap: 13px !important; margin: 28px 0 18px !important; }
  .hero-actions .btn { width:100% !important; min-height: 56px !important; font-size: 1rem !important; padding: 15px 18px !important; }
  .trust-row { display:grid !important; grid-template-columns:repeat(2,1fr) !important; gap: 12px !important; margin-top: 24px !important; }
  .trust-row div { min-height: 82px !important; justify-content:center !important; padding: 12px !important; border:1px solid rgba(59,199,255,.16) !important; border-radius:12px !important; background:rgba(8,17,26,.72) !important; }
  .trust-row strong { font-size: 1rem !important; }
  .trust-row span { font-size: .84rem !important; }
  .hero-visual { order:2 !important; width:100% !important; height: 390px !important; min-height:390px !important; overflow:hidden !important; }
  .core { width: 235px !important; height:235px !important; }
  .core img { width:95% !important; }
  .orbit-a { width:320px !important; height:320px !important; }
  .orbit-b { width:380px !important; height:380px !important; }
  .orbit-c { width:255px !important; height:350px !important; }
  .hero-energy-field { width:410px !important; height:410px !important; }
  .hero-visual::before { width:330px !important; height:330px !important; }
  .hero-visual::after { width:270px !important; height:270px !important; }

  /* Páginas internas */
  .page-hero { padding: 158px 0 64px !important; }
  .page-hero h1 { font-size: clamp(2.2rem, 10vw, 3.1rem) !important; }
  .page-hero p { font-size: 1.08rem !important; line-height:1.7 !important; }

  .split, .faq-layout, .contact-grid { grid-template-columns:1fr !important; gap: 36px !important; }
  .services-grid, .services-grid.compact, .cards-3, .values-grid, .process, .software-grid { grid-template-columns:1fr !important; gap:18px !important; }
  .service-card, .info-card, .value, .step, .software-card { padding:24px !important; border-radius:16px !important; }
  .service-card .icon { width:60px !important; height:60px !important; font-size:1.55rem !important; }
  .software-card img, .mcafee-mark { height:210px !important; }
  .scan-card { min-height:340px !important; padding:24px !important; }

  .clients-showcase, .clients-showcase-compact { grid-template-columns:1fr !important; gap:18px !important; }
  .client-showcase-card, .clients-showcase-compact .client-showcase-card { padding:14px 14px 18px !important; }
  .client-showcase-logo, .clients-showcase-compact .client-showcase-logo { height:230px !important; padding:18px !important; }
  .client-showcase-card h3, .clients-showcase-compact .client-showcase-card h3 { font-size:1.05rem !important; margin-top:14px !important; }

  .accordion details { padding:22px 0 !important; }
  .accordion summary { font-size:1.05rem !important; line-height:1.45 !important; }
  .accordion p { font-size:1rem !important; }

  .contact-form { grid-template-columns:1fr !important; gap:18px !important; padding:22px !important; }
  .contact-form label, .license-quote-card label, .remote-install legend { font-size:.95rem !important; }
  input, select, textarea { min-height:54px !important; font-size:16px !important; padding:14px 15px !important; }
  textarea { min-height:140px !important; }
  .btn { min-height:52px !important; font-size:.98rem !important; }

  .license-quote-card { padding:22px !important; border-radius:18px !important; }
  .quote-fields, .duration-tabs { grid-template-columns:1fr !important; }
  .duration-tab { min-height:52px !important; font-size:1rem !important; }
  .quote-block h2 { font-size:1.45rem !important; }
  .quote-summary { padding:18px !important; }

  .footer { padding-top:58px !important; }
  .footer-grid { grid-template-columns:1fr !important; gap:28px !important; }
  .footer-grid > div:first-child { grid-column:auto !important; }
  .footer-logo { width:260px !important; }
  .footer p, .footer a { font-size:.95rem !important; }
  .footer-bottom { flex-direction:column !important; gap:12px !important; align-items:flex-start !important; }

  .wa-widget { right:14px !important; bottom:14px !important; }
  .wa-message { display:none !important; }
  .whatsapp-float { width:58px !important; height:58px !important; }
  .cookie-banner { left:12px !important; right:12px !important; bottom:12px !important; padding:18px !important; }
}

@media (max-width: 420px) {
  html { font-size: 17px !important; }
  .container { width: calc(100% - 24px) !important; }
  .brand img { width: 190px !important; height:58px !important; }
  .hero { padding-top: 145px !important; }
  .page-hero { padding-top:145px !important; }
  h1 { font-size: clamp(2.05rem, 10.5vw, 2.65rem) !important; }
  h2 { font-size: clamp(1.78rem, 8.4vw, 2.25rem) !important; }
  .hero-visual { height:350px !important; min-height:350px !important; }
  .core { width:215px !important; height:215px !important; }
  .orbit-a { width:292px !important; height:292px !important; }
  .orbit-b { width:342px !important; height:342px !important; }
  .hero-energy-field { width:360px !important; height:360px !important; }
  .client-showcase-logo, .clients-showcase-compact .client-showcase-logo { height:205px !important; }
}

@media (max-width: 760px){
 .email-service-note{font-size:1rem;line-height:1.6}
 .email-quote-fields{grid-template-columns:1fr!important}
 .email-quote-fields input{min-height:54px;font-size:16px}
 .email-quote-fields small{font-size:.92rem}
}


/* Poppins en versión móvil */
@media (max-width:980px){body,input,select,textarea,button,h1,h2,h3,h4,.nav a,.btn,.eyebrow,.accordion summary{font-family:Poppins,sans-serif;}h1{font-weight:800;}h2,h3,h4{font-weight:700;}}
