/* ==========================================================================
   Responsive
   ========================================================================== */

@media (max-width: 1180px) {
  .card-grid--4 { grid-template-columns: repeat(3, 1fr); }
  .trust-strip__row { grid-template-columns: repeat(2, 1fr); row-gap: var(--sp-4); }
  .trust-item:nth-child(3)::before { display: none; }
}

@media (max-width: 1024px) {
  .main-nav__list { gap: var(--sp-3); }
  .main-nav__link { font-size: 0.88rem; }
  .hero__grid { grid-template-columns: 1fr; }
  .hero__visual { max-width: 460px; margin-inline: auto; }
  .doctor-block { grid-template-columns: 1fr; }
  .doctor-block__media { max-width: 380px; margin-inline: auto; }
  .card-grid--3 { grid-template-columns: repeat(2, 1fr); }
  .process-grid { grid-template-columns: repeat(2, 1fr); gap: var(--sp-6); }
  .cta-band__grid { grid-template-columns: 1fr; text-align: center; }
  .cta-band__actions { justify-content: center; }
  .footer-top { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 860px) {
  .main-nav { display: none; }
  .header-cta .btn--ghost { display: none; }
  .nav-toggle { display: flex; }
  .card-grid--4 { grid-template-columns: repeat(2, 1fr); }
  .testimonial-grid { grid-template-columns: 1fr; }
  .blog-card--featured { grid-template-columns: 1fr; }
  .blog-card--featured .blog-card__media { aspect-ratio: 16/10; }
  .form-grid { grid-template-columns: 1fr; }
  .why-row { grid-template-columns: 60px 1fr; }
  .sticky-cta { display: block; }
  body { padding-bottom: 64px; }
}

@media (max-width: 680px) {
  .card-grid--3, .card-grid--2, .card-grid--4 { grid-template-columns: 1fr; }
  .process-grid { grid-template-columns: 1fr; }
  .utility-bar__group:nth-child(2) .utility-bar__item:not(:last-child) { display: none; }
  .footer-top { grid-template-columns: 1fr; padding-block: var(--sp-6) var(--sp-4); }
  .footer-bottom { flex-direction: column; align-items: flex-start; }
  .hero { padding-block: var(--sp-5) var(--sp-6); }
  .section { padding-block: var(--sp-7); }
  .hero__badge { position: static; margin-top: var(--sp-3); max-width: none; }
  .doctor-block__tag { right: 8px; bottom: -14px; }
}
