/* About page: a photographic team ledger, using the shared site palette and type. */
.about-page{--about-gap:clamp(24px,3vw,48px);--about-section:clamp(64px,8vw,128px)}
.about-intro{padding:clamp(48px,7vw,96px) var(--gutter) clamp(48px,6vw,80px)}
.about-intro__label{font-size:16px;font-weight:600;color:var(--blue);margin-bottom:32px}
.about-intro__grid{display:grid;gap:32px}
.about-intro .h1{max-width:15ch;font-size:clamp(2.6rem,5.8vw,5rem);line-height:1.03;font-weight:600;letter-spacing:-.04em}
.about-intro__copy{display:grid;gap:24px;align-content:end;max-width:52ch}
.about-intro__copy>p:last-child{color:var(--muted);font-size:16px;line-height:1.6;text-wrap:pretty}
.about-team{padding:0 var(--gutter) var(--about-section)}
.about-section-heading{display:grid;gap:24px;padding-block:24px 36px;justify-items:center;text-align:center}
.about-section-heading .h2{max-width:none;scroll-margin-top:88px}
.about-section-heading>p{font-size:16px;line-height:1.5;color:var(--muted)}
.team-grid{display:grid;gap:56px var(--about-gap);max-width:1180px;margin-inline:auto;justify-items:center}
.team-profile{min-width:0;width:100%;max-width:300px;text-align:center}
.team-profile__portrait{width:100%;max-width:180px;height:auto;aspect-ratio:1;object-fit:cover;object-position:center;margin-inline:auto;border-radius:50%;background:var(--wash)}
.team-profile__portrait--rohan{object-position:center top}
.team-profile__portrait-frame{position:relative;width:100%;max-width:180px;aspect-ratio:1;overflow:hidden;margin-inline:auto;border-radius:50%;background:var(--wash)}
.team-profile__portrait-frame .team-profile__portrait{position:absolute;top:0;left:50%;width:150%;max-width:none;height:auto;aspect-ratio:auto;margin:0;border-radius:0;transform:translateX(-50%)}
.team-profile__heading{padding-top:16px}
.team-profile h3{font-size:clamp(1.25rem,1.65vw,1.5rem);line-height:1.18;letter-spacing:-.025em;font-weight:600;text-wrap:balance}
.team-profile__role{font-size:16px;line-height:1.5;color:var(--blue);margin-top:8px;font-weight:500}
.team-profile__social{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;margin-top:8px;border-radius:var(--radius);color:var(--blue)}
.team-profile__social:hover{color:var(--blue-hover)}
.team-profile__social svg{width:40px;height:40px}
.about-purpose{display:grid;gap:24px;padding:clamp(48px,6vw,96px) var(--gutter) var(--about-section)}
.about-purpose__label{font-size:16px;font-weight:600;color:var(--blue)}
.about-purpose__content{display:grid;gap:24px;max-width:65ch}
.about-purpose__content .h2{max-width:22ch}
.about-purpose__content p{font-size:18px;line-height:1.6;color:var(--muted);text-wrap:pretty}
.about-purpose__content .text-link{gap:12px;justify-self:start;margin-top:8px}
.about-end{margin-inline:0;background:var(--navy);color:var(--on-navy)}
.about-end :focus-visible{outline-color:var(--on-navy)}
.about-end .end__cta{padding-inline:var(--gutter)}
.about-end .footer{padding-inline:var(--gutter)}
.about-end .end__cta>p{max-width:45ch}
@media(min-width:600px){.team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:880px){
  .about-intro__grid{grid-template-columns:7fr 5fr;gap:var(--about-gap)}
  .about-section-heading{padding-block:32px 44px}
  .about-purpose{grid-template-columns:4fr 8fr;gap:var(--about-gap)}
}
@media(min-width:1024px){
  .team-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(16px,2.5vw,40px)}
  .team-profile{display:flex;flex-direction:column;align-items:center}
  .team-profile__heading{min-height:82px}
  .team-profile h3{font-size:clamp(18px,1.4vw,21px)}
}
