/* Breakpoint layers (mobile-first base lives in style.css) */

@media (max-width: 1024px) {
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 36px; }
}

@media (max-width: 880px) {
  :root { --header-h: 68px; }

  .nav-toggle { display: block; }
  .header-cta { display: none; }

  .nav-list {
    position: fixed;
    top: var(--header-h);
    inset-inline-start: 0;
    width: 100%;
    background: #fff;
    flex-direction: column;
    gap: 0;
    padding: 16px var(--gutter) 30px;
    border-top: 1px solid var(--c-border);
    box-shadow: var(--shadow-md);
    transform: translateY(-110%);
    transition: transform .3s var(--ease);
    max-height: calc(100vh - var(--header-h));
    overflow-y: auto;
  }
  .nav-list.is-open { transform: translateY(0); }
  .nav-list a { padding: 14px 12px; border-radius: 8px; }

  .hero { min-height: 70vh; }
  .hero__inner { padding: 60px 0 80px; }

  .about-snippet { grid-template-columns: 1fr; gap: 40px; }
  .about-snippet__media::after { display: none; }

  .vm-grid { grid-template-columns: 1fr; }

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

  .cta-banner { flex-direction: column; align-items: flex-start; padding: 36px 28px; }

  .contact-grid { grid-template-columns: 1fr; gap: 28px; }

  .footer-grid { grid-template-columns: 1fr; gap: 32px; padding-bottom: 36px; }
  .footer-bottom { flex-direction: column; align-items: flex-start; }
}

@media (max-width: 520px) {
  h1 { font-size: 1.9rem; }
  h2 { font-size: 1.5rem; }

  .values-strip { grid-template-columns: 1fr; }

  .lightbox__nav { width: 42px; height: 42px; font-size: 1.2rem; }
  .lightbox__nav--prev { inset-inline-start: 10px; }
  .lightbox__nav--next { inset-inline-end: 10px; }

  .contact-form, .contact-info { padding: 24px; }

  .whatsapp-fab { width: 50px; height: 50px; bottom: 18px; inset-inline-start: 18px; }
  .whatsapp-fab svg { width: 26px; height: 26px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
  .reveal { opacity: 1; transform: none; }
}
