/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width: 1024px) {
  .nav__links { display: none; }
  .nav__cta { display: none; }
  .nav__right .lang-switch { display: none; }
  .nav__burger { display: flex; }

  .hero__materials { display: none; }

  .positioning__grid { grid-template-columns: 1fr; gap: 40px; }
  .case__inner { grid-template-columns: 1fr; gap: 50px; }
  .cap-grid { grid-template-columns: 1fr; }
  .why__grid { grid-template-columns: 1fr 1fr; }
  .campaigns__grid { grid-template-columns: repeat(2, 1fr); }
  .cap-disclosure { grid-template-columns: 1fr; }

  .footer__top { grid-template-columns: 1fr 1fr; gap: 40px; }
  .contact__grid { grid-template-columns: 1fr 1fr; }

  .process__step { grid-template-columns: 140px 1fr; }
  .process__step p { grid-column: 1 / -1; padding-left: 0; }
}

@media (max-width: 640px) {
  .hero { padding-top: 110px; }
  .hero__title { font-size: clamp(44px, 13vw, 76px); }
  .hero__line:nth-child(2) { padding-left: 24px; }
  .hero__line:nth-child(3) { padding-left: 12px; }
  .hero__sub { font-size: 17px; }

  .positioning__pillars { grid-template-columns: repeat(2, 1fr); }

  .campaigns__grid { grid-template-columns: 1fr; }
  .why__grid { grid-template-columns: 1fr; }
  .cap-card { padding: 28px; }
  .cap-disclosure { padding: 24px; }

  .case__row { grid-template-columns: 1fr; gap: 8px; }
  .case__row-label { font-size: 10px; }

  .process__step { grid-template-columns: 1fr; gap: 12px; padding: 28px 0; }
  .process__step:hover { padding-left: 0; }

  .contact__grid { grid-template-columns: 1fr; }
  .footer__top { grid-template-columns: 1fr; gap: 32px; }
  .footer__bottom { flex-direction: column; align-items: flex-start; }

  .float-wa span { display: none; }
  .float-wa { padding: 0; width: 56px; justify-content: center; }

  .btn--xl { padding: 18px 28px; font-size: 15px; }

  .hero__ctas { flex-direction: column; align-items: stretch; }
  .hero__ctas .btn { justify-content: center; }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
  }
  .hero__line, .hero__sub, .hero__ctas, .hero__principle, .hero__materials { opacity: 1; transform: none; }
}
