/* Gia review: scoped refinements; source copy retained. */
/* Review 62: keep layout independent of tall desktop viewports. */
.route-home .hero { min-height:0; align-items:flex-start; }
.route-home .hero-body { padding-top:clamp(7rem,10vw,10rem); }
#p-mission .history-photo-layout { grid-template-columns:1fr; gap:1.5rem; }
#p-mission .history-photo-layout .mission-timeline { max-width:none; }
#p-mission .history-photo-layout .mission-timeline__row { grid-template-columns:max-content minmax(0,1fr); gap:clamp(2rem,4vw,4rem); }
#p-mission .history-photo-slots { grid-template-columns:repeat(2,minmax(0,1fr)); padding:0; }
#p-faq .masth { padding-block:2.5rem; min-height:0; }
#p-faq .masth .h1 { font-size:clamp(2.5rem,5vw,4.5rem); max-width:20ch; }
#p-faq > .band { background:var(--paper); }
#p-faq .qa { max-width:none; margin:0; }
.program-impact-row { grid-column:1/-1; display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:clamp(2rem,5vw,4.5rem); align-items:center; }
.program-impact-row .program-detail-copy section { margin:0; padding:0; }
#p-school-based .program-reach dl { margin:0; }
#p-school-based .program-reach dd { margin:1rem 0 0; }
#p-student-impact #student-growth { border-bottom:0; margin-bottom:0; padding-bottom:0; }
.county-map-card { box-shadow:none; }
.county-map-card figcaption { padding-top:1rem; margin-top:1rem; }
@media(max-width:700px) {
 #p-mission .history-photo-layout .mission-timeline__row,.program-impact-row { grid-template-columns:1fr; }
 #p-mission .history-photo-slots { grid-template-columns:1fr; }
}
.page > .band { padding-block:clamp(2rem,4vw,3.5rem); }
#p-home > .closing-band { padding-block:0; }
#p-home .closing-band .invite.investment-open { padding-block:clamp(2rem,3vw,3rem); }
#p-home .home-section-intro { display:block; }
#p-home .home-section-intro .body { margin-top:1.25rem; max-width:68ch; font-size:1.125rem; }
#p-home .home-section-intro .h1 { max-width:24ch; }
#p-home .investment-open .actions .btn { font-size:1rem; line-height:1.3; min-height:48px; }
.program-detail-copy section p:not(.label) { font-size:1.125rem; line-height:1.75; color:var(--ink); }
.home-program-media img,.program-detail-illustration img { opacity:1; filter:none; }
.supporter-quote figcaption,.county-testimonial figcaption,.student-quote cite { font-size:.9rem; line-height:1.6; letter-spacing:.025em; }
.supporter-quote figcaption::before,.county-testimonial figcaption::before,.student-quote cite::before { content:'— '; }
#p-school-based .program-reach { background:#edf3f6; color:var(--ink); padding:clamp(1.5rem,3vw,2.5rem); }
#p-school-based .program-reach dl { margin:0; background:transparent; gap:clamp(2rem,4vw,4rem); }
#p-school-based .program-reach dl > div { background:transparent; padding:0; }
#p-school-based .program-reach dt { color:#365d7e; line-height:1; }
#p-school-based .program-reach dd { color:var(--ink); margin:1rem 0 0; line-height:1.6; }
#p-team > .band:has(.career-layout) { padding-top:1.5rem; }
#p-team .career-layout { margin-top:0; align-items:start; }
.foot-legal { flex-wrap:wrap; gap:1rem; }
.foot-legal > .footer-legal-copy { max-width:none; flex:1 1 100%; }
.footer-address { display:block; }
.footer-tax-id { display:inline-block; }
@media(min-width:700px) { .footer-tax-id { white-space:nowrap; } }
#p-faq .qa { max-width:none; margin:0; }
#p-faq .qa a { font-weight:700; text-decoration:underline; text-underline-offset:.2em; }
#p-faq .qa a:focus-visible { outline:3px solid var(--sky); outline-offset:4px; }
#other-county-details[hidden] { display:none; }
#other-county-details { grid-column:1 / -1; }
#student-reach .label { margin-bottom:1.5rem; }
@media(max-width:640px) { .program-detail-copy section p:not(.label) { font-size:1.05rem; } }

/* Review-only photography positions; replace with approved student photos. */
#p-student-impact .reports-heading { align-items:center; gap:clamp(1.5rem,3vw,3rem); }
#p-student-impact .reports-heading .h1 { font-size:clamp(3.25rem,7.8vw,7rem); line-height:.98; margin-bottom:0; }
#p-student-impact .reports-heading .body { font-size:clamp(1.125rem,1.7vw,1.5rem); line-height:1.6; padding-bottom:0; }
#p-student-impact .report-downloads { margin-top:clamp(1.5rem,3vw,2.5rem); }
.review-photo-slot { margin:0; min-width:0; min-height:260px; aspect-ratio:4/3; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:1.25rem; padding:2rem; text-align:center; background:#e6eef1; color:#365d7e; border:1px dashed #7e9bab; border-radius:4px 4px 40px 4px; }
.review-photo-slot svg { width:64px; height:48px; }
.review-photo-slot figcaption { max-width:26ch; }
.review-photo-slot strong { display:block; font-size:1.05rem; line-height:1.5; font-weight:600; }
.review-photo-slot span { display:block; margin-top:.65rem; font-size:.8rem; line-height:1.5; }
.history-photo-layout { display:grid; grid-template-columns:minmax(0,1.65fr) minmax(0,1fr); gap:clamp(2rem,4vw,4rem); align-items:start; }
.history-photo-slots { display:grid; gap:2rem; padding-top:2rem; }
#p-mission .history-photo-layout .mission-timeline__row { grid-template-columns:max-content minmax(0,1fr); gap:clamp(2rem,4vw,4rem); }
#p-mission .history-photo-layout .mission-timeline__year { width:auto; min-width:2.5em; }
.small-town-photo-layout { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(0,1fr); gap:clamp(2rem,4vw,4rem); align-items:center; }
#p-model .model-small-town > .botanical { display:none; }
@media(max-width:900px) {
 .history-photo-layout,.small-town-photo-layout { grid-template-columns:1fr; }
 .history-photo-slots { grid-template-columns:repeat(2,minmax(0,1fr)); padding-top:0; }
}
@media(max-width:600px) {
 .history-photo-slots { grid-template-columns:1fr; }
 #p-mission .history-photo-layout .mission-timeline__row { grid-template-columns:1fr; gap:1rem; }
}
