:root {
  color-scheme: light;
  --focus: #0b72e7;
  --page-width: 1200px;
  --side: clamp(1rem, 4vw, 4rem);
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; min-width: 0; overflow-x: hidden; }
body, button, input, textarea, select { font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
img, svg { display: block; max-width: 100%; }
a { color: inherit; text-decoration-thickness: .08em; text-underline-offset: .18em; }
button, a { -webkit-tap-highlight-color: transparent; }
button { font: inherit; }
:focus-visible { outline: 3px solid var(--focus); outline-offset: 4px; }
.skip-link { position: fixed; z-index: 9999; left: 1rem; top: 1rem; padding: .75rem 1rem; background: #fff; color: #111; border: 2px solid currentColor; transform: translateY(-180%); }
.skip-link:focus { transform: translateY(0); }
.nav-toggle { display: none; min-height: 44px; min-width: 48px; padding: .6rem .85rem; border: 1px solid currentColor; background: transparent; color: inherit; cursor: pointer; }
.demo-bar { display: flex; align-items: center; justify-content: center; gap: 2rem; padding: .65rem var(--side); background: #f4d889; color: #231e14; font: 600 .79rem/1.4 ui-sans-serif, system-ui, sans-serif; }
.demo-bar p { margin: 0; }
.demo-bar a { font-weight: 800; white-space: nowrap; }
.demo-footer { display: flex; align-items: center; justify-content: space-between; gap: 2rem; padding: 2.2rem var(--side); background: #111; color: #f7f4ed; }
.demo-footer p { display: flex; flex-direction: column; gap: .25rem; margin: 0; }
.demo-footer p span { opacity: .65; font-size: .85rem; }
.demo-footer nav { display: flex; flex-wrap: wrap; gap: 1.5rem; }
.demo-footer a { min-height: 44px; display: inline-flex; align-items: center; }
address { font-style: normal; }

@media (max-width: 760px) {
  .nav-toggle { display: inline-flex; align-items: center; justify-content: center; }
  [data-nav-menu] { display: none !important; }
  [data-nav-menu][data-open="true"] { display: flex !important; }
  .demo-bar { align-items: flex-start; flex-direction: column; gap: .4rem; }
  .demo-footer { align-items: flex-start; flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
/* Local-only build identification; never a production approval. */
.local-build-notice { padding: .45rem 1rem; background: #e8ece5; color: #173b36; font: 600 .85rem/1.5 system-ui,sans-serif; text-align: center; }
.demo-provider-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 1rem; padding: .8rem; }
.demo-provider-links a { display: inline-flex; align-items: center; min-height: 44px; }
