*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--surface-page);color:var(--text-body);font-family:var(--font-body);font-size:var(--text-md);line-height:var(--leading-body);-webkit-font-smoothing:antialiased;text-wrap:pretty}
h1,h2,h3,h4{font-family:var(--font-display);color:var(--text-strong);letter-spacing:var(--tracking-heading);text-transform:uppercase;margin:0 0 var(--space-4)}
h1{font-size:var(--heading-1);font-weight:var(--weight-bold);line-height:var(--leading-heading)}
h2{font-size:var(--heading-2);font-weight:var(--weight-semibold);line-height:var(--leading-heading)}
h3{font-family:var(--font-body);font-size:var(--heading-3);font-weight:var(--weight-semibold);text-transform:none;letter-spacing:0}
p{margin:0 0 var(--space-4);max-width:var(--measure)}
strong,b{font-weight:var(--weight-bold);color:var(--text-strong)}
a{color:var(--olive-700);text-decoration:none;border-bottom:1px solid var(--olive-300);transition:color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}
a:hover{color:var(--forest-700);border-bottom-color:var(--sm-gold)}
a:active{color:var(--forest-900)}
a:focus-visible{outline:none;box-shadow:var(--ring-focus);border-radius:var(--radius-xs)}
hr{border:none;border-top:var(--rule);margin:var(--space-8) 0}
img{max-width:100%;display:block}
::selection{background:var(--sm-amber);color:var(--forest-900)}
:focus-visible{outline:none;box-shadow:var(--ring-focus)}
