/* About page layout (ab- prefix). */
.ab{--line:#e5e1d6;--cream:#f2efe7;--navy:#2b4f7a;--deep:#173759;--muted:#555;--gold:#c9a876;--gold-ink:#8a6d2e}
.ab section{padding:72px 0}
.ab .ab-k{text-transform:uppercase;letter-spacing:.1em;font-size:13px;font-weight:600;color:var(--gold-ink)}
.ab .ab-center{text-align:center}
.ab .ab-lead{color:var(--muted);max-width:60ch}
.ab .ab-center .ab-lead{margin-left:auto;margin-right:auto}
.ab-btn{display:inline-flex;align-items:center;gap:8px;font-weight:500;font-size:16px;text-decoration:none;padding:13px 24px;border-radius:2px;transition:background-color .15s}
.ab-btn-navy{background:var(--navy);color:#fff}.ab-btn-navy:hover{background:#4a7fa5;color:#fff}
.ab-btn-light{background:#fff;color:var(--navy)}.ab-btn-light:hover{background:var(--cream);color:var(--navy)}

.ab-hero{background:var(--cream);border-bottom:1px solid var(--line)}
.ab-hero .container-wide{display:grid;grid-template-columns:1.25fr 1fr;gap:56px;align-items:center}
.ab-hero h1{font-size:clamp(34px,4.8vw,50px);line-height:1.1;margin:14px 0 18px}
.ab-hero .ab-lead{font-size:18.5px;margin:0 0 28px}
.ab-creds{background:#fff;border:1px solid var(--line);padding:28px 28px 8px}
.ab-creds h2{font-family:inherit;font-size:15px;line-height:1.4;text-transform:uppercase;letter-spacing:.1em;color:var(--gold-ink);margin:0 0 6px}
.ab-creds dl{margin:0}
.ab-creds dl>div{display:grid;grid-template-columns:96px 1fr;gap:16px;align-items:baseline;padding:16px 0;border-top:1px solid var(--line)}
.ab-creds dl>div:first-child{border-top:0}
.ab-creds dt{font-family:Georgia,Cambria,"Times New Roman",Times,serif;font-weight:700;font-size:30px;color:var(--navy);line-height:1;font-variant-numeric:tabular-nums}
.ab-creds dd{margin:0;color:var(--muted);font-size:15.5px}

.ab-story .container-wide{display:grid;grid-template-columns:1fr 1.15fr;gap:56px;align-items:center}
.ab-gap{border:1px solid var(--line);background:#fff}
.ab-gap>div{padding:22px 24px;border-top:1px solid var(--line)}
.ab-gap>div:first-child{border-top:0}
.ab-gap b{display:block;font-family:Georgia,Cambria,"Times New Roman",Times,serif;color:var(--navy);font-size:19px;margin-bottom:2px}
.ab-gap span{color:var(--muted);font-size:15.5px}
.ab-gap .ab-us{background:var(--navy);border-top:0}
.ab-gap .ab-us b{color:#fff}.ab-gap .ab-us span{color:rgba(242,239,231,.9)}
.ab-story h2{font-size:clamp(30px,3.6vw,40px);margin:10px 0 16px}
.ab-story p{color:var(--muted);margin:0 0 14px;line-height:1.65}

.ab-team{background:var(--cream)}
.ab-team h2,.ab-values h2{font-size:clamp(28px,3.6vw,40px);margin:10px 0 12px}
.ab-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:40px}
.ab-card{background:#fff;border:1px solid var(--line);padding:28px;min-width:0}
.ab-card .ab-top{display:flex;align-items:center;gap:16px;margin-bottom:16px}
.ab-mono{width:64px;height:64px;flex:none;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;font-family:Georgia,Cambria,"Times New Roman",Times,serif;font-weight:700;font-size:22px;letter-spacing:.02em}
.ab-card h3{font-size:22px;font-weight:700;margin:0;line-height:1.2}
.ab-role{color:var(--gold-ink);font-size:14.5px;font-weight:500;line-height:1.4}
.ab-card hr{border:0;border-top:2px solid var(--gold);width:36px;margin:0 0 14px}
.ab-card p{margin:0;color:var(--muted);font-size:15.5px}

.ab-vals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:40px;border-top:1px solid var(--line)}
.ab-vals>div{display:grid;grid-template-columns:56px minmax(0,1fr);gap:16px;padding:28px 24px;border-left:1px solid var(--line);min-width:0}
.ab-vals>div:first-child{border-left:0}
.ab-ico{width:56px;height:56px;border-radius:50%;background:var(--cream);display:grid;place-items:center;color:var(--navy)}
.ab-ico svg{width:26px;height:26px}
.ab-vals h3{font-size:20px;font-weight:700;margin:4px 0 6px}
.ab-vals p{margin:0;color:var(--muted);font-size:15.5px}

.ab-cta{background:var(--deep);color:#fff}
.ab-cta .container-wide{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:28px}
.ab-cta .ab-k{color:var(--gold)}
.ab-cta h2{color:#fff;font-size:clamp(32px,4vw,44px);margin:8px 0}
.ab-cta p{margin:0;color:rgba(242,239,231,.9);max-width:44ch}
.ab-reach{display:flex;flex-direction:column;gap:12px;min-width:0}
.ab-reach a.ab-line,.ab-reach .ab-line{display:flex;align-items:center;gap:10px;color:rgba(242,239,231,.95);font-size:16px;text-decoration:none}
.ab-reach a.ab-line:hover{color:#fff;text-decoration:underline}
.ab-reach svg{width:20px;height:20px;flex:none;color:var(--gold)}
.ab-reach .ab-area{font-size:14px;color:rgba(242,239,231,.75)}
.ab :focus-visible{outline:3px solid #4a7fa5;outline-offset:3px}
.ab-cta :focus-visible{outline-color:var(--gold)}

@media (max-width:900px){
  .ab section{padding:56px 0}
  .ab-hero .container-wide,.ab-story .container-wide{grid-template-columns:1fr;gap:32px}
  .ab-story .ab-gap{order:2}
  .ab-cards{grid-template-columns:1fr}
  .ab-vals{grid-template-columns:1fr}
  .ab-vals>div{border-left:0;border-top:1px solid var(--line);padding-left:0;padding-right:0}
  .ab-vals>div:first-child{border-top:0}
}
@media (max-width:420px){.ab-creds{padding:22px 20px 6px}.ab-creds dl>div{grid-template-columns:76px 1fr}.ab-creds dt{font-size:26px}}
