/* September 28 corrective pass: approved copy, wide giving, uncropped photographs. */
#p-give > .band > .wrap, #p-give > .masth > .wrap { max-width: 1660px; padding-inline: clamp(1.25rem,3vw,3rem); }
#p-give .giving-layout { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.2fr); grid-template-areas: "story donate" "photos photos"; gap: 2.5rem; align-items: start; }
#p-give .giving-copy { grid-area: story; max-width: 78ch; }
#p-give .giving-photos { grid-area: photos; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1.5rem; }
#p-give .giving-photos img { border-radius: 0 0 2rem 0; }
#p-give .donation-provider { grid-area: donate; padding: clamp(1rem,2vw,2rem); background: #fff; border: 1px solid var(--line,#b7c8d2); border-radius: 0 0 2rem 0; }
#p-give .giving-methods { margin-top: 1.5rem; }
#p-give .giving-lead { font-size: clamp(1.2rem,2vw,1.55rem); line-height: 1.55; margin: 0 0 1rem; }
#p-give .giving-intro { font-size: 1.05rem; line-height: 1.65; margin: 0; }
#p-give .donation-provider, #give-lively-widget { width: 100%; min-width: 0; max-width: none; }
#p-give .giving-methods { display: grid; grid-template-columns: minmax(0,1fr); gap: 1rem; align-items: start; }
#p-give .giving-method { border: 1px solid var(--line,#b7c8d2); background: var(--cream,#fcf3d2); border-radius: 0 0 1.5rem 0; }
#p-give .giving-method summary { display: flex; justify-content: space-between; gap: 1rem; align-items: center; padding: 1.3rem; cursor: pointer; color: var(--plum,#59235e); font: inherit; font-weight: 600; list-style: none; }
#p-give .giving-method summary::-webkit-details-marker { display: none; }
#p-give .giving-method summary::after { content: '+'; font-size: 1.6rem; line-height: 1; font-weight: 400; }
#p-give .giving-method[open] summary::after { content: '−'; }
#p-give .giving-method summary:hover { background: rgba(143,184,220,.18); }
#p-give .giving-method summary:focus-visible { outline: 3px solid #355f7d; outline-offset: 3px; }
#p-give .giving-method-content { padding: 0 1.3rem 1.3rem; font-size: 1rem; line-height: 1.7; overflow-wrap: anywhere; }
#p-give .giving-method-content p { margin: 0 0 1rem; }
#p-give .giving-method-content p:last-child { margin-bottom: 0; }
#p-give .giving-method-content a { text-decoration: underline; text-underline-offset: .18em; }
.scholarship-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem; margin-top: 1.5rem; }
.scholarship-actions .btn { margin: 0; white-space: normal; text-align: center; }
/* Preserve the whole supplied frame rather than cropping people's heads. */
.mission-photo-stack { display: grid; gap: 1.5rem; align-content: start; min-width: 0; }
.mission-photo-stack .spring-photo { margin: 0; }
.curated-photo img, img.curated-photo { display: block; width: 100%; height: auto !important; max-height: none !important; aspect-ratio: auto !important; object-fit: contain !important; }
.county-gallery, .media-gallery { align-items: start; }
.county-gallery figure, .media-gallery-item { min-width: 0; }
.county-gallery figure.curated-photo, .media-gallery-item.curated-photo { aspect-ratio: auto; overflow: visible; background: transparent; }
.media-gallery { display: block; columns: 2; column-gap: 1.5rem; }
.media-gallery-item.curated-photo { break-inside: avoid; margin: 0 0 1.5rem; }
/* Independent columns keep Marin's mixed portrait/landscape frames together. */
#p-marin .county-gallery { display: block; columns: 2; column-gap: 1rem; }
#p-marin .county-gallery figure.curated-photo { break-inside: avoid; margin: 0 0 1rem; }
.giving-photos figure { margin: 0; min-width: 0; }
.giving-photos figcaption { margin: .65rem 0 0; font-size: .85rem; line-height: 1.5; color: var(--ink-soft); }
.media-gallery-item.curated-photo { grid-column: auto; grid-row: auto; }
.media-gallery-item.curated-photo:hover img { transform: none; }
.county-gallery .curated-photo figcaption, .media-gallery-item.curated-photo figcaption, .county-copy-photo.curated-photo figcaption { position: static; margin: .65rem 0 0; padding: 0; color: var(--ink-soft); background: transparent; font-family: var(--sans); font-size: .85rem; line-height: 1.5; letter-spacing: normal; text-transform: none; }
/* A portrait keeps its full frame without making the two-column row oversized. */
#p-school-based .program-impact-row > .spring-photo { width: 100%; max-width: none; justify-self: center; }
/* At enlarged text sizes, wrap instead of cutting off desktop navigation. */
@media(min-width: 921px) {
 .masthead > .wrap { flex-wrap: wrap; }
 .site-nav { flex-wrap: wrap; justify-content: flex-end; max-width: 100%; }
}
@media(max-width: 1000px) {
 #p-give .giving-layout { grid-template-columns: minmax(0,1fr); grid-template-areas: "story" "donate" "photos"; }
 #p-give .giving-photos { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media(max-width: 700px) {
 #p-give .giving-photos { grid-template-columns: minmax(0,1fr); }
 .media-gallery { columns: 1; }
 #p-marin .county-gallery { columns: 1; }
 #p-give .giving-methods { grid-template-columns: minmax(0,1fr); }
 #p-give .giving-layout { gap: 1.5rem; }
 .scholarship-actions { align-items: stretch; }
 .scholarship-actions .btn { max-width: 100%; }
}
