/* t158: narrow-screen layout fixes; desktop rules remain unchanged. */
@media (max-width: 767px) {
  .split, .form .g2, .news .wrap, .more3,
  .hero .wrap, .mod, .lec2, .cost .wrap, .prog,
  .two, .q2, .inv, .days, .gl, .parts, .wk,
  .c3, .c4, .quotes, .g3, .lec, .qq, .steps, .res {
    grid-template-columns: minmax(0, 1fr);
  }
  .split, .news .wrap, .hero .wrap, .lec2, .inv { gap: 28px; }
  .split > *, .form .g2 > *, .news .wrap > *, .hero .wrap > *,
  .mod > *, .lec2 > *, .prog > *, .inv > * { min-width: 0; }
  .form { min-width: 0; padding: 24px 20px; }
  .form input[type=text], .form input[type=email], .form input[type=tel],
  .form input[type=number], .form select, .form textarea,
  .news input[type=email] { font-size: 16px; }
  .form .chk, .news .chk { align-items: flex-start; }
  .chk input { flex-shrink: 0; }
  .form-note a, .legal-label-text a { overflow-wrap: anywhere; }
  .news .row { flex-direction: column; }
  .news input[type=email] { flex: none; min-width: 0; width: 100%; }
  .news .row .btn { width: 100%; }
  .ftr .wrap { flex-direction: column; align-items: flex-start; gap: 32px; }
  .mary { flex-wrap: wrap; gap: 20px; }
  .hero h1 { font-size: clamp(32px, 10vw, 48px); }
  .btns, .hero .btns, .flag .btns { flex-wrap: wrap; }
  .btns .btn, .form .btn { max-width: 100%; height: auto; min-height: 56px; white-space: normal; text-align: center; padding-top: 12px; padding-bottom: 12px; }
  .stats, .facts, .nums .wrap, .r3 { grid-template-columns: minmax(0, 1fr); }
  .stats > div, .facts > div { border-right: 0; border-bottom: 1px solid var(--line); }
  .stats > div:last-child, .facts > div:last-child { border-bottom: 0; }
  .tr { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .tr .btn { width: 100%; }
  .flag, .comm, .band .wrap, .who .wrap, .cl, .lead-c, .mod-h { flex-direction: column; align-items: flex-start; gap: 20px; }
  .flag, .comm, .mod, .prog { padding: 24px 20px; }
  .mod p { max-width: 100%; }
  .months { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
  .cal-h, .lg, .ref .ph { flex-wrap: wrap; gap: 12px; }
  .ref .tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .day .r { grid-template-columns: minmax(0, 1fr); gap: 6px; }
}

/* Dark footer contrast, all widths; preserve muted text and orange CTA. */
.ftr { color: #fff; }
