*,*::before,*::after{box-sizing:border-box}
body{margin:0;font-family:var(--font-sans);font-size:var(--body);line-height:var(--body-lh);color:var(--text-body);background:var(--surface-page);-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,h5{margin:0;color:var(--text-primary);text-wrap:pretty}
h1{font-family:var(--font-serif);font-weight:var(--fw-regular);font-size:var(--h1);line-height:var(--h1-lh);letter-spacing:var(--tracking-heading)}
h2{font-family:var(--font-serif);font-weight:var(--fw-regular);font-size:var(--h2);line-height:var(--h2-lh);letter-spacing:var(--tracking-heading)}
h3{font-size:var(--h3);line-height:var(--h3-lh);font-weight:var(--fw-semibold)}
h4{font-size:var(--h4);line-height:var(--h4-lh);font-weight:var(--fw-semibold)}
h5{font-size:var(--h5);line-height:var(--h5-lh);font-weight:var(--fw-semibold)}
p{margin:0;max-width:var(--measure-prose)}
a{color:var(--text-primary);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;transition:color var(--dur-hover) var(--ease)}
a:hover{color:var(--text-accent)}
:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}
code,kbd,samp{font-family:var(--font-mono);font-size:0.9em}
img{max-width:100%;display:block}
table{border-collapse:collapse;width:100%}