*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--font-sans);font-weight:400;font-size:var(--type-body-size);line-height:var(--type-body-lh);color:var(--text-body);background:var(--surface-canvas);-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:var(--font-sans);font-weight:500;color:var(--text-heading);margin:0;text-wrap:balance}
h1{font-size:var(--type-h1-size);line-height:1;letter-spacing:var(--type-h1-track)}
h2{font-size:var(--type-h2-size);line-height:1;letter-spacing:var(--type-h2-track)}
h3{font-size:var(--type-h3-size);line-height:1.2;letter-spacing:var(--type-h3-track)}
p{margin:0;text-wrap:pretty}
b,strong{font-weight:500}
a{color:var(--text-link);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;transition:color var(--dur-fast) var(--ease-out)}
a:hover{color:var(--text-link-hover)}
code,kbd,pre,samp{font-family:var(--font-mono)}
:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}
::selection{background:var(--green-200);color:var(--ink-900)}
.u-eyebrow{font-size:var(--type-label-size);letter-spacing:var(--type-label-track);text-transform:uppercase;font-weight:500;color:var(--green-700)}
.u-reveal{opacity:0;transform:translateY(var(--reveal-distance));transition:opacity var(--dur-slow) var(--ease-out),transform var(--dur-slow) var(--ease-out)}
.u-reveal.is-in{opacity:1;transform:none}
