*,*::before,*::after{box-sizing:border-box}
body{margin:0;font-family:var(--font-core);font-size:var(--fs-body);line-height:var(--lh-normal);color:var(--text-body);background:var(--surface-page);-webkit-font-smoothing:antialiased;text-wrap:pretty}
h1,h2,h3,h4{font-family:var(--font-core);color:var(--text-heading);margin:0;font-weight:var(--fw-semibold);letter-spacing:var(--ls-heading);line-height:var(--lh-snug)}
h1{font-size:var(--fs-h1)}h2{font-size:var(--fs-h2)}h3{font-size:var(--fs-h3)}h4{font-size:var(--fs-h4)}
p{margin:0}
a{color:var(--text-link);text-decoration:none;border-bottom:1px solid var(--steel-200);transition:var(--transition-ui)}
a:hover{color:var(--text-link-hover);border-bottom-color:var(--steel-700)}
:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}
code,kbd{font-family:var(--font-mono);font-size:.92em;letter-spacing:var(--ls-mono)}
.ct-eyebrow{font-family:var(--font-mono);font-size:var(--fs-micro);letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--text-accent)}
.ct-wordmark{font-family:var(--font-core);font-weight:var(--fw-semibold);letter-spacing:-.02em;color:var(--text-heading)}
.ct-wordmark em{font-style:normal;font-weight:var(--fw-light);color:var(--text-accent)}
