@font-face { font-family: "Poppins"; src: url("../fonts/Poppins-Regular.ttf") format("truetype"); font-style: normal; font-weight: 400; font-display: swap; }
@font-face { font-family: "Poppins"; src: url("../fonts/Poppins-Medium.ttf") format("truetype"); font-style: normal; font-weight: 500; font-display: swap; }
@font-face { font-family: "Poppins"; src: url("../fonts/Poppins-SemiBold.ttf") format("truetype"); font-style: normal; font-weight: 600; font-display: swap; }
@font-face { font-family: "Poppins"; src: url("../fonts/Poppins-Bold.ttf") format("truetype"); font-style: normal; font-weight: 700 800; font-display: swap; }
* { box-sizing: border-box; }
html { color-scheme: light; font-size: 16px; scroll-behavior: smooth; }
body { margin: 0; min-height: 100vh; background: var(--color-canvas); color: var(--color-text); font-family: var(--font-family-sans); font-size: var(--font-size-md); line-height: var(--line-height-normal); }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: var(--color-accent); }
.sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }
:focus-visible { outline: 0; box-shadow: var(--focus-ring); }
h1, h2, h3, p { margin-top: 0; }
h1 { margin-bottom: 0; font-size: var(--font-size-2xl); line-height: var(--line-height-tight); letter-spacing: -.04em; }
h2 { margin-bottom: 0; font-size: var(--font-size-lg); line-height: var(--line-height-tight); }

/* Krossbound interaction states change immediately. Hover/focus styling must not lag behind input. */
*, *::before, *::after { transition-duration: 0s !important; transition-delay: 0s !important; }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; transition-duration: 0s !important; transition-delay: 0s !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; } }
