/* LynchPin Games — responsive adjustments */

@media (max-width: 940px) {
  .hero-inner { grid-template-columns: 1fr; }
  .hero-collage { display: none; }
}

@media (max-width: 900px) {
  .game-hero-inner {
    grid-template-columns: 1fr;
    text-align: left;
  }
  .game-hero-shot { justify-content: flex-start; }
  .toc ol { columns: 1; }
}

@media (max-width: 760px) {
  body { font-size: 16px; }

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

  .wrap { padding: 0 20px; }

  .nav-toggle { display: inline-block; }

  .site-nav {
    display: none;
    position: absolute;
    left: 0;
    right: 0;
    top: 100%;
    background: var(--paper);
    border-bottom: 1px solid var(--rule);
    box-shadow: var(--shadow-md);
    padding: 10px 20px 18px;
  }

  .site-nav.is-open { display: block; }

  .site-nav ul {
    flex-direction: column;
    align-items: stretch;
    gap: 2px;
  }

  .site-nav a { padding: 12px 10px; font-size: 1rem; }

  .header-inner { position: relative; min-height: 72px; }
  .brand img { height: 46px; }

  .btn { width: 100%; justify-content: center; }
  .btn-row { flex-direction: column; }

  .footer-grid { grid-template-columns: 1fr 1fr; gap: 26px; }
  .footer-brand { grid-column: 1 / -1; }

  .feature-list { grid-template-columns: 1fr; }

  .shot-gallery { grid-template-columns: 1fr; max-width: 320px; }
  .shot-gallery.is-landscape { max-width: none; }

  .prose table { font-size: .92rem; }
}

@media (max-width: 420px) {
  .footer-grid { grid-template-columns: 1fr; }
  .device { max-width: 100%; }
}

@media print {
  .site-header, .site-footer, .btn-row, .nav-toggle, .skip-link { display: none !important; }
  body { background: #fff; color: #000; font-size: 12pt; }
  .page-head { background: none; color: #000; padding: 0 0 12pt; }
  .page-head h1, .page-head p { color: #000; }
  a { color: #000; text-decoration: underline; }
}
