/* ============================================================
   Base Industries — responsive.css
   Layer 4: breakpoint overrides (largest → smallest).
   ============================================================ */

/* ---------- ≤ 100rem (1600px) ---------- */
@media (max-width: 100rem) {
  :root { --container-max: 1440px; }
}

/* ---------- ≤ 80rem (1280px) ---------- */
@media (max-width: 80rem) {
  .svc { grid-template-columns: 1fr; gap: var(--space-7); }
  .svc__rail { display: none; }
  .ind { grid-template-columns: 1fr 1fr; }
  .ind__feature { grid-column: 1 / -1; grid-row: auto; min-height: 440px; }
  .sus { grid-template-columns: 1fr; gap: var(--space-7); }
  .client-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .stats-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .stat { transform: none !important; }
  /* 2-column: re-map outside-edge padding (left col flush left, right col flush right). */
  .stat:nth-child(3n + 1) { padding-left: var(--stat-pad); }
  .stat:nth-child(3n) { padding-right: var(--stat-pad); }
  .stat:nth-child(2n + 1) { padding-left: 0; }
  .stat:nth-child(2n) { padding-right: 0; }
  .split, .split--asym, .split--reverse { grid-template-columns: 1fr; }
  .split__media { order: -1; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
}

/* ---------- ≤ 64rem (1024px) ---------- */
@media (max-width: 64rem) {
  .section { padding-block: var(--space-9); }
  /* Decorative corner metadata would collide with the taller tablet content — hide it. */
  .hero__meta { display: none; }
}

/* ---------- ≤ 62rem (992px): switch to mobile nav ---------- */
@media (max-width: 62rem) {
  .desktop-nav { display: none; }
  .menu-btn { display: inline-block; }
  .header-actions .btn--sm { display: none; }
}
@media (min-width: 62.01rem) {
  .desktop-nav { display: block; }
  .menu-btn, .mobile-nav { display: none; }
}

/* ---------- ≤ 48rem (768px) ---------- */
@media (max-width: 48rem) {
  :root {
    --space-9: 3rem;
    --space-10: 4.4rem;
    --space-11: 5.3rem;
    --container-pad: 1.25rem;
  }
  .top-strip__inner { justify-content: center; text-align: center; padding-block: 0.5rem; }
  .top-strip__inner a { display: none; }
  .header-bar { grid-template-columns: auto auto; justify-content: space-between; }
  .hero { min-height: 92svh; }
  .hero__layout { padding-top: var(--space-10); padding-bottom: var(--space-10); }
  .hero__cta-row { display: grid; width: 100%; }
  .hero__cta-row .btn { width: 100%; }
  .hero__scroll { display: none; }
  .hero__meta { display: none; }
  .hero__content { max-width: 100%; }
  .hero h1 { max-width: 100%; }
  .ind, .proj, .stats-grid { grid-template-columns: 1fr; }
  /* Projects gallery collapses to a single column; reset the editorial spans. */
  .proj--gallery { grid-template-columns: 1fr; }
  .proj--gallery .proj__card { grid-column: span 1; }
  /* 1-column: full-width cells flush to the gutter on both edges. */
  .stat { padding-left: 0; padding-right: 0; }
  .ind__feature { min-height: 400px; }
  .ind__feature--row { grid-template-columns: 1fr; }
  .ind__feature--row .ind__media { min-height: 260px; order: -1; }
  .ind__feature--row:nth-child(even) .ind__media { order: -1; }
  .proj__card--wide { grid-column: auto; }
  .proj__card--wide img { aspect-ratio: 16 / 10; }
  .client-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .client-grid li { border-top: 1px solid var(--color-border); border-left: 1px solid var(--color-border); }
  .client-grid li:nth-child(-n+2) { border-top: 0; }
  .client-grid li:nth-child(odd) { border-left: 0; }
  .contact-grid { grid-template-columns: 1fr; }
  .svc-item { grid-template-columns: 1fr; gap: var(--space-3); }
  .svc-item__num { padding-top: 0; }
  .svc-item__link { white-space: normal; }
  .footer-grid { grid-template-columns: 1fr; gap: var(--space-7); }
  .footer-legal { flex-direction: column; justify-content: center; padding-block: 1rem; }
  .cta-band__actions { display: grid; }
  .cta-band__actions .btn { width: 100%; }
  .page-hero__layout { min-height: 52vh; padding-top: var(--space-10); padding-bottom: var(--space-9); }
  .page-hero__meta { gap: var(--space-5); }
  .page-hero--split .page-hero__layout { flex-direction: column; align-items: stretch; }
  .page-hero--split .page-hero__content { max-width: 100%; }
  .page-hero__split-media { flex: none; width: 100%; aspect-ratio: 16 / 10; order: -1; }
  .industry-block, .industry-block--reverse { grid-template-columns: 1fr; gap: var(--space-6); }
  .industry-block--reverse .industry-block__media { order: 0; }
  .industry-block__media img { aspect-ratio: 16 / 10; }
  .office-index li { grid-template-columns: auto 1fr; gap: var(--space-4); }
  .office-index__addr { grid-column: 2; text-align: left; max-width: none; }
  .contact-grid { grid-template-columns: 1fr; gap: 0; }
  .contact-card { border-top: 1px solid var(--color-border); }
  .opps li { grid-template-columns: 1fr; gap: var(--space-3); }
  .timeline li { padding-left: calc(var(--space-6) + 1rem); }
}

/* ---------- ≤ 24.375rem (390px) ---------- */
@media (max-width: 24.375rem) {
  .brand__text { font-size: 0.95rem; }
  .btn--sm { padding-inline: 0.8rem; }
}

/* ---------- Contact: footprint + form breakpoints ---------- */
@media (max-width: 80rem) {
  .footprint { grid-template-columns: 1fr; }
  .office-index--interactive { position: static; }
  .map-panel__frame { min-height: clamp(300px, 42vh, 460px); }
  .enquiry { grid-template-columns: 1fr; gap: var(--space-8); }
  .enquiry__intro { position: static; }
}

@media (max-width: 48rem) {
  .office-index__btn { grid-template-columns: auto 1fr; gap: var(--space-4); }
  .office-index__actions { grid-column: 2; flex-direction: row; align-items: center; gap: var(--space-4); margin-top: 0.35rem; }
  .form__row--2 { grid-template-columns: 1fr; }
  .enquiry__facts > div { grid-template-columns: 1fr; gap: 0.2rem; }
  .map-panel__bar { flex-direction: column; align-items: flex-start; gap: var(--space-3); }
  .thankyou__actions { flex-direction: column; align-items: stretch; }
  .thankyou__actions .btn { width: 100%; }
}
}