/* ═══════════════════════════════════════════════════════════
   responsive.css — Tablet & mobile breakpoints
═══════════════════════════════════════════════════════════ */
@media (max-width: 1024px) {
  .svc-grid { grid-template-columns: repeat(2, 1fr); }
  .tests__grid { grid-template-columns: repeat(2, 1fr); }
  .pkg-grid { grid-template-columns: repeat(2, 1fr); }
  .gal-grid { grid-template-columns: repeat(3, 1fr); }
  .gal-masonry { columns: 2; }
  .features-strip__grid { grid-template-columns: repeat(2, 1fr); }
  .hero__title { font-size: var(--text-3xl); }
  .story-card { grid-template-columns: 1fr; gap: var(--sp-8); }
  .story-card__media { max-width: 440px; }
}

@media (max-width: 900px) {
  .nav__links, .nav__cta .btn-appt-desktop { display: none; }
  .nav__burger { display: flex; }
  .story__grid, .loc-grid { grid-template-columns: 1fr; }
  .story__media { max-width: 520px; margin: 0 auto; }
  .ann-grid, .reviews-grid, .pkg-img-grid { grid-template-columns: 1fr; }
  .pkg-img-card__media { height: 420px; }
}

@media (max-width: 640px) {
  :root { --nav-h: 64px; }
  section { padding: var(--sp-12) 0; }
  .container { padding: 0 var(--sp-4); }
  .logo__img { height: 42px; }
  .topbar__row { justify-content: center; }
  .hero { min-height: 480px; }
  .hero__title { font-size: var(--text-2xl); }
  .hero__meta { gap: var(--sp-4); flex-direction: column; }
  .section-title { font-size: var(--text-xl); }
  .page-hero { padding: 56px 0 48px; }
  .page-hero h1 { font-size: var(--text-2xl); }
  .story-overlap { margin-top: -56px; }
  .story-card { padding: var(--sp-6); }
  .svc-grid, .tests__grid, .pkg-grid { grid-template-columns: 1fr; }
  .gal-grid { grid-template-columns: repeat(2, 1fr); }
  .gal-masonry { columns: 2; column-gap: var(--sp-3); }
  .features-strip__grid { grid-template-columns: 1fr; gap: var(--sp-4); }
  .footer__grid { grid-template-columns: 1fr; gap: var(--sp-10); }
  .footer__bottom { flex-direction: column; text-align: center; }
  .subscribe { padding: 64px 0; }
  .subscribe__form { flex-direction: column; background: transparent; gap: 10px; }
  .subscribe__form input { border-radius: 4px; }
  .subscribe__form .btn { border-radius: 4px; border-left: none; }
  .inquiry-bar__row { flex-direction: column; gap: 10px; padding: 12px 0; }
  .slot-row { grid-template-columns: repeat(2, 1fr); }
  .ticker__label { font-size: 11px; padding: 0 10px; }
  .ticker__item { font-size: 12px; }
  .wa-tab { padding: 12px 6px; }
  .wa-tab__label { font-size: 12px; }
  .float-buttons { right: 12px; bottom: 16px; gap: 10px; }
  .float-btn { width: 44px; height: 44px; }
  .map-wrap iframe { height: 320px; }
  .hero__actions .btn { flex: 1; justify-content: center; }
}
