*,*::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(--fs-body);line-height:var(--lh-body);-webkit-font-smoothing:antialiased;text-wrap:pretty}
h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:var(--fw-bold);color:var(--text-heading);margin:0 0 var(--space-4);letter-spacing:var(--ls-heading);text-wrap:balance}
h1{font-size:var(--fs-h1);line-height:var(--lh-h1)}
h2{font-size:var(--fs-h2);line-height:var(--lh-h2)}
h3{font-size:var(--fs-h3);line-height:var(--lh-h3)}
h4{font-size:var(--fs-h4);line-height:var(--lh-h4)}
p{margin:0 0 var(--space-4);max-width:var(--measure-prose)}
a{color:var(--text-link);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;transition:color var(--dur-fast) var(--ease-standard)}
a:hover{color:var(--text-link-hover)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}
strong{font-weight:var(--fw-bold)}
hr{border:0;border-top:var(--border-w) solid var(--border-default);margin:var(--space-6) 0}
::selection{background:var(--green-200);color:var(--ink-900)}

/* Brand utilities */
.nfa-eyebrow{font-size:var(--fs-eyebrow);line-height:var(--lh-eyebrow);font-weight:var(--fw-bold);letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--nfa-copper)}
.nfa-arc{height:14px;border:0;border-top:var(--rule-w-accent) solid var(--rule-accent);border-radius:50%/14px 14px 0 0;margin:var(--space-5) 0}
.nfa-on-green{background:var(--surface-inverse);color:var(--text-on-inverse)}
.nfa-on-green h1,.nfa-on-green h2,.nfa-on-green h3,.nfa-on-green h4{color:var(--text-on-inverse)}
.nfa-container{max-width:var(--container-max);margin:0 auto;padding:0 var(--gutter)}
