*, *::before, *::after { box-sizing: border-box; }
html { width: 100%; max-width: 100%; overflow-x: hidden; }
body { width: 100%; max-width: 100%; overflow-x: hidden; }
img { max-width: 100%; }
.skip-link {
  position: fixed; left: 1rem; top: 1rem; z-index: 9999; padding: .75rem 1rem;
  background: #fff; color: #000; font: 700 14px/1.2 Inter, sans-serif;
  transform: translateY(-180%); transition: transform .15s ease;
}
.skip-link:focus { transform: translateY(0); }
:focus-visible { outline: 3px solid #4d89ff; outline-offset: 3px; }
[aria-disabled="true"] { cursor: not-allowed; }
.form-status { min-height: 1.5rem; margin-top: .75rem; text-align: center; font: 500 14px/1.5 Inter, sans-serif; }
@media (max-width: 767px) {
  .text-display-lg { font-size: 2.35rem !important; line-height: 1.08 !important; }
  .text-headline-lg { font-size: 2rem !important; line-height: 1.18 !important; }
  .text-headline-md { font-size: 1.6rem !important; }
  .py-section-padding { padding-top: 4.5rem !important; padding-bottom: 4.5rem !important; }
  .px-margin-x { padding-left: 1.25rem !important; padding-right: 1.25rem !important; }
  section, header, footer { max-width: 100vw; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}
