/* Shared interaction/accessibility styles. Content is visible without JavaScript. */
html { color-scheme: light; scroll-behavior: smooth; }
html, body { margin: 0; width: 100%; }
*, *::before, *::after { box-sizing: border-box; }
[hidden] { display: none !important; }
a:focus-visible, button:focus-visible, summary:focus-visible, input:focus-visible, [tabindex]:focus-visible {
  outline: 3px solid #2abfbf !important; outline-offset: 5px !important;
  box-shadow: 0 0 0 2px #061224 !important;
}
.fm-image-compare:has(input:focus-visible) { outline: 3px solid #2abfbf; outline-offset: -4px; }
button, summary, a { -webkit-tap-highlight-color: rgba(42,191,191,.2); }
.fm-skip-link { position: fixed; left: 20px; top: -100px; z-index: 9999; padding: 12px 20px; background: #fff; color: #061224; border-radius: 8px; }
.fm-skip-link:focus { top: 20px; }
.fm-privacy-banner {
  position: fixed; z-index: 1000; inset: auto 20px 20px auto;
  width: min(324px, calc(100vw - 40px)); padding: 18px 46px 18px 18px;
  border: 1px solid rgba(42,191,191,.3); border-radius: 12px;
  background: #0b1f3a; color: #d9e3ef; box-shadow: 0 12px 40px rgba(6,18,36,.2);
  font: 13px/1.6 'Inter', sans-serif; text-align: left;
}
.fm-privacy-banner p { margin: 0 0 12px; font: inherit; color: inherit; }
.fm-privacy-banner a { color: #81e3e3; text-decoration: underline; text-underline-offset: 3px; }
.fm-privacy-close { position: absolute; top: 4px; right: 4px; display: grid; place-items: center; width: 36px; height: 36px; padding: 0; border: 0; border-radius: 6px; background: transparent; color: #d9e3ef; font: 24px/1 sans-serif; cursor: pointer; }
.fm-privacy-close:hover { background: #183453; }
.fm-privacy-accept { display: inline-flex; align-items: center; justify-content: center; min-height: 40px; border: 0; border-radius: 6px; padding: 8px 16px; background: #2abfbf; color: #061224; font: 700 13px/1.3 'Inter', sans-serif; cursor: pointer; }
.video-facade iframe { display: block; width: 100%; height: 100%; aspect-ratio: 16 / 9; border: 0; }
.button-icon, [data-micro-icon] { display: inline-flex; }
html.lenis, html.lenis body { height: auto; }
.lenis.lenis-smooth { scroll-behavior: auto !important; }
.lenis.lenis-smooth [data-lenis-prevent] { overscroll-behavior: contain; }
.lenis.lenis-stopped { overflow: clip; }
@media (max-width: 767px) {
  .pad-page .fm-privacy-banner { position: relative; inset: auto; width: 100%; max-width: 440px; margin: 22px 0 0; box-shadow: none; }
}
@media (prefers-reduced-motion: reduce) {
  html, html.lenis { scroll-behavior: auto !important; }
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
  [data-science-signal] { visibility: hidden; }
}
