/* ═══════════════════════════════════════════════════════════
   ENNA MAI — responsive.css
   ═══════════════════════════════════════════════════════════ */

/* ── TABLET ≤ 768px ── */
@media (max-width: 768px) {
  .navbar__links {
    display: none;
    position: absolute;
    top: 100%; left: 0; right: 0;
    flex-direction: column;
    gap: 0;
    background: rgba(7, 8, 14, 0.96);
    border-bottom: 1px solid var(--border-faint);
    padding: 10px 0;
  }
  .navbar__links.open { display: flex; }
  .navbar__link {
    display: block;
    padding: 11px 22px;
    border-bottom: 1px solid var(--border-faint);
  }
  .navbar__link:last-child { border-bottom: none; }
  .navbar__toggle { display: block; }
  .navbar__inner { position: relative; }

  .hero-layout { flex-direction: column; text-align: center; }
  .hero-layout__visual { align-items: center; }

  .section-cards { grid-template-columns: 1fr 1fr; }

  .gallery-grid { grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); }

  .lightbox__prev { left: 4px; top: auto; bottom: 55px; transform: none; }
  .lightbox__next { right: 4px; top: auto; bottom: 55px; transform: none; }
  .lightbox__close { top: 8px; right: 8px; }

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

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

/* ── MOBILE ≤ 480px ── */
@media (max-width: 480px) {
  body { font-size: 14px; }

  .wrap { padding: 0 14px; }

  h1 { font-size: 26px; }
  h2 { font-size: 17px; }

  .section-cards { grid-template-columns: 1fr; }

  .gallery-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
  }
  .artwork:nth-child(n) { transform: none; }

  .lightbox__inner { width: 97vw; }
  .lightbox__prev,
  .lightbox__next { width: 32px; height: 32px; font-size: 14px; }

  .tombstone-frame__img { width: 140px; height: 140px; }

  .footer__links { flex-direction: column; gap: 10px; }

  .hero-tagline-block { padding: 0 10px; }

  .orb-states-grid { grid-template-columns: 1fr; }
}

/* ── VERY SMALL ≤ 340px ── */
@media (max-width: 340px) {
  .gallery-grid { grid-template-columns: 1fr; }
  .section-cards { grid-template-columns: 1fr; }
}
