*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--surface-page);color:var(--text-body);font-family:var(--font-text);font-size:var(--text-body);line-height:var(--lh-body);-webkit-font-smoothing:antialiased;text-wrap:pretty}
h1,h2,h3,h4{font-family:var(--font-display);font-weight:var(--fw-regular);color:var(--text-heading);letter-spacing:var(--ls-heading);line-height:var(--lh-heading);margin:0 0 var(--space-4)}
h1{font-size:var(--text-display-2);letter-spacing:var(--ls-display);line-height:var(--lh-tight)}
h2{font-size:var(--text-display-3)}h3{font-size:var(--text-title)}h4{font-size:var(--text-subtitle)}
p{margin:0 0 var(--space-4)}
a{color:var(--text-link);text-decoration:none;border-bottom:1px solid var(--gold-a24);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:var(--gold-400)}
strong{font-weight:var(--fw-semibold);color:var(--ink-800)}
small{font-size:var(--text-caption)}
.cv-eyebrow{font-family:var(--font-text);font-size:var(--text-micro);font-weight:var(--fw-semibold);letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--text-accent)}
:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}
