/* Breakpoint overrides only — base/mobile rules live in style.css. */

/* ---- >= 480px : small phones up ---- */
@media (min-width: 480px) {
  .hero__cta { flex-wrap: nowrap; }
  .tile-grid { grid-template-columns: repeat(4, 1fr); }
}

/* ---- >= 640px : large phone / small tablet ---- */
@media (min-width: 640px) {
  .bento { grid-template-columns: repeat(2, 1fr); }
  .service-list { grid-template-columns: repeat(2, 1fr); }
  .form-row { grid-template-columns: repeat(2, 1fr); }
  .site-footer__grid { grid-template-columns: repeat(2, 1fr); }
  .cta-band__actions { flex-wrap: nowrap; }
}

/* ---- >= 768px : tablet ---- */
@media (min-width: 768px) {
  .call-bar { display: none; }
  body { padding-bottom: 0; }

  .hero__slider-arrow { display: inline-flex; }

  .page-header__inner { flex-direction: row; align-items: center; }
  .page-header__cta { flex-shrink: 0; }

  .split { grid-template-columns: 1fr 1fr; }
  .cta-band__inner--split { grid-template-columns: 2fr 1fr; }
  .grid-2 { grid-template-columns: 1fr 1fr; }

  .testimonial-card { width: 360px; }
}

/* ---- >= 1024px : desktop ---- */
@media (min-width: 1024px) {
  .nav__links { display: flex; align-items: center; gap: 2rem; }
  .nav__actions .btn--primary { display: inline-flex; }
  .nav__toggle, .nav-overlay { display: none; }

  .hero { padding-block: 4.5rem 6rem; }

  .service-checklist__list { grid-template-columns: repeat(3, 1fr); }

  .bento { grid-template-columns: repeat(4, 1fr); }
  .bento__item--feature { grid-column: span 2; grid-row: span 2; display: flex; flex-direction: column; justify-content: center; }

  .service-list { grid-template-columns: repeat(3, 1fr); }

  .site-footer__grid { grid-template-columns: 1.4fr 1fr 1fr 1fr; }

  .contact-layout { grid-template-columns: 340px 1fr; }
  .contact-rail { position: sticky; top: calc(var(--header-h) + 24px); }
}

/* ---- >= 1280px : wide desktop ---- */
@media (min-width: 1280px) {
  :root { --container-pad: 2rem; }
  .hero__title { font-size: 62px; }
}
