/* About page: follows the homepage's navy, mint, and illustrated visual language. */
.about-hero { position:relative; overflow:hidden; background:#111d35; color:#fff; }
.about-hero::before { content:''; position:absolute; inset:0; background:radial-gradient(ellipse at 75% 35%,rgba(67,163,165,.14),transparent 55%); pointer-events:none; }
.about-hero-layout { position:relative; display:grid; grid-template-columns:1fr .9fr; align-items:center; gap:64px; min-height:420px; padding:48px 0; }
.about-hero .eyebrow { color:#a9efd9; }
.about-hero h1 { color:#fff; font-size:clamp(3rem,5vw,4.5rem); line-height:1.08; margin:0 0 20px; }
.about-hero-copy > p { color:#c6d5e5; font-size:1.08rem; margin:0 0 28px; }
.about-hero .breadcrumb { margin:0; }
.about-hero .breadcrumb-item,.about-hero .breadcrumb-item.active { color:#d4e1e9; }
.about-hero .breadcrumb-item a { color:#a9efd9; }
.about-hero .breadcrumb-item + .breadcrumb-item::before { color:#90a6b9; }
.about-hero-art { max-width:360px; justify-self:center; width:100%; position:relative; }
.about-hero-art::after { content:''; position:absolute; inset:13px -13px -13px 13px; border:1px solid #a9efd933; border-radius:22px; pointer-events:none; }
.about-hero-art img { display:block; width:100%; aspect-ratio:1; object-fit:cover; border-radius:22px; }
.about-story .row { --bs-gutter-y:34px; }
.about-story-art { position:relative; max-width:500px; padding:0 22px 22px 0; }
.about-story-image { display:block; width:100%; aspect-ratio:1.12; object-fit:cover; border-radius:18px; }
.about-story-badge { position:absolute; left:18px; top:18px; display:flex; align-items:center; gap:12px; padding:13px 17px; border:1px solid #e0e8ed; border-radius:12px; background:white; box-shadow:0 12px 32px #111d3515; }
.about-story-badge strong { color:#147d79; font-size:2.5rem; line-height:1; letter-spacing:-.06em; }
.about-story-badge span { color:#43536a; font-size:.8rem; line-height:1.5; font-weight:700; }
.about-story-lead { color:#147d79; font-weight:700; font-size:1.04rem; }
.about-story p { max-width:59ch; }
.about-approach-title { margin:24px 0 10px; font-size:1rem; letter-spacing:-.02em; }
.about-approach-list { list-style:none; margin:0; padding:0; }
.about-approach-list li { display:flex; align-items:flex-start; gap:13px; padding:10px 0; border-bottom:1px solid #e5ebf1; font-size:.9rem; line-height:1.6; }
.about-approach-list i { display:inline-flex; align-items:center; justify-content:center; flex:none; width:22px; height:22px; margin-top:1px; border-radius:50%; background:#e7f5f1; color:#147d79; font-size:.6rem; }
.about-call { display:flex; align-items:center; gap:12px; margin-top:20px; }
.about-call > div { display:flex; flex-direction:column; gap:2px; }
.about-call span:not(.contact-illustration-icon) { color:#65758a; font-size:.72rem; }
.about-call a { color:#09635f; font-weight:800; text-decoration:none; }
.about-impact { padding-top:0; }
.about-impact-panel { display:grid; grid-template-columns:1fr 1fr; gap:64px; padding:42px; border-radius:22px; background:radial-gradient(ellipse at 100% 0%,#253d54 0%,#111d35 65%); }
.about-impact .eyebrow { color:#a9efd9; }
.about-impact .section-title { color:white; font-size:clamp(1.9rem,3vw,2.4rem); }
.about-impact-copy p { color:#c4d0df; font-size:.94rem; max-width:55ch; }
.about-impact .btn-x--accent { margin-top:8px; background:#a9efd9; color:#111d35; }
.about-impact .btn-x--accent:hover { background:#d1faec; }
.about-impact-stats { display:grid; grid-template-columns:1fr 1fr; gap:0; }
.about-stat { display:flex; flex-direction:column; padding:18px 22px; border-left:1px solid #ffffff20; }
.about-stat:nth-child(n+3) { border-top:1px solid #ffffff20; }
.about-stat i { color:#a9efd9; font-size:1rem; margin-bottom:12px; }
.about-stat strong { color:white; font-family:var(--f-head); font-size:clamp(2.25rem,3vw,3rem); letter-spacing:-.06em; line-height:1.1; }
.about-stat span { color:#c4d0df; font-size:.8rem; margin-top:6px; }
.about-team { background:#f5f8fa; border-top:1px solid #e9eff3; }
.about-team .section-head { max-width:750px; margin-left:0; text-align:left; }
.about-team .section-head .eyebrow::after { display:none; }
.about-person { display:flex; align-items:center; gap:12px; height:100%; padding:16px; border:1px solid #e0e8ed; border-radius:14px; background:white; }
.about-person img { width:56px; height:56px; flex:none; border-radius:50%; object-fit:cover; background:#eef4f5; }
.about-person h3 { margin:0 0 5px; font-size:.9rem; letter-spacing:-.02em; white-space:nowrap; }
.about-person p { margin:0; color:#65758a; font-size:.75rem; line-height:1.5; }
@media (min-width:576px) and (max-width:1199.98px) { .about-team .row > .col-lg-3 { width:50%; } }
@media (max-width:991.98px) { .about-hero-layout { gap:28px; min-height:0; } .about-impact-panel { gap:28px; } }
@media (max-width:767.98px) { .about-hero-layout { grid-template-columns:1fr; padding:42px 0; } .about-hero-art { max-width:260px; justify-self:start; } .about-impact-panel { grid-template-columns:1fr; padding:30px; } }
@media (max-width:575.98px) { .about-hero h1 { font-size:2.7rem; } .about-hero-art { max-width:210px; } .about-story-art { padding:0 14px 14px 0; } .about-story-badge { padding:10px 12px; } .about-story-badge strong { font-size:2rem; } .about-impact-panel { padding:24px; } .about-stat { padding:16px 10px; } .about-person { padding:16px; } }
