/* Keep wide content in its own scroll area; the document stays viewport-sized. */
html { overflow-x: clip; }
body { min-width: 0; }
.site-main, .site-main > *, .footer-grid > *, .main-nav > *, .nf-card > div { min-width: 0; }
.site-main img, .site-main video, .site-main iframe { max-width: 100%; }
.site-header .main-nav { width: 100%; gap: 16px; }
.site-header .logo { min-width: 0; flex-shrink: 1; }
.site-header .logo-wordmark { max-width: 180px; object-fit: contain; }
.site-header .nav-actions { margin-left: auto; flex-shrink: 0; }
.site-footer, .site-footer a, .nf-wrap { overflow-wrap: anywhere; }
.policy-body { min-width: 0; overflow-wrap: anywhere; }
.policy-body table { max-width: 100%; }
.site-footer .footer-grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr)); }
.site-footer .footer-brand p { font-size: 14px; font-weight: 400; line-height: 1.7; margin-top: 14px; color: #cbd5e1; }
.site-footer .footer-links h4 { margin: 0 0 14px; color: #fff; font-size: 15px; }
.site-footer .footer-links ul { list-style: none; padding: 0; margin: 0; }
.site-footer .footer-links a { display: inline-block; padding-block: 4px; line-height: 1.5; font-size: 14px; }
.site-footer .social-links { display: flex; gap: 16px; }
.site-footer .footer-bottom { font-size: 13px; gap: 20px; }
.ml-table-scroll { max-width: 100%; overflow-x: auto; overscroll-behavior-x: contain; }
.ml-table-scroll:focus-visible { outline: 2px solid #2563eb; outline-offset: 2px; }
.ml-loading-bar { position: fixed; z-index: 2147483646; inset: 0 0 auto; height: 3px; pointer-events: none; background: #2563eb; transform: scaleX(.15); transform-origin: left; animation: ml-loading-progress 1.4s ease-in-out infinite alternate; }
.ml-loading-bar[hidden] { display: none; }
.ml-loading-status { position: fixed; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
a[aria-busy="true"], button[aria-busy="true"] { cursor: progress; }
@keyframes ml-loading-progress { to { transform: scaleX(.9); } }
@media (prefers-reduced-motion: reduce) { .ml-loading-bar { animation: none; transform: scaleX(1); } }
@media (max-width: 600px) {
  .site-footer .container { padding-inline: 16px; }
  .site-footer .footer-bottom { flex-wrap: wrap; gap: 8px; }
  .site-header .nav-actions { min-width: 0; gap: 6px; }
  .site-header .nav-actions > .btn { padding-inline: 10px; white-space: nowrap; }
  .site-header .logo-text { font-size: clamp(16px, 4.5vw, 22px); }
  .site-header .main-nav { gap: 8px; }
  .site-header .logo { gap: 6px; }
  .site-header .logo-wordmark { max-width: 90px; height: auto !important; max-height: 34px; }
  .site-footer .footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 16px; }
  .site-footer .footer-brand { grid-column: 1 / -1; }
  #ml-header .ml-header-inner { gap: 8px; min-width: 0; }
  #ml-header .ml-logo { gap: 7px; min-width: 0; }
  #ml-header .ml-logo-img { width: 32px; height: 32px; flex-shrink: 0; }
  #ml-header .ml-logo-text { font-size: 16px; }
  #ml-header .ml-header-actions { gap: 6px; min-width: 0; }
  #ml-header .ml-header-actions .ml-btn-primary { padding: 9px 10px; font-size: 12px; white-space: nowrap; }
}
@media (max-width: 360px) { #ml-header .ml-logo-text { display: none; } }
@media (max-width: 768px) {
  /* .main-nav ul was more specific than .nav-menu's mobile display:none. */
  .site-header .main-nav .nav-menu:not(.active) { display: none; }
  .site-header .main-nav .nav-menu.active { display: flex; }
}
@media print { .ml-loading-bar, .ml-loading-status { display: none !important; } }
