/* Only About Us composition; the existing interior shell owns brand and motion. */
.about-wrap { max-width:1000px; }
.about-welcome { max-width:720px; margin:0 auto 58px; text-align:center; }
.about-welcome h2 { font-size:clamp(34px,4vw,46px); margin:0 0 23px; }
.about-welcome p { font-size:19px; line-height:1.8; margin:0; }
.family-stories { border-top:1px solid var(--sand); }
.family-member { display:grid; grid-template-columns:150px minmax(0,1fr); column-gap:42px; padding:42px 0; }
.family-member + .family-member { border-top:1px solid var(--sand); }
.family-heading h3 { font:36px/1.2 var(--serif); color:var(--teal); letter-spacing:-.025em; margin:4px 0 0; }
.family-heading h3::after { content:''; display:block; width:34px; height:2px; background:var(--wheat); margin-top:18px; }
.member-copy { padding:0; }
.member-copy p { margin:0; }
.about-family { padding-bottom:62px; }
.about-purpose { padding-block:76px 88px; }
.purpose-panel { padding:48px 66px 52px; background:linear-gradient(135deg,#7fa8a615,#fff9); border:1px solid #7fa8a640; border-radius:8px; box-shadow:0 12px 36px #214e5608; }
.purpose-panel .story-heading { text-align:center; margin-bottom:32px; }
.purpose-panel h2 { font-size:clamp(32px,3.7vw,44px); margin:0; }
.purpose-copy { padding:0; }
.purpose-copy p { margin:0 0 24px; }
.purpose-copy .purpose-connection { font:25px/1.5 var(--serif); color:var(--teal); margin-block:32px; }
.purpose-copy .purpose-name { margin:0; padding-top:28px; border-top:1px solid #7fa8a659; }
.purpose-name strong { color:var(--teal); font-weight:700; }
/* A real figure can later sit beside .member-copy; no empty media slot is needed. */
@media(max-width:760px) {
  .about-welcome { margin-bottom:38px; }
  .about-welcome p { font-size:17px; }
  .family-member { grid-template-columns:1fr; gap:22px; padding-block:32px; }
  .about-page .member-copy { grid-row:auto; }
  .family-heading h3 { font-size:31px; }
  .family-heading h3::after { margin-top:12px; }
  .about-family { padding-bottom:34px; }
  .about-purpose { padding-block:44px 52px; }
  .purpose-panel { padding:32px 24px; }
  .purpose-copy .purpose-connection { font-size:23px; }
}
@media(max-width:380px) { .purpose-panel { padding-inline:18px; } }
