@media (max-width: 900px) {
  .post-card {
    grid-column: span 6;
  }

  .guestbook-shell {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 700px) {
  .frame {
    border: none;
    box-shadow: none;
    background: transparent;
    pointer-events: none;
  }

  .site-header {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.75rem;
    padding: 1rem 0;
  }

  .site-nav {
    gap: 0.75rem;
  }

  .site-nav a {
    font-size: 0.95rem;
  }

  .hero-copy {
    bottom: 3%;
    width: min(94vw, 40rem);
  }

  .hero-copy__inner {
    padding: 0.9rem 1rem 1rem;
    gap: 0.5rem;
  }

  .hero-copy__title {
    font-size: clamp(2.8rem, 14vw, 4.8rem);
  }

  .hero-copy__kicker {
    font-size: 0.72rem;
    letter-spacing: 0.18em;
  }

  .hero-copy__scroll {
    font-size: 0.74rem;
  }
}

@media (max-width: 600px) {
  .post-card {
    grid-column: span 12;
  }

  .intro,
  .content {
    max-width: 100%;
  }

  .image-slider .image-slide img {
    max-height: 50vh;
  }

  .image-slider-controls {
    gap: 0.5rem;
  }

  .slider-btn {
    padding: 0.35rem 0.6rem;
    font-size: 0.9rem;
  }

  .site-footer {
    flex-direction: column;
    align-items: flex-start;
  }
}

@media (prefers-reduced-motion: reduce) {
  .page-loader__dot {
    animation: none;
  }

  #page-loader {
    transition: opacity 120ms linear, visibility 120ms linear;
  }
}