/* About page profiles and the relocated community image. */
#about-team { background: #fff; padding: 6rem 0 7rem; }
#about-team .contain { max-width: 120rem; }
#about-team .heading { text-align: center; margin-bottom: 4rem; }
#about-team .heading span { display: block; }
#about-team .team-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 3rem; align-items: start; }
#about-team .team-profile { min-width: 0; text-align: center; }
#about-team .team-portrait { display: block; width: 100%; max-width: 24rem; height: auto; aspect-ratio: 1; object-fit: cover; object-position: center 20%; border-radius: 50%; margin: 0 auto 1.6rem; }
#about-team h3 { color: #553b45; font-size: 1.9rem; font-weight: 700; line-height: 1.35; margin: 0 0 .4rem; }
#about-team .team-role { font-size: 1.6rem; line-height: 1.5; min-height: 4.8rem; margin: 0; }
#about-team .team-bio { margin-top: 1.4rem; }
#about-team summary { display: inline-flex; align-items: center; gap: .7rem; min-height: 4.4rem; padding: .6rem .3rem; font-size: 1.4rem; font-weight: 600; cursor: pointer; list-style: none; text-decoration: none; }
#about-team .bio-closed, #about-team .bio-open { text-decoration: underline; text-underline-offset: .3rem; }
#about-team summary::-webkit-details-marker { display: none; }
#about-team summary:focus-visible { outline: 2px solid #553b45; outline-offset: .4rem; border-radius: .3rem; }
#about-team .bio-arrow { color: #553b45; text-decoration: none; }
#about-team .bio-open, #about-team details[open] .bio-closed { display: none; }
#about-team details[open] .bio-open { display: inline; }
#about-team details[open] .bio-arrow { transform: rotate(-90deg); }
#about-team .team-bio-copy { text-align: left; font-size: 1.5rem; line-height: 1.65; padding: 1.4rem 0 0; overflow-wrap: anywhere; }
#about-team .team-bio-copy p:last-child { margin-bottom: 0; }
#about-team .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
#mission.about-mission { padding: 6rem 0 9rem; }
#mission .mission-layout { display: grid; grid-template-columns: minmax(24rem, 34rem) minmax(0, 1fr); gap: 7rem; align-items: center; }
#mission .mission-community-image img { display: block; width: 100%; height: auto; }
#mission .mission-statement + .mission-statement { margin-top: 3rem; }
#mission .mission-statement h3 { margin-bottom: 1.2rem; }
#mission .mission-statement p { margin-bottom: 0; }
@media (max-width: 1000px) {
    #about-team .team-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4rem 3rem; }
    #about-team .team-portrait { max-width: 26rem; }
    #about-team .team-role { min-height: 0; }
    #mission .mission-layout { gap: 4rem; grid-template-columns: minmax(20rem, 28rem) minmax(0, 1fr); }
}
@media (max-width: 600px) {
    #about-team { padding: 4rem 0 5rem; }
    #about-team .heading { margin-bottom: 3rem; }
    #about-team .team-grid { grid-template-columns: minmax(0, 1fr); gap: 3.5rem; }
    #about-team .team-portrait { max-width: 25rem; }
    #about-team h3 { font-size: 2rem; }
    #about-team .team-bio-copy { max-width: 40rem; margin: auto; font-size: 1.6rem; }
    #mission.about-mission { padding: 4rem 0 8rem; }
    #mission .mission-layout { grid-template-columns: minmax(0, 1fr); gap: 3rem; }
    #mission .mission-community-image { max-width: 27rem; margin: auto; }
}

/* Let the hills continue behind the footer, clipping at the page edge. */
.about-page-clip { overflow: hidden; }
