*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
body{font-family:var(--font);color:var(--text);background:var(--bg);line-height:1.6;font-size:16px;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
ul{list-style:none}
button{font:inherit;cursor:pointer;border:none;background:none;color:inherit}
input,textarea,select{font:inherit;color:inherit}
h1,h2,h3,h4{line-height:1.15;letter-spacing:-0.02em;font-weight:700}
h1{font-size:clamp(2.25rem,4.5vw,3.75rem)}
h2{font-size:clamp(1.75rem,3vw,2.5rem)}
h3{font-size:1.25rem}
.container{max-width:var(--container);margin-inline:auto;padding-inline:var(--s3)}
@media(min-width:768px){.container{padding-inline:var(--s5)}}
.section{padding-block:var(--s6)}
@media(min-width:1024px){.section{padding-block:var(--s7)}}
.section-soft{background:var(--bg-soft)}
.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--green-deep);background:var(--green-pale);padding:6px 14px;border-radius:999px}
.section-head{max-width:640px;margin-bottom:var(--s5)}
.section-head p{color:var(--text-muted);margin-top:var(--s2);font-size:1.05rem}
.section-head.center{margin-inline:auto;text-align:center}
.muted{color:var(--text-muted)}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:4px}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.reveal.in{opacity:1;transform:none}
.grid{display:grid;gap:var(--s4)}
@media(min-width:640px){.grid-2{grid-template-columns:repeat(2,1fr)}}
@media(min-width:768px){.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.grid-4{grid-template-columns:repeat(4,1fr)}}
