/* Leapstrat About Us page (about-us.html). Load after css/base.css.
   Breakpoints: desktop 1025px+ | tablet 641–1024px | mobile 640px and below. */

.ab-1 { background:#12100E; color:#F7F4EE; position:relative; overflow:hidden; }
.ab-2 { position:absolute; top:-160px; left:-140px; width:560px; height:560px; background:radial-gradient(circle,rgba(75,24,232,0.5),rgba(18,16,14,0) 68%); pointer-events:none; }
.ab-3 { max-width:1320px; margin:0 auto; padding:56px 26px 0; position:relative; }
.ab-4 { display:flex; flex-wrap:wrap; gap:8px; }
.ab-5 { background:#D8FF57; color:#12100E; padding:6px 10px; font-size:11.5px; font-weight:800; letter-spacing:0.12em; text-transform:uppercase; }
.ab-6 { border:1px solid rgba(247,244,238,0.3); padding:5px 10px; font-size:11.5px; font-weight:700; letter-spacing:0.12em; text-transform:uppercase; color:#F7F4EE; }
.ab-7 { font-family:'Archivo',sans-serif; font-weight:800; font-stretch:112%; font-size:clamp(34px,4.4vw,60px); line-height:0.98; letter-spacing:-0.042em; margin-top:22px; text-wrap:balance; }
.ab-8 { color:#D8FF57; }
.ab-9 { margin-top:26px; display:flex; flex-wrap:wrap; gap:24px 48px; align-items:flex-end; justify-content:space-between; }
.ab-10 { flex:1 1 480px; min-width:0; font-size:17.5px; line-height:1.55; color:rgba(247,244,238,0.86); max-width:680px; }
.ab-11 { flex:0 0 auto; display:flex; gap:12px; flex-wrap:wrap; }
.ab-12 { background:#D8FF57; color:#12100E; font-weight:800; font-size:16px; padding:17px 26px; border:1px solid #D8FF57; box-shadow:5px 5px 0 #4B18E8; }
.ab-13 { border:1px solid rgba(247,244,238,0.4); color:#F7F4EE; font-weight:700; font-size:16px; padding:17px 26px; }
.ab-14 { margin-top:36px; background:rgba(247,244,238,0.05); border:1px solid rgba(247,244,238,0.16); }
.ab-15 { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:12px 22px; border-bottom:1px solid rgba(247,244,238,0.16); }
.ab-16 { font-size:11.5px; font-weight:700; letter-spacing:0.13em; text-transform:uppercase; color:#D8FF57; }
.ab-17 { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,400px),1fr)); }
.ab-18 { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr)); }
.ab-19 { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:16px 22px; box-shadow:inset -1px 0 0 rgba(247,244,238,0.16), inset 0 -1px 0 rgba(247,244,238,0.16); font-family:'Archivo',sans-serif; font-weight:800; font-stretch:112%; font-size:17px; letter-spacing:-0.02em; color:#F7F4EE; }
.ab-20 { display:block; flex:0 0 auto; }
.ab-21 { max-width:1320px; margin:0 auto; padding:44px 26px; position:relative; }
.ab-22 { border-top:1px solid rgba(247,244,238,0.18); padding-top:36px; display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr)); gap:28px 0; align-items:center; }
.ab-23 { min-width:0; padding-right:40px; }
.ab-24 { display:block; font-size:11.5px; font-weight:700; letter-spacing:0.13em; text-transform:uppercase; color:#D8FF57; }
.ab-25 { margin-top:12px; font-family:'Archivo',sans-serif; font-weight:700; font-stretch:108%; font-size:clamp(19px,1.7vw,23px); line-height:1.35; letter-spacing:-0.015em; color:#F7F4EE; max-width:760px; text-wrap:pretty; }
.ab-26 { min-width:0; border-left:1px solid rgba(247,244,238,0.18); padding-left:40px; max-width:460px; justify-self:end; width:100%; }
.ab-27 { margin-top:14px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px 24px; }
.ab-28 { display:flex; flex-direction:column; gap:4px; }
.ab-29 { display:flex; align-items:baseline; gap:8px; }
.ab-30 { font-family:'Archivo',sans-serif; font-weight:800; font-stretch:112%; font-size:22px; letter-spacing:-0.03em; color:#F7F4EE; }
.ab-31 { font-size:14px; font-weight:600; color:rgba(247,244,238,0.8); }
.ab-32 { background:#FFFFFF; }
.ab-33 { max-width:1320px; margin:0 auto; padding:84px 26px; }
.ab-34 { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr)); gap:40px; align-items:end; }
.ab-35 { font-size:11.5px; font-weight:700; letter-spacing:0.13em; text-transform:uppercase; color:#4B18E8; }
.ab-36 { font-family:'Archivo',sans-serif; font-weight:800; font-stretch:112%; margin-top:14px; font-size:clamp(30px,3.8vw,50px); line-height:1.04; letter-spacing:-0.04em; text-wrap:balance; }
.ab-37 { font-size:17px; line-height:1.65; color:#4A4640; }
.ab-38 { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr)); gap:16px; margin-top:40px; }
.ab-39 { border:1px solid #E6E1D8; padding:28px; background:#FFFFFF; }
.ab-40 { width:34px; height:34px; background:#12100E; color:#D8FF57; display:flex; align-items:center; justify-content:center; font-family:'Archivo',sans-serif; font-weight:800; font-stretch:112%; font-size:13px; }
.ab-41 { font-family:'Archivo',sans-serif; font-weight:800; font-stretch:112%; margin-top:18px; font-size:22px; line-height:1.14; letter-spacing:-0.03em; }
.ab-42 { margin-top:12px; font-size:15.5px; line-height:1.62; color:#4A4640; }
.ab-43 { position:absolute; right:-180px; top:-200px; width:620px; height:620px; background:radial-gradient(circle,rgba(75,24,232,0.42),rgba(18,16,14,0) 68%); pointer-events:none; }
.ab-44 { max-width:1320px; margin:0 auto; padding:84px 26px; position:relative; }
.ab-45 { font-size:17px; line-height:1.65; color:rgba(247,244,238,0.82); }
.ab-46 { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr)); gap:1px; margin-top:40px; padding:1px; }
.ab-47 { background:#12100E; outline:1px solid rgba(247,244,238,0.16); padding:28px 24px; display:flex; flex-direction:column; }
.ab-48 { font-family:'Archivo',sans-serif; font-weight:800; font-stretch:112%; font-size:15px; color:#D8FF57; letter-spacing:-0.02em; }
.ab-49 { font-family:'Archivo',sans-serif; font-weight:800; font-stretch:112%; margin-top:16px; font-size:21px; line-height:1.1; letter-spacing:-0.03em; }
.ab-50 { margin-top:12px; font-size:15px; line-height:1.58; color:rgba(247,244,238,0.8); flex:1; }
.ab-51 { margin-top:20px; padding-top:14px; border-top:1px solid rgba(247,244,238,0.16); }
.ab-52 { display:block; font-size:11px; font-weight:700; letter-spacing:0.13em; text-transform:uppercase; color:#D8FF57; }
.ab-53 { display:block; margin-top:6px; font-size:14.5px; font-weight:600; line-height:1.5; color:#F7F4EE; }
.ab-54 { margin-top:28px; background:#F7F4EE; color:#12100E; box-shadow:9px 9px 0 #4B18E8; padding:26px 28px; display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr)); gap:18px 28px; }
.ab-55 { display:flex; gap:12px; align-items:flex-start; }
.ab-56 { flex:0 0 22px; height:22px; background:#D8FF57; border:1.5px solid #12100E; display:grid; place-items:center; margin-top:1px; }
.ab-57 { display:block; }
.ab-58 { font-size:15px; line-height:1.5; font-weight:700; }
.ab-59 { background:#F4F1EA; }
.ab-60 { max-width:1320px; margin:0 auto; padding:84px 26px 60px; }
.ab-61 { font-family:'Archivo',sans-serif; font-weight:800; font-stretch:112%; margin-top:14px; font-size:clamp(30px,3.8vw,50px); line-height:1.04; letter-spacing:-0.04em; }
.ab-62 { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,max(400px,calc((100% - 20px) / 2))),1fr)); gap:20px; margin-top:40px; }
.ab-63 { background:#FFFFFF; border:1px solid #E6E1D8; display:flex; flex-wrap:wrap; }
.ab-64 { position:relative; flex:1 1 220px; min-height:293px; background:#2A2440; overflow:hidden; }
.ab-65 { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:50% 25%; display:block; }
.ab-66 { flex:999 1 280px; min-width:0; padding:28px; display:flex; flex-direction:column; }
.ab-67 { font-size:11.5px; font-weight:700; letter-spacing:0.12em; text-transform:uppercase; color:#4B18E8; }
.ab-68 { font-family:'Archivo',sans-serif; font-weight:800; font-stretch:112%; margin-top:10px; font-size:28px; line-height:1.05; letter-spacing:-0.035em; }
.ab-69 { margin-top:14px; font-size:15.5px; line-height:1.62; color:#4A4640; flex:1; }
.ab-70 { margin-top:18px; align-self:flex-start; display:inline-flex; align-items:center; gap:9px; font-size:14.5px; font-weight:700; color:#12100E; }
.ab-71 { width:30px; height:30px; border-radius:50%; display:grid; place-items:center; border:1px solid #E6E1D8; }
.ab-72 { margin-top:28px; background:#12100E; color:#F7F4EE; box-shadow:9px 9px 0 #D8FF57; padding:26px 30px; display:flex; flex-wrap:wrap; gap:18px 32px; align-items:center; justify-content:space-between; }
.ab-73 { min-width:0; flex:1 1 420px; }
.ab-74 { font-family:'Archivo',sans-serif; font-weight:800; font-stretch:112%; font-size:clamp(22px,2.2vw,28px); line-height:1.1; letter-spacing:-0.035em; }
.ab-75 { margin-top:8px; font-size:15.5px; line-height:1.55; color:rgba(247,244,238,0.8); }
.ab-76 { flex:0 0 auto; background:#D8FF57; color:#12100E; font-weight:800; font-size:16px; padding:17px 26px; border:1px solid #D8FF57; box-shadow:5px 5px 0 #4B18E8; }
.ab-77 { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,max(400px,calc((100% - 20px) / 2))),1fr)); gap:20px; margin-top:40px; }
.ab-78 { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr)); gap:20px; }
.ab-79 { min-width:0; border:1px solid #E6E1D8; background:#FFFFFF; display:flex; flex-direction:column; }
.ab-80 { position:relative; aspect-ratio:1/1; background:#E6E1D8; }
.ab-81 { padding:18px 18px 20px; border-top:1px solid #E6E1D8; min-width:0; }
.ab-82 { font-size:11px; font-weight:700; letter-spacing:0.1em; text-transform:uppercase; color:#4B18E8; }
.ab-83 { font-family:'Archivo',sans-serif; font-weight:800; font-stretch:112%; margin-top:8px; font-size:clamp(17px,1.5vw,21px); overflow-wrap:anywhere; line-height:1.1; letter-spacing:-0.03em; }
.ab-84 { margin-top:8px; font-size:14.5px; line-height:1.55; color:#4A4640; }
.ab-85 { background:#12100E; color:#F7F4EE; }
.ab-86 { font-size:17px; line-height:1.65; color:rgba(247,244,238,0.8); }
.ab-87 { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:1px; background:rgba(247,244,238,0.16); border:1px solid rgba(247,244,238,0.16); margin-top:40px; }
.ab-88 { background:#12100E; height:130px; display:flex; align-items:center; justify-content:center; padding:20px; }
.ab-89 { height:54px; width:100%; max-width:120px; object-fit:contain; filter:grayscale(1) invert(1) brightness(1.1); mix-blend-mode:screen; }
.ab-90 { height:54px; width:100%; max-width:120px; object-fit:contain; filter:grayscale(1) contrast(3) brightness(1.2); mix-blend-mode:screen; }
.ab-91 { height:34px; width:100%; max-width:120px; object-fit:contain; filter:grayscale(1) contrast(3) brightness(1.2); mix-blend-mode:screen; }
.ab-92 { height:74px; width:100%; max-width:120px; object-fit:contain; filter:grayscale(1) brightness(0.6) contrast(10); mix-blend-mode:screen; }
.ab-93 { height:46px; width:100%; max-width:120px; object-fit:contain; filter:none; mix-blend-mode:screen; }
.ab-94 { height:22px; width:100%; max-width:120px; object-fit:contain; filter:grayscale(1) brightness(3); mix-blend-mode:screen; }
.ab-95 { height:34px; width:100%; max-width:120px; object-fit:contain; filter:brightness(0) invert(1); mix-blend-mode:screen; }
.ab-96 { height:26px; width:100%; max-width:120px; object-fit:contain; filter:brightness(0) invert(1); mix-blend-mode:screen; }
.ab-97 { grid-column:span 2; background:#4B18E8; min-height:110px; align-content:center; display:flex; align-items:baseline; justify-content:center; gap:12px; flex-wrap:wrap; padding:24px; }
.ab-98 { font-family:'Archivo',sans-serif; font-weight:800; font-stretch:112%; font-size:30px; letter-spacing:-0.04em; line-height:1; }
.ab-99 { font-size:15px; font-weight:600; color:rgba(255,255,255,0.88); }
.ab-100 { display:inline-flex; align-items:center; gap:10px; margin-top:30px; font-size:17px; font-weight:800; color:#F7F4EE; border-bottom:2px solid #D8FF57; padding-bottom:4px; }
.ab-101 { max-width:1320px; margin:0 auto; padding:84px 26px; display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,460px),1fr)); gap:48px; align-items:center; }
.ab-102 { min-width:0; display:flex; flex-direction:column; }
.ab-103 { margin-top:16px; font-size:17px; line-height:1.65; color:#4A4640; max-width:520px; }
.ab-104 { margin-top:14px; font-size:17px; line-height:1.65; color:#4A4640; max-width:520px; }
.ab-105 { margin-top:26px; align-self:flex-start; display:inline-flex; align-items:center; gap:10px; font-size:17px; font-weight:800; color:#12100E; border-bottom:2px solid #4B18E8; padding-bottom:4px; }
.ab-106 { min-width:0; align-self:center; aspect-ratio:4/3; display:grid; grid-template-columns:minmax(0,0.9fr) minmax(0,1.1fr); grid-template-rows:repeat(2,minmax(0,1fr)); gap:18px; }
.ab-107 { position:relative; margin-left:14%; background:#E6E1D8; box-shadow:7px 7px 0 #4B18E8; overflow:hidden; }
.ab-108 { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:40% 55%; display:block; filter:saturate(0.85) contrast(1.05); }
.ab-109 { position:absolute; inset:0; background:#4B18E8; mix-blend-mode:color; opacity:0.12; pointer-events:none; }
.ab-110 { position:absolute; inset:0; background:linear-gradient(180deg,rgba(18,16,14,0) 55%,rgba(18,16,14,0.35)); pointer-events:none; }
.ab-111 { grid-row:1 / span 2; grid-column:2; position:relative; margin:28px 0; background:#E6E1D8; box-shadow:7px 7px 0 #12100E; overflow:hidden; }
.ab-112 { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:50% 40%; display:block; filter:saturate(0.85) contrast(1.05); }
.ab-113 { position:absolute; left:0; bottom:0; background:#12100E; color:#F7F4EE; padding:10px 14px; font-size:12.5px; font-weight:700; letter-spacing:0.04em; }
.ab-114 { position:relative; grid-column:1; grid-row:2; background:#E6E1D8; box-shadow:7px 7px 0 #D8FF57; overflow:hidden; }
.ab-115 { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:50% 45%; display:block; filter:saturate(0.85) contrast(1.05); }
.ab-116 { border:2px solid #12100E; box-shadow:10px 10px 0 #D8FF57; padding:clamp(24px,4vw,44px); display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr)); gap:40px; align-items:center; }
.ab-117 { min-width:0; }
.ab-118 { font-family:'Archivo',sans-serif; font-weight:800; font-stretch:112%; margin-top:14px; font-size:clamp(28px,3.4vw,44px); line-height:1.06; letter-spacing:-0.04em; text-wrap:balance; }
.ab-119 { margin-top:16px; font-size:17px; line-height:1.65; color:#4A4640; max-width:540px; }
.ab-120 { display:inline-block; margin-top:24px; background:#4B18E8; color:#fff; font-weight:800; font-size:16px; padding:16px 26px; box-shadow:5px 5px 0 #12100E; }
.ab-121 { min-width:0; display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr)); gap:10px; }
.ab-122 { display:flex; gap:10px; align-items:flex-start; padding:16px 18px; background:#F4F1EA; font-size:15.5px; line-height:1.45; font-weight:600; color:#2E2A24; }
.ab-123 { color:#4B18E8; font-weight:800; }
.ab-124 { background:#4B18E8; color:#fff; }
.ab-125 { max-width:1320px; margin:0 auto; padding:80px 26px; display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,460px),1fr)); gap:40px; align-items:end; }
.ab-126 { font-family:'Archivo',sans-serif; font-weight:800; font-stretch:112%; font-size:clamp(34px,4.4vw,60px); line-height:0.98; letter-spacing:-0.045em; text-wrap:balance; }
.ab-127 { margin-top:18px; font-size:17.5px; line-height:1.62; color:rgba(255,255,255,0.9); max-width:540px; }
.ab-128 { min-width:0; display:flex; gap:12px; flex-wrap:wrap; justify-content:flex-end; }
.ab-129 { background:#D8FF57; color:#12100E; font-weight:800; font-size:16px; padding:18px 28px; border:1px solid #D8FF57; box-shadow:6px 6px 0 #12100E; }
.ab-130 { border:1px solid rgba(255,255,255,0.55); color:#fff; font-weight:700; font-size:16px; padding:18px 28px; }

/* Core team portrait (add the <img> inside each grey square) */
.ab-portrait { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:50% 25%; display:block; }

/* Hover states */
a.ab-12:hover { color:#12100E; }
a.ab-13:hover { color:#F7F4EE; }
a.ab-19:hover { color:#F7F4EE; }
a.ab-70:hover { color:#12100E; }
a.ab-76:hover { color:#12100E; }
a.ab-100:hover { color:#F7F4EE; }
a.ab-105:hover { color:#12100E; }
a.ab-120:hover { color:#fff; }
a.ab-129:hover { color:#12100E; }
a.ab-130:hover { color:#fff; }
.ab-hover-1.ab-hover-1:hover { box-shadow:0 0 0 #4B18E8; background:#fff; color:#12100E; }
.ab-hover-2.ab-hover-2:hover { border-color:#D8FF57; color:#D8FF57; }
.ab-hover-3.ab-hover-3:hover { color:#12100E; background:#D8FF57; }
.ab-hover-4.ab-hover-4:hover { border-color:#12100E; box-shadow:7px 7px 0 #D8FF57; }
.ab-hover-5.ab-hover-5:hover { background:#1B1822; }
.ab-hover-6.ab-hover-6:hover { border-color:#12100E; box-shadow:8px 8px 0 #4B18E8; }
.ab-hover-7.ab-hover-7:hover { color:#4B18E8; }
.ab-hover-8.ab-hover-8:hover { color:#D8FF57; }
.ab-hover-9.ab-hover-9:hover { box-shadow:0 0 0 #12100E; background:#12100E; color:#fff; }
.ab-hover-10.ab-hover-10:hover { box-shadow:0 0 0 #12100E; background:#fff; color:#12100E; }

/* Hero: mission and track record stack below ~840px */
@media (max-width:840px) {
  .ab-mission { padding-right:0; }
  .ab-track { border-left:0; padding-left:0; justify-self:stretch; max-width:none; }
}

/* Client logo grid: 7 / 4 / 2 columns */
@media (max-width:999px) {
  .ab-logos { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .ab-logos-tile { grid-column:1 / -1; }
}
@media (max-width:599px) {
  .ab-logos { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ab-logo-cell { height:104px; }
}

/* Mobile */
@media (max-width:640px) {
  .ab-wrap { padding-left:18px; padding-right:18px; }
  .ab-sec { padding-top:56px; padding-bottom:56px; }
  .ab-founder-photo { min-height:320px; }
  .ab-70, .ab-100, .ab-105 { min-height:44px; }
  .ab-77 { gap:12px; }
  .ab-78 { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  .ab-81 { padding:12px 12px 14px; }
  .ab-81 h3 { font-size:16px; }
  .ab-81 p { font-size:13px; }
}

/* Team: founders + team in one grid (5 / 2 / 2) */
.ab-team { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:20px; margin-top:40px; }
.ab-80 { overflow:hidden; }
@media (max-width:1024px) {
  .ab-team { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:640px) {
  .ab-team { gap:12px; margin-top:26px; }
}
.ab-portrait-top { object-position:50% 0%; }

/* What we do: 5 services (5 across desktop, 1 per row below) */
.ab-caps { grid-template-columns:minmax(0,1fr); }
@media (min-width:1025px) { .ab-caps { grid-template-columns:repeat(5,minmax(0,1fr)); } }
