/* ==========================================================================
   responsive.css — tablet and mobile adaptations
   ========================================================================== */
@media (max-width: 1024px) {
  .chapter-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .footprint { grid-template-columns: 1fr; }
  .footprint__map { position: static; }
  .map { height: 420px; }
}

@media (max-width: 760px) {
  .chapter-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .topbar { flex-direction: column; align-items: center; gap: var(--s-3); padding-top: var(--s-3); }
  .logo--bianco  { height: 17px; }
  .logo--frasers { height: 30px; }
  .invite { padding-top: 140px; }

  .robusta { grid-template-columns: 1fr; gap: var(--s-5); }
  .robusta__media { aspect-ratio: 4 / 3; }
  .pillars { grid-template-columns: 1fr; }

  .timeline__item { grid-template-columns: 1fr; gap: var(--s-2); }

  .plating--2, .plating--3 { grid-template-columns: 1fr; grid-template-rows: none; }
  .plating--3 .plate--feature { grid-row: auto; }
  .plate__media, .plate--feature .plate__media { min-height: 0; aspect-ratio: 4 / 3; flex: none; }

  .map { height: 340px; }
}

@media (max-width: 480px) {
  .chapter-grid { grid-template-columns: 1fr; }
  .chapter { min-height: 160px; }
  .chapter__title { margin-top: var(--s-3); }
  .invite-card__event { letter-spacing: 0.03em; }
  .countdown__num { font-size: var(--text-lg); }
  .guest-switch button { padding: 6px 10px; }
  dialog.sheet, dialog.sheet--wide { width: 100%; margin-top: 0; border-radius: 0 0 var(--radius-lg) var(--radius-lg); }
  .sheet__inner { max-height: 100svh; }
  dialog.sheet { max-height: 100svh; }
}

/* Four-chapter grid (open invitation) */
@media (max-width: 1024px) { .chapter-grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 480px)  { .chapter-grid--4 { grid-template-columns: 1fr; } }
