/* Functional safeguards around the supplied template; its visual declarations stay intact. */
html { color-scheme: dark; scroll-padding-top: 90px; }
html[data-theme="light"] { color-scheme: light; }
button, summary, [role="button"] { cursor: pointer; }
a:focus-visible, button:focus-visible, summary:focus-visible, [role="button"]:focus-visible { outline: 2px solid #8b76ec !important; outline-offset: 4px; }
[hidden] { display: none !important; }
.skip-link { position: fixed; z-index: 100; top: 8px; left: 8px; padding: 10px 16px; background: #6355de; color: #fff; transform: translateY(-150%); }
.skip-link:focus { transform: none; }
.reveal-up { opacity: 1; transform: none; }
.motion-ready:not(.motion-paused) .reveal-up:not(.is-visible) { opacity: 0; transform: translateY(24px); }
.modal-open { overflow: hidden; }
#videoModal > div { max-height: calc(100dvh - 32px); overflow-y: auto; }
#theme-toggle, #mobileMenuBtn, [data-close-demo] { min-width: 44px; min-height: 44px; }
#theme-toggle { flex-shrink: 0; }
.motion-paused *, .motion-paused *::before, .motion-paused *::after,
.page-hidden *, .page-hidden *::before, .page-hidden *::after,
.motion-offscreen *, .motion-offscreen *::before, .motion-offscreen *::after { animation-play-state: paused !important; }
.motion-paused { scroll-behavior: auto; }
.motion-paused .odometer-strip { transition: none !important; }
@media (prefers-reduced-motion: reduce) {
  html:not(.motion-enabled) { scroll-behavior: auto; }
  html:not(.motion-enabled) *, html:not(.motion-enabled) *::before, html:not(.motion-enabled) *::after { animation: none !important; transition: none !important; }
}
