/* Editorial photography adds a human story without competing with the text. */
.story-intro{display:grid;grid-template-columns:1.06fr 1fr;gap:40px;align-items:center;padding-bottom:38px}
.story-intro-copy{min-width:0}.story-intro h1{font-size:clamp(2.1rem,3.7vw,3.4rem);max-width:19ch}
.story-photo{margin:0;overflow:hidden;min-width:0;position:relative;background:var(--dark)}
.story-photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.22,1,.36,1)}
.story-intro .story-photo img{height:320px;aspect-ratio:3/2}
.story-photo figcaption{position:relative;border-left:3px solid var(--orange);padding:11px 14px;font-size:.8rem;line-height:1.5;background:var(--dark)}
.story-photo-cleaning img{object-position:center 35%}.story-photo-students img{object-position:center 38%}
.story-photo-adviser img{object-position:center 30%}
.story-photo:hover img{transform:scale(1.025)}
.services-directory .resource-card{overflow:hidden}.service-photo{display:block;width:calc(100% + 48px);max-width:none;height:190px;object-fit:cover;margin:-24px -24px 20px}
.services-directory a[href="/cleaning/"] .service-photo{object-position:50% 35%}
.people-purpose{display:grid;grid-template-columns:1fr 1fr;gap:28px;padding-top:28px;padding-bottom:40px}
.purpose-card{display:grid;grid-template-columns:1fr;gap:0;border:1px solid var(--white);min-width:0}
.purpose-card .story-photo{height:230px}.purpose-card>div{padding:24px}.purpose-card h2{font-size:clamp(1.6rem,2.8vw,2.2rem)!important;margin:12px 0 16px;max-width:none}
.purpose-card p{font-size:.95rem}.purpose-card span{font-size:.9rem;color:var(--orange)}
.purpose-card:hover{border-color:var(--orange)}.purpose-card:hover img{transform:scale(1.025)}
.giving-story{display:grid;grid-template-columns:1fr 1fr;gap:42px;align-items:center;padding-bottom:40px}
.giving-story h1{font-size:clamp(2.2rem,3.6vw,3.5rem);max-width:18ch}
.giving-photo img{aspect-ratio:3/2;height:auto;object-position:50% 40%}
.giving-pledge{display:flex;align-items:center;gap:22px;border-top:1px solid var(--orange);border-bottom:1px solid var(--orange);padding:18px 0;margin:24px 0}
.giving-pledge>strong{font-size:clamp(3.5rem,7vw,5.5rem);letter-spacing:-.07em;line-height:1;color:var(--orange)}
.giving-pledge>span{font-size:.95rem;line-height:1.65}.giving-pledge b{font-size:.75rem;font-weight:500;color:var(--orange)}
.giving-next{display:grid;grid-template-columns:1fr 1fr;gap:42px;padding-top:8px}.giving-next h2{font-size:1.7rem!important;max-width:none}.giving-next p{font-size:1rem}
.giving-status{border-top:1px solid var(--white);padding-top:18px}.giving-status h2{font-size:1.2rem!important}.giving-status summary{font-size:.95rem;min-height:44px}.giving-status a{color:var(--orange);text-decoration:underline}
@media(max-width:800px){.story-intro,.giving-story{grid-template-columns:1fr;gap:18px}.story-intro h1,.giving-story h1{max-width:24ch}.story-intro .story-photo img{height:auto;aspect-ratio:16/10;max-height:350px}.giving-photo img{aspect-ratio:16/10;max-height:350px}.giving-next{grid-template-columns:1fr;gap:18px}.people-purpose{gap:20px}.purpose-card .story-photo{height:190px}.purpose-card>div{padding:20px}}
@media(max-width:560px){.people-purpose{grid-template-columns:1fr}.purpose-card .story-photo{height:auto;aspect-ratio:16/9}.story-intro h1,.giving-story h1{font-size:2.2rem}.story-intro,.giving-story{padding-bottom:24px}.service-photo{width:calc(100% + 40px);margin:-20px -20px 18px;height:190px}.giving-pledge{gap:20px;margin:20px 0}.giving-pledge>strong{font-size:4.2rem}.story-photo figcaption{font-size:.8rem}.giving-next{padding-top:0}}
@media(prefers-reduced-motion:reduce){.story-photo img{transition:none;transform:none!important}}
body.motion-paused .story-photo img{transition:none;transform:none!important}
