@media (min-width: 900px) {
  .gallery-grid { grid-template-columns: 1fr 1fr; }
  .about-grid { grid-template-columns: 1.25fr 1fr; }
  .info-card { grid-template-columns: repeat(4, 1fr); }
}

@media (max-width: 899px) {

  .nav-toggle { display: inline-block; }
  .nav-links {
    position: absolute;
    top: 100%; left: 0; right: 0;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    background: var(--bg-alt);
    border-bottom: 1px solid var(--line);
    padding: .25rem var(--gutter) 1rem;
    display: none;
  }
  .nav-links.open { display: flex; }
  .nav-links a { padding: .8rem 0; font-size: 1.35rem; border-bottom: 1px solid var(--line); }
  .nav-links a::after { display: none; }
  .nav-links a:last-child { border-bottom: 0; }

  .info-card { grid-template-columns: 1fr 1fr; }

  .about-grid { grid-template-columns: 1fr; }

  .viewer-nav { width: 40px; height: 40px; }

  .hero-scroll { width: 48px; height: 48px; }
}

@media (max-width: 479px) {
  .info-card { grid-template-columns: 1fr; }
  .card-body { flex-wrap: wrap; }
  .card-cat { white-space: normal; }
  .contact-inner { padding: 1.75rem 1.25rem; }
  .hero-title { letter-spacing: .02em; }
  .project-hero-media img { max-height: 46vh; }
  .btn-row .btn { width: 100%; justify-content: center; }
}
