/* ==========================================================================
   RESPONSIVE STYLES — ASHEN PEAK STUDIO & NIGHTWARD
   ========================================================================== */

/* Tablet Breakpoint (max-width: 1024px) */
@media (max-width: 1024px) {
  :root {
    --nav-height: 70px;
  }

  .lore-grid,
  .studio-grid {
    grid-template-columns: 1fr;
    gap: 40px;
  }

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

  .presskit-layout {
    grid-template-columns: 1fr;
  }

  .factsheet-sidebar {
    position: static;
  }

  .lightbox-prev { left: 10px; }
  .lightbox-next { right: 10px; }
}

/* Mobile Breakpoint (max-width: 768px) */
@media (max-width: 768px) {
  .section {
    padding: 75px 0;
  }

  .mobile-toggle {
    display: block;
  }

  .nav-menu {
    position: fixed;
    top: var(--nav-height);
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(7, 9, 13, 0.98);
    backdrop-filter: blur(20px);
    flex-direction: column;
    justify-content: center;
    gap: 28px;
    padding: 40px 24px;
    transform: translateY(-100%);
    opacity: 0;
    pointer-events: none;
    transition: transform var(--transition-smooth), opacity var(--transition-smooth);
  }

  .nav-menu.open {
    transform: translateY(0);
    opacity: 1;
    pointer-events: auto;
  }

  .nav-link {
    font-size: 1.25rem;
    font-family: var(--font-mythic);
  }

  .nav-actions .btn-steam {
    display: none; /* Keep header clean on mobile, Steam button exists in mobile menu or hero */
  }

  .features-grid,
  .dispatch-grid,
  .press-media-grid,
  .press-logo-grid {
    grid-template-columns: 1fr;
  }

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

  .hero-specs {
    flex-wrap: wrap;
    justify-content: center;
    gap: 18px;
  }

  .hero-ctas {
    flex-direction: column;
    width: 100%;
  }

  .hero-ctas .btn {
    width: 100%;
  }

  .footer-top {
    flex-direction: column;
    gap: 24px;
    text-align: center;
  }

  .footer-nav {
    flex-wrap: wrap;
    justify-content: center;
    gap: 16px;
  }

  .footer-bottom {
    flex-direction: column;
    gap: 14px;
    text-align: center;
  }

  .press-asset-box {
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
  }

  .press-asset-box .btn {
    width: 100%;
  }
}

/* Small Smartphone (max-width: 480px) */
@media (max-width: 480px) {
  .section-title {
    font-size: 1.85rem;
  }

  .hero-tagline {
    font-size: 1.15rem;
  }

  .feature-card {
    padding: 28px 22px;
  }

  .dispatch-card {
    padding: 28px 20px;
  }
}
