*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--surface-page);color:var(--text-body);font-family:var(--font-body);font-size:var(--text-body);line-height:var(--leading-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
h1,h2,h3,h4{font-family:var(--font-display);color:var(--text-heading);line-height:var(--leading-heading);letter-spacing:var(--tracking-heading);margin:0 0 var(--space-4);text-wrap:balance}
h1{font-size:var(--text-h1);font-weight:var(--weight-black)}
h2{font-size:var(--text-h2);font-weight:var(--weight-bold)}
h3{font-size:var(--text-h3);font-weight:var(--weight-bold)}
h4{font-size:var(--text-h4);font-weight:var(--weight-semibold)}
p{margin:0 0 var(--space-4);max-width:var(--measure-body);text-wrap:pretty}
a{color:var(--text-link);text-decoration-color:color-mix(in srgb,var(--text-link) 35%,transparent);text-underline-offset:3px;transition:var(--transition-control)}
a:hover{color:var(--text-link-hover);text-decoration-color:currentColor}
strong{font-weight:var(--weight-semibold);color:var(--text-heading)}
img{max-width:100%;display:block}
:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px;border-radius:var(--radius-sm)}
::selection{background:var(--action-100);color:var(--brand-900)}
