/* about page styles (ported). */
.a-hero{position:relative;overflow:hidden;color:#fff;background:radial-gradient(120% 130% at 82% 18%, #7a41ad 0%, #5d2f88 36%, #3c1c5c 76%, #281340 100%)}
  .a-hero .wrap{position:relative;z-index:3;padding-block:64px 30px}
  .a-hero h1{font-size:clamp(2.1rem,4.6vw,3.35rem);font-weight:800;letter-spacing:-.015em;line-height:1.06;margin:16px 0 0;text-transform:uppercase}
  .a-hero .lead{color:rgba(255,255,255,.82);font-size:1.1rem;line-height:1.7;margin:20px 0 0;max-width:64ch}
  .a-stats{position:relative;z-index:3;border-top:1px solid rgba(255,255,255,.16);display:grid;grid-template-columns:repeat(4,1fr)}
  .a-stats .item{padding:22px 26px}
  .a-stats .item:first-child{padding-left:0}
  .a-stats .item:last-child{padding-right:0}
  .a-stats .item + .item{border-left:1px solid rgba(255,255,255,.13)}
  .a-stats .num{font-family:var(--font-playfair),Georgia,serif;font-size:1.7rem;font-weight:600;color:#fff;display:block;line-height:1}
  .a-stats .num b{color:var(--orange);font-weight:600}
  .a-stats .lbl{font-size:.78rem;color:rgba(255,255,255,.62);margin-top:8px;line-height:1.4;display:block}

  .story-grid{display:grid;grid-template-columns:1fr 1.12fr;gap:46px;align-items:center}
  .story-grid img{width:100%;height:auto;border-radius:18px;border:1px solid var(--line);box-shadow:var(--shadow-lg);display:block}
  .story p{font-size:1.02rem;line-height:1.75;color:var(--ink);opacity:.9;margin:0 0 16px}

  .vm-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
  .vm{background:#fff;border:1px solid var(--line);border-radius:18px;padding:30px 28px;box-shadow:var(--shadow)}
  .vm .ic{color:var(--purple);margin-bottom:14px}
  .vm h3{font-size:1.15rem;margin:0 0 10px}
  .vm p{font-size:.96rem;color:var(--ink);opacity:.82;line-height:1.6;margin:0}

  .values{background:var(--purple-ink);color:#fff;position:relative;overflow:hidden}
  .values .sec-head p b{color:#fff}
  .val-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;position:relative;z-index:2}
  .val{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:22px 20px}
  .val .n{font-family:var(--font-playfair),Georgia,serif;color:var(--orange);font-size:.95rem;font-weight:700}
  .val h4{font-size:1.02rem;margin:8px 0 6px;color:#fff}
  .val p{font-size:.86rem;color:rgba(255,255,255,.72);line-height:1.5;margin:0}

  .team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
  .member{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:var(--shadow);transition:transform .3s var(--ease),box-shadow .3s}
  .member:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg)}
  /* portraits are 4:5 */
  .member .ph{aspect-ratio:4/5;background:linear-gradient(150deg,var(--lilac-soft),#e9e3f2);border-bottom:1px solid var(--line);overflow:hidden}
  .member .ph img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block;
    transition:transform .45s var(--ease)}
  .member:hover .ph img{transform:scale(1.035)}
  .member .body{padding:20px 22px}
  .member h4{font-size:1.1rem;margin:0 0 3px}
  .member .role{font-size:.86rem;color:var(--purple);font-weight:600;font-family:var(--font-playfair),Georgia,serif;font-style:italic}
  .member p{font-size:.88rem;color:var(--ink);opacity:.78;line-height:1.55;margin:12px 0 0}
  .member .org{font-size:.84rem;color:var(--muted);margin-top:3px}
  .member .tag-seed{display:inline-block;margin-top:12px;font-size:.64rem;font-weight:700;letter-spacing:.07em;
    text-transform:uppercase;color:var(--purple);background:var(--lilac-soft);border:1px solid var(--lilac-line);
    padding:4px 9px;border-radius:5px}

  .gov-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
  .gov{background:#fff;border:1px solid var(--line);border-radius:16px;padding:26px;box-shadow:var(--shadow);border-left:3px solid var(--purple)}
  .gov h3{font-size:1.1rem;margin:0 0 8px}
  .gov p{font-size:.94rem;color:var(--ink);opacity:.82;line-height:1.6;margin:0}

  .testi{background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
  .testi-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
  .quote{background:#fff;border:1px solid var(--line);border-radius:18px;padding:30px 30px;box-shadow:var(--shadow);position:relative}
  .quote .mk{font-family:var(--font-playfair),Georgia,serif;font-size:3rem;color:var(--lilac);line-height:.6;height:22px}
  .quote .metrics{display:flex;gap:26px;margin:0 0 16px}
  .quote .metrics .m .v{font-family:var(--font-playfair),Georgia,serif;font-size:1.7rem;font-weight:700;color:var(--purple);line-height:1}
  .quote .metrics .m .c{font-size:.76rem;color:var(--muted);margin-top:4px}
  .quote h3{font-size:1.12rem;margin:0 0 10px}
  .quote p{font-size:.95rem;color:var(--ink);opacity:.84;line-height:1.62;margin:0 0 16px}
  .quote .who{font-weight:600;color:var(--ink);font-size:.92rem;border-top:1px dashed var(--lilac-line);padding-top:14px}

  @media(max-width:960px){
    .story-grid,.vm-grid,.gov-grid,.testi-grid,.val-grid{grid-template-columns:1fr}
    .team-grid{grid-template-columns:1fr 1fr}
    .val-grid{grid-template-columns:1fr 1fr}
  }
  @media(max-width:720px){
    .a-stats{grid-template-columns:1fr 1fr}
    .a-stats .item + .item{border-left:none}
    .a-stats .item:nth-child(2n){border-left:1px solid rgba(255,255,255,.13)}
    .a-stats .item:nth-child(n+3){border-top:1px solid rgba(255,255,255,.13)}
    .team-grid,.val-grid{grid-template-columns:1fr}
  }
  @media(max-width:480px){
    .a-hero .wrap{padding-block:44px 24px}
    /* two columns of stats leaves ~150px each; stack them instead */
    .a-stats{grid-template-columns:1fr}
    .a-stats .item{padding:14px 2px}
    .a-stats .item:nth-child(2n){border-left:none}
    .a-stats .item + .item{border-top:1px solid rgba(255,255,255,.13)}
    .a-stats .num{font-size:1.45rem}
    .story-grid{gap:26px}
    .story p{font-size:.98rem}
    .vm,.gov,.quote{padding:22px 18px}
    .quote .metrics{gap:18px;flex-wrap:wrap}
    .quote .metrics .m .v{font-size:1.45rem}
    .member .body{padding:18px 16px}
    .val{padding:18px 16px}
  }
