*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); font: 400 var(--type-body)/1.65 Poppins, sans-serif; }
body.menu-open { overflow: hidden; }
.entry-content :is(strong,b), .legacy-content :is(strong,b) { font-family: inherit !important; }
img, picture, video, iframe { display: block; max-width: 100%; }
img { height: auto; }
figure { margin: 0; }
figcaption { margin-top: 8px; color: var(--muted); font-size: 0.625rem; line-height: 1.5; }
.wp-caption { max-width: 100%; margin-bottom: 24px; }
.wp-caption img { max-width: 100%; height: auto; }
.wp-caption-text { margin: 8px 0 0; color: var(--muted); font-size: 0.625rem; line-height: 1.5; }
.alignleft { float: left; margin: 0 24px 24px 0; }
.alignright { float: right; margin: 0 0 24px 24px; }
.aligncenter { margin-inline: auto; }
.aligncenter img { margin-inline: auto; }
@media (max-width: 767px) {
  .alignleft, .alignright { float: none; margin: 0 auto 24px; }
}
h1, h2, h3, p, ul, ol { margin-top: 0; }
h1, h2, h3 { line-height: 1.15; }
h1, h2 { font-weight: 800; text-transform: uppercase; }
h1 { font-size: var(--type-page); letter-spacing: -.035em; }
h2 { margin-bottom: 24px; font-size: var(--type-section); letter-spacing: -.025em; }
h3 { font-size: var(--type-card); font-weight: 700; }
p { margin-bottom: 24px; }
a { color: inherit; text-decoration: none; text-underline-offset: .2em; }
a:hover { color: var(--green-dark); text-decoration: underline; text-decoration-color: var(--green); }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
input, select, textarea { width: 100%; min-width: 0; border: 1px solid var(--muted); border-radius: 0; padding: 12px 16px; background: var(--paper); color: var(--ink); }
input, select { min-height: 52px; }
textarea { min-height: 160px; }
label { display: block; margin-bottom: 8px; font-size: 0.8125rem; font-weight: 600; }
input::placeholder { color: var(--muted); opacity: 1; }
:focus-visible { outline: 3px solid var(--green-dark); outline-offset: 4px; }
.site-footer :focus-visible, .utility-bar :focus-visible, .cta-band :focus-visible { outline-color: var(--white); box-shadow: 0 0 0 2px var(--ink); }
[hidden] { display: none !important; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.skip-link { position: fixed; top: 8px; left: 24px; z-index: 100; padding: 16px 24px; background: var(--ink); color: var(--white); transform: translateY(-200%); }
.skip-link:focus { transform: translateY(0); }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; } }
