* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--color-text); background: var(--color-surface); font-family: var(--font-body); font-size: 1rem; line-height: 1.65; -webkit-font-smoothing: antialiased; }
img { display: block; max-width: 100%; }
button, input, select, textarea { color: inherit; font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; }
h1, h2, h3, h4, p { margin-top: 0; }
h1, h2, h3, h4 { color: inherit; font-family: var(--font-body); font-weight: 650; letter-spacing: -.035em; text-wrap: balance; }
h1 { font-size: clamp(2.65rem, 6vw, 5.6rem); line-height: 1; }
h2 { font-size: clamp(2rem, 4vw, 3.45rem); line-height: 1.08; }
h3 { font-size: clamp(1.15rem, 2vw, 1.5rem); line-height: 1.22; }
h4 { line-height: 1.3; }
p { color: var(--color-text-muted); }
[id] { scroll-margin-top: 7rem; }
.kicker { margin-bottom: .75rem; color: var(--color-action-strong); font-size: .75rem; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.kicker--light { color: rgb(255 255 255 / 78%); }
.editorial-accent { font-family: var(--font-display); font-style: italic; font-weight: 500; }
.fine-print { font-size: .78rem; line-height: 1.5; }
.reference-label { display: inline-flex; width: fit-content; align-items: center; padding: .3rem .6rem; border: 1px solid var(--color-border); border-radius: var(--radius-control); color: var(--color-action-strong); background: var(--color-surface-soft); font-size: .7rem; font-weight: 750; }
.reference-label--dark { border-color: rgb(255 255 255 / 30%); color: white; background: rgb(3 19 24 / 48%); }
.text-link { display: inline-flex; min-height: 44px; align-items: center; gap: .65rem; color: var(--color-action-strong); font-weight: 700; text-underline-offset: .25em; }
.text-link:hover { text-decoration: underline; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
