/* ═══════════════════════════════════════
   RESPONSIVE — Breakpoints
   ═══════════════════════════════════════ */

@media (max-width: 1080px) {
  .panels {
    grid-template-columns: 1fr;
  }

  .cst-panels {
    grid-template-columns: 1fr 1fr;
  }

  .cst-m {
    display: none;
  }

  .p-left {
    border-radius: var(--r-xl) var(--r-xl) 0 0;
    border-right: 1px solid var(--border-l);
    border-bottom: none;
  }

  .ct-form-wrap {
    grid-template-columns: 1fr 1fr;
  }

  .ct-extra {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 960px) {
  /* ── Both hero layouts → single column ── */
  .hero,
  .hero--contact {
    grid-template-columns: 1fr !important;
    min-height: auto;
  }

  .h-left,
  .h-left--contact {
    padding: calc(56px + 2rem) 2rem 1.5rem !important;
    opacity: 1 !important;
    pointer-events: auto !important;
  }

  .h-left::after {
    display: none;
  }

  .callouts {
    justify-content: center;
  }

  /* Home left panel — centered text on mobile */
  [data-page="home"] .h-left {
    text-align: center;
  }

  [data-page="home"] .hero-sub {
    margin: 0 auto 1.6rem;
  }

  [data-page="home"] .h-points {
    align-items: center;
  }

  .infra-row {
    justify-content: center;
  }

  .h-right,
  .h-right--contact {
    min-height: auto;
    padding: 1.5rem 2rem 3rem;
  }

  .cfg-wrap {
    max-width: 580px !important;
    margin: 0 auto;
  }

  /* Contact sidebar — horizontal layout on tablet */
  .ct-sidebar-methods {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 0.6rem;
  }

  .ct-sidebar-method {
    flex: 1;
    min-width: 160px;
  }

  .feat-grid {
    grid-template-columns: 1fr;
    max-width: 440px;
  }

  .fc-featured {
    grid-column: span 1;
  }

  .cta-split-inner {
    grid-template-columns: 1fr;
    gap: 0.9rem;
  }

  .cta-left {
    border-radius: var(--r-xl);
    border-right: 1px solid var(--border-l);
  }

  .cta-right {
    order: -1;
    border-radius: var(--r-xl);
  }

  .ftr {
    flex-direction: column;
    gap: 0.4rem;
  }

  .ct-head {
    flex-direction: column;
    gap: 0.8rem;
  }
}

@media (max-width: 640px) {
  .hdr {
    padding: 0 1.2rem;
  }

  .h-left,
  .h-left--contact {
    padding: calc(56px + 1.5rem) 1.2rem 1.2rem !important;
  }

  .h-right,
  .h-right--contact {
    padding: 1rem 1.2rem 2.5rem;
  }

  .feat {
    padding: 3rem 1.2rem;
  }

  .cta-split {
    padding: 0 1.2rem 3rem;
  }

  .cta-left {
    border-radius: var(--r-xl);
  }

  .cta-right {
    border-radius: var(--r-xl);
  }

  .sdiv {
    padding: 0 1.2rem;
  }

  .ftr {
    padding: 0 1.2rem 1.8rem;
  }

  .infra-row {
    flex-wrap: wrap;
    gap: 0.8rem;
  }

  .ct-form-wrap {
    grid-template-columns: 1fr;
  }

  .ct-extra {
    grid-template-columns: 1fr;
  }

  .ct-inner {
    padding: 1.5rem 1.2rem;
  }

  .cst-panels {
    grid-template-columns: 1fr;
  }

  .ct-submit-row {
    flex-direction: column-reverse;
    gap: 0.8rem;
  }

  .ct-submit-row .btn-go {
    width: 100%;
  }

  .ct-submit-meta {
    flex-wrap: wrap;
    justify-content: center;
  }

  /* Contact sidebar — stack vertically on mobile */
  .ct-sidebar-methods {
    flex-direction: column;
  }

  .ct-sidebar-method {
    min-width: auto;
  }
}