/* About: official lockup + oversized 25+ beside the mission, linked five-part stack, founder quote +
   timeline, values as three checkable commitments, locations over the network map */

/* f_0001 shows the whole trailer lockup; 16/10 keeps the mark and wordmark in frame */
.ab-hero .phero-media.is-photo img{aspect-ratio:16/10;object-position:55% 50%}
.ab-lockup{width:clamp(280px,26vw,340px);height:auto}

/* mission */
.ab-mission-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(32px,6vw,96px);align-items:start}
.ab-years{font-family:var(--display);font-weight:700;font-size:clamp(150px,21vw,330px);line-height:.78;letter-spacing:-.07em;color:var(--ink);
  font-variant-numeric:tabular-nums;user-select:none;margin-left:-.04em;position:sticky;top:120px}
.ab-years span{color:var(--blue);margin-left:.02em}
.ab-mission-copy{display:grid;gap:28px;padding-top:clamp(0px,1vw,14px)}
.ab-statement{font-size:clamp(28px,3vw,44px);line-height:1.16;letter-spacing:-.03em;text-wrap:balance;max-width:24ch}

.ab-stack{list-style:none;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));margin-top:clamp(56px,6vw,96px);border-top:1px solid var(--rule)}
.ab-stack li+li{border-left:1px solid var(--rule)}
.ab-stack a{display:grid;gap:8px;align-content:start;height:100%;padding:26px clamp(16px,1.6vw,26px) 28px;transition:background .2s}
.ab-stack li:first-child a{padding-left:0}
.ab-stack b{font-family:var(--display);font-size:19px;font-weight:600;letter-spacing:-.015em;color:var(--fg);display:flex;align-items:center;gap:8px}
.ab-stack b::after{content:"";width:7px;height:7px;border-top:1.6px solid var(--blue);border-right:1.6px solid var(--blue);transform:rotate(45deg);transition:transform .2s;flex:none}
.ab-stack span{font-size:15px;line-height:1.6;color:var(--fg-2)}
.ab-stack a:hover b{color:var(--brand)}
.ab-stack a:hover b::after{transform:translateX(3px) rotate(45deg)}

