/* ==========================================================================
   About page (Oct 2026). Builds on home.css (tokens, .hm-* sections, buttons,
   CTA) and home-b.css (frosted header, scroll progress, reveal on scroll).
   Facts and copy follow the company profile deck. Vanilla CSS only.
   ========================================================================== */

/* section glows bleed past the right edge; clip (not hidden) keeps any sticky elements working */
html,body.ab{overflow-x:clip;}

/* ---- hero (immersive): photo with a slow Ken Burns drift, scrims, grid and a drifting glow ---- */
.ab-hero{position:relative;overflow:hidden;isolation:isolate;min-height:min(806px,calc(100vh - 75px));display:flex;flex-direction:column;background:#07080A;color:#fff;}
.ab-hero__bg{position:absolute;inset:0;z-index:-4;background-size:cover;background-position:center 35%;transform:scale(1.06);animation:abKen 26s ease-in-out infinite alternate;}
.ab-hero__scrim{position:absolute;inset:0;z-index:-3;background:linear-gradient(100deg,rgba(7,8,10,.94) 0%,rgba(7,8,10,.78) 46%,rgba(7,8,10,.45) 100%),linear-gradient(to top,rgba(7,8,10,.9),rgba(7,8,10,0) 50%);}
.ab-hero__grid{position:absolute;inset:0;z-index:-2;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:56px 56px;
  -webkit-mask-image:radial-gradient(90% 90% at 85% 10%,#000 0%,transparent 70%);mask-image:radial-gradient(90% 90% at 85% 10%,#000 0%,transparent 70%);}
.ab-hero__glow{position:absolute;z-index:-1;width:820px;height:820px;right:-220px;top:-300px;pointer-events:none;background:radial-gradient(circle,rgba(56,86,255,.42),rgba(56,86,255,0) 62%);animation:abGlow 18s ease-in-out infinite alternate;}
.ab-hero__head{position:relative;z-index:5;}
.ab-hero > .hm{flex:1;display:flex;align-items:flex-end;}
.ab-hero__in{width:100%;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,380px);gap:72px;align-items:end;padding-top:72px;padding-bottom:120px;}
.ab-hero .hm-eyebrow{color:rgba(255,255,255,.72);}
.ab-hero .hm-eyebrow::before{background:var(--accent-hi);}
.ab-hero h1{margin-top:22px;font-size:72px;line-height:1;letter-spacing:-2.8px;font-weight:400;color:#fff;}
.hm .ab-lead{margin-top:26px;font-size:19px;line-height:1.6;color:rgba(255,255,255,.8);max-width:580px;}
.ab-acts{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px;}
.hm-btn--glass{background:rgba(255,255,255,.06);color:#fff;border-color:rgba(255,255,255,.3);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);}
.hm-btn--glass:hover{background:rgba(255,255,255,.06);}
.ab-glance{background:rgba(12,14,22,.5);border:1px solid rgba(255,255,255,.16);-webkit-backdrop-filter:blur(16px) saturate(1.3);backdrop-filter:blur(16px) saturate(1.3);box-shadow:0 40px 80px -40px rgba(0,0,0,.6);}
.ab-glance__top{display:flex;align-items:center;gap:12px;padding:16px 22px;border-bottom:1px solid rgba(255,255,255,.12);font-size:12.5px;font-weight:600;letter-spacing:.6px;text-transform:uppercase;color:rgba(255,255,255,.7);}
.ab-glance__top img{width:26px;height:26px;background:var(--accent);padding:4px;}
.ab-glance dl{margin:0;}
.ab-glance dl > div{display:grid;grid-template-columns:124px 1fr;gap:14px;align-items:baseline;padding:15px 22px;border-bottom:1px solid rgba(255,255,255,.1);}
.ab-glance dt{font-size:30px;line-height:1;letter-spacing:-1px;color:#fff;white-space:nowrap;}
.ab-glance dt small{font-size:13px;letter-spacing:0;color:rgba(255,255,255,.6);margin-right:5px;}
.ab-glance dl > div:last-child dt{font-size:20px;letter-spacing:-.4px;}
.ab-glance dd{margin:0;font-size:14px;line-height:1.45;color:rgba(255,255,255,.68);}
.ab-glance__legal{padding:14px 22px 16px;font-size:12px;line-height:1.6;color:rgba(255,255,255,.5);}
.ab-scroll{position:absolute;left:max(56px,calc((100vw - 1280px) / 2 + 56px));bottom:34px;z-index:3;display:flex;align-items:center;gap:10px;font-family:'Geist',system-ui,sans-serif;font-size:12px;letter-spacing:.4px;text-transform:uppercase;color:rgba(255,255,255,.65);}
.ab-scroll span{display:inline-block;animation:abBob 2.4s ease-in-out infinite;}
/* entrance: fade up in sequence (lines of the h1 use .hb-line from home-b.css) */
.ab-in{animation:abUp .9s cubic-bezier(.16,1,.3,1) both;animation-delay:var(--d,0s);}
.hb-ready .hb-line:nth-child(3) > span{transition-delay:.16s;}
@keyframes abUp{from{opacity:0;transform:translateY(22px);}to{opacity:1;transform:none;}}
@keyframes abKen{from{transform:scale(1.06) translate(0,0);}to{transform:scale(1.18) translate(-1.6%,-1.8%);}}
@keyframes abGlow{from{transform:translate3d(0,0,0);}to{transform:translate3d(-60px,40px,0);}}
@keyframes abBob{0%,100%{transform:translateY(0);}50%{transform:translateY(7px);}}
html.hm-hidden .ab-hero *,html.hm-hidden .ab-hero{animation-play-state:paused!important;}

/* ---- mission band (immersive): parallax photo, words light up as you scroll ---- */
.ab-band{position:relative;overflow:hidden;isolation:isolate;background:#07080A;padding:150px 0;}
.ab-band__bg{position:absolute;inset:-16% 0;z-index:-3;background-size:cover;background-position:center 42%;opacity:.5;will-change:transform;}
.ab-band__scrim{position:absolute;inset:0;z-index:-2;background:linear-gradient(100deg,rgba(7,8,10,.95) 0%,rgba(7,8,10,.72) 50%,rgba(7,8,10,.4) 100%),linear-gradient(to top,rgba(7,8,10,.75),rgba(7,8,10,0) 45%);}
.ab-band__glow{position:absolute;z-index:-1;top:-200px;right:-140px;width:680px;height:680px;pointer-events:none;background:radial-gradient(circle,rgba(56,86,255,.34),rgba(56,86,255,0) 62%);}
.is-live .ab-band__glow{animation:abGlow 20s ease-in-out infinite alternate;}
.ab-band .hm-eyebrow{color:rgba(255,255,255,.7);}
.ab-band .hm-eyebrow::before{background:var(--accent-hi);}
.ab-scrub{margin-top:26px!important;font-size:52px;line-height:1.12;letter-spacing:-1.6px;color:#fff;max-width:1000px;}
.ab-scrub .w{opacity:.2;transition:opacity .35s ease,color .35s ease;}
.ab-scrub .w.on{opacity:1;}
.ab-scrub .w.hi{transition:opacity .35s ease,background .35s ease,box-shadow .35s ease;}
.ab-scrub .w.hi.on{color:#fff;background:var(--accent);box-shadow:.14em 0 0 var(--accent),-.14em 0 0 var(--accent);}   /* marker; shadows bridge the gaps between words */
.hm .ab-band__lead{margin-top:30px;font-size:18px;line-height:1.62;color:rgba(255,255,255,.72);max-width:580px;}
.ab-chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px;}
.ab-chips span{display:inline-flex;align-items:center;gap:9px;padding:9px 15px;font-size:13.5px;color:rgba(255,255,255,.88);border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.05);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);}
.ab-chips span::before{content:"";width:5px;height:5px;background:var(--accent-hi);}

/* ---- story ---- */
.ab-pains{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
.ab-pain{display:flex;align-items:center;gap:14px;padding:20px 20px;background:#fff;border:1px solid var(--line);font-size:16px;line-height:1.4;color:var(--ink);}
.ab-pain__ic{width:42px;height:42px;flex:none;display:flex;align-items:center;justify-content:center;border:1px solid var(--accent-line);background:var(--accent-soft);color:var(--accent);}
.ab-pain__ic svg{width:20px;height:20px;}

/* ---- founder ---- */
.ab-founder__in{display:grid;grid-template-columns:minmax(0,440px) minmax(0,1fr);gap:72px;align-items:center;}
.ab-founder__photo{position:relative;margin:0;padding:0 18px 18px 0;}
.ab-founder__photo::before{content:"";position:absolute;right:0;bottom:0;width:calc(100% - 18px);height:calc(100% - 18px);background:var(--accent);z-index:0;}
.ab-founder__photo img{position:relative;z-index:1;display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover;}
.ab-founder__photo figcaption{position:absolute;z-index:2;left:18px;bottom:36px;display:flex;flex-direction:column;gap:3px;padding:12px 16px;background:#fff;box-shadow:0 14px 30px -14px rgba(11,17,60,.4);}
.ab-founder__photo figcaption b{font-size:17px;font-weight:600;color:var(--ink);}
.ab-founder__photo figcaption span{font-size:13px;color:var(--text-3);}
.ab-founder__copy h2{margin-top:18px;font-size:48px;line-height:1.04;letter-spacing:-1.6px;}
.ab-founder__stats{display:grid;grid-template-columns:repeat(3,1fr);margin:28px 0 26px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.ab-founder__stats > div{padding:18px 18px 18px 0;}
.ab-founder__stats > div + div{padding-left:18px;border-left:1px solid var(--line);}
.ab-founder__stats b{display:block;font-size:34px;font-weight:400;line-height:1;letter-spacing:-1px;color:var(--accent);}
.ab-founder__stats b small{font-size:15px;letter-spacing:0;margin-left:3px;color:var(--text-3);}
.ab-founder__stats > div > span{display:block;margin-top:8px;font-size:13.5px;line-height:1.4;color:var(--text-3);}
.ab-founder__copy > p{margin-top:14px;font-size:17px;line-height:1.65;color:var(--text-2);max-width:640px;}
.ab-founder__q{margin:28px 0 0;padding:4px 0 4px 22px;border-left:3px solid var(--accent);font-size:21px;line-height:1.45;letter-spacing:-.3px;color:var(--ink);max-width:640px;}
.ab-founder__acts{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px;}

/* ---- principles (immersive): dark photo with parallax, glass cards ---- */
.ab-dark{position:relative;overflow:hidden;isolation:isolate;background:#07080A;color:rgba(255,255,255,.8);padding:120px 0;}
.ab-dark__bg{position:absolute;inset:-18% 0;z-index:-2;background-size:cover;background-position:center;will-change:transform;}
.ab-dark__scrim{position:absolute;inset:0;z-index:-1;background:linear-gradient(rgba(7,8,10,.74),rgba(7,8,10,.9));}
.ab-dark h2,.ab-dark h3{color:#fff;}
.ab-dark .hm-eyebrow{color:rgba(255,255,255,.7);}
.ab-dark .hm-eyebrow::before{background:var(--accent-hi);}
.ab-dark .hm-head p{color:rgba(255,255,255,.75);}
.ab-princ{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;}
.ab-princ article{position:relative;display:flex;flex-direction:column;padding:26px 22px 28px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.14);
  -webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:background .35s var(--ease),border-color .35s var(--ease),transform .45s cubic-bezier(.16,1,.3,1);}
.ab-princ article::after{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:var(--accent-hi);transform:scaleX(0);transform-origin:left;transition:transform .5s cubic-bezier(.16,1,.3,1);}
.ab-princ article:hover{background:rgba(16,40,224,.28);border-color:rgba(143,162,255,.5);transform:translateY(-6px);}
.ab-princ article:hover::after{transform:scaleX(1);}
.ab-princ__n{position:absolute;top:24px;right:20px;font-size:12.5px;font-weight:600;letter-spacing:1.4px;color:rgba(255,255,255,.5);}
.ab-princ__ic{width:46px;height:46px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.2);color:#fff;margin-bottom:34px;transition:background .35s ease,border-color .35s ease;}
.ab-princ article:hover .ab-princ__ic{background:var(--accent);border-color:var(--accent);}
.ab-princ__ic svg{width:22px;height:22px;}
.ab-princ h3{font-size:19px;line-height:1.25;letter-spacing:-.3px;font-weight:500;}
.ab-princ p{margin-top:10px;font-size:14.5px;line-height:1.55;color:rgba(255,255,255,.7);}

/* ---- how a project runs ---- */
.ab-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:14px;position:relative;}
.ab-steps::before,.ab-steps::after{content:"";position:absolute;left:0;right:0;top:23px;height:2px;background:var(--accent-line);}
.ab-steps::after{background:var(--accent);transform:scaleX(var(--p,1));transform-origin:left;}
.ab-steps li{position:relative;padding-right:8px;}
.ab-steps__n{position:relative;z-index:1;transition:background .35s ease,color .35s ease,transform .45s cubic-bezier(.16,1,.3,1),box-shadow .35s ease;display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:#fff;border:2px solid var(--accent);font-size:14px;font-weight:600;color:var(--accent);}
.ab-steps li.on .ab-steps__n{background:var(--accent);color:#fff;transform:scale(1.06);box-shadow:0 10px 24px -8px rgba(16,40,224,.55);}
.ab-steps h3{margin-top:20px;font-size:22px;letter-spacing:-.4px;color:var(--ink);}
.ab-steps p{margin-top:8px;font-size:14.5px;line-height:1.55;color:var(--text-3);}
.ab-steps__t{display:inline-block;margin-top:14px;padding:4px 9px;font-size:11.5px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;color:var(--accent);background:var(--accent-soft);border:1px solid var(--accent-line);}
.ab-start{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:64px;}
.ab-start article{display:flex;flex-direction:column;padding:28px 26px;border:1px solid var(--line);background:#fff;}
.ab-start__k{font-size:12px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:var(--accent);}
.ab-start h3{margin-top:14px;font-size:24px;letter-spacing:-.5px;color:var(--ink);}
.ab-start p{margin-top:10px;font-size:15px;line-height:1.6;color:var(--text-3);flex:1;}
.ab-start__best{margin-top:20px;padding-top:14px;border-top:1px solid var(--line);font-size:13.5px;font-weight:500;color:var(--ink);}
.ab-start--inc{background:var(--ink)!important;border-color:var(--ink)!important;}
.ab-start--inc .ab-start__k{color:var(--accent-hi);}
.ab-start--inc h3{color:#fff;}
.ab-start--inc p{color:rgba(255,255,255,.72);}
.ab-start--inc .ab-start__best{color:#fff;border-color:rgba(255,255,255,.16);}

/* ---- security & data ---- */
.ab-data{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
.ab-data article{padding:26px 24px 28px;background:#fff;border:1px solid var(--line);}
.ab-data__ic{width:44px;height:44px;display:flex;align-items:center;justify-content:center;border:1px solid var(--line-2);color:var(--accent);margin-bottom:22px;}
.ab-data__ic svg{width:21px;height:21px;}
.ab-data h3{font-size:19px;letter-spacing:-.3px;color:var(--ink);}
.ab-data p{margin-top:8px;font-size:14.5px;line-height:1.55;color:var(--text-3);}

/* ---- proof ---- */
.ab-work{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.ab-case{display:flex;flex-direction:column;border:1px solid var(--line);background:#fff;transition:transform .35s cubic-bezier(.16,1,.3,1),box-shadow .35s ease;}
.ab-case:hover{transform:translateY(-4px);box-shadow:0 24px 50px -28px rgba(11,17,60,.35);}
.ab-case__img{display:block;aspect-ratio:3/2;overflow:hidden;border-bottom:1px solid var(--line);background:#F4F5F8;}
.ab-case__img img{width:100%;height:100%;object-fit:cover;transition:transform 1s cubic-bezier(.16,1,.3,1);}
.ab-case:hover .ab-case__img img{transform:scale(1.04);}
.ab-case__b{display:flex;flex-direction:column;padding:22px 22px 24px;flex:1;}
.ab-case__k{font-size:12px;font-weight:600;letter-spacing:.8px;text-transform:uppercase;color:var(--text-3);}
.ab-case__t{margin-top:8px;font-size:21px;line-height:1.25;letter-spacing:-.4px;color:var(--ink);}
.ab-case__m{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0 22px;padding-top:18px;border-top:1px solid var(--line);flex:1;align-content:start;}
.ab-case__m b{display:block;font-size:26px;font-weight:400;letter-spacing:-.8px;line-height:1.05;color:var(--accent);margin-bottom:6px;}
.ab-case__m span{font-size:13px;line-height:1.4;color:var(--text-3);}

/* ---- CTA (immersive): photo under a brand-blue wash ---- */
.ab-cta{overflow:hidden;padding:130px 0;}
.ab-cta__bg{position:absolute;inset:-18% 0;z-index:-3;background-size:cover;background-position:center;will-change:transform;}
.ab-cta__wash{position:absolute;inset:0;z-index:-2;background:linear-gradient(100deg,rgba(16,40,224,.96) 0%,rgba(16,40,224,.86) 50%,rgba(16,40,224,.62) 100%);}

/* ---- motion off ---- */
@media (prefers-reduced-motion:reduce){
  .ab-hero__bg,.ab-hero__glow,.ab-band__glow,.ab-scroll span{animation:none!important;}
  .ab-in{animation:none!important;}
  .ab-scrub .w{opacity:1;}
  .ab-steps::after{transform:none!important;}
}

/* ---- responsive ---- */
@media (max-width:1100px){
  .ab-hero__in,.ab-founder__in{grid-template-columns:1fr;gap:48px;}
  .ab-hero h1{font-size:56px;letter-spacing:-2px;}
  .ab-princ{grid-template-columns:repeat(2,1fr);}
  .ab-glance{max-width:520px;}
  .ab-founder__photo{max-width:420px;}
  .ab-princ{grid-template-columns:repeat(2,1fr);}
  .ab-princ article:last-child{grid-column:1/-1;}
  .ab-steps{grid-template-columns:1fr;gap:26px;}
  .ab-steps::before,.ab-steps::after{left:23px;right:auto;top:0;bottom:0;width:2px;height:auto;}
  .ab-steps::after{transform:scaleY(var(--p,1));transform-origin:top;}
  .ab-steps li{display:grid;grid-template-columns:48px 1fr;column-gap:20px;}
  .ab-steps li > :not(.ab-steps__n){grid-column:2;}
  .ab-steps__n{grid-row:1 / span 3;}
  .ab-steps h3{margin-top:10px;}
  .ab-steps__t{justify-self:start;}
  .ab-start,.ab-work{grid-template-columns:1fr;}
  .ab-data{grid-template-columns:1fr 1fr;}
}
@media (max-width:820px){
  .ab-hero__in{padding-top:40px;padding-bottom:96px;}
  .ab-band,.ab-dark,.ab-cta{padding:84px 0;}
  .ab-scrub{font-size:30px;letter-spacing:-.8px;}
  .ab-scroll{left:22px;bottom:24px;}
  .ab-hero h1{font-size:42px;letter-spacing:-1.4px;}
  /* narrow screens: let the headline wrap naturally and fade in as one block */
  .ab-hero .hb-line,.ab-hero .hb-line > span{display:inline;}
  .ab-hero h1{animation:abUp .9s cubic-bezier(.16,1,.3,1) .15s both;}
  .hm .ab-lead{font-size:17px;}
  .ab-band__glow,.ab-hero__glow{display:none;}
  .ab-pains,.ab-data,.ab-princ{grid-template-columns:1fr;}
    .ab-founder__copy h2{font-size:34px;letter-spacing:-.9px;}
  .ab-founder__stats{grid-template-columns:1fr 1fr 1fr;}
  .ab-founder__stats > div{padding-right:10px;}
  .ab-founder__stats > div + div{padding-left:10px;}
  .ab-founder__stats b{font-size:26px;}
  .ab-founder__q{font-size:18px;}
  .ab-glance dl > div{grid-template-columns:104px 1fr;}
  .ab-glance dt{font-size:24px;}
  .ab-start{margin-top:44px;}
}
