/* Runtime behavior and accessibility. Geometry lives in layout.css. */
html { scroll-behavior: smooth; }
body { font-size: 12px; padding-top: 80px; }
#header { position: fixed; top: 0; left: 0; z-index: 90000050; width: 100%; }
section { scroll-margin-top: 80px; }
[role="button"], [data-submit-form] { cursor: pointer; }
a { color: inherit; }
a:focus-visible, [role="button"]:focus-visible, button:focus-visible, input:focus-visible {
  outline: 3px solid #122a54; outline-offset: 3px;
}
#dialogs .dl-container > .dl-element.is-open {
  display: block; top: 50%; left: 50%;
  transform: translate(-50%, -50%) scale(var(--dialog-scale, 1));
  transform-origin: center;
}
.dialog-close {
  position: absolute; right: 8px; top: 8px; z-index: 10;
  width: 32px; height: 32px; border-radius: 50%;
  background: #fff; color: #222; font: 26px/32px Arial, sans-serif;
  box-shadow: 0 1px 8px #0003; cursor: pointer;
}
#backdrop-popup.is-open { display: block; background: rgba(0,0,0,.5); }
body.dialog-open { overflow: hidden; }
.form-notice {
  position: fixed; left: 50%; bottom: 24px; transform: translateX(-50%);
  width: min(440px, calc(100% - 32px)); z-index: 90000100;
  padding: 18px 40px 18px 18px; border-radius: 8px;
  background: #fff; color: #14253d; border-left: 5px solid #3f9fd8;
  box-shadow: 0 4px 24px #0004; font: 14px/1.6 Montserrat, sans-serif;
}
.form-notice[hidden] { display: none; }
.form-notice button { position: absolute; right: 8px; top: 8px; font-size: 22px; background: transparent; cursor: pointer; }
[aria-busy="true"] [data-submit-form] { opacity: .6; pointer-events: none; }
.dl-carousel { touch-action: pan-y; }
.dl-carousel-arrow { border: 0; background-color: transparent; border-radius: 0; }
[data-animation="fadeInUp"].reveal { animation: fadeInUp .6s both; }
.dl-animation > .dl-image, .dl-animation > .dl-button, .dl-animation > .dl-box { will-change: transform; }
@media (max-width: 767px) {
  body { padding-top: 116px; }
  #header { width: 420px; }
  section { scroll-margin-top: 116px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
}
