/* Local fonts and document defaults. No external resources or build step. */
@font-face {
  font-family: "Plus Jakarta Sans";
  src: url("../fonts/PlusJakartaSans-Regular.woff2") format("woff2");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: "Plus Jakarta Sans";
  src: url("../fonts/PlusJakartaSans-Medium.woff2") format("woff2");
  font-style: normal;
  font-weight: 500;
  font-display: swap;
}
@font-face {
  font-family: "Plus Jakarta Sans";
  src: url("../fonts/PlusJakartaSans-SemiBold.woff2") format("woff2");
  font-style: normal;
  font-weight: 600;
  font-display: swap;
}
html { color-scheme: light; }
body { margin: 0; background: #fff; color: #23282f; font-family: "Plus Jakarta Sans", Arial, sans-serif; }
[hidden] { display: none !important; }
a, button, summary { -webkit-tap-highlight-color: #1e325226; }
button:not(:disabled), summary { cursor: pointer; }
.skip-link { position: absolute; top: 0; left: 16px; z-index: 10; transform: translateY(-150%); padding: 12px 20px; background: #1e3252; color: #fff; }
.skip-link:focus { transform: translateY(0); }
.no-script-note { max-width: 70ch; margin: 24px auto; padding: 16px; line-height: 1.7; }

/* Shared accessibility and small-screen safeguards. */
.sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip-path: inset(50%); white-space: nowrap; border: 0 !important; }
:focus-visible { outline: 3px solid #1e3252; outline-offset: 4px; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}
