.impact-map-layout { display:grid; grid-template-columns:minmax(0, 2fr) minmax(220px, 1fr); gap:32px; align-items:stretch; margin-top:32px; text-align:left; }
.impact-map-layout .chapter-map { height:430px; }
.impact-actions { display:flex; flex-direction:column; justify-content:center; gap:18px; }
.impact-actions .cta-button { display:flex; justify-content:space-between; align-items:center; padding:23px 25px; font-size:1.05rem; }
.community-section { padding:72px 0; overflow:hidden; background:var(--gray-50); }
.community-heading,.latest-heading { display:flex; justify-content:space-between; gap:24px; align-items:center; margin-bottom:32px; }
.community-heading h2,.latest-heading h2 { margin:0; text-align:left; }
.community-section { --community-visible:3; }
.community-carousel { display:grid; grid-template-columns:42px minmax(0,1fr) 42px; align-items:center; gap:16px; }
.community-window { min-width:0; }
.community-group { display:grid; grid-template-columns:repeat(var(--community-visible),minmax(0,1fr)); gap:24px; }
.community-quote { min-width:0; margin:0; padding:28px; background:white; border:1px solid var(--gray-200); border-top:4px solid var(--primary); border-radius:16px; display:flex; flex-direction:column; animation:community-enter .2s ease-out; }
.community-quote[hidden] { display:none; }
.community-arrow { width:42px; height:42px; padding:0; border:1px solid var(--gray-300); border-radius:50%; background:white; color:var(--primary); cursor:pointer; display:grid; place-items:center; font:inherit; font-size:30px; line-height:1; transition:background .2s,border-color .2s; }
.community-arrow:hover { background:var(--primary-muted); border-color:var(--primary); }
.community-arrow:focus-visible,.community-dot:focus-visible { outline:3px solid var(--primary); outline-offset:4px; }
.community-dots { display:flex; justify-content:center; gap:4px; margin-top:24px; }
.community-dot { display:grid; place-items:center; width:32px; height:32px; padding:0; border:0; background:none; cursor:pointer; }
.community-dot::before { content:''; width:9px; height:9px; border-radius:50%; background:var(--gray-300); transition:background .2s,transform .2s; }
.community-dot[aria-current="true"]::before { background:var(--primary); transform:scale(1.2); }
.community-status { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
@keyframes community-enter { from { opacity:.4; transform:translateY(6px); } to { opacity:1; transform:translateY(0); } }
@media(max-width:1099px) { .community-section { --community-visible:2; } }
@media(max-width:699px) { .community-section { --community-visible:1; } .community-carousel { grid-template-columns:1fr 1fr; gap:20px 16px; } .community-window { grid-column:1/-1; grid-row:1; } #community-prev { grid-column:1; grid-row:2; justify-self:end; } #community-next { grid-column:2; grid-row:2; justify-self:start; } }
.community-quote p { font-size:1rem; line-height:1.8; }
.community-quote footer { margin-top:auto; padding:24px 0 0; background:none; color:var(--gray-900); border:0; }
.community-quote cite { font-style:normal; font-weight:700; display:block; }
.community-quote footer span { display:block; margin-top:6px; color:var(--gray-600); font-size:.8rem; }
.home-latest { padding:72px 0; }
.home-stories-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.home-stories-grid .blog-card { min-width:0; max-width:none; }
.home-stories-grid .blog-card h3 { font-size:1.2rem; }
.partners-logos { gap:32px 40px; }
.partner-logo { width:140px; max-width:100%; height:85px; max-height:85px; border-radius:0; object-fit:contain; }
.partners-logos a { width:150px; display:grid; place-items:center; }
@media(max-width:768px) { .impact-map-layout { grid-template-columns:1fr; } .impact-map-layout .chapter-map { height:340px; } .impact-actions { display:grid; grid-template-columns:1fr 1fr; gap:12px; } .impact-actions .cta-button { padding:18px; font-size:.9rem; } .community-heading,.latest-heading { flex-wrap:wrap; } .community-quote { padding:24px; } .home-stories-grid { grid-template-columns:1fr; } }


@media(prefers-reduced-motion:reduce) { .community-quote { animation:none; } .community-dot::before,.community-arrow { transition:none; } }
