*, *::before, *::after { box-sizing: border-box; }
html { color-scheme: dark; scroll-behavior: smooth; overflow-x: hidden; }
body { margin: 0; min-width: 320px; overflow-x: hidden; background: var(--color-background); color: var(--color-text); font-family: var(--font-body); font-size: var(--text-body); line-height: var(--leading-body); text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; }
body::before { content: ""; position: fixed; inset: 0; pointer-events: none; z-index: 0; background: var(--color-background); }
body::after { content: ""; position: fixed; inset: 0; pointer-events: none; z-index: 1; opacity: .08; background-color: var(--color-surface); }
img, svg { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
a:hover { color: var(--color-primary-hover); }
button, input, textarea, select { font: inherit; color: inherit; }
button { cursor: pointer; }
button:disabled, input:disabled, textarea:disabled, select:disabled { cursor: not-allowed; opacity: .55; }
:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 4px; border-radius: var(--radius-sm); }
main { position: relative; z-index: 2; overflow: hidden; }
section { position: relative; padding: var(--space-16) 0; }
h1, h2, h3, h4, h5, p { margin: 0; }
h1, h2, h3 { font-family: var(--font-display); font-weight: var(--weight-light); letter-spacing: -.04em; overflow-wrap: break-word; }
h1 { font-size: clamp(2.65rem, 8vw, 5.6rem); line-height: var(--leading-display); }
h2 { font-size: clamp(2rem, 5vw, var(--text-h2)); line-height: var(--leading-heading); }
h3 { font-size: var(--text-h3); line-height: var(--leading-heading); }
h4 { font-size: var(--text-h4); line-height: var(--leading-heading); }
p { color: var(--color-text-muted); }
ul, ol { margin: 0; padding-left: var(--space-6); color: var(--color-text-muted); }
table { width: 100%; border-collapse: collapse; }
th, td { padding: var(--space-4); border-bottom: 1px solid var(--color-border); text-align: left; vertical-align: top; }
th { color: var(--color-text); font-family: var(--font-ui); font-size: var(--text-caption); text-transform: uppercase; letter-spacing: .1em; }
.skip-link { position: fixed; top: var(--space-4); left: var(--space-4); z-index: 999; transform: translateY(-140%); background: var(--color-primary); color: var(--color-background); padding: var(--space-3) var(--space-4); border-radius: var(--radius-pill); }
.skip-link:focus { transform: translateY(0); }
@media (min-width: 768px) { section { padding: var(--space-20) 0; } }
