.skip-link { position: absolute; top: -5rem; left: 1rem; z-index: 100; padding: 0.5rem 1rem; background: #fff; color: #111; }
.skip-link:focus { top: 1rem; }
.topic-section { padding: 3rem 0; scroll-margin-top: 6rem; }
.topic-section__inner { max-width: var(--reading-width); margin-inline: auto; }
.topic-section h2 { margin-top: 0; }
.topic-section h3 { margin-top: 2rem; }
.section-image { max-width: 100%; margin: 2rem auto; }
.section-image img { width: 100%; height: auto; }
.section-image figcaption { display: block; text-align: center; }
.styled-list ul { padding-left: 1.5rem; }
.styled-list li { padding: 0.5rem 0; }
.styled-list--benefits li::marker { content: "\2713  "; color: var(--color-primary); }
.styled-list--goals li::marker { color: var(--color-primary); }
.faq details { margin-bottom: 0.75rem; border: 1px solid var(--color-primary); border-radius: 0.25rem; }
.faq summary { padding: 1rem; color: var(--color-primary); cursor: pointer; font-weight: bold; }
.faq summary:focus-visible { outline: 3px solid var(--color-accent); outline-offset: 3px; }
.faq details[open] summary, .faq summary:hover { background: var(--color-primary); color: var(--spv-inverse, #fff); }
.faq .rich-text { padding: 1rem; }
.faq .rich-text > :last-child { margin-bottom: 0; }
.page-support { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 20rem), 1fr)); gap: 3rem; padding-block: 3rem; }
.page-funding img { max-height: 12rem; width: auto; margin-bottom: 1.5rem; }
#contact { scroll-margin-top: 6rem; }
