@media (max-width: 64rem) {
  .cards-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .appointment { grid-template-columns: 1fr; }
}

@media (max-width: 48rem) {
  :root { --font-size-body: 1rem; --header-height: 4.5rem; }
  body { padding-top: var(--header-height); }
  body.is-menu-open { overflow: hidden; }
  .site-header { position: fixed; width: 100%; }
  .site-header__inner { gap: 0.5rem; }
  .logo__image { width: 3.125rem; height: 3.75rem; }
  .site-header .logo { order: 1; margin-right: auto; }
  .site-header .logo__text { display: none; }
  .menu-toggle { display: inline-flex; }
  .site-header__actions { order: 2; min-width: 0; gap: 0.5rem; margin-left: auto; }
  .site-header__phone { order: 1; min-width: 0; font-size: 0.8125rem; }
  .site-header__actions .menu-toggle { order: 2; flex: 0 0 auto; }
  .site-nav {
    position: fixed;
    inset: var(--header-height) 0 auto;
    max-height: calc(100vh - var(--header-height));
    overflow-y: auto;
    padding: var(--space-3) var(--container-gutter) var(--space-4);
    transform: translateY(-130%);
    border-bottom: 1px solid var(--color-border);
    background: var(--color-surface);
    opacity: 0;
    visibility: hidden;
    transition: transform var(--transition), opacity var(--transition), visibility var(--transition);
  }
  .site-nav.is-open { transform: translateY(0); opacity: 1; visibility: visible; }
  .site-nav__list { align-items: stretch; flex-direction: column; gap: 0; }
  .site-nav__link { display: block; padding-block: 0.875rem; border-bottom: 1px solid var(--color-border); font-size: 1rem; }
  .site-nav__details { display: grid; gap: var(--space-2); margin-top: var(--space-3); padding-top: var(--space-3); border-top: 1px solid var(--color-border); font-size: 1rem; }
  .site-nav__contacts { display: grid; gap: 0.5rem; list-style: none; }
  .site-nav__status { color: var(--color-primary-dark); font-weight: 600; }
  .site-footer__main { grid-template-columns: 1fr 1fr; }
  .site-footer__brand { grid-column: 1 / -1; }
  .section-heading { align-items: start; flex-direction: column; }
  .section-decor { width: 8rem; opacity: 0.06; }
  .section-decor--cross,
  .section-decor--pulse { display: none; }
  .section-decor--cloud { right: -3rem; bottom: 0; width: 11rem; }
}

@media (max-width: 30rem) {
  .cards-grid,
  .site-footer__main { grid-template-columns: 1fr; }
  .site-footer__brand { grid-column: auto; }
  .button { width: 100%; }
  .site-header__phone { max-width: 7.75rem; font-size: 0.75rem; }
  .contact-cta__links,
  .widget-actions { flex-direction: column; }
}

@media (max-width: 22.5rem) {
  .site-header__inner { gap: 0.375rem; }
  .logo__image { width: 2.75rem; height: 3.375rem; }
  .site-header__phone { max-width: 7rem; font-size: 0.6875rem; }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }
}
