/* About page — matched to the approved reference. Palette only: #0052CC #0345D9 #003F9E #FEDA25 #FEB92D #E6F0FF #07BD80 #fff. */
.ab-hero,.ab-stats,.ab-sec,.ab-lead,.ab-place{ font-family:'Inter',sans-serif; color:#003F9E; }
.ab-w{ max-width:1254px; margin:0 auto; padding:0 24px; box-sizing:border-box; }
.ab-hl{ background:linear-gradient(transparent 62%,#FEDA25 62%); padding:0 4px; }
.ab-hl--solid{ background:#FEDA25; padding:0 12px 2px 8px; border-radius:6px; display:inline-block; line-height:1.12; }
.ab-kick{ display:inline-flex; align-items:center; gap:8px; font:600 12px 'Poppins',sans-serif; letter-spacing:.16em; text-transform:uppercase; color:#0052CC; }
.ab-kick::before{ content:""; width:20px; height:3px; border-radius:3px; background:#FEDA25; }
.ab-shot{ position:relative; overflow:hidden; background:#E6F0FF; }
.ab-shot img{ display:block; width:100%; height:100%; object-fit:cover; }

.ab-btns{ display:flex; flex-wrap:wrap; gap:12px; }
.ab-btn{ display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:52px; padding:0 28px; border-radius:99px; font:600 15px 'Poppins',sans-serif; text-decoration:none; border:1.5px solid transparent; white-space:nowrap; transition:transform .2s,background .2s; }
.ab-btn:hover{ transform:translateY(-2px); }
.ab-btn--sm{ min-height:46px; font-size:14px; padding:0 24px; }
.ab-btn--blue{ background:#0052CC; color:#fff; } .ab-btn--blue:hover{ background:#0345D9; }
.ab-btn--ghost{ background:#fff; color:#0052CC; border-color:#0052CC; } .ab-btn--ghost:hover{ background:#E6F0FF; }
.ab-btn--yellow{ background:#FEDA25; color:#003F9E; } .ab-btn--yellow:hover{ background:#FEB92D; }
.ab-btn--light{ background:transparent; color:#fff; border-color:rgba(255,255,255,.75); } .ab-btn--light:hover{ background:rgba(255,255,255,.12); }

/* Section heads */
.ab-sec{ padding:56px 0; }
.ab-head{ margin-bottom:26px; }
.ab-head h2{ font:800 clamp(28px,3.1vw,42px)/1.14 'Poppins',sans-serif; letter-spacing:-.02em; color:#0052CC; margin:10px 0 0; text-wrap:balance; }
.ab-head p{ margin:0; font-size:15.5px; line-height:1.65; max-width:440px; color:rgba(0,63,158,.88); }
.ab-head__sub{ margin-top:10px!important; max-width:660px!important; font-size:15px!important; }
.ab-head--row{ display:flex; justify-content:space-between; align-items:flex-start; gap:28px 40px; flex-wrap:wrap; }
.ab-head--row>p{ margin-top:26px; }
.ab-link{ display:inline-flex; align-items:center; gap:8px; font:600 14px 'Poppins',sans-serif; color:#0052CC; text-decoration:none; margin-top:30px; }

/* Hero */
.ab-hero{ position:relative; overflow:hidden; background:linear-gradient(180deg,#E6F0FF 0%,#F0F6FF 100%); padding:44px 0 56px; }
.ab-hero__ring{ position:absolute; left:-130px; top:340px; width:420px; height:420px; border-radius:50%; border:2px solid rgba(0,82,204,.07); box-shadow:0 0 0 60px rgba(0,82,204,.03); }
.ab-hero__dots{ position:absolute; width:60px; height:80px; background:radial-gradient(circle,#0052CC 1.6px,transparent 2px) 0 0/14px 14px; opacity:.4; }
.ab-hero__dots--l{ left:36px; top:470px; } .ab-hero__dots--r{ right:30px; top:200px; }
.ab-hero__in{ position:relative; display:grid; grid-template-columns:1fr 640px; gap:36px; align-items:center; }
.ab-hero h1{ font:800 clamp(36px,4.3vw,62px)/1.02 'Poppins',sans-serif; letter-spacing:-.03em; color:#0052CC; margin:14px 0 20px; }
.ab-hero__copy>p{ margin:0; font-size:16.8px; line-height:1.65; max-width:560px; color:rgba(0,63,158,.88); }
.ab-hero .ab-btns{ margin-top:24px; }
.ab-trust{ list-style:none; margin:26px 0 0; padding:0; display:flex; flex-wrap:wrap; gap:14px 22px; }
.ab-trust li{ display:flex; align-items:center; gap:11px; }
.ab-trust i{ width:38px; height:38px; border-radius:50%; display:grid; place-items:center; flex:none; }
.ab-trust span{ font-size:12px; line-height:1.35; }
.ab-trust b{ display:block; font:600 13px 'Poppins',sans-serif; }
.ab-hero__art{ position:relative; padding:0 0 30px; }
.ab-hero__dot{ position:absolute; right:-40px; top:-44px; width:150px; height:150px; border-radius:50%; background:#FEDA25; }
.ab-hero__photo{ position:relative; aspect-ratio:640/470; border-radius:30px; box-shadow:0 44px 70px -36px rgba(0,63,158,.6); }
.ab-hero__photo img{ object-position:55% 40%; }
.ab-hero__card{ position:absolute; display:flex; align-items:center; gap:12px; border-radius:18px; box-shadow:0 24px 44px -22px rgba(0,63,158,.6); }
.ab-hero__card i{ width:40px; height:40px; border-radius:50%; display:grid; place-items:center; flex:none; font-style:normal; }
.ab-hero__card--a{ left:14px; bottom:2px; background:#fff; padding:14px 20px 14px 14px; font:600 12px/1.35 'Poppins',sans-serif; }
.ab-hero__card--a i{ background:#0052CC; color:#fff; }
.ab-hero__card--a b{ display:block; font:800 26px/1 'Poppins',sans-serif; color:#0052CC; }
.ab-hero__card--b{ right:-6px; bottom:6px; background:#0052CC; color:#fff; padding:14px 18px; gap:26px; font-size:12px; color:#E6F0FF; }
.ab-hero__card--b b{ display:block; font:700 15px 'Poppins',sans-serif; color:#fff; }
.ab-hero__card--b i{ width:32px; height:32px; background:rgba(255,255,255,.22); color:#fff; }

/* Numbers band */
.ab-stats{ background:#0052CC; padding:46px 0; }
.ab-stats__grid{ display:grid; align-items:center; }
.ab-stat{ display:flex; align-items:center; gap:12px; padding:0 14px; border-left:1px solid rgba(255,255,255,.28); color:#fff; white-space:nowrap; }
.ab-stat:first-child{ border-left:0; padding-left:0; }
.ab-stat svg{ flex:none; }
.ab-stat b{ display:block; font:700 40px/1 'Poppins',sans-serif; color:#FEDA25; letter-spacing:-.02em; }
.ab-stat strong{ display:block; font:600 13px 'Poppins',sans-serif; margin-top:4px; }
.ab-stat span{ display:block; font-size:12px; color:#E6F0FF; }

/* Purpose */
.ab-sec--purpose{ background:#F6F9FD; padding:46px 0; }
.ab-sec--purpose .ab-head h2{ font-size:clamp(28px,3.3vw,44px); }
.ab-mvg{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.ab-mvg__card{ display:flex; gap:16px; background:#fff; border-radius:22px; padding:28px 26px; box-shadow:0 22px 44px -28px rgba(0,63,158,.45); }
.ab-ic{ width:54px; height:54px; border-radius:50%; display:grid; place-items:center; flex:none; }
.ab-mvg__card h3{ font:700 18px 'Poppins',sans-serif; color:#0052CC; margin:2px 0 6px; }
.ab-mvg__card p{ margin:0; font-size:13.5px; line-height:1.6; }

/* Leadership */
.ab-lead{ position:relative; overflow:hidden; background:#0052CC; padding:44px 0 48px; }
.ab-lead__dot{ position:absolute; right:-90px; bottom:-110px; width:300px; height:300px; border-radius:50%; background:#FEDA25; }
.ab-lead::before{ content:""; position:absolute; left:-200px; top:-120px; width:700px; height:700px; border-radius:50%; background:radial-gradient(circle,rgba(255,255,255,.1),transparent 65%); }
.ab-lead__in{ position:relative; display:grid; grid-template-columns:.8fr 1.2fr; gap:50px; align-items:center; }
.ab-lead .ab-kick{ color:#fff; }
.ab-lead h2{ font:800 clamp(30px,3.4vw,48px)/1.14 'Poppins',sans-serif; letter-spacing:-.02em; color:#fff; margin:10px 0 0; }
.ab-lead__copy p{ margin:18px 0 0; font-size:17px; line-height:1.65; color:#E6F0FF; max-width:340px; }
.ab-founders{ display:grid; grid-template-columns:1fr 1fr; gap:22px; }
.ab-founder{ background:#fff; border-radius:22px; padding:8px 8px 22px; box-shadow:0 30px 50px -30px rgba(0,30,90,.7); display:flex; flex-direction:column; }
.ab-founder__img{ aspect-ratio:4/3.1; border-radius:16px; }
.ab-founder__img img{ object-position:50% 22%; }
.ab-founder__ph{ position:absolute; inset:0; display:grid; place-items:center; font:800 72px 'Poppins',sans-serif; color:#0052CC; }
.ab-founder__body{ padding:16px 16px 0; }
.ab-founder__body strong{ display:block; font:700 20px 'Poppins',sans-serif; }
.ab-founder__body em{ display:block; font:600 13px 'Poppins',sans-serif; color:#0052CC; font-style:normal; margin:2px 0 8px; }
.ab-founder__body p{ margin:0 0 10px; font-size:13.5px; line-height:1.6; }
.ab-founder__meta{ display:flex; flex-direction:column; gap:2px; font-size:12.5px; }
.ab-founder__meta b{ font:600 12.5px 'Poppins',sans-serif; }

/* How it works */
.ab-sec--how{ background:#F4F9FE; padding:42px 0 40px; }
.ab-sec--how .ab-head h2{ font-size:clamp(28px,3vw,41px); }
.ab-steps{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:34px; }
.ab-step{ position:relative; background:#fff; border-radius:22px; box-shadow:0 22px 44px -28px rgba(0,63,158,.45); padding:16px 14px; text-align:center; display:flex; flex-direction:column; align-items:center; }
.ab-step__ic{ width:46px; height:46px; border-radius:50%; background:#0052CC; color:#fff; display:grid; place-items:center; }
.ab-step__ic.is-y{ background:#FEDA25; color:#003F9E; }
.ab-step i{ font:600 11px 'Poppins',sans-serif; letter-spacing:.12em; color:#FEB92D; font-style:normal; margin-top:10px; }
.ab-step h3{ font:700 15px/1.3 'Poppins',sans-serif; margin:3px 0 4px; }
.ab-step p{ margin:0; font-size:12.5px; line-height:1.5; }
.ab-step__arr{ position:absolute; right:-26px; top:50%; transform:translateY(-50%); color:#0052CC; }

/* Campus */
.ab-sec--campus{ padding:38px 0 36px; }
.ab-sec--campus .ab-head{ align-items:flex-end; margin-bottom:20px; }
.ab-sec--campus .ab-head h2{ font-size:clamp(26px,2.7vw,37px); }
.ab-gallery{ display:grid; grid-template-columns:1.66fr 1fr 1fr; grid-template-rows:clamp(130px,11.7vw,168px) clamp(130px,11.7vw,168px); gap:10px; }
.ab-gal{ border-radius:22px; margin:0; }
.ab-gal--big{ grid-row:span 2; }
.ab-gal--doc img{ object-fit:contain; padding:10px; }
.ab-gal figcaption{ position:absolute; left:14px; bottom:14px; background:#0052CC; color:#E6F0FF; border-radius:12px; padding:9px 14px; font-size:11.5px; line-height:1.25; }
.ab-gal figcaption b{ display:block; font:600 14px 'Poppins',sans-serif; color:#fff; }

/* Placement */
.ab-place{ background:#E6F0FF; padding:24px 0 0; overflow:hidden; }
.ab-place__in{ display:grid; grid-template-columns:1.05fr 1fr 230px; gap:30px; align-items:center; }
.ab-place__in>div:first-child{ padding-bottom:24px; }
.ab-place h2{ font:800 clamp(24px,2.5vw,33px)/1.14 'Poppins',sans-serif; letter-spacing:-.02em; color:#0052CC; margin:10px 0 0; }
.ab-place p{ margin:10px 0 0; font-size:14px; line-height:1.6; max-width:420px; }
.ab-place__list{ list-style:none; margin:0; padding:0 0 24px; display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.ab-place__list li{ display:flex; align-items:center; gap:10px; white-space:nowrap; background:#fff; border-radius:14px; padding:11px 14px; font:600 13px 'Poppins',sans-serif; box-shadow:0 14px 28px -20px rgba(0,63,158,.5); }
.ab-place__list i{ width:24px; height:24px; border-radius:50%; background:#07BD80; color:#fff; display:grid; place-items:center; flex:none; }
.ab-place__art{ position:relative; height:186px; align-self:end; }
.ab-place__art span{ position:absolute; left:10px; bottom:-50px; width:200px; height:200px; border-radius:50%; background:#FEDA25; }
.ab-place__art img{ position:absolute; left:10px; bottom:0; width:200px; height:186px; object-fit:cover; object-position:50% 12%; border-radius:100px 100px 0 0; }

/* Journey */
.ab-sec--journey{ background:#F7FAFE; padding:34px 0 22px; }
.ab-sec--journey .ab-head h2{ font-size:clamp(26px,2.7vw,36px); }
.ab-sec--journey .ab-head p{ font-size:14px; margin-top:20px; }
.ab-journey{ --n:6; list-style:none; margin:18px 0 0; padding:0; display:grid; grid-template-columns:repeat(var(--n),minmax(0,1fr)); position:relative; }
.ab-journey::before{ content:""; position:absolute; left:0; right:0; top:8px; height:2px; background:#0052CC; opacity:.4; }
.ab-jn{ position:relative; padding:30px 14px 0 0; }
.ab-jn::before{ content:""; position:absolute; left:0; top:0; width:18px; height:18px; border-radius:50%; background:#fff; border:4px solid #0052CC; box-sizing:border-box; }
.ab-jn b{ font:700 18px 'Poppins',sans-serif; color:#0052CC; }
.ab-jn p{ margin:2px 0 0; font-size:12.5px; line-height:1.5; max-width:170px; }

/* Stories */
.ab-sec--stories{ background:#F7FAFE; padding:14px 0 34px; }
.ab-sec--stories .ab-head{ margin-bottom:18px; }
.ab-sec--stories .ab-head h2{ font-size:clamp(24px,2.5vw,34px); }

/* Auto-scrolling rails (used once there are more cards than fit) */
.ab-rail{ display:flex; gap:20px; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; padding-bottom:6px; }
.ab-rail::-webkit-scrollbar{ display:none; }
.ab-rail>*{ flex:0 0 min(340px,84%); scroll-snap-align:start; }
.ab-rail--stats{ gap:16px; } .ab-rail--stats>*{ flex-basis:min(250px,70%); }
.ab-rail--founders{ min-width:0; }

/* Tablet */
@media (max-width:1100px){
  .ab-hero__in{ grid-template-columns:1fr; gap:40px; }
  .ab-hero__dot{ right:-20px; }
  .ab-stats__grid{ grid-template-columns:repeat(3,minmax(0,1fr))!important; row-gap:24px; }
  .ab-stat:nth-child(3n+1){ border-left:0; padding-left:0; }
  .ab-mvg{ grid-template-columns:1fr; }
  .ab-lead__in{ grid-template-columns:1fr; gap:30px; }
  .ab-steps{ grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
  .ab-step__arr{ display:none; }
  .ab-gallery{ grid-template-columns:1fr 1fr; grid-template-rows:none; grid-auto-rows:170px; }
  .ab-gal--big{ grid-column:span 2; grid-row:span 2; }
  .ab-place__in{ grid-template-columns:1fr; gap:18px; }
  .ab-place__art{ display:none; }
  .ab-place__list{ padding-bottom:28px; }
  .ab-journey{ grid-template-columns:repeat(3,minmax(0,1fr)); row-gap:26px; }
  .ab-journey::before{ display:none; }
}

/* Phone */
@media (max-width:640px){
  .ab-w{ padding:0 20px; }
  .ab-hero{ padding:32px 0 40px; }
  .ab-hero__copy>p{ font-size:15px; }
  .ab-hero .ab-btn{ width:100%; }
  .ab-hero__dots{ display:none; }
  .ab-hero__dot{ width:100px; height:100px; right:-18px; top:-28px; }
  .ab-hero__card--b{ display:none; }
  .ab-hero__card--a{ left:10px; }
  .ab-stats{ padding:28px 0; }
  .ab-stats__grid{ grid-template-columns:1fr 1fr!important; gap:18px 10px; }
  .ab-stat{ border-left:0; padding:0; white-space:normal; }
  .ab-stat svg{ display:none; }
  .ab-stat b{ font-size:28px; }
  .ab-sec{ padding:36px 0; }
  .ab-head--row>p{ margin-top:0; }
  .ab-founders{ grid-template-columns:1fr; }
  .ab-steps{ grid-template-columns:1fr; }
  .ab-gallery{ grid-auto-rows:140px; gap:8px; }
  .ab-gal--big{ grid-row:span 1; }
  .ab-place__list{ grid-template-columns:1fr; }
  .ab-journey{ grid-template-columns:1fr; padding-left:26px; row-gap:18px; }
  .ab-journey::before{ display:block; left:8px; right:auto; top:6px; bottom:6px; width:2px; height:auto; }
  .ab-jn{ padding:0; }
  .ab-jn::before{ left:-26px; top:3px; width:16px; height:16px; }
}
@media (prefers-reduced-motion:reduce){ .ab-btn{ transition:none; } .ab-btn:hover{ transform:none; } }

