@media (max-width: 1020px) {
  .main-nav { gap: 14px; }
  .main-nav > a:not(.button) { font-size: .72rem; }
  .hero-note { left: -25px; }
}
@media (max-width: 840px) {
  .menu-toggle { display: block; }
  body.menu-open .site-header { color: white; background: var(--brown-deep); backdrop-filter: none; }
  .main-nav { position: absolute; top: 100%; right: 0; left: 0; display: grid; width: 100%; height: calc(100vh - 86px); height: calc(100dvh - 86px); min-height: 420px; align-content: center; justify-items: center; gap: 18px; overflow-y: auto; padding: 32px 24px 48px; color: white; background: var(--brown-deep); box-shadow: 0 24px 50px rgba(20,7,5,.35); opacity: 0; visibility: hidden; transform: translateY(-10px); transition: opacity .25s, visibility .25s, transform .25s; }
  .main-nav.open { opacity: 1; visibility: visible; transform: none; }
  .main-nav > a:not(.button) { color: white; font: 1.65rem "Playfair Display",serif; }
  .main-nav > a:not(.button)::after { background: var(--gold); }
  .main-nav .button { margin-top: 10px; }
  .board-photo > div { right: 0; }
  .menu-toggle[aria-expanded="true"] > span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  .menu-toggle[aria-expanded="true"] > span:nth-child(2) { opacity: 0; }
  .menu-toggle[aria-expanded="true"] > span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
}
@media (max-width: 760px) {
  :root { --shell: min(100% - 32px,620px); }
  .section { padding: 82px 0; }
  h2 { font-size: clamp(2.6rem,12vw,4rem); }
  .nav-wrap { width: calc(100% - 24px); min-height: 72px; }
  .brand img { width: 44px; height: 44px; }
  .brand small { display: none; }
  .main-nav { top: 100%; height: calc(100vh - 72px); height: calc(100dvh - 72px); }
  .hero-grid > *, .intro-grid > *, .heading-row > *, .media-feature-grid > *, .board-grid > *, .home-contact-inner > *, .support-banner-inner > *, .page-hero-grid > *, .prose-grid > *, .detail-grid > *, .contact-grid > *, .project-banner > *, .split-cards > *, .status-intro > *, .program-row > * { min-width: 0; }
  .hero-grid, .intro-grid, .heading-row, .media-feature-grid, .board-grid, .home-contact-inner, .support-banner-inner, .page-hero-grid, .prose-grid, .detail-grid, .contact-grid { grid-template-columns: 1fr; }
  .hero { min-height: auto; padding: 125px 0 110px; }
  .hero h1 { font-size: clamp(3.5rem,17vw,5.2rem); }
  .hero h1 em { white-space: normal; }
  .hero-actions { align-items: flex-start; flex-direction: column; gap: 21px; }
  .hero-promise { margin-top: 38px; }
  .hero-visual { margin-top: 35px; }
  .hero-photo { height: 440px; min-height: 0; }
  .hero-seal { top: -30px; right: -10px; width: 105px; height: 105px; }
  .hero-note { bottom: 28px; left: -8px; }
  .intro-grid, .heading-row { gap: 35px; }
  .values-grid, .split-cards, .work-grid, .giving-grid, .status-grid, .media-gallery { grid-template-columns: 1fr; }
  .value-card { min-height: 250px; }
  .value-card + .value-card { border-top: 0; border-left: 1px solid var(--line); }
  .value-card-dark { transform: none; }
  .value-card h3 { margin-top: 55px; }
  .work-card { min-height: 410px; padding-inline: 28px; }
  .media-feature { padding: 90px 0; }
  .media-photo-stack { min-height: 470px; }
  .media-main-photo { width: 92%; }
  .media-main-photo img { height: 330px; }
  .media-small-photo { width: 45%; }
  .media-small-photo img { height: 220px; }
  .media-feature-copy { margin-top: 45px; }
  .approach-line { grid-template-columns: 1fr; gap: 36px; margin: 55px 0 70px; }
  .approach-line::before { top: 0; bottom: 0; left: 27px; width: 1px; height: auto; }
  .approach-line article { display: grid; grid-template-columns: 56px 1fr; column-gap: 22px; padding: 0; text-align: left; }
  .approach-line article > span { grid-row: 1 / span 2; margin: 0; }
  .approach-line h3 { margin: 3px 0 6px; }
  .approach-line p { margin: 0; }
  .project-banner { grid-template-columns: 1fr; }
  .board-grid, .support-banner-inner, .contact-grid { gap: 55px; }
  .board-photo { padding: 0 0 24px 20px; }
  .board-photo > div { right: 0; max-width: calc(100% - 16px); }
  .page-hero { min-height: 0; padding: 130px 0 80px; }
  .page-hero-grid { gap: 42px; }
  .page-hero-copy h1 { max-width: 100%; overflow-wrap: break-word; font-size: clamp(3.1rem,12vw,4.8rem); }
  .page-hero-copy h1 em { overflow-wrap: anywhere; }
  .page-hero-image img { height: 340px; }
  .sticky-heading { position: static; }
  .prose-grid, .detail-grid { gap: 48px; }
  .program-row { grid-template-columns: 56px 1fr; gap: 0 20px; padding: 55px 0; }
  .program-row > div:last-child { grid-column: 2; }
  .status-intro { grid-template-columns: 1fr; gap: 25px; }
  .media-gallery .gallery-wide img, .media-gallery img { height: 430px; }
  .form-row { grid-template-columns: 1fr; gap: 0; }
  .form-footer { align-items: flex-start; flex-direction: column; }
  .footer-grid { grid-template-columns: 1fr; gap: 46px; }
  .footer-word { display: none; }
}
@media (max-width: 430px) {
  .brand strong { font-size: .88rem; }
  .hero h1 { font-size: 3.4rem; }
  .hero-photo { height: 390px; }
  .hero-note { display: none; }
  .page-hero-copy h1 { font-size: clamp(2.65rem,10.5vw,3.2rem); }
  .media-photo-stack { min-height: 420px; }
  .media-main-photo img { height: 280px; }
  .media-small-photo img { height: 190px; }
  .board-list div { grid-template-columns: 1fr; gap: 5px; }
  .footer-links { grid-template-columns: 1fr; }
  .footer-bottom, .transparency-note { align-items: flex-start; flex-direction: column; gap: 8px; }
  .program-row { grid-template-columns: 1fr; }
  .program-row > div:last-child { grid-column: 1; }
  .main-nav { align-content: start; padding-top: 42px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .reveal { opacity: 1; transform: none; }
}
