/* ============================================================
   RESPONSIVE — 768px (tablet & up)
============================================================ */
@media (min-width: 768px) {
  :root { --nav-h: 76px; }

  .nav-hamburger { display: none; }
  .nav-links     { display: flex; }

  #hero { padding-top: calc(var(--nav-h) + 60px); padding-bottom: 160px; }

  .hero-actions {
    flex-direction: row;
    justify-content: center;
  }

  .contact-cards {
    grid-template-columns: repeat(3, 1fr);
  }

  .gallery-bento {
    grid-template-columns: repeat(3, 1fr);
  }

  /* Larger bento spans */
  .gallery-tile:nth-child(1) { grid-column: span 1; aspect-ratio: 4/5; }
  .gallery-tile:nth-child(2) { grid-column: span 2; aspect-ratio: 2/1; }
  .gallery-tile:nth-child(3) { grid-column: span 2; aspect-ratio: 2/1; }
  .gallery-tile:nth-child(4) { grid-column: span 1; aspect-ratio: 4/5; }
  .gallery-tile:nth-child(5) { aspect-ratio: 1/1; }
  .gallery-tile:nth-child(6) { aspect-ratio: 1/1; }

  .footer-inner {
    flex-direction: row;
    justify-content: space-between;
    text-align: left;
  }
}

/* ============================================================
   RESPONSIVE — 1024px (desktop)
============================================================ */
@media (min-width: 1024px) {
  .hero-wave svg { height: 130px; }
  .menu-tab      { font-size: 0.85rem; }
}

/* ============================================================
   REDUCED MOTION — accessibility
============================================================ */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
  }
  html { scroll-behavior: auto; }
}
