/* ===== ABOUT PAGE (prefix ab-) ===== */
.ab-hero-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:40px;align-items:end}
.ab-hero-title{font-size:clamp(34px,5vw,58px);color:#fff;margin-top:20px}
.ab-hero-lead{color:#fff;font-size:18px;padding-bottom:8px}

/* intro editorial */
.ab-intro-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:50px}
.ab-bignum{font-family:'Plus Jakarta Sans';font-weight:800;font-size:64px;line-height:1;
  background:var(--ofsl-grad-3);-webkit-background-clip:text;background-clip:text;color:transparent;display:block;margin-bottom:12px}
.ab-intro-left h2{font-size:clamp(26px,3vw,38px)}
.ab-para{font-size:16.5px;color:var(--ofsl-ink-soft);margin-bottom:18px;max-width:60ch}
.ab-intro-stats{display:flex;gap:36px;margin-top:26px;flex-wrap:wrap}
.ab-intro-stats b{font-family:'Plus Jakarta Sans';font-weight:800;font-size:32px;color:var(--ofsl-ink);display:block;line-height:1}
.ab-intro-stats span{font-size:13px;color:var(--ofsl-muted)}

/* mission / vision */
.ab-mv-card{background:#fff;border:1px solid var(--ofsl-line);border-radius:var(--ofsl-r-lg);padding:38px;height:100%;
  transition:transform .35s var(--ofsl-ease),box-shadow .35s;position:relative;overflow:hidden}
.ab-mv-card:hover{transform:translateY(-6px);box-shadow:var(--ofsl-shadow)}
.ab-mv-card.alt{background:linear-gradient(160deg,#1a1440,#0f1430);border-color:transparent}
.ab-mv-card.alt h3{color:#fff}.ab-mv-card.alt p{color:#aeb6cc}
.ab-mv-ic{width:60px;height:60px;border-radius:18px;background:var(--ofsl-accent-soft);color:var(--ofsl-accent);
  display:grid;place-items:center;font-size:24px;margin-bottom:20px}
.ab-mv-card.alt .ab-mv-ic{background:var(--ofsl-grad);color:#fff}
.ab-mv-card h3{font-size:24px;margin-bottom:12px}
.ab-mv-card p{color:var(--ofsl-muted);font-size:15.5px}

/* what we do */
.ab-do-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}
.ab-do-copy .ofsl-eyebrow{margin-bottom:18px}
.ab-do-copy h2{margin-bottom:16px}
.ab-do-list{display:flex;flex-direction:column;gap:14px}
.ab-do-item{display:flex;gap:16px;background:#fff;border:1px solid var(--ofsl-line);border-radius:16px;padding:20px;
  transition:transform .3s var(--ofsl-ease),box-shadow .3s}
.ab-do-item:hover{transform:translateX(6px);box-shadow:var(--ofsl-shadow)}
.ab-do-item span{width:48px;height:48px;border-radius:13px;background:var(--ofsl-accent-soft);color:var(--ofsl-accent);
  display:grid;place-items:center;font-size:19px;flex:none}
.ab-do-item b{font-family:'Plus Jakarta Sans';font-size:16px;color:var(--ofsl-ink);display:block;margin-bottom:4px}
.ab-do-item p{font-size:14px;color:var(--ofsl-muted)}

/* timeline */
.ab-tl{max-width:820px;margin:0 auto;position:relative}
.ab-tl::before{content:"";position:absolute;left:23px;top:12px;bottom:12px;width:2px;background:var(--ofsl-line)}
.ab-tl-item{display:flex;gap:26px;margin-bottom:26px;position:relative}
.ab-tl-n{width:48px;height:48px;border-radius:14px;background:var(--ofsl-grad);color:#fff;flex:none;
  display:grid;place-items:center;font-family:'Plus Jakarta Sans';font-weight:800;font-size:15px;
  box-shadow:0 0 0 6px var(--ofsl-soft);position:relative;z-index:2}
.ab-tl-c{background:#fff;border:1px solid var(--ofsl-line);border-radius:16px;padding:22px 24px;flex:1}
.ab-tl-c h3{font-size:18px;margin-bottom:7px}
.ab-tl-c p{font-size:14.5px;color:var(--ofsl-muted)}

/* values */
.ab-val{text-align:center;background:#fff;border:1px solid var(--ofsl-line);border-radius:20px;padding:32px 22px;height:100%;
  transition:transform .35s var(--ofsl-ease),box-shadow .35s,border-color .35s}
.ab-val:hover{transform:translateY(-6px);box-shadow:var(--ofsl-shadow);border-color:transparent}
.ab-val i{font-size:28px;color:var(--ofsl-accent);margin-bottom:16px;display:block}
.ab-val h3{font-size:18px;margin-bottom:8px}
.ab-val p{font-size:13.5px;color:var(--ofsl-muted)}

/* tech dark */
.ab-tech{overflow:hidden}
.ab-tech-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.ab-tech-copy .ofsl-eyebrow{margin-bottom:18px}
.ab-tech-copy h2{margin-bottom:16px}
.ab-tech-ticks{margin-top:22px;display:flex;flex-direction:column;gap:12px}
.ab-tech-ticks li{display:flex;align-items:center;gap:11px;font-size:15px;color:#c7cde0}
.ab-tech-ticks i{color:var(--ofsl-accent-3)}
.ab-tech-panel{background:var(--ofsl-dark-card);border:1px solid rgba(255,255,255,.09);border-radius:var(--ofsl-r-lg);padding:30px}
.ab-tech-metric{margin-bottom:24px}
.ab-tech-metric:last-child{margin-bottom:0}
.ab-tech-metric span{font-size:13px;color:#9aa3be}
.ab-tech-metric b{font-family:'Plus Jakarta Sans';font-weight:800;font-size:26px;color:#fff;display:block;margin:4px 0 10px}
.ab-bar{height:8px;background:rgba(255,255,255,.09);border-radius:5px;overflow:hidden}
.ab-bar i{display:block;height:100%;width:0;background:var(--ofsl-grad-3);border-radius:5px;transition:width 1.4s var(--ofsl-ease)}

@media(max-width:992px){
  .ab-hero-grid,.ab-intro-grid,.ab-do-grid,.ab-tech-grid{grid-template-columns:1fr;gap:34px}
  .ab-intro-left{display:flex;align-items:center;gap:20px}
  .ab-bignum{margin-bottom:0}
}
@media(max-width:576px){
  .ab-intro-stats{gap:22px}
  .ab-tl-item{gap:16px}
  .ab-tl::before{left:19px}
}