/* founder */
.ab-founder-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(48px,7vw,120px);align-items:start}
.ab-founder-lead{display:grid;gap:28px;justify-items:start}
.ab-founder-lead h2{font-size:clamp(34px,4vw,56px);line-height:1.08;letter-spacing:-.03em}
.ab-quote{margin:8px 0 0;padding-left:clamp(20px,2.4vw,32px);border-left:2px solid var(--electric)}
.ab-quote blockquote p{font-family:var(--display);font-size:clamp(22px,2.1vw,30px);font-weight:500;line-height:1.36;letter-spacing:-.02em;color:#fff;text-wrap:pretty}
.ab-quote figcaption{display:grid;gap:2px;margin-top:20px}
.ab-quote figcaption b{font-family:var(--display);font-size:17px;font-weight:600;color:#fff}
.ab-quote figcaption span{font-size:14.5px;color:var(--fg-2)}
.ab-founder-tl{padding:clamp(28px,3vw,44px);border:1px solid var(--rule);border-radius:var(--radius);background:rgba(255,255,255,.03)}
.ab-tl-h{font-size:15px;font-weight:600;color:var(--electric);margin-bottom:28px}
.ab-founder-tl .tline li{grid-template-columns:104px minmax(0,1fr);gap:6px 24px}
.ab-tag{display:inline-block;margin-left:8px;padding:2px 8px;border-radius:999px;border:1px solid rgba(94,194,255,.4);font-family:var(--body);font-style:normal;font-size:12px;font-weight:600;color:var(--electric);vertical-align:3px;letter-spacing:0}

/* values, as commitments */
.ab-proof{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:2px solid var(--ink)}
.ab-proof li{display:grid;gap:10px;align-content:start;padding:30px clamp(18px,2.4vw,40px) 8px}
.ab-proof li:first-child{padding-left:0}
.ab-proof li+li{border-left:1px solid var(--rule)}
.ab-proof-k{font-size:14px;font-weight:600;color:var(--accent)}
.ab-proof-n{font-family:var(--display);font-size:clamp(40px,4.4vw,64px);font-weight:600;line-height:1;letter-spacing:-.045em;color:var(--fg);font-variant-numeric:tabular-nums;margin-top:6px}
.ab-proof h3{font-size:clamp(19px,1.6vw,22px);letter-spacing:-.02em;line-height:1.2}
.ab-proof p{font-size:15.5px;line-height:1.7;color:var(--fg-2)}

/* locations over the map */
.ab-places{overflow:hidden}
.ab-places-bg{position:absolute;inset:0;pointer-events:none}
.ab-places-bg img{width:100%;height:100%;object-fit:cover;object-position:50% 40%;opacity:.42}
.ab-places-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,var(--navy-0) 0%,rgba(3,13,28,.55) 30%,rgba(3,13,28,.7) 70%,var(--navy-0) 100%)}
.ab-places-in{position:relative}
.ab-places-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.ab-place{display:grid;gap:14px;align-content:start;padding:clamp(26px,3vw,40px);border:1px solid rgba(255,255,255,.14);border-radius:var(--radius);
  background:rgba(6,26,51,.72);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.ab-place h3{font-size:clamp(26px,2.6vw,36px);letter-spacing:-.03em;line-height:1.1}
.ab-place address{font-style:normal;font-size:18px;line-height:1.6;color:var(--fg)}
.ab-place p{color:var(--fg-2);line-height:1.7}
.ab-place-tel{font-family:var(--display);font-size:22px;font-weight:600;letter-spacing:-.02em;color:#fff;font-variant-numeric:tabular-nums}
.ab-place-tel:hover{color:var(--electric)}
.ab-place .link-cta{justify-self:start}

/* logo walls: bigger cells, partners logos visually balanced */
.ab-logos li{min-height:132px}
.ab-logos img{max-height:52px;max-width:160px}

@media (max-width:1100px){
  .ab-stack{grid-template-columns:repeat(3,minmax(0,1fr))}
  .ab-stack li:nth-child(4){border-left:0}
  .ab-stack li:nth-child(4) a{padding-left:0}
  .ab-stack li:nth-child(n+4){border-top:1px solid var(--rule)}
}
@media (max-width:900px){
  .ab-mission-grid{grid-template-columns:1fr;gap:20px}
  .ab-years{display:none}
  .ab-founder-grid{grid-template-columns:1fr}
  .ab-places-grid{grid-template-columns:1fr}
  .ab-proof{grid-template-columns:1fr}
  .ab-proof li,.ab-proof li:first-child{padding:24px 0}
  .ab-proof li+li{border-left:0;border-top:1px solid var(--rule)}
}
@media (max-width:700px){
  .ab-stack{grid-template-columns:1fr}
  .ab-stack li+li{border-left:0;border-top:1px solid var(--rule)}
  .ab-stack a,.ab-stack li:nth-child(4) a{padding:20px 0}
  .ab-founder-tl{padding:24px 20px}
  .ab-founder-tl .tline li{grid-template-columns:1fr}
  .ab-logos li{min-height:100px}
  .ab-logos img{max-height:40px;max-width:120px}
}

/* customers: four across so eight logos make two full rows; small round marks get more height */
.ab-logos.is-clients{grid-template-columns:repeat(4,minmax(0,1fr))}
.ab-logos.is-clients img{max-height:84px;max-width:180px}
@media (max-width:700px){
  .ab-logos.is-clients{grid-template-columns:1fr 1fr}
  .ab-logos.is-clients img{max-height:64px;max-width:130px}
  .ab-logos li:last-child:nth-child(odd){grid-column:1/-1}
}
