/* Giving, support, partnership, contact and privacy pages. */
[hidden] { display: none !important; }
.film-header a.action[aria-current] { text-decoration: none; }
.solid-action { background: var(--ink); color: var(--cream); border-radius: 40px; }
.solid-action:hover { background: #45474c; }
.inline-link { text-decoration: underline; }
.warm-section { background: #eae2d4; }
.action-opening { display: grid; grid-template-columns: 1.1fr 1fr; gap: 8%; align-items: center; }
.action-opening h1 { font-size: clamp(66px, 7vw, 108px); }
.action-opening .action { margin-top: 30px; }
.action-opening-image { aspect-ratio: 1/1; max-height: 600px; }
.action-opening-image img { object-position: center; }
.support-opening .action-opening-image img { object-position: 70% center; }
.dark-opening { background: var(--ink); color: var(--cream); }
.dark-opening .opening-copy > p:not(.page-label) { color: var(--film-muted); }
.giving-introduction, .volunteer-section { display: grid; grid-template-columns: 1fr 1fr; align-items: start; gap: 9%; }
.giving-introduction p + p, .volunteer-section p + p { margin-top: 24px; }
.giving-introduction .action, .giving-introduction .text-action { margin-top: 30px; }
.goods-section { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 8%; background: #eae2d4; }
.goods-image { aspect-ratio: 4/5; }
.goods-image img { object-position: 34% center; }
.goods-section h2 { margin-bottom: 28px; }
.goods-section p { color: #625c52; }
.plain-list { padding: 0 0 0 20px; margin: 22px 0; font-size: 17px; line-height: 1.7; }
.plain-list li + li { margin-top: 8px; }
.goods-section .text-action, .volunteer-section .text-action { margin-top: 24px; }
.partnership-options { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 5%; padding: 36px 0 0; border-top: 1px solid #c9c0b2; }
.partnership-options h3 { margin-bottom: 18px; }
.partnership-options p { font-size: 17px; color: #625c52; }
.corporate-section > .text-action { margin-top: 38px; }
.volunteer-section { background: var(--ink); color: var(--cream); }
.volunteer-section p { color: #d4cfc5; }
.volunteer-section strong { color: var(--cream); font-weight: 600; }
.form-section, .contact-layout, .referral-process { display: grid; grid-template-columns: .85fr 1.15fr; gap: 10%; align-items: start; }
.form-intro h2 { margin-bottom: 28px; }
.form-intro > p:not(.page-label) { color: #625c52; }
.form-intro p + p { margin-top: 22px; }
.form-intro .text-action { margin-top: 26px; }
.inquiry-form { min-width: 0; }
.inquiry-form .form-preview-note, .form-intro .form-preview-note { font-size: 15px; line-height: 1.6; border-left: 2px solid #9d917c; padding-left: 16px; color: #625c52; }
.inquiry-form .form-required { font-size: 14px; color: #625c52; margin: 24px 0; }
.form-fields { border: 0; padding: 0; margin: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 24px; min-width: 0; }
.field { min-width: 0; }
.field-wide { grid-column: 1 / -1; }
.field label, .custom-amount label { display: block; font-size: 16px; font-weight: 500; line-height: 1.5; margin-bottom: 10px; }
.field input, .field textarea, .field select, .custom-amount input {
  -webkit-appearance: none; appearance: none;
  display: block; width: 100%; min-width: 0; height: var(--control-height);
  color: var(--ink); background-color: var(--paper);
  border: 1px solid var(--control-border); border-radius: var(--control-radius);
  font: 400 16px/1.5 Karla, Arial, sans-serif; padding: 12px 16px; box-shadow: none;
  caret-color: var(--ink); scroll-margin-block: 120px 32px;
}
.field select {
  padding-right: 48px; cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23303238' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 16px center; background-size: 20px;
}
.field textarea { resize: vertical; height: auto; min-height: 146px; }
.field :is(input, textarea)::placeholder, .custom-amount input::placeholder { color: #706a60; opacity: 1; }
.field :is(input, textarea, select):enabled:hover, .custom-amount input:enabled:hover { border-color: #625c52; }
/* Keep focus on the control edge instead of the global, offset outline. */
.field :is(input, textarea, select):focus, .custom-amount input:focus {
  outline: none; border-color: var(--ink); box-shadow: inset 0 0 0 1px var(--ink);
}
.field :is(input, textarea, select):user-invalid, .custom-amount input:user-invalid {
  border-color: var(--control-error); box-shadow: inset 0 0 0 1px var(--control-error);
}
.field :is(input, textarea, select):disabled, .custom-amount input:disabled {
  background-color: #eae2d4; color: #706a60; opacity: 1; cursor: not-allowed;
}
.field .field-hint, .custom-amount .field-hint { font-size: 14px; line-height: 1.55; margin-top: 8px; color: #625c52; }
.form-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 12px 24px; }
.reset-form { border: 0; background: none; padding: 10px 0; min-height: 44px; color: #625c52; text-decoration: underline; text-underline-offset: 5px; font-size: 15px; }
.inquiry-form .action, .donation-panel .action { min-height: var(--control-height); }
.inquiry-form button:focus-visible, .donation-panel button:focus-visible { outline: 2px solid var(--ink); outline-offset: 3px; }
.reset-form:enabled:hover { color: var(--ink); }
.inquiry-form .form-privacy { font-size: 14px; margin-top: 22px; color: #625c52; }
.inquiry-form .form-status, .donation-panel .form-status { font: 400 16px/1.6 Karla, Arial, sans-serif; padding: 22px; margin-top: 24px; border: 1px solid var(--control-border); border-radius: var(--control-radius); background: var(--cream); color: var(--ink); }
.inquiry-form .form-status:focus, .donation-panel .form-status:focus { outline: none; border-color: var(--ink); box-shadow: inset 0 0 0 1px var(--ink); }
fieldset:disabled .solid-action { opacity: .6; cursor: not-allowed; }
fieldset:disabled .reset-form { opacity: .6; cursor: not-allowed; }
.pathway-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 9%; }
.pathway-grid article { padding-top: 28px; border-top: 1px solid #c9c0b2; }
.pathway-grid h3 { font: 500 38px/1.1 Cormorant, Georgia, serif; letter-spacing: -.02em; max-width: 20ch; margin-bottom: 22px; }
.pathway-grid p { color: #625c52; }
.pathway-grid .text-action { margin-top: 24px; }
.support-experience { background: #eae2d4; display: grid; grid-template-columns: 1fr 1fr; gap: 10%; align-items: center; }
.support-experience h2 { margin-bottom: 30px; }
.support-experience p { color: #625c52; }
.support-experience p + p { margin-top: 22px; }
.support-experience .text-action { margin-top: 24px; }
.support-detail-image { aspect-ratio: 1/1; }
.support-detail-image img { object-position: right center; }
.faq-section { display: grid; grid-template-columns: .85fr 1.15fr; gap: 10%; }
.faq-list { min-width: 0; }
.faq-list details { border-top: 1px solid #c9c0b2; }
.faq-list details:last-child { border-bottom: 1px solid #c9c0b2; }
.faq-list summary { list-style: none; position: relative; padding: 24px 36px 24px 0; font-size: 20px; line-height: 1.4; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary::after { content: '+'; position: absolute; right: 0; top: 22px; font-size: 25px; }
.faq-list details[open] summary::after { content: '−'; }
.faq-list details > div { padding-bottom: 26px; }
.faq-list details p { font-size: 17px; color: #625c52; }
.referral-process .process-steps li:first-child { border-top: 0; padding-top: 0; }
.referral-process .process-steps li:first-child::before { top: 0; }
.donation-opening { display: grid; grid-template-columns: 1fr 1fr; gap: 10%; align-items: start; }
.donation-opening h1 { font-size: clamp(76px,7.3vw,112px); }
.donation-intro > p:not(.page-label) { margin-top: 30px; max-width: 42ch; color: #625c52; }
.donation-image { aspect-ratio: 2/1; margin-top: 34px; max-height: 275px; }
.donation-image img { object-position: center 65%; }
.donation-panel { padding: 36px; background: #eae2d4; min-width: 0; }
.donation-panel h2 { font-size: 44px; }
.donation-panel .donation-note { font-size: 15px; line-height: 1.55; color: #625c52; margin: 18px 0 28px; }
.donation-controls, .gift-frequency, .gift-amounts { border: 0; padding: 0; margin: 0; min-width: 0; }
.gift-frequency legend, .gift-amounts legend { padding: 0; margin-bottom: 14px; font-size: 16px; }
.frequency-options { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.gift-amounts { margin-top: 28px; }
.amount-options { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }
.gift-choice { position: relative; cursor: pointer; }
.gift-choice input { position: absolute; width: 1px; height: 1px; clip-path: inset(50%); overflow: hidden; margin: 0; }
.gift-choice span { display: flex; align-items: center; justify-content: center; min-height: var(--control-height); padding: 10px; border: 1px solid var(--control-border); border-radius: var(--control-radius); background: var(--cream); color: var(--ink); font-size: 16px; }
.gift-choice:hover input:enabled + span { border-color: var(--ink); }
.gift-choice input:checked + span { background: var(--ink); color: var(--cream); border-color: var(--ink); }
.gift-choice input:focus-visible { outline: none; }
.gift-choice input:focus-visible + span { outline: 2px solid var(--ink); outline-offset: 3px; }
.gift-choice input:disabled + span { opacity: .55; cursor: not-allowed; }
.gift-other { display: flex; align-items: center; gap: 10px; min-height: 44px; margin: 18px 0 8px; cursor: pointer; font-size: 16px; }
.gift-other input { width: 20px; height: 20px; margin: 0; accent-color: var(--ink); }
.gift-other input:focus-visible { outline: 2px solid var(--ink); outline-offset: 3px; }
@media (forced-colors: active) {
  .field :is(input, textarea, select):focus, .custom-amount input:focus,
  .inquiry-form .form-status:focus, .donation-panel .form-status:focus { outline: 2px solid Highlight; outline-offset: 2px; }
  .field select { appearance: auto; background-image: none; padding-right: 16px; }
  .gift-choice input:checked + span { border-color: Highlight; outline: 1px solid Highlight; }
}
.donation-panel .gift-summary { font-size: 20px; line-height: 1.4; margin: 28px 0 20px; }
.donation-panel .action { width: 100%; }
.donation-panel .donation-alternative { font-size: 15px; line-height: 1.6; margin-top: 24px; color: #625c52; }
.contact-opening { padding-bottom: 64px; border-bottom: 1px solid #c9c0b2; }
.contact-opening h1 { max-width: 1000px; }
.contact-opening > p:not(.page-label) { max-width: 50ch; margin-top: 32px; color: #625c52; }
.contact-routes h2 { margin-bottom: 36px; }
.contact-routes article { border-top: 1px solid #c9c0b2; padding: 26px 0; }
.contact-routes h3 { margin-bottom: 14px; }
.contact-routes p { font-size: 17px; color: #625c52; }
.contact-routes .text-action { margin-top: 14px; }
.contact-form h2 { font-size: 44px; margin-bottom: 26px; }
.contact-location { display: grid; grid-template-columns: 1fr 1fr; gap: 10%; align-items: center; }
.contact-image { aspect-ratio: 3/2; }
.contact-location h2 { margin-bottom: 28px; }
.contact-location .text-action { margin-top: 24px; }
.privacy-opening { border-bottom: 1px solid #c9c0b2; }
.privacy-opening > p:not(.page-label) { margin-top: 30px; max-width: 52ch; color: #625c52; }
.privacy-opening .privacy-date { font-size: 14px; }
.privacy-layout { display: grid; grid-template-columns: .6fr 1.4fr; gap: 10%; }
.privacy-nav { display: flex; flex-direction: column; align-items: start; position: sticky; top: 116px; align-self: start; }
.privacy-nav a { display: flex; align-items: center; min-height: 44px; padding: 8px 0; font-size: 16px; }
.privacy-copy { max-width: 760px; }
.privacy-copy section + section { margin-top: 56px; }
.privacy-copy h2 { font-size: 42px; line-height: 1.1; margin-bottom: 24px; }
.privacy-copy p { color: #625c52; }
.privacy-copy p + p { margin-top: 20px; }
#general-inquiry { scroll-margin-top: 110px; }
.action-opening-image.image-with-caption, .contact-image.image-with-caption { aspect-ratio: auto; max-height: none; }
.action-opening-image.image-with-caption img { aspect-ratio: 1/1; height: auto; }
.contact-image.image-with-caption img { aspect-ratio: 4/3; height: auto; }
.image-with-caption .image-disclosure { margin-top: 12px; color: #625c52; }
.interior .gift-guidance { font-size: 15px; line-height: 1.55; color: #625c52; margin: 0 0 16px; }
.contact-form .contact-inquiry-context { font-size: 16px; margin: 0 0 24px; color: #625c52; }
.contact-routes .text-action + .text-action { display: block; margin-top: 8px; }
@media (max-width: 1100px) {
  .action-opening, .goods-section, .giving-introduction, .form-section, .contact-layout, .referral-process, .support-experience, .faq-section, .donation-opening { gap: 6%; }
  .donation-panel { padding: 28px; }
  .action-opening h1 { font-size: 76px; }
  .donation-opening h1 { font-size: 84px; }
  .partnership-options { gap: 28px; }
}
@media (max-width: 850px) {
  .action-opening { grid-template-columns: 1fr; gap: 40px; }
  .action-opening h1 { font-size: clamp(64px,10vw,88px); }
  .action-opening-image { aspect-ratio: 3/2; max-height: 480px; }
  .giving-introduction, .goods-section, .volunteer-section, .form-section, .contact-layout, .referral-process, .support-experience, .faq-section, .contact-location { grid-template-columns: 1fr; gap: 40px; }
  .goods-image { aspect-ratio: 3/2; max-height: 480px; }
  .partnership-options { grid-template-columns: 1fr; gap: 30px; }
  .partnership-options h3 { margin-bottom: 12px; }
  .pathway-grid { gap: 32px; }
  .pathway-grid h3 { font-size: 34px; }
  .form-intro { max-width: 600px; }
  .inquiry-form { width: 100%; max-width: 680px; }
  .support-detail-image { aspect-ratio: 3/2; max-height: 480px; }
  .donation-opening { grid-template-columns: 1fr; gap: 48px; }
  .donation-intro h1 br:nth-of-type(2) { display: none; }
  .donation-image { display: none; }
  .donation-panel { width: 100%; max-width: 620px; }
  .contact-form { max-width: 680px; }
  .contact-image { max-height: 480px; }
  .privacy-layout { grid-template-columns: 1fr; gap: 40px; }
  .privacy-nav { position: static; flex-direction: row; flex-wrap: wrap; gap: 0 28px; padding-bottom: 28px; border-bottom: 1px solid #c9c0b2; }
}
@media (max-width: 520px) {
  .action-opening h1, .donation-opening h1 { font-size: clamp(52px,14.5vw,74px); }
  .action-opening-image { aspect-ratio: 4/3; }
  .action-opening .action { margin-top: 26px; }
  .plain-list { font-size: 16px; }
  .goods-image { aspect-ratio: 4/3; }
  .partnership-options p { font-size: 16px; }
  .pathway-grid { grid-template-columns: 1fr; gap: 36px; }
  .pathway-grid h3 { font-size: 34px; }
  .form-fields { grid-template-columns: 1fr; gap: 22px; }
  .field-wide { grid-column: 1; }
  .form-intro h2 { margin-bottom: 24px; }
  .faq-list summary { font-size: 18px; padding-block: 22px; }
  .faq-list details p { font-size: 16px; }
  .donation-panel { padding: 24px 20px; }
  .donation-panel h2, .contact-form h2 { font-size: 38px; }
  .amount-options { gap: 8px; }
  .gift-choice span { padding-inline: 8px; font-size: 16px; }
  .contact-opening { padding-bottom: 48px; }
  .contact-routes p { font-size: 16px; }
  .privacy-copy h2 { font-size: 34px; }
  .privacy-nav a { font-size: 15px; }
}

/* October 21: community, activities and practical page paths. */
.intro-paths { display: flex; flex-wrap: wrap; justify-content: center; gap: 16px 36px; margin-top: 32px; }
.home-page .film-intro { padding-block: clamp(64px, 6vw, 88px); }
.home-activities { display: grid; grid-template-columns: 1fr 1.1fr; gap: 8%; align-items: center; padding: 88px var(--film-inset); background: #25272c; color: var(--cream); }
.home-activities h2 { font-size: clamp(48px, 5vw, 76px); line-height: 1.04; }
.home-activities p:not(.page-label) { margin-top: 24px; font-size: 18px; color: var(--film-muted); }
.home-activities .text-action { margin-top: 24px; }
.home-activities figure { aspect-ratio: 4/3; overflow: hidden; }
.home-activities img { object-position: center 65%; }
.community-partners { border-top: 1px solid #c9c0b2; }
.brand-partners { background: var(--cream); }
.community-partners h2, .brand-partners h2 { font-size: clamp(44px, 4.6vw, 68px); }
.logo-grid { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 32px 40px; align-items: center; }
.logo-grid li { display: flex; align-items: center; justify-content: center; height: 112px; padding: 18px; }
.logo-grid img { width: 100%; height: 100%; max-width: 230px; object-fit: contain; mix-blend-mode: multiply; }
.brand-logos { grid-template-columns: repeat(6,minmax(0,1fr)); gap: 24px; }
.brand-logos li { height: 94px; padding: 14px 8px; }
.community-partners > .text-action, .brand-partners > .text-action { margin-top: 32px; }
.founder-introduction .text-action + .text-action { margin-left: 24px; }
.activities-teaser { display: grid; grid-template-columns: 1fr 1fr; gap: 40px 8%; align-items: center; background: #eae2d4; }
.activities-teaser > figure { aspect-ratio: 1600/899; }
.activities-teaser h2 { margin-bottom: 26px; }
.activities-teaser .text-action { margin-top: 24px; }
.activities-teaser .relief-invitation { margin-top: 0; padding-top: 28px; }
.activities-teaser .relief-invitation h3 { font-size: 20px; }
.activities-teaser .relief-invitation p { font-size: 16px; }
.team-opening, .activities-opening { display: grid; grid-template-columns: 1.15fr 1fr; gap: 8%; align-items: center; }
.team-opening h1, .activities-opening h1 { font-size: clamp(68px, 7vw, 108px); }
.team-opening > figure { aspect-ratio: 5/6; max-height: 560px; overflow: hidden; }
.team-opening > figure img { object-position: center 25%; }
.team-founder-credit { margin-top: 32px; }
.team-founder-credit p { font-size: 18px; }
.team-founder-credit span { display: block; font-size: 15px; color: var(--film-muted); }
.team-founder-credit .text-action { margin-top: 18px; }
.activities-opening > figure { aspect-ratio: 4/3; overflow: hidden; }
.executive-grid, .board-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 48px; }
.executive-profile, .board-profile { min-width: 0; }
.executive-profile > figure, .board-profile > figure { width: 100%; aspect-ratio: 4/5; margin: 0 0 24px; overflow: hidden; background: #eae2d4; }
.executive-profile > figure img, .board-profile > figure img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center 20%; }
.team-portrait-placeholder { display: grid; place-items: center; color: #918979; border: 1px solid #d4cbbc; }
.team-portrait-placeholder span { font: 500 clamp(64px, 7vw, 96px)/1 Cormorant, Georgia, serif; letter-spacing: -.03em; }
.executive-profile h3, .board-profile h3 { font: 500 34px/1.1 Cormorant, Georgia, serif; letter-spacing: -.02em; }
.executive-profile .profile-role { font-size: 15px; margin-top: 8px; }
.executive-profile p:last-child { font-size: 17px; line-height: 1.6; color: #625c52; margin-top: 18px; }
.board-profile p { font-size: 17px; line-height: 1.6; color: #625c52; margin-top: 16px; }
.activity-nav { gap: 12px 32px; }
.activity-heading { display: grid; grid-template-columns: 1fr 1fr; gap: 12%; align-items: end; margin-bottom: 40px; }
.activity-heading h2 { font-size: clamp(48px, 5vw, 74px); }
.activity-heading > p { color: #625c52; }
.activity-gallery { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
.activity-gallery a { position: relative; display: block; aspect-ratio: 4/3; overflow: hidden; background: #dcd3c3; }
.activity-gallery img { transition: transform 400ms var(--motion-ease); }
.activity-gallery a:hover img { transform: scale(1.025); }
.activity-gallery a > span { position: absolute; inset: auto 12px 12px auto; padding: 6px 10px; background: #303238de; color: var(--cream); font-size: 13px; }
.activity-gallery a:focus-visible { outline-offset: 4px; }
.activity-video-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; margin-top: 24px; }
.activity-video { min-width: 0; }
.activity-video video { display: block; width: 100%; max-height: 620px; background: #202226; }
.activity-video-grid video { aspect-ratio: 9/12; max-height: 430px; object-fit: contain; }
.activity-video figcaption { margin-top: 12px; font-size: 15px; color: #625c52; }
.activity-story > .activity-video { max-width: 1000px; margin: auto; }
.photo-open { overflow: hidden; }
.photo-dialog { border: 0; margin: auto; padding: 20px; width: min(1200px, calc(100vw - 32px)); max-height: calc(100svh - 32px); color: var(--cream); background: #202226; }
.photo-dialog::backdrop { background: #101216e6; }
.photo-dialog figure img { width: 100%; height: min(72svh, 800px); object-fit: contain; }
.photo-dialog figcaption { font-size: 16px; line-height: 1.5; padding-top: 12px; }
.photo-toolbar, .photo-controls { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.photo-toolbar { margin-bottom: 12px; }
.photo-controls { margin-top: 12px; }
.photo-dialog button { background: transparent; color: var(--cream); border: 1px solid #f6f1e780; min-height: 44px; padding: 8px 16px; }
.contact-direct { display: flex; flex-wrap: wrap; gap: 12px 32px; margin-top: 32px; font: inherit; }
.contact-direct a { display: inline-flex; align-items: center; min-height: 44px; font-size: 18px; }
.support-question-link { margin-left: 24px; }
.support-page .support-opening { padding-bottom: 56px; }
.support-page .support-opening .action-opening-image { aspect-ratio: 5/4; max-height: 360px; }
.support-page .support-pathways { padding-top: 64px; padding-bottom: 64px; }
.support-page .support-pathways .section-heading { margin-bottom: 32px; }
@media (max-width: 1100px) {
  .brand-logos { grid-template-columns: repeat(4,minmax(0,1fr)); }
  .executive-grid, .board-grid { gap: 40px 28px; }
}
@media (max-width: 850px) {
  .team-opening, .activities-opening { grid-template-columns: 1fr 1fr; gap: 5%; }
  .team-opening h1, .activities-opening h1 { font-size: 64px; }
  .logo-grid { gap: 24px; }
  .logo-grid li { padding: 10px; height: 94px; }
  .brand-logos { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .executive-grid, .board-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .activity-heading { gap: 6%; }
  .activity-gallery { gap: 14px; }
  .support-question-link { margin-left: 0; }
}
@media (max-width: 600px) {
  .home-page .film-intro { padding-block: 64px; }
  .intro-paths { gap: 8px 24px; }
  .home-activities, .activities-teaser { grid-template-columns: 1fr; gap: 32px; padding-block: 64px; }
  .home-activities figure { aspect-ratio: 4/3; }
  .home-activities figure { grid-row: 1; }
  .logo-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
  .logo-grid li { height: 90px; padding: 12px 5px; }
  .brand-logos li { height: 76px; }
  .team-opening, .activities-opening { grid-template-columns: 1fr; gap: 36px; }
  .team-opening h1, .activities-opening h1 { font-size: clamp(58px, 15vw, 76px); }
  .team-opening > figure { max-height: 420px; aspect-ratio: 1/1; }
  .activities-opening > figure { aspect-ratio: 4/3; }
  .executive-grid, .board-grid { grid-template-columns: 1fr; gap: 36px; max-width: 420px; margin-inline: auto; }
  .executive-profile h3, .board-profile h3 { font-size: 30px; }
  .activity-heading { grid-template-columns: 1fr; gap: 24px; }
  .activity-gallery { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
  .activity-gallery a { aspect-ratio: 1/1; }
  .activity-gallery a > span { inset: auto 6px 6px auto; font-size: 11px; padding: 5px 7px; }
  .activity-video-grid { grid-template-columns: 1fr; gap: 28px; }
  .activity-video-grid video { aspect-ratio: 9/12; max-height: 460px; }
  .photo-dialog { padding: 12px; width: calc(100vw - 20px); }
  .photo-dialog figure img { height: 62svh; }
  .photo-dialog figcaption { font-size: 14px; }
  .contact-direct { gap: 8px; flex-direction: column; margin-top: 24px; }
  .contact-direct a { font-size: 17px; overflow-wrap: anywhere; }
  .support-page .support-opening { padding-bottom: 40px; }
  .support-page .support-opening .action-opening-image { display: none; }
  .support-page .support-pathways { padding-block: 44px; }
  .support-page .support-pathways .pathway-grid { gap: 32px; }
  .support-page .support-pathways .pathway-grid h3 { font-size: 30px; margin-bottom: 16px; }
  .support-page .support-pathways .pathway-grid article { padding-top: 20px; }
  .support-page .support-pathways .text-action { margin-top: 16px; }
  .support-question-link { display: block; margin-top: 18px; }
  .founder-introduction .text-action + .text-action { margin-left: 16px; }
}

/* Explain the gift alongside the choices without adding another repeated section. */
.donate-page .gift-section { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 9%; align-items: start; }
.gift-context h2 { margin-bottom: 30px; }
.gift-context > p + p { margin-top: 22px; }
.gift-context > p { max-width: 48ch; }
.gift-context .support-quote { margin: 38px 0; color: #625c52; }
.gift-context .support-quote blockquote { font-size: clamp(30px, 3vw, 42px); }
.gift-trust { padding-top: 26px; border-top: 1px solid #c9c0b2; }
.interior .gift-trust p { font-size: 16px; color: #625c52; }
.gift-trust .text-action { display: table; margin-top: 16px; font-size: 16px; }
.donate-page .donation-panel { width: 100%; max-width: none; scroll-margin-top: 120px; }
/* Each past initiative has one lead visual and an optional complete media collection. */
.activity-feature { display: grid; grid-template-columns: 1fr 1fr; gap: 8%; align-items: center; }
.activity-copy h2 { font-size: clamp(46px, 4.8vw, 72px); margin-bottom: 30px; }
.activity-copy > p:not(.page-label) { color: #625c52; max-width: 52ch; }
.activity-copy > p + p { margin-top: 20px; }
.activity-lead { display: block; position: relative; aspect-ratio: 4/3; overflow: hidden; background: #dcd3c3; }
.activity-lead img { width: 100%; height: 100%; object-fit: cover; transition: transform 400ms var(--motion-ease); }
.activity-lead:hover img { transform: scale(1.025); }
.activity-lead > span { position: absolute; right: 14px; bottom: 14px; padding: 8px 12px; background: #303238e6; color: var(--cream); font-size: 14px; }
.activity-feature .activity-video video { aspect-ratio: 16/10; object-fit: contain; }
.activity-more { margin-top: 32px; border-top: 1px solid #c9c0b2; }
.activity-more summary { display: flex; justify-content: space-between; align-items: center; gap: 20px; list-style: none; padding: 20px 0; cursor: pointer; font-size: 17px; min-height: 64px; }
.activity-more summary::-webkit-details-marker { display: none; }
.activity-more summary::after { content: '+'; font-size: 26px; font-weight: 400; }
.activity-more[open] summary::after { content: '−'; }
.activity-more .activity-gallery { padding-top: 12px; }
.activity-more summary:focus-visible, .future-plans summary:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; border-radius: 3px; }
.partner-quote { margin-top: 28px; padding-top: 26px; border-top: 1px solid #c9c0b2; letter-spacing: 0; }
.interior .partner-quote p { font: 500 26px/1.25 Cormorant, Georgia, serif; }
.partner-quote footer { margin-top: 16px; font: 400 14px/1.6 Karla, Arial, sans-serif; color: #625c52; }
@media (max-width: 850px) {
  .donate-page .gift-section { gap: 5%; }
  .activity-feature { gap: 5%; }
}
@media (max-width: 700px) {
  .donate-page .gift-section, .activity-feature { grid-template-columns: 1fr; gap: 40px; }
  .donate-page .donation-panel { grid-row: 1; }
  .activity-copy h2 { font-size: clamp(44px, 10vw, 60px); }
  .gift-context .support-quote { margin-block: 30px; }
  .activity-more summary { font-size: 16px; }
}
@media (prefers-reduced-motion: reduce) { .activity-lead img { transition: none; } .activity-lead:hover img { transform: none; } }
