/* ==========================================================================
   CLEAN O'CLOCK — RESPONSIVE STYLES
   Mobile-first overrides layered on top of style.css
   ========================================================================== */

/* ----------------------------- ≤ 1180px ----------------------------------- */
@media (max-width: 1180px){
  .footer-grid{ grid-template-columns: 1.2fr 1fr 1fr; }
  .footer-col.footer-col--areas{ grid-column: 1 / -1; }
}

/* ----------------------------- ≤ 1024px ----------------------------------- */
@media (max-width: 1024px){
  :root{ --header-h: 76px; }

  .main-nav__list, .header-phone-desktop{ display: none; }
  .nav-toggle{ display: flex; }

  .hero-grid{ grid-template-columns: 1fr; }
  .hero-visual{ order: -1; max-width: 320px; margin-inline: auto; }
  .hero-copy{ text-align: left; }

  .two-col, .two-col.reverse{ grid-template-columns: 1fr; direction: ltr; }
  .two-col .img-frame{ order: -1; }

  .grid-4{ grid-template-columns: repeat(2, 1fr); }
  .grid-3{ grid-template-columns: repeat(2, 1fr); }
  .process-grid{ grid-template-columns: repeat(2, 1fr); }
  .standard-grid{ grid-template-columns: 1fr; }
  .checklist{ grid-template-columns: 1fr; }

  .footer-grid{ grid-template-columns: 1fr 1fr; }
  .footer-brand{ grid-column: 1 / -1; }
}

/* ----------------------------- ≤ 768px ------------------------------------ */
@media (max-width: 768px){
  .section{ padding-block: var(--space-xl); }
  .section--tight{ padding-block: var(--space-lg); }

  .grid-2, .grid-3, .grid-4{ grid-template-columns: 1fr; }
  .process-grid{ grid-template-columns: 1fr 1fr; }

  .trust-list{ justify-content: flex-start; gap: var(--space-md); }
  .header-cta .btn--outline{ display: none; }

  .cta-band{ padding: var(--space-lg) var(--space-md); }
  .cta-band .btn-row{ flex-direction: column; align-items: stretch; }
  .cta-band .btn{ width: 100%; }

  .form-grid{ grid-template-columns: 1fr; }
  .field.span-2{ grid-column: 1; }

  .footer-grid{ grid-template-columns: 1fr; gap: var(--space-lg); }
  .footer-bottom{ flex-direction: column; align-items: flex-start; }

  .mobile-cta-bar{ display: block; }
  body{ padding-bottom: 78px; }
  .back-to-top{ bottom: 88px; }
}

/* ----------------------------- ≤ 600px ------------------------------------- */
@media (max-width: 600px){
  .process-grid{ grid-template-columns: 1fr; }
  .brand__tag{ display: none; }
  .btn-row{ flex-direction: column; align-items: stretch; }
  .btn-row .btn{ width: 100%; }
  .hero .btn-row{ flex-direction: column; }
  .service-card, .card{ padding: var(--space-sm) var(--space-md); }
}

/* ----------------------------- ≤ 420px -------------------------------------- */
@media (max-width: 420px){
  .container{ padding-inline: 1.1rem; }
  h1{ font-size: clamp(2rem, 8vw, 2.6rem); }
  .brand img{ height: 34px; width: 34px; }
}

/* ----------------------------- ≥ 1440px large desktop ----------------------- */
@media (min-width: 1440px){
  .container{ max-width: 1320px; }
}
