/* ======= Responsive & A11y Patches (generated) ======= */
html, body { overflow-x: hidden; }

/* 1) Fluid media */
img, video, iframe { max-width: 100%; height: auto; }

/* 2) Prevent tables from breaking layout */
table { width: 100%; display: block; overflow-x: auto; }

/* 3) Navbar wrapping + spacing */
.navbar .navbar-nav { flex-wrap: wrap; gap: .5rem; align-items: center; }
.navbar .nav-link { line-height: 1.25; }

/* 4) Headings scale better on small screens */
@media (max-width: 575.98px) {
  h1, .display-1, .mbr-section-title { font-size: clamp(1.4rem, 8vw, 2.2rem); }
  h2, .display-2 { font-size: clamp(1.25rem, 6.5vw, 1.9rem); }
}

/* 5) Touch targets */
a, button { min-height: 44px; }

/* 6) Modal & video wrapper */
.modalWindow-container { width: 95vw; max-width: 1400px; }
.modalWindow-video { position: relative; padding-top: 56.25%; }
.modalWindow-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; }

/* 7) Respect users who prefer reduced motion */
@media (prefers-reduced-motion: reduce) {
  * { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}

/* 8) Anchors offset under fixed header */
:root { --nav-h: 80px; }
[id] { scroll-margin-top: var(--nav-h); }

/* 9) Long words/URLs wrap instead of causing horizontal scroll */
.mbr-text, p, li { overflow-wrap: anywhere; word-break: break-word; }

/* 10) Utility: responsive aspect-ratio for custom embeds */
.ratio-16x9 { position: relative; padding-top: 56.25%; }
.ratio-16x9 > iframe, .ratio-16x9 > video { position: absolute; inset: 0; width: 100%; height: 100%; }

/* 11) Footer/partner cards: avoid nested grid overflow */
#partners-grid .cards-wrap { display: contents !important; }

/* 12) Minor navbar padding tweak on medium screens */
@media (max-width: 991.98px) {
  .navbar .navbar-brand, .navbar .navbar-buttons { padding-top: .25rem; padding-bottom: .25rem; }
}