/* ============================================================
   RESPONSIVE — Desktop (>1200) es la base definida en style.css
   Breakpoints: 1200 (laptop) · 960 (tablet) · 640 (mobile)
   ============================================================ */

/* ---------- LAPTOP / DESKTOP PEQUEÑO ---------- */
@media (max-width:1200px){
  :root{--space-2xl:6rem;--space-xl:4rem}
  .category-grid,.cases-grid,.testimonial-grid,.related-grid{grid-template-columns:repeat(2,1fr)}
  .stats-grid{grid-template-columns:repeat(4,1fr)}
  .process-track{grid-template-columns:repeat(2,1fr);row-gap:var(--space-lg)}
  .process-track::before{display:none}
  .footer-top{grid-template-columns:1.3fr 1fr 1fr;row-gap:var(--space-lg)}
}

/* ---------- TABLET ---------- */
@media (max-width:960px){
  .nav-links,.nav-cta .btn-outline{display:none}
  .nav-toggle{display:flex}
  .nav-cta{gap:.75rem}
  .nav-toggle.is-active span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .nav-toggle.is-active span:nth-child(2){opacity:0}
  .nav-toggle.is-active span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

  .hero-split-inner{grid-template-columns:1fr;text-align:left}
  .hero-visual{margin-top:var(--space-lg);max-width:460px}
  .hero-title-compact{max-width:100%}

  .page-hero-grid{grid-template-columns:1fr}

  .stats-grid{grid-template-columns:repeat(2,1fr)}
  .stat-item:nth-child(3){border-left:none}

  .features-grid{grid-template-columns:1fr}
  .features-grid .feature-row{border-top:var(--border)}
  .features-grid .feature-row:first-child{border-top:none}

  .split,.split.reverse{grid-template-columns:1fr}
  .split .split-media,.split.reverse .split-media{order:-1}

  .statement-inner{grid-template-columns:1fr;text-align:center}
  .statement-copy p{margin-inline:auto}
  .statement-visual{margin-top:var(--space-lg);max-width:420px;margin-inline:auto}
  .statement-chip--1{left:-.5rem;bottom:-1.25rem}
  .statement-chip--2{right:-.5rem;top:-1rem}

  .contact-wrap{grid-template-columns:1fr}
  .form-row{grid-template-columns:1fr}

  .cta-banner{flex-direction:column;text-align:center}

  .footer-top{grid-template-columns:1fr 1fr}
}

/* ---------- MAPA MUNDIAL — OFICINAS ---------- */
@media (max-width:960px){
  .map-hotspot{font-size:.72rem;padding:.32rem .65rem .32rem .5rem}
  .map-hotspot-tooltip{width:180px;padding:.75rem .85rem}
}
@media (max-width:640px){
  .map-hotspot-label{display:none}
  .map-hotspot{padding:.4rem;border-radius:50%}
  .map-hotspot-tooltip{width:160px;font-size:.78rem}
}

/* ---------- PARTNERSHIPS ---------- */
@media (max-width:960px){
  .partners-section{padding-block:2.5rem}
  .partners-grid{grid-template-columns:1fr;text-align:center}
  .partners-info{display:contents}
  .partners-title{order:1;font-size:2rem;margin-bottom:.6rem}
  .partners-info p{order:2;margin-inline:auto;margin-bottom:1.2rem}
  .partners-columns{order:3;grid-template-columns:repeat(3,1fr);height:280px;margin-top:.5rem}
  .partners-col--offset4{display:none}
  .partners-info .btn-white{order:4;margin-inline:auto;margin-top:1.2rem}
}
@media (max-width:640px){
  .partners-columns{height:230px}
  .partner-icon{width:50px;height:50px}
  .partner-icon svg{width:40px;height:40px}
  .partners-track{gap:var(--space-md)}
}
@media (max-width:420px){
  .partners-columns{height:200px;gap:.6rem}
  .partner-icon{width:40px;height:40px}
  .partner-icon svg{width:30x;height:30px}
  .partners-track{gap:.9rem}
}

/* ---------- MOBILE LANDSCAPE / GRANDE ---------- */
@media (max-width:640px){
  :root{--space-2xl:4rem;--space-xl:3rem;--space-lg:2rem}

  .container{padding-inline:1.1rem}

  .navbar{padding-block:.85rem}

  .hero{padding-top:calc(var(--space-xl) + 3.5rem)}
  .hero-split-cta{width:100%}
  .hero-split-cta .btn{width:100%}
  .hero-visual{max-width:100%}

  .stats-grid{grid-template-columns:1fr 1fr}
  .stat-item{padding-block:var(--space-md)}
  .stat-item:nth-child(2n+1){border-left:none}
  .hero-title-compact{font-size:clamp(2.1rem,9vw,2.8rem)}

  .category-grid,.cases-grid,.testimonial-grid,.related-grid,.problem-grid{grid-template-columns:1fr}

  .process-track{grid-template-columns:1fr}

  .usecase-item{grid-template-columns:1fr;gap:.4rem}

  .footer-top{grid-template-columns:1fr;gap:var(--space-lg)}
  .footer-bottom{flex-direction:column;align-items:flex-start}

  .contact-form{padding:var(--space-md)}

  h1{font-size:var(--fs-h1)}
}

/* ---------- MOBILE PEQUEÑO ---------- */
@media (max-width:380px){
  .btn{width:100%}
  .statement-chip{padding:.6rem .85rem}
  .statement-chip--1{left:0;bottom:-1rem}
  .statement-chip--2{right:0;top:-.75rem}
}
/* ============================================================
   MENÚ MÓVIL — panel independiente fullscreen
   ============================================================ */
.mobile-nav{
  position:fixed;inset:0;z-index:998;
  background:var(--navy-900);color:var(--white);
  display:flex;flex-direction:column;justify-content:space-between;
  padding:calc(64px + var(--space-lg)) 1.5rem var(--space-lg);
  transform:translateX(100%);
  transition:transform .45s var(--ease);
  overflow-y:auto;
}
.mobile-nav.is-open{transform:translateX(0)}
body.mobile-nav-open{overflow:hidden}

.mobile-nav-links{display:flex;flex-direction:column;gap:.15rem}
.mobile-nav-link{
  display:flex;align-items:center;justify-content:space-between;
  padding:1.05rem 0;font-size:1.15rem;font-weight:600;color:var(--white);
  border-bottom:1px solid rgba(255,255,255,.12);
  background:none;border-left:none;border-right:none;border-top:none;
  width:100%;text-align:left;cursor:pointer;font-family:inherit;
  -webkit-tap-highlight-color:transparent;
}
.mobile-nav-chevron{transition:transform var(--t-fast);flex-shrink:0}
.mobile-nav-item.is-open .mobile-nav-chevron{transform:rotate(180deg)}

.mobile-nav-submenu{
  max-height:0;overflow:hidden;
  transition:max-height .4s var(--ease);
  display:flex;flex-direction:column;
}
.mobile-nav-item.is-open .mobile-nav-submenu{max-height:600px}
.mobile-nav-submenu a{
  padding:.75rem 0 .75rem .5rem;font-size:.95rem;color:rgba(255,255,255,.7);
  border-bottom:1px solid rgba(255,255,255,.08);
}
.mobile-nav-submenu a:last-child{border-bottom:none}

.mobile-nav-cta{width:100%;justify-content:center;text-align:center;margin-top:var(--space-lg)}

@media (max-width:400px){
  .nav-cta .btn-primary{padding:.55rem .85rem;font-size:.78rem}
  .mobile-nav{padding-left:1.1rem;padding-right:1.1rem}
}