/* GovernForward base styles are scoped to .gf for CMS-safe integration. */
.gf, .gf *, .gf *::before, .gf *::after { box-sizing: border-box; }
.gf * { margin: 0; padding: 0; }
html.gf-document { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: 6rem; }
body.gf { margin: 0; min-height: 100dvh; -webkit-font-smoothing: antialiased; }
.gf { font-family: var(--gf-font-body); font-size: var(--gf-text-base); line-height: 1.65; color: var(--gf-text); background: var(--gf-bg); }
.gf img, .gf picture, .gf video, .gf canvas, .gf svg { display: block; max-width: 100%; height: auto; }
.gf img { background: var(--gf-surface); }
.gf h1, .gf h2, .gf h3 { font-family: var(--gf-font-display); font-weight: 600; line-height: 1.15; text-wrap: balance; }
.gf h1 { font-size: var(--gf-text-hero); letter-spacing: -.035em; }
.gf h2 { font-size: var(--gf-text-xl); letter-spacing: -.025em; }
.gf h3 { font-size: var(--gf-text-lg); letter-spacing: -.012em; }
.gf p, .gf li { text-wrap: pretty; }
.gf p { max-width: 70ch; }
.gf ul[role=list], .gf ol[role=list] { list-style: none; }
.gf a { color: var(--gf-accent); text-decoration-thickness: 1px; text-underline-offset: .2em; }
.gf a:hover { color: var(--gf-accent-hover); }
.gf button, .gf input, .gf textarea, .gf select { font: inherit; color: inherit; }
.gf button { cursor: pointer; border: 0; background: none; }
.gf a, .gf button, .gf input, .gf textarea, .gf summary { transition: opacity var(--gf-transition); }
.gf a:active, .gf button:active, .gf summary:active { opacity: .8; }
.gf :focus-visible { outline: 3px solid var(--gf-focus); outline-offset: 4px; }
.gf [hidden] { display: none !important; }
.gf table { border-collapse: collapse; width: 100%; }
.gf ::selection { color: var(--gf-text); background: var(--gf-accent-soft); }
.gf .gf-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
@media (prefers-reduced-motion: reduce) { html.gf-document { scroll-behavior: auto; } .gf *, .gf *::before, .gf *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; } }
