/* Project-specific accessibility, responsive and legal-page refinements. */
:root { --site-focus: #19171c; }
html { scroll-behavior: smooth; overflow-x: hidden; }
body { overflow-x: hidden; }
img { max-width: 100%; height: auto; }
a, button, .navbar-toggler { cursor: pointer; }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible {
  outline: 3px solid var(--site-focus); outline-offset: 3px;
}
#main-content section[id] { scroll-margin-top: 96px; }
.navbar-toggler .hamburger { pointer-events: none; }
.legal-links { display: flex; flex-wrap: wrap; justify-content: center; gap: .65rem 1.1rem; margin-top: .65rem; }
.legal-links a { color: inherit; text-decoration: none; font-weight: 700; }
.legal-links a:hover, .legal-links a:focus-visible { text-decoration: underline; text-underline-offset: .18em; }
.footer-company-meta, .footer-legal-copy { margin-bottom: .35rem !important; }
.form-control:invalid:not(:placeholder-shown) { border-color: #7c2434; }
@media (max-width: 991.98px) {
  #site-header .navbar-collapse { position: absolute; top: calc(100% + 6px); left: 0; right: 0; width: 100%; background: #fff; padding: 1rem 1.25rem; max-height: calc(100vh - 96px); overflow-y: auto; overflow-x: hidden; box-shadow: 0 16px 30px rgba(0,0,0,.12); }
  #site-header .navbar-collapse:not(.show):not(.collapsing) { display: none !important; }
  #site-header .navbar-collapse.show { display: block !important; }
  #site-header .navbar-nav .nav-item, #site-header .navbar-nav .nav-link { width: 100%; }
  #site-header .navbar-nav .nav-link { justify-content: flex-start !important; }
  #site-header .icons-menu { width: 100%; }
  #site-header .container-fluid { position: relative; }
}
@media (max-width: 575.98px) {
  #site-header .navbar-caption { font-size: 1.05rem !important; padding-right: .35rem; }
  #site-header .navbar-logo { padding-left: .25rem !important; }
  #site-header .container-fluid { width: calc(100% - 16px) !important; margin-left: 8px !important; margin-right: 8px !important; }
  .legal-links { flex-direction: column; align-items: center; gap: .35rem; }
}
.legal-main { padding: 2rem 0 5rem; background: #f6f5f1; color: #19171c; }
.legal-hero { padding: 3.5rem 0 2rem; }
.legal-hero .legal-kicker { text-transform: uppercase; letter-spacing: .12em; font-weight: 700; margin-bottom: .75rem; }
.legal-hero h1 { font-size: clamp(2.2rem, 6vw, 4.5rem); line-height: 1.02; margin-bottom: 1rem; }
.legal-shell { width: min(100% - 2rem, 940px); margin-inline: auto; }
.legal-operator { background: #fff; border-radius: 24px; padding: 1.25rem 1.4rem; margin: 0 0 2rem; box-shadow: 0 12px 35px rgba(0,0,0,.06); }
.legal-operator p { margin: .2rem 0; }
.legal-content { background: #fff; border-radius: 28px; padding: clamp(1.25rem, 4vw, 3rem); box-shadow: 0 12px 35px rgba(0,0,0,.06); }
.legal-content h2 { margin-top: 2rem; margin-bottom: .75rem; font-size: clamp(1.5rem, 3vw, 2.2rem); }
.legal-content h3 { margin-top: 1.3rem; font-size: 1.2rem; }
.legal-content p, .legal-content li { line-height: 1.72; }
.legal-content a { color: inherit; text-decoration: underline; text-underline-offset: .18em; }
.legal-content ul { padding-left: 1.35rem; }
.legal-back { margin-top: 1.5rem; display: inline-flex; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}
