html{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body{margin:0;background:var(--surface-page);color:var(--text-primary);font:var(--type-body);text-wrap:pretty}
a{color:var(--text-link);text-decoration:none;transition:opacity var(--dur-fast) var(--ease-out)}
a:hover{opacity:.6}
/* keyboard focus — visible on every interactive element, never removed */
:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}
button:focus:not(:focus-visible),a:focus:not(:focus-visible){outline:none}
::selection{background:var(--near-black);color:var(--warm-off-white)}
img{display:block;max-width:100%}
/* type utilities consumers may use directly */
.dv-display{font-family:var(--font-display);font-weight:var(--display-weight);line-height:var(--display-leading);letter-spacing:var(--display-tracking);text-transform:uppercase;margin:0}
.dv-body{font:var(--type-body)}
.dv-mono{font-family:var(--font-mono);font-size:var(--mono-sm);letter-spacing:var(--mono-tracking);text-transform:uppercase;line-height:var(--mono-leading)}
.dv-rule{border:0;border-top:var(--hairline) solid var(--border-hairline);margin:0}
.dv-rule-strong{border:0;border-top:var(--hairline) solid var(--border-strong);margin:0}
