*, *::before, *::after { box-sizing: border-box; }
html { background: var(--ink-1000); scroll-behavior: smooth; scroll-padding-top: calc(var(--header-height) + 16px); }
body { margin: 0; min-width: 320px; overflow-x: clip; background: var(--ink-1000); color: var(--text); font-family: var(--font-sans); font-size: var(--text-base); line-height: 1.6; letter-spacing: 0; text-rendering: optimizeLegibility; }
main, section, article, aside, nav, header, footer, div { min-width: 0; }
img, svg, video, canvas { display: block; max-width: 100%; }
h1, h2, h3, p, figure, blockquote, dl, dd, fieldset { margin-top: 0; }
h1, h2, h3 { color: var(--text); font-weight: 650; letter-spacing: 0; text-wrap: balance; }
h1 { font-size: var(--text-4xl); line-height: 1.02; }
h2 { font-size: var(--text-3xl); line-height: 1.1; }
h3 { font-size: var(--text-xl); line-height: 1.25; }
p, li, dd, figcaption, small { color: var(--text-soft); }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; letter-spacing: 0; }
button, select { touch-action: manipulation; }
button, a, input, select, textarea { overflow-wrap: anywhere; }
button { color: inherit; }
:focus-visible { outline: 2px solid var(--yellow); outline-offset: 3px; }
::selection { background: var(--accent); color: var(--accent-ink); }
[hidden] { display: none !important; }
.skip-link { position: fixed; z-index: 200; top: 12px; left: 12px; padding: 10px 14px; transform: translateY(-180%); background: var(--text); color: var(--ink-1000); }
.skip-link:focus { transform: translateY(0); }
.eyebrow { display: block; margin-bottom: 14px; color: var(--accent); font-family: var(--font-mono); font-size: var(--text-xs); font-weight: 700; text-transform: uppercase; }
button svg { width: 20px; height: 20px; pointer-events: none; }
label { color: var(--text-soft); font-size: var(--text-sm); font-weight: 600; }
input, select, textarea { width: 100%; border: 1px solid var(--line); border-radius: var(--radius-sm); background: rgb(255 255 255 / 0.05); color: var(--text); }
input, select { min-height: 46px; padding: 0 14px; }
textarea { min-height: 120px; padding: 14px; resize: vertical; }
fieldset { padding: 0; border: 0; }
legend { margin-bottom: 10px; color: var(--text-muted); font-size: var(--text-xs); text-transform: uppercase; }
@media (forced-colors: active) { :focus-visible { outline: 3px solid Highlight; } button, input, select, textarea, [role="dialog"], [data-media-id] { border: 1px solid CanvasText; } }
