/* Uses the existing site's typography, colours, header, hero, sections and footer. */
@font-face { font-family: 'Archivo Black'; font-style: normal; font-weight: 400; font-display: swap; src: url('/assets/fonts/ia-v002/archivo-black.ttf') format('truetype'); }
@font-face { font-family: 'Libre Baskerville'; font-style: normal; font-weight: 400; font-display: swap; src: url('/assets/fonts/ia-v002/libre-baskerville.ttf') format('truetype'); }
@font-face { font-family: 'Libre Baskerville'; font-style: normal; font-weight: 700; font-display: swap; src: url('/assets/fonts/ia-v002/libre-baskerville-bold.ttf') format('truetype'); }
@font-face { font-family: 'Libre Baskerville'; font-style: italic; font-weight: 400; font-display: swap; src: url('/assets/fonts/ia-v002/libre-baskerville-italic.ttf') format('truetype'); }
.philanthropy-page .campaign-hero { height: auto; min-height: 75vh; padding: 2rem 0; }
.philanthropy-page .campaign-hero .hero-overlay { margin: 3rem 1rem; }
.philanthropy-page .campaign-hero .intro-text { margin-bottom: 1.5rem; }
.philanthropy-page .campaign-kicker { font-family: 'Archivo Black', sans-serif; font-size: 0.7rem; text-transform: uppercase; letter-spacing: 0.15em; color: var(--navy); }
.philanthropy-page .campaign-note { font-size: 0.8rem; margin-top: 1rem; margin-bottom: 0; }
.philanthropy-page .campaign-navigation { padding-top: 1rem; padding-bottom: 1rem; }
.philanthropy-page .campaign-paths { display: flex; flex-wrap: wrap; justify-content: center; gap: 1rem 2rem; font-family: 'Archivo Black', sans-serif; font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.08em; }
.philanthropy-page .campaign-paths a { padding: 0.5rem 0; }
.philanthropy-page .campaign-paths [aria-current] { color: var(--navy); text-decoration: underline; text-underline-offset: 0.35em; }
.philanthropy-page .campaign-copy a:not(.btn), .philanthropy-page .campaign-contact a { text-decoration: underline; text-underline-offset: 0.2em; }
.philanthropy-page .campaign-copy ul { list-style: disc; padding-left: 1.5rem; margin: 1rem 0 1.5rem; }
.philanthropy-page .campaign-copy li { margin: 0.7rem 0; }
.philanthropy-page .campaign-copy h3 { margin-top: 2rem; }
.philanthropy-page .btn { max-width: 100%; white-space: normal; overflow-wrap: anywhere; text-align: center; }
.philanthropy-page .campaign-contact { text-align: center; overflow-wrap: anywhere; }
.philanthropy-page .campaign-skip { position: fixed; top: -8rem; left: 1rem; z-index: 1200; background: white; color: var(--navy); padding: 1rem; }
.philanthropy-page .campaign-skip:focus { top: 0.5rem; }
.philanthropy-page a:focus-visible, .philanthropy-page button:focus-visible { outline: 3px solid var(--navy); outline-offset: 4px; }
.philanthropy-page .section-dark a:focus-visible, .philanthropy-page .site-footer a:focus-visible { outline-color: white; }
.philanthropy-page main:focus { outline: none; }
.philanthropy-page .mobile-nav.open { overflow-y: auto; padding-bottom: 2rem; }
.philanthropy-page .campaign-card .card-body { display: flex; flex-direction: column; height: 100%; }
.philanthropy-page .campaign-card .btn { margin-top: auto; }
@media (max-width: 768px) {
  .philanthropy-page .campaign-hero { min-height: 0; padding: 1.5rem 0; }
  .philanthropy-page .campaign-hero .hero-overlay { margin: 1rem; }
  .philanthropy-page .campaign-paths { gap: 0.5rem 1rem; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
