/* ============================================================
   Responsive overrides — tablet and desktop
   Mobile-first base styles live in style.css
   ============================================================ */

@media (min-width: 768px) {
  body { font-size: var(--fs-body); }

  h2 { font-size: var(--fs-h2); }
  h3 { font-size: var(--fs-h3); }

  .hero { padding-top: var(--space-3xl); padding-bottom: var(--space-2xl); }
  .hero__inner {
    grid-template-columns: 1.15fr 1fr;
    align-items: center;
    gap: var(--space-2xl);
  }
  .hero__photo { aspect-ratio: 5 / 6; }

  .trust-strip__inner {
    grid-template-columns: repeat(4, 1fr);
    gap: var(--space-lg);
  }

  .why-grid { grid-template-columns: repeat(3, 1fr); gap: var(--space-lg); }

  .pricing-grid { grid-template-columns: repeat(2, 1fr); gap: var(--space-lg); }

  .testimonial-grid { grid-template-columns: repeat(3, 1fr); gap: var(--space-lg); }

  .steps { grid-template-columns: repeat(3, 1fr); gap: var(--space-xl); }
  .step { grid-template-columns: 1fr; }
  .step__num { margin-bottom: var(--space-sm); }

  .cta-banner { padding-top: var(--space-2xl); padding-bottom: var(--space-2xl); }
  .cta-banner__title { font-size: var(--fs-h2); }
  .cta-banner__actions {
    flex-direction: row;
    justify-content: center;
    align-items: center;
  }

  .hero__actions {
    flex-direction: row;
    align-items: center;
  }

  .contact-grid { grid-template-columns: 1fr 1.2fr; gap: var(--space-2xl); }

  .map-wrap iframe { height: 400px; }

  .form__submit { align-self: flex-start; }

  .lead { font-size: var(--fs-body-lg); }

  .faq-item__btn { font-size: 1.25rem; }
  .faq-item__panel-inner { font-size: var(--fs-body); }
}

@media (min-width: 1024px) {
  :root {
    --container-pad:  2rem;
    --section-pad-y:  5.5rem;
  }

  body { padding-bottom: 0; }

  h1 { font-size: var(--fs-h1); }

  .site-header__inner { height: 64px; }

  .nav-toggle { display: none; }

  .site-nav {
    position: static;
    transform: none;
    width: auto;
    background: transparent;
    border-left: 0;
    padding: 0;
    overflow: visible;
    flex: 1;
    display: flex;
    justify-content: center;
  }
  .site-nav__list {
    flex-direction: row;
    gap: var(--space-md);
  }
  .nav-link {
    font-size: 0.9375rem;
    padding: 0;
    position: relative;
  }
  .nav-link.is-active {
    padding-left: 0;
  }
  .nav-link.is-active::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -22px;
    top: auto;
    transform: none;
    width: auto;
    height: 2px;
    background-color: var(--color-secondary);
    border-radius: 0;
  }

  .site-header__call {
    display: inline-flex;
    padding: 0.625rem 1.125rem;
    font-size: 0.9375rem;
    background-color: var(--color-primary);
    border-color: var(--color-primary);
  }
  .site-header__call:hover {
    background-color: var(--color-primary-dark);
    border-color: var(--color-primary-dark);
  }

  .mobile-call-bar { display: none; }

  .site-footer__inner {
    flex-direction: row;
    justify-content: space-between;
    text-align: left;
    gap: var(--space-lg);
  }
  .site-footer__brand { flex-direction: row; align-items: baseline; gap: var(--space-2xs); }
  .site-footer__nav { flex-wrap: nowrap; }

  .price-card__price { font-size: 3rem; }
}

@media (min-width: 1180px) {
  .hero__inner { gap: var(--space-3xl); }
}
