.community-masthead{background:var(--blue);color:var(--white);overflow:hidden}
.community-hero{padding-block:clamp(3rem,7vw,7rem);display:grid;gap:2.5rem;align-items:center}
.community-hero h1{margin:0 0 1.75rem;font-size:clamp(4.5rem,11vw,11.5rem);font-weight:600;line-height:.88;letter-spacing:-.075em;color:inherit;max-width:7ch}
.community-intro-heading{font-size:clamp(1.15rem,2vw,1.5rem);line-height:1.5;max-width:27ch;margin-block:2rem}
.community-hero-photo{margin:0;aspect-ratio:1.05;overflow:hidden;clip-path:polygon(14% 0,100% 0,100% 86%,86% 100%,0 100%,0 14%)}
.community-hero-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:45% center}
.community-intro p,.community-building p,.community-fellows p,.community-donate p,.community-list{font-size:1rem;line-height:1.7}
.community-intro-text{display:grid;gap:2rem}
.community-intro-text p{margin:0;padding-top:1.25rem;border-top:1px solid var(--blue)}
.community-intro-text strong{display:block;color:var(--blue);font-size:1.8rem;line-height:1.2;margin-bottom:1rem;font-weight:500;letter-spacing:-.04em}
.community-intro-text .community-scroll{border:0;color:var(--blue);padding-top:0;font-size:1rem}
.community-building{border-top:1px solid var(--blue)}
.community-building-copy{display:grid;gap:1rem;margin-bottom:2rem}
.community-building h2{font-size:clamp(2.4rem,5vw,5.5rem);line-height:1.05;letter-spacing:-.06em;color:var(--blue);margin:0;max-width:12ch;font-weight:500}
.community-building p{margin:0;max-width:48ch}
.community-photo-rail .rail-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:1rem;padding-bottom:1rem}
.community-photo-rail .rail-panel{flex:0 0 86%;margin:0;scroll-snap-align:start;aspect-ratio:1.2;overflow:hidden}
.community-photo-rail .rail-panel img{width:100%;height:100%;display:block;object-fit:cover}
.community-photo-rail .rail-controls{display:flex;justify-content:flex-end;gap:.5rem;margin-bottom:1rem}
.community-photo-rail .rail-controls button{width:3rem;height:3rem;display:grid;place-items:center;border:1px solid var(--blue);background:var(--white);color:var(--blue);border-radius:50%;cursor:pointer}
.community-photo-rail .rail-controls button:hover{background:var(--blue);color:var(--white)}
.community-photo-rail [data-rail-prev] svg{transform:rotate(180deg)}
.community-ecosystem{border-top:1px solid var(--blue);max-width:none;min-width:0}
.community-section-heading{margin-bottom:2.5rem}
.community-section-heading .section-heading{font-size:clamp(2.8rem,6.3vw,6.5rem);line-height:1;letter-spacing:-.06em;font-weight:500;max-width:20ch;margin:0;color:var(--blue)}
.community-section-heading .page-kicker{margin:0 0 1.25rem;color:inherit;font-size:.875rem;letter-spacing:.08em}
.community-fellows{border-top:1px solid var(--blue)}
.community-fellow-intro{display:grid;gap:2rem;align-items:center}
.community-fellow-intro p{font-size:clamp(1.2rem,2.1vw,1.65rem);line-height:1.5;margin:0;max-width:44ch;letter-spacing:-.025em}
.community-fellow-intro img{width:100%;aspect-ratio:1.5;display:block;object-fit:cover;clip-path:polygon(10% 0,100% 0,100% 100%,0 100%,0 17%)}
.community-giving{display:grid;gap:2.5rem;margin-top:3.5rem}
.community-giving h3,.community-partner h3,.community-donate h3{font-size:1.5rem;font-weight:500;line-height:1.3;letter-spacing:-.03em;margin:0 0 1.25rem}
.community-list{padding:0;margin:0;list-style:none}
.community-list li{padding:1.25rem 0;border-top:1px solid currentColor}
.community-list strong{font-weight:600}
.community-list li:last-child{border-bottom:1px solid currentColor}
.community-people{margin-top:4.5rem;display:grid;gap:3rem}
.community-person{border-top:1px solid var(--blue);padding-top:2rem;display:grid;gap:2rem;align-content:start}
.community-person>img{width:100%;aspect-ratio:1.2;object-fit:cover;object-position:center 30%;display:block;clip-path:polygon(0 0,90% 0,100% 13%,100% 100%,0 100%)}
.community-person h3{font-size:clamp(1.8rem,2.8vw,3rem);line-height:1.1;color:var(--blue);margin:0 0 1.5rem;letter-spacing:-.045em;font-weight:500}
.community-person p{margin:0 0 1.25rem}
.community-person p:last-child{margin-bottom:0}
.community-person a{text-underline-offset:.2em}
.community-person .community-person-brand{display:block;object-fit:contain;object-position:left center;width:11rem;height:3rem;margin-bottom:1.5rem}
.community-partner{background:var(--blue);color:var(--white)}
.community-partner .section-heading{color:inherit}
.community-partner-layout{display:grid;gap:2rem;align-items:start}
.community-partner-layout>img{display:block;width:100%;aspect-ratio:1.15;object-fit:cover;clip-path:polygon(0 0,100% 0,100% 82%,82% 100%,0 100%)}
.community-partner .community-list{line-height:1.7}
.community-donate{display:grid;gap:1rem}
.community-donate-content>p{margin:2rem 0}
.community-donate .button,.community-hero .button{white-space:normal;text-align:left}
@media(min-width:720px){.community-hero{grid-template-columns:1.08fr 1fr;gap:2rem}.community-hero-photo{aspect-ratio:.78}.community-intro-text{grid-template-columns:repeat(3,1fr);gap:2rem}.community-intro-text .community-scroll{grid-column:1/-1}.community-building-copy{grid-template-columns:1fr 1fr;gap:4rem;align-items:end;margin-bottom:3rem}.community-photo-rail .rail-panel{flex-basis:66%;aspect-ratio:1.65}.community-giving{grid-template-columns:1.35fr 1fr;gap:clamp(3rem,8vw,8rem)}.community-people{grid-template-columns:1fr 1fr;gap:clamp(2rem,6vw,6rem)}.community-person>img{aspect-ratio:1.25}.community-partner-layout{grid-template-columns:1fr 1.25fr;gap:clamp(3rem,6vw,6rem)}.community-partner-layout>img{aspect-ratio:.7}.community-donate{grid-template-columns:1fr 1.1fr;gap:clamp(3rem,6vw,6rem)}}
@media(min-width:1100px){.community-fellow-intro{grid-template-columns:1fr 1fr;gap:6rem}.community-fellow-intro img{aspect-ratio:1.45}.community-partner .community-section-heading{display:grid;grid-template-columns:1fr 3fr;gap:6rem}.community-intro p,.community-building p,.community-fellows p,.community-donate p,.community-list{font-size:1.1rem}.community-fellow-intro p{font-size:1.6rem}.community-people{gap:7rem}.community-person:nth-child(2){margin-top:5rem}}
