

@media (max-width:1199px){
  /* Tablet y celular: 2 + 2 y el ultimo centrado abajo. */
  .cta-piece__actions{ grid-template-columns:repeat(2,1fr); max-width:560px; }
  .cta-piece__actions .btn:last-child{ grid-column:1 / -1; justify-self:center; width:calc(50% - var(--space-12) / 2); }
  :root{ --section-gap:80px; }
  .sectors__grid{ grid-template-columns:repeat(2,1fr); }
  .services__grid, .solutions__grid{ grid-template-columns:repeat(2,1fr); }
  .header__call{ display:none; }
  .about__inner, .faq__inner, .contact__inner,
  .tldr__inner{ grid-template-columns:1fr; gap:var(--space-48); }
  .solve__list{ grid-template-columns:repeat(2,1fr); }
  .about__media, .faq__media{ max-width:560px; }
}

@media (max-width:991px){
  :root{ --header-h:80px; --section-gap:64px; }
  .logo__img{ height:60px; }
  .nav__toggle{ display:flex; }
  .header__btn{ display:none; }

  .nav{
    position:fixed; top:0; right:0; z-index:1000;
    width:min(340px, 88vw); height:100%;
    background:var(--card); padding:72px var(--space-24) var(--space-24);
    box-shadow:var(--shadow-nav-up);
    transform:translateX(105%);
    transition:transform var(--dur) var(--ease);
    overflow-y:auto; display:flex; flex-direction:column; gap:var(--space-20);
  }
  .nav.is-open{ transform:translateX(0); }
  .nav__list{ flex-direction:column; align-items:stretch; gap:0; }
  .nav__link{
    justify-content:space-between; font-size:17px;
    padding:var(--space-12) 0; border-bottom:1px solid var(--border); border-radius:0;
  }
  .nav__link:hover{ background:transparent; }
  .nav__sub{
    position:static; opacity:1; visibility:visible; transform:none;
    box-shadow:none; border:0; padding:0 0 8px var(--space-12);
    min-width:0; display:none; background:transparent;
  }
  .nav__item--has-sub.is-open .nav__sub{ display:block; }
  .nav__item--has-sub.is-open > .nav__link .ico{ transform:rotate(180deg); }
  .nav__close{
    display:grid; place-items:center;
    position:absolute; top:var(--space-20); right:var(--space-20);
    width:40px; height:40px; border-radius:var(--radius-round);
    background:var(--wash); color:var(--heading); font-size:16px;
  }
  .nav__mobile-cta{ display:block; margin-top:auto; }

  .nav-backdrop{
    position:fixed; inset:0; z-index:950;
    background:rgba(12,16,13,.60);
    opacity:0; visibility:hidden;
    transition:opacity var(--dur) var(--ease), visibility var(--dur);
  }
  .nav-backdrop.is-open{ opacity:1; visibility:visible; }
  /* El menú vive dentro del header: sube el header sobre el telón para que el panel no se oscurezca */
  body.nav-open .header{ z-index:1001; }

  .hero__arrow{ display:none; }
}

@media (max-width:767px){

  .brands__item{ width:148px; height:60px; padding-inline:var(--space-16); }
  .brands__item img{ max-width:112px; max-height:30px; }
  .brands__item--compact img{ max-width:56px; max-height:44px; }
  :root{ --gutter:20px; --section-gap:56px; --card-padding:20px; }
  .sectors__grid, .services__grid, .solutions__grid,
  .solve__list, .about__list, .contact__form{ grid-template-columns:1fr; }
  .footer__grid{ grid-template-columns:repeat(2,1fr); gap:var(--space-32); padding-block:var(--space-48) var(--space-32); }
  .hero__content{ padding-block:var(--space-64); }
  .about__media{ display:none; }
  .about__lead, .about p, .about__quote{ text-align:justify; hyphens:auto; -webkit-hyphens:auto; }
  .chip-list{ grid-template-columns:repeat(2,1fr); }
  .chip-list li{ font-size:13px; padding:var(--space-8) var(--space-8); }
  .faq__card{ right:auto; left:var(--space-12); bottom:-20px; }
  .faq{ padding-bottom:var(--space-64); }
  .tabs__intro{ padding:var(--space-20); }
  .tldr__box{ padding:var(--space-24); }
  .contact__info, .contact__form{ padding:var(--space-24); }
}

@media (max-width:479px){
  .cta-piece__actions{ gap:var(--space-8); }
  .cta-piece__actions .btn{ padding:14px var(--space-8); font-size:13px; white-space:normal; }
  .cta-piece__actions .btn:last-child{ width:calc(50% - var(--space-8) / 2); }
  .logo__img{ height:48px; padding:3px 6px; }
  :root{ --gutter:16px; }
  .footer__grid{ grid-template-columns:1fr; }
  .tabs__btn{ width:100%; justify-content:center; }
  .hero__btns .btn{ width:100%; }
  .btn{ padding:16px var(--space-24) 17px; }
  .btn--lg{ padding:18px var(--space-32) 19px; font-size:var(--text-body-sm); }
  .wa-float{ width:48px; height:48px; font-size:22px; left:var(--space-16); bottom:var(--space-16); }
}

@media (prefers-reduced-motion: reduce){
  .brands__track{ animation:none !important; transform:none !important; }
  .brands__track > [aria-hidden="true"]{ display:none; }
  .brands__viewport{ overflow-x:auto; -webkit-mask-image:none; mask-image:none; }
  *,*::before,*::after{
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.01ms !important;
    scroll-behavior:auto !important;
  }
  .hero__slide.is-active .hero__title,
  .hero__slide.is-active .hero__text,
  .hero__slide.is-active .hero__btns{ opacity:1; transform:none; }
}
:focus-visible{ outline:2px solid var(--focus-ring); outline-offset:2px; border-radius:var(--radius-button); }
body.nav-open{ overflow:hidden; }
