/* /about — scoped to .ab. Approved palette only: green #1D8A4A, cream #FAF6EC, amber #FFB627, dark #1F2D24 (plus tints). */
.ab{--g:#1D8A4A;--c:#FAF6EC;--a:#FFB627;--d:#1F2D24;--line:rgba(31,45,36,.14);--muted:rgba(31,45,36,.72);color:var(--d);display:grid;gap:0}
.ab *{box-sizing:border-box;min-width:0}
.ab h1,.ab h2,.ab h3,.ab p{margin:0}
.ab-hero{display:grid;grid-template-columns:1.15fr .85fr;gap:40px;align-items:center;padding:36px 0 52px}
.ab-eyebrow{display:inline-flex;padding:7px 12px;border-radius:999px;background:rgba(29,138,74,.1);color:var(--g);font-size:.78rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;margin-bottom:14px}
.ab-eyebrow-dark{background:rgba(250,246,236,.14);color:var(--c)}
.ab h1{font-size:clamp(2.2rem,7vw,4.4rem);line-height:1;letter-spacing:-.05em;margin-bottom:18px}
.ab h1 span{color:var(--g)}
.ab-lede{font-size:clamp(1.02rem,2.2vw,1.2rem);color:var(--muted);max-width:640px}
.ab-actions{margin-top:22px!important;display:flex;flex-wrap:wrap;gap:12px 18px;align-items:center}
.ab-link{font-weight:800;color:var(--g)}
.ab-stat{background:#fff;border:1px solid var(--line);border-radius:26px;padding:28px;box-shadow:0 14px 40px rgba(31,45,36,.08)}
.ab-stat-number{font-size:clamp(2.6rem,9vw,4.4rem);font-weight:900;line-height:1;letter-spacing:-.05em;color:var(--g);margin-bottom:10px!important}
.ab-stat p:last-child{color:var(--muted)}
.ab-band{background:rgba(255,255,255,.72);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:0 calc(50% - 50vw);padding:56px calc(50vw - 50%)}
.ab-section{padding:56px 0}
.ab-head{max-width:760px;margin-bottom:28px}
.ab-head h2{font-size:clamp(1.8rem,4.6vw,3rem);line-height:1.05;letter-spacing:-.04em;margin-bottom:14px}
.ab-head p:not(.ab-eyebrow){color:var(--muted);font-size:1.05rem}
.ab-grid{display:grid;gap:18px}
.ab-grid-2{grid-template-columns:1fr 1fr}
.ab-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.ab-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:24px}
.ab-card h3{font-size:1.15rem;letter-spacing:-.02em;margin-bottom:8px}
.ab-card p{color:var(--muted)}
.ab-card-hi{background:var(--g);border-color:var(--g)}
.ab-card-hi p{color:rgba(250,246,236,.88)}
.ab-quote{font-size:clamp(1.4rem,3vw,2rem)!important;line-height:1.2;font-weight:800;letter-spacing:-.03em;margin-bottom:14px!important;color:var(--c)!important}
.ab-plan{position:relative;overflow:hidden;padding-top:30px}
.ab-plan::before{content:"";position:absolute;inset:0 0 auto 0;height:5px;background:var(--a)}
.ab-kicker{font-size:.75rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--g)!important;margin-bottom:8px!important}
.ab-plan h3{font-size:1.45rem}
.ab-note{margin-top:22px!important;padding:14px 18px;border:1px dashed rgba(29,138,74,.4);border-radius:14px;background:rgba(29,138,74,.06);color:var(--g);font-weight:800}
.ab-promise{display:grid;grid-template-columns:.95fr 1.05fr;gap:28px;align-items:center}
.ab-promise-box{background:var(--d);color:var(--c);border-radius:26px;padding:34px}
.ab-promise-box h2{font-size:clamp(1.8rem,4.4vw,2.9rem);line-height:1.05;letter-spacing:-.04em;margin-bottom:14px}
.ab-promise-box p:not(.ab-eyebrow){color:rgba(250,246,236,.8)}
.ab-checks{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.ab-checks li{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px 18px 16px 52px;position:relative}
.ab-checks li::before{content:"\2713";position:absolute;left:16px;top:16px;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:rgba(29,138,74,.12);color:var(--g);font-weight:900}
.ab-checks strong{display:block;margin-bottom:2px}
.ab-checks span{color:var(--muted);font-size:.95rem}
.ab-cta{margin:20px auto 40px;max-width:880px;text-align:center;padding:48px 24px;border-radius:32px;background:radial-gradient(circle at top right,rgba(255,182,39,.32),transparent 16rem),var(--g);color:var(--c)}
.ab-cta h2{font-size:clamp(2rem,6vw,3.8rem);line-height:1;letter-spacing:-.05em;margin-bottom:14px}
.ab-cta p{max-width:620px;margin:0 auto 20px;color:rgba(250,246,236,.9)}
.ab-cta .ab-cta-btn{background:var(--c);color:var(--g)!important}
@media(max-width:850px){.ab-hero,.ab-grid-2,.ab-grid-3,.ab-promise{grid-template-columns:1fr}.ab-hero{gap:26px;padding:26px 0 40px}.ab-band{padding-top:42px;padding-bottom:42px}.ab-section{padding:42px 0}}
@media(max-width:520px){.ab-card,.ab-stat,.ab-promise-box{padding:20px}.ab-cta{padding:38px 18px;border-radius:24px}}
