*, *::before, *::after { box-sizing: border-box; }
body { margin: 0; background: var(--color-bg); color: var(--color-text-primary); font: var(--font-size-sm)/1.6 var(--font-family); -webkit-font-smoothing: antialiased; }
h1, h2, h3, p { margin: 0; }
h1, h2, h3 { line-height: 1.25; letter-spacing: -.035em; }
h1 { font-size: var(--font-size-2xl); font-weight: 650; }
h2 { font-size: var(--font-size-lg); font-weight: 600; }
a { color: var(--color-action); text-decoration: none; }
a:hover { text-decoration: underline; }
button, input, select, textarea { font: inherit; }
button, summary { cursor: pointer; }
button { color: inherit; }
button:disabled { cursor: not-allowed; }
:focus-visible { outline: 2px solid var(--color-action); outline-offset: 3px; box-shadow: var(--focus-ring); }
::selection { background: var(--color-info-border); color: var(--color-text-primary); }
[hidden] { display: none; }
.icon { flex-shrink: 0; vertical-align: middle; }
.skip-link { position: fixed; top: var(--space-2); left: var(--space-2); transform: translateY(-160%); z-index: 100; padding: var(--space-3); background: var(--color-surface); border: 1px solid var(--color-border); }
.skip-link:focus { transform: translateY(0); }
.brand { display: inline-flex; align-items: center; gap: var(--space-3); font-size: 1.4rem; font-weight: 700; letter-spacing: -.06em; }
.brand-word-light { font-weight: 450; }
.brand-mark { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; border: 1px solid currentColor; border-radius: var(--radius-md); font-size: 1.05rem; font-weight: 750; letter-spacing: -.17em; padding-right: 3px; }
.brand-mark span { color: var(--color-highlight); }
.eyebrow { font-size: .6875rem; font-weight: 650; letter-spacing: .16em; color: var(--color-text-secondary); }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto; animation-duration: .01ms; transition-duration: .01ms; } }
