/* ==========================================================================
   Responsive rules — 1024px, 768px, 425px breakpoints
   ========================================================================== */

@media (max-width: 1100px) {
  .grid-4 { grid-template-columns: repeat(2, 1fr); }
  .footer-grid { grid-template-columns: 1fr 1fr; row-gap: 44px; }
  .process-row { grid-template-columns: repeat(2, 1fr); row-gap: 40px; }
  .process-row::before { display: none; }
}

@media (max-width: 1024px) {
  .grid-3 { grid-template-columns: repeat(2, 1fr); }
  .calc-wrap { grid-template-columns: 1fr; }
  .calc-results { border-left: none; border-top: 1px solid var(--border-hairline); }
  .masonry { columns: 2 200px; }
}

@media (max-width: 900px) {
  .nav-links, .nav-cta-wrap .btn-primary { display: none; }
  .nav-toggle { display: flex; }
  .nav-cta-wrap { gap: 10px; }

  .mobile-menu {
    position: fixed; top: var(--nav-height); left: 0; right: 0; bottom: 0;
    background: rgba(7,11,13,0.98);
    backdrop-filter: blur(20px);
    z-index: 998;
    padding: 30px 24px;
    overflow-y: auto;
    transform: translateX(100%);
    transition: transform .35s ease;
  }
  .mobile-menu.open { transform: translateX(0); }
  .mobile-menu a.nav-link {
    display: flex; justify-content: space-between; align-items: center;
    padding: 18px 4px; font-size: 1.1rem; font-weight: 500;
    border-bottom: 1px solid var(--border-hairline);
    color: var(--white);
  }
  .mobile-submenu { padding-left: 16px; display: none; }
  .mobile-submenu.open { display: block; }
  .mobile-submenu a { display: block; padding: 14px 4px; font-size: 0.95rem; color: var(--white-dim); }
  .mobile-menu .btn-primary { margin-top: 24px; }

  .two-col { grid-template-columns: 1fr; gap: 36px; }
  .two-col.reverse .media-frame { order: -1; }
}

@media (max-width: 768px) {
  section.section { padding: 80px 0; }
  section.section.tight { padding: 60px 0; }
  .section-head { margin-bottom: 40px; }
  .grid-4, .grid-3, .grid-2 { grid-template-columns: 1fr; }
  .hero-content { padding: 50px 0 40px; }
  .hero h1 { font-size: clamp(2.1rem, 8vw, 3rem); }
  .hero-cta-row .btn { width: 100%; justify-content: center; }
  .cta-band { flex-direction: column; text-align: center; padding: 46px 30px; }
  .cta-actions { justify-content: center; width: 100%; }
  .cta-actions .btn { flex: 1; justify-content: center; }
  .footer-grid { grid-template-columns: 1fr; gap: 36px; }
  .footer-bottom { flex-direction: column; text-align: center; }
  .form-grid { grid-template-columns: 1fr; }
  .calc-inputs, .calc-results { padding: 30px 24px; }
  .masonry { columns: 1; }
  .page-hero { padding: calc(var(--nav-height) + 60px) 0 60px; }
  .whatsapp-float { width: 54px; height: 54px; bottom: 18px; right: 18px; }
  .whatsapp-float svg { width: 26px; height: 26px; }
}

@media (max-width: 425px) {
  .container { padding: 0 18px; }
  h1 { font-size: clamp(1.9rem, 9vw, 2.6rem); }
  h2 { font-size: clamp(1.5rem, 7vw, 2rem); }
  .btn { padding: 14px 22px; font-size: 0.88rem; }
  .glass-card, .service-card-body { padding: 26px 20px; }
  .hero-trust { gap: 10px; }
  .hero-trust-item { font-size: 0.78rem; padding: 8px 13px 8px 10px; }
}

@media (max-width: 375px) {
  .brand .brand-name small { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
    scroll-behavior: auto !important;
  }
}
