/* ==========================================================================
   Responsive — breakpoints layered on top of the desktop-first defaults
   ========================================================================== */

/* -- Large tablets / small desktops -- */
@media (max-width: 1024px) {
  .retreat-day {
    grid-template-columns: 1fr;
    gap: var(--space-md);
  }
  .retreat-day--reverse .retreat-day-media { order: 1; }
  .retreat-day--reverse .retreat-day-body { order: 2; }
}

/* -- Tablets -- */
@media (max-width: 860px) {
  .nav-desktop { display: none; }
  .nav-toggle { display: flex; }

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

  .story-media { aspect-ratio: 16 / 10; }

  .event-grid,
  .event-grid--reverse {
    grid-template-columns: 1fr;
  }

  .event-grid--reverse .venue-card { order: 2; }
  .event-grid--reverse .event-copy { order: 1; }

  .form-row {
    grid-template-columns: 1fr;
  }
}

/* -- Phones -- */
@media (max-width: 600px) {
  :root {
    --container-pad: 1.25rem;
    --space-3xl: 5rem;
    --space-2xl: 3.5rem;
  }

  .hero-title { font-size: clamp(2.5rem, 14vw, 3.5rem); }
  .hero-date { font-size: var(--fs-sm); }

  .countdown { gap: var(--space-2xs); }
  .countdown-item { width: 80px; flex: 0 0 80px; padding: var(--space-xs) var(--space-3xs); }
  .countdown-num { font-size: var(--fs-md); }

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

  .section-title { font-size: 1.9rem; }

  .finley-card {
    flex-direction: column;
    text-align: center;
  }

  .retreat-cover { min-height: 68vh; }
  .retreat-cover-inner { padding-block: var(--space-xl); }

  .schedule-item {
    grid-template-columns: 1fr;
    gap: var(--space-3xs);
  }

  .choice-group { flex-direction: column; }
  .choice-pill span { width: 100%; justify-content: center; }

  .rsvp-form { padding: var(--space-lg) var(--space-md); }
}

/* -- Small phones -- */
@media (max-width: 380px) {
  .brand { font-size: 1.25rem; }
  .media-tag { display: none; }
}
