*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--color-ink); }
body { margin: 0; overflow-x: hidden; background: var(--color-paper); color: var(--color-ink); font-family: var(--font-sans); font-size: var(--text-base); line-height: var(--leading-body); text-rendering: optimizeLegibility; }
body.menu-open { overflow: hidden; }
img { display: block; max-width: var(--size-full); height: auto; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { color: inherit; font: inherit; }
button { border: 0; background: transparent; cursor: pointer; }
h1, h2, h3, p, figure, dl, dd { margin: 0; }
h1, h2, h3 { overflow-wrap: break-word; -webkit-hyphens: none; hyphens: none; text-wrap: balance; font-weight: var(--weight-bold); letter-spacing: var(--tracking-tight); }
h2 { font-size: var(--text-section); line-height: var(--leading-title); }
h3 { font-size: var(--text-xl); line-height: var(--leading-title); }
ul, ol { margin: 0; padding: 0; }
main [id] { scroll-margin-top: var(--header-height); }
::selection { background: var(--color-signal); color: var(--color-ink); }
:focus-visible { outline: var(--border-strong) solid var(--color-signal); outline-offset: var(--space-1); }
.shell { width: min(var(--size-full), var(--shell)); margin-inline: auto; padding-inline: var(--gutter); }
.section { position: relative; padding-block: var(--section-space); }
.section-dark { background: var(--color-ink); color: var(--color-paper); }
.section-intro { max-width: var(--content-narrow); }
.section-intro.wide { max-width: var(--content-wide); }
.section-intro h2 { margin-top: var(--space-4); }
.section-intro > h2 + p { max-width: var(--copy-width); margin-top: var(--space-6); color: color-mix(in srgb, currentColor var(--opacity-body), transparent); font-size: var(--text-md); }
.section-label { display: flex; align-items: center; gap: var(--label-rule-gap); color: var(--color-signal-deep); font-size: var(--text-xs); font-weight: var(--weight-bold); letter-spacing: var(--tracking-label); text-transform: uppercase; }
.section-label::before { width: var(--label-rule-width); height: var(--border-strong); background: var(--color-signal); content: ""; }
.section-dark .section-label { color: var(--color-signal); }
.skip-link { position: fixed; top: var(--space-4); left: var(--space-4); z-index: var(--z-skip); padding: var(--space-3) var(--space-4); transform: translateY(calc(var(--skip-hidden-offset) - var(--space-8))); background: var(--color-signal); color: var(--color-ink); border-radius: var(--radius-sm); }
.skip-link:focus { transform: translateY(0); }
.fineprint, .network-note, .scope-note { color: color-mix(in srgb, currentColor var(--opacity-note), transparent); font-size: var(--text-sm); }
