/* September 19: changes-only additions. Keep prior approved layouts intact. */
.spring-photo { margin:0; min-width:0; }
.spring-photo img { display:block; width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; border-radius:0 0 2rem 0; }
.spring-photo figcaption { margin:.65rem 0 0; font-size:.85rem; line-height:1.5; color:var(--muted); }
.program-impact-row { align-items:start; }
.program-impact-row > .spring-photo img { aspect-ratio:3/2; max-height:300px; object-position:center 35%; }
#p-school-based .program-impact-row > .spring-photo img { object-position:center top; }
.small-town-photo-layout > .spring-photo img { max-height:360px; }
.spring-photo-pair { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.5rem; margin-top:1.5rem; }
.spring-photo-pair img { aspect-ratio:16/9; max-height:280px; }
@media(max-width:640px) { .spring-photo-pair { grid-template-columns:1fr; } }
#p-press .press-layout { grid-template-columns:repeat(10,minmax(0,1fr)); gap:1.5rem; align-items:stretch; }
#p-press .press-layout > .press-feature { grid-column:span 6; }
#p-press .press-secondary .clip:first-child { grid-column:span 4; }
#p-press .press-secondary .clip:not(:first-child) { grid-column:span 5; }
#p-press .press-secondary .clip.press-sept19 { gap:1rem; }
#p-press .press-secondary .clip.press-sept19 .clip-go { margin-top:auto; }
#p-press .press-secondary { display:contents; }
#p-press .press-feature { align-self:stretch; grid-template-rows:auto 1fr; }
#p-press .press-feature-media,
#p-press .press-secondary .clip:first-child .press-story-image { height:clamp(200px,21vw,290px); aspect-ratio:auto; }
#p-press .press-secondary .clip:first-child .press-story-image { background:#286fba; }
#p-press .press-feature-copy .clip-go { align-self:end; }
#p-press .press-feature-copy { padding:1.5rem; }
#p-press .press-feature .clip-t { font-size:clamp(1.6rem,2.7vw,2.5rem); line-height:1.1; }
#p-press .press-secondary .clip { display:flex; flex-direction:column; align-items:stretch; gap:.85rem; padding:1.5rem; min-height:0; grid-column:auto; grid-row:auto; }
#p-press .press-secondary .clip .press-story-image { display:block; width:100%; height:auto; aspect-ratio:16/9; object-fit:contain; margin:0; }
#p-press .press-secondary .clip .clip-t { font-size:clamp(1.4rem,2.3vw,2rem); line-height:1.15; max-width:none; }
#p-press .press-secondary .clip .clip-go { display:block; white-space:normal; margin-top:auto; padding-top:.25rem; }
#p-press .press-secondary .clip:first-child { padding:0; gap:0; }
#p-press .press-secondary .clip:first-child > span { margin-inline:1.5rem; }
#p-press .press-secondary .clip:first-child .clip-src { margin-top:1.5rem; }
#p-press .press-secondary .clip:first-child .clip-t { margin-top:.85rem; margin-bottom:.85rem; font-size:clamp(1.6rem,2.7vw,2.5rem); }
#p-press .press-secondary .clip:first-child .clip-go { margin-bottom:1.5rem; }
#p-press .press-secondary .clip:not(:first-child) .press-story-image { width:100%; max-width:100%; aspect-ratio:16/9; object-fit:cover; }
#p-press .press-secondary .clip:nth-child(2) { display:grid; grid-template-columns:minmax(0,2fr) minmax(0,3fr); gap:.85rem 1.25rem; }
#p-press .press-secondary .clip:nth-child(2) .press-story-image { grid-column:1; grid-row:1 / 4; height:100%; min-height:190px; aspect-ratio:auto; }
#p-press .press-secondary .clip:nth-child(2) > span { grid-column:2; }
#p-press .press-secondary .clip:not(:first-child) .clip-t { font-size:clamp(1.3rem,1.9vw,1.65rem); }
@media(max-width:640px) {
 #p-press .press-layout { grid-template-columns:1fr; }
 #p-press .press-layout > .press-feature,
 #p-press .press-secondary .clip:first-child,
 #p-press .press-secondary .clip:not(:first-child) { grid-column:1; }
 #p-press .press-feature-media,
 #p-press .press-secondary .clip:first-child .press-story-image { height:auto; aspect-ratio:16/9; }
 #p-press .press-secondary .clip:nth-child(2) { display:flex; }
 #p-press .press-secondary .clip:nth-child(2) .press-story-image { height:auto; min-height:0; aspect-ratio:16/9; }
}
.foot-legal { display:grid; grid-template-columns:auto minmax(0,1fr); align-items:baseline; gap:.75rem 1.5rem; }
.foot-legal > .footer-legal-copy { grid-column:1 / -1; }
.foot-legal > .footer-address { justify-self:end; text-align:right; max-width:none; }
@media(max-width:600px) {
 .foot-legal { grid-template-columns:1fr; }
 .foot-legal > .footer-address { justify-self:start; text-align:left; }
}
#p-model .model-ecosystem.sept19-ecosystem { display:block; }
#p-model .sept19-ecosystem > .model-prose { max-width:78ch; margin:0 0 2rem; }
.sept19-theory { margin-top:2rem; }
.sept19-diagram { margin:0; }
.sept19-diagram > img { display:block; width:100%; max-width:100%; height:auto; object-fit:contain; }
.sept19-diagram figcaption { margin-top:1rem; }
.sept19-diagram a { color:var(--plum); text-underline-offset:.2em; }
.diagram-text { margin:1rem 0 2rem; border-block:1px solid #b7c8d7; }
.diagram-text summary { cursor:pointer; padding:1rem 0; color:var(--plum); font-weight:600; }
.diagram-text > div { padding:0 0 1.5rem; max-width:78ch; line-height:1.7; }
.diagram-text h3 { font-family:var(--sans); font-size:1.15rem; margin:1.5rem 0 .5rem; }
.diagram-text p { margin:.75rem 0; }
.mentor-evidence { margin-top:clamp(2rem,4vw,3rem); }
.mentor-results { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin:0; }
.mentor-results > div { padding:1.5rem 1.75rem; border-inline-start:1px solid #b7c8d7; }
.mentor-results > div:first-child { padding-inline-start:0; border:0; }
.mentor-results dt { color:#365f79; font-family:var(--sans); font-size:clamp(2.8rem,5vw,4.5rem); line-height:1.1; margin-bottom:1rem; }
.mentor-results dd { margin:0; font-size:1.05rem; line-height:1.65; }
.mentor-testimonials { display:grid; gap:1.5rem; margin:2rem 0; }
.mentor-testimonial { margin:0; padding:clamp(1.5rem,3vw,2.5rem); background:#faf5e7; border-left:3px solid #60265f; }
.mentor-testimonial blockquote { margin:0; }
.mentor-testimonial blockquote p { margin:0; max-width:76ch; font-family:var(--serif); font-size:clamp(1.3rem,2vw,1.65rem); line-height:1.55; }
.mentor-testimonial blockquote p::before { content:'“'; }
.mentor-testimonial blockquote p::after { content:'”'; }
.mentor-testimonial figcaption { margin-top:1rem; font-size:1rem; color:#60265f; font-weight:600; }
.mentor-testimonial.with-photo { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,2fr); gap:clamp(1.5rem,3vw,2.5rem); align-items:center; }
.mentor-testimonial.with-photo img { display:block; width:100%; height:auto; aspect-ratio:4/5; object-fit:cover; object-position:50% 40%; border-radius:2px 2px 2rem 2px; }
.mentor-testimonial.with-photo .zona-st-pierre { object-position:38% 45%; }
.mentor-testimonial .mentor-caption { margin:0; color:var(--ink); font-weight:400; }
.mentor-attribution { margin:1rem 0 0; color:#60265f; font-size:1rem; font-weight:600; }
.pending-download-section { padding:0 0 clamp(2rem,4vw,3rem); background:var(--paper); }
.pending-download { display:flex; justify-content:space-between; align-items:center; gap:1rem; padding:1.25rem 0; border-block:1px solid #b7c8d7; font-size:clamp(1.05rem,1.6vw,1.25rem); color:#60265f; }
.download-status { flex:none; font-family:var(--sans); font-size:.85rem; color:#5e5362; }
.candid-seal-link { display:block; width:fit-content; max-width:100%; margin-top:1rem; }
.foot-brand .candid-seal-link .footer-candid { margin:0; width:112px; height:auto; }
.candid-fallback { display:block; max-width:18ch; font-size:.85rem; }
.candid-seal-link.seal-loaded .candid-fallback { display:none; }
.candid-seal-link.seal-failed .footer-candid { display:none; }
@media(max-width:760px) {
 .mentor-results { grid-template-columns:1fr; }
 .mentor-results > div,.mentor-results > div:first-child { padding:1.25rem 0; border:0; border-bottom:1px solid #b7c8d7; }
 .mentor-results dt { margin-bottom:.5rem; }
 .pending-download { align-items:flex-start; flex-direction:column; gap:.5rem; }
 .mentor-testimonial.with-photo { grid-template-columns:1fr; }
}
