/* Minimal element defaults so any surface picks up the brand without extra work. */
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--surface-page);color:var(--text-body);font-family:var(--font-core);font-size:var(--size-body);line-height:var(--lh-body);letter-spacing:var(--track-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
h1,h2,h3,h4{font-family:var(--font-display);color:var(--text-strong);margin:0;letter-spacing:var(--track-title);line-height:var(--lh-heading);font-weight:var(--weight-bold);text-wrap:balance}
h1{font-size:var(--size-title-1);letter-spacing:var(--track-display);line-height:var(--lh-snug)}
h2{font-size:var(--size-title-2)}
h3{font-size:var(--size-title-3)}
h4{font-size:var(--size-heading)}
p{margin:0;text-wrap:pretty}
a{color:var(--text-link);text-decoration:none;border-bottom:1px solid rgba(37,34,77,.32);transition:color var(--dur-fast) var(--ease-standard),border-color var(--dur-fast) var(--ease-standard)}
a:hover{color:var(--text-link-hover);border-bottom-color:currentColor}
small{font-size:var(--size-body-sm)}
code,kbd{font-family:var(--font-technical);font-size:.95em}
::selection{background:var(--violet-200);color:var(--ink-900)}
:focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:var(--radius-xs)}
.boa-label{font-family:var(--font-technical);font-size:var(--size-label);letter-spacing:var(--track-label);text-transform:uppercase;color:var(--text-muted)}
.boa-numeric{font-family:var(--font-numeric);font-variant-numeric:tabular-nums;letter-spacing:var(--track-numeric)}
