/* ============================================================
   DRP-OS marketing — responsive-core.css v1
   Load LAST on every page, after style.css / site_fix.css /
   nav-final.css. Canonical breakpoints: 1024 / 768 / 480.
   ============================================================ */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { overflow-x: hidden; }
img, svg, video, canvas, iframe, embed, object {
  max-width: 100%; height: auto;
}
input, select, textarea, button { max-width: 100%; min-width: 0; }
[style*="display:grid"] > *, [style*="display: grid"] > *,
[class*="grid"] > *, [class*="row"] > * { min-width: 0; }
h1, h2, h3, h4, p, li, td, th, a { overflow-wrap: break-word; }
@media (max-width: 1024px) {
  [style*="grid-template-columns: repeat(3"],
  [style*="grid-template-columns:repeat(3"],
  [style*="grid-template-columns: repeat(4"],
  [style*="grid-template-columns:repeat(4"] {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 768px) {
  [style*="grid-template-columns"] {
    grid-template-columns: 1fr !important;
  }
  [class*="grid"], [class*="cols"], .form-row, .field-row {
    grid-template-columns: 1fr !important;
  }
  [style*="display:flex"], [style*="display: flex"] { flex-wrap: wrap; }
  table {
    display: block; width: 100%;
    overflow-x: auto; -webkit-overflow-scrolling: touch;
  }
  h1 { font-size: clamp(28px, 8vw, 42px) !important; line-height: 1.15; }
  h2 { font-size: clamp(22px, 6vw, 32px) !important; line-height: 1.2; }
}
@media (max-width: 480px) {
  .container { padding: 0 16px; }
}
@media (min-width: 1440px) {
  main [style*="max-width"], section [style*="max-width"] {
    margin-left: auto; margin-right: auto;
  }
}
