/* About page (bento) */
.ab{--abCard:var(--bg-elevated);--abPage:#F3F5F9;font-family:'Inter',sans-serif}
.ab{background:var(--abPage)!important}
[data-theme="dark"] .ab{--abPage:#070D19;--abCard:#0F172A}
.abWrap{max-width:1440px;margin:0 auto;padding:0 48px 140px}

.abEyebrow{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--text-muted);margin-bottom:20px}
.abDot{width:7px;height:7px;border-radius:50%;background:var(--accent-light);box-shadow:0 0 12px var(--accent-light)}
.abH2{font-family:'Urbanist',sans-serif;font-size:46px;font-weight:700;letter-spacing:-0.025em;line-height:1.08;color:var(--text-primary);margin:0;max-width:20ch;text-wrap:balance}
.abTag{font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--text-muted)}
.abNo{font-family:'Roboto Mono',monospace;font-size:13px;color:var(--accent-light)}

/* Hero */
.abHero{max-width:1344px;margin:0 auto;padding:64px 0 80px;display:grid;grid-template-columns:1.5fr 1fr;gap:72px;align-items:end}
.abH1{font-family:'Urbanist',sans-serif;font-size:80px;font-weight:700;letter-spacing:-0.04em;line-height:1;margin:0;color:var(--text-primary)}
.abH1 span{display:block;color:var(--accent-light)}
.abLead{font-size:18px;line-height:1.7;color:var(--text-secondary);margin:0 0 30px;max-width:46ch}
.abBtns{display:flex;gap:12px;flex-wrap:wrap}
.abBtn{display:inline-flex;align-items:center;gap:10px;height:52px;padding:0 26px;border-radius:100px;background:var(--accent-light);color:#fff;font:600 15.5px 'Inter',sans-serif;text-decoration:none;transition:transform .2s}
.abBtn:hover{transform:translateY(-2px)}
.abBtn--ghost{background:transparent;color:var(--text-primary);border:1px solid var(--border-strong);box-shadow:none}
.abBtn--ghost:hover{background:var(--glass-2)}

/* Cards */
.abBento{display:grid;gap:20px}
.abCard{position:relative;overflow:hidden;background:var(--abCard);border:1px solid var(--border);border-radius:28px;padding:38px;color:var(--text-primary);text-decoration:none}
.abCard p{font-size:15.5px;line-height:1.65;color:var(--text-secondary);margin:0}
.abCardLink{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:15px;color:inherit;text-decoration:none;opacity:.85}
.abCardLink:hover{gap:12px;opacity:1}
.abBig{font-family:'Urbanist',sans-serif;font-size:112px;font-weight:700;letter-spacing:-0.045em;line-height:.9}
.abBig i{font-style:normal;color:var(--accent-light)}
.abBig--sm{font-size:64px}

.abBento1{grid-template-columns:repeat(12,1fr);grid-template-rows:280px 200px;grid-template-areas:"m m m m m m n n n s s s" "m m m m m m k k k s s s"}
.abMission{grid-area:m;display:flex;flex-direction:column;justify-content:space-between;border:0;color:#fff;background:linear-gradient(140deg,#0b1736 0%,#16307a 55%,#3A6CE3 100%)}
.abMission .abTag{color:rgba(255,255,255,.65)}
.abMissionText{font-family:'Urbanist',sans-serif;font-size:38px!important;line-height:1.18!important;letter-spacing:-0.015em;font-weight:600;color:#fff!important;max-width:18ch;position:relative}
.abRings{position:absolute;right:-150px;top:-150px;width:480px;opacity:.6}
.abNum{grid-area:n;display:flex;flex-direction:column;justify-content:space-between}
.abNumSm{grid-area:k;flex-direction:row;align-items:center;gap:22px;justify-content:flex-start}
.abNumSm p{max-width:12ch}
.abShot{grid-area:s;border:0;background-size:cover;background-position:center;display:flex;align-items:flex-end;padding:30px;min-height:300px}
.abShot::before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(7,13,25,.82));transition:opacity .3s}
.abShotCap{position:relative;color:#fff;font-size:14px;opacity:.95}
.abShotCap strong{display:block;font-family:'Urbanist',sans-serif;font-size:22px;margin-bottom:2px}
.abShot:hover::before{opacity:.85}

/* Story */
.abStory{display:grid;grid-template-columns:5fr 7fr;gap:80px;padding:140px 0 20px;scroll-margin-top:110px}
.abStoryHead{position:sticky;top:130px;align-self:start}
.abProse p{font-size:17.5px;line-height:1.8;color:var(--text-secondary);margin:0 0 24px}
.abProse p:first-child{font-size:21px;line-height:1.6;color:var(--text-primary)}

/* Section heads */
.abSection{padding-top:140px}
.abHead{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:48px}
.abHeadNote{font-size:15.5px;line-height:1.6;color:var(--text-muted);max-width:36ch;margin:0}
.abHeadNote a{color:var(--accent-light);font-weight:600}
.abLink{display:inline-flex;align-items:center;gap:8px;color:var(--accent-light);font-weight:600;font-size:15.5px;text-decoration:none;white-space:nowrap}
.abLink:hover{gap:12px}

/* Practices */
.abBento2{grid-template-columns:repeat(3,1fr);grid-template-areas:"a b t" "c d t"}
.abBento2 .abPractice:nth-child(1){grid-area:a}.abBento2 .abPractice:nth-child(2){grid-area:b}
.abBento2 .abPractice:nth-child(3){grid-area:c}.abBento2 .abPractice:nth-child(4){grid-area:d}
.abPractice h3{font-family:'Urbanist',sans-serif;font-size:26px;font-weight:700;margin:18px 0 10px;letter-spacing:-0.01em}
.abPractice>p{margin-bottom:22px!important}
.abChips{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px}
.abChips a{display:inline-block;padding:8px 13px;border-radius:100px;border:1px solid var(--border);font-size:13.5px;color:var(--text-primary);text-decoration:none;transition:border-color .2s,color .2s}
.abChips a:hover{border-color:var(--accent-light);color:var(--accent-light)}
.abPractice--dark{background:#070D19;border-color:#070D19;color:#fff}
.abPractice--dark p{color:rgba(255,255,255,.7)}
.abPractice--dark .abChips a{color:#fff;border-color:rgba(255,255,255,.2)}
.abTeam{grid-area:t;display:flex;flex-direction:column;justify-content:space-between;gap:20px;background:linear-gradient(180deg,rgba(58,108,227,.10),rgba(58,108,227,.02)),var(--abCard)}
.abTeam .abCardLink{color:var(--accent-light)}

/* Values */
.abBento3{grid-template-columns:repeat(4,1fr)}
.abValue h3{font-family:'Urbanist',sans-serif;font-size:22px;font-weight:700;margin:40px 0 12px;line-height:1.2}

/* CEO */
.abCeo{margin-top:140px;display:grid;grid-template-columns:400px 1fr;gap:64px;align-items:center;background:var(--abCard);border:1px solid var(--border);border-radius:32px;padding:28px 64px 28px 28px}
.abCeoPhoto{height:480px;border-radius:22px;background-size:cover;background-position:center top;background-color:var(--bg-secondary)}
.abCeoBody blockquote{margin:22px 0 0}
.abCeoBody blockquote p{font-size:17px;line-height:1.75;color:var(--text-secondary);margin:0 0 18px;max-width:60ch}
.abCeoBody blockquote .abCeoLead{font-family:'Urbanist',sans-serif;font-size:32px;line-height:1.3;letter-spacing:-0.015em;font-weight:600;color:var(--text-primary);margin-bottom:24px}
.abSign{margin-top:30px;padding-top:24px;border-top:1px solid var(--border);display:grid;gap:4px}
.abSign strong{font-family:'Urbanist',sans-serif;font-size:20px}
.abSign span{font-size:14px;color:var(--text-muted)}

/* Offices */
.abBento4{grid-template-columns:repeat(4,1fr)}
.abOfficeTop{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:26px}
.abOffice h3{font-family:'Urbanist',sans-serif;font-size:24px;font-weight:700;margin:0 0 4px}
.abOffice span{font-size:13px;color:var(--text-muted)}
.abClock{font-family:'Urbanist',sans-serif;font-size:28px;font-weight:700;color:var(--accent-light);font-variant-numeric:tabular-nums}
.abOffice p{font-size:14.5px}

/* Logos */
.abLogos{margin-top:20px;display:flex;align-items:center;gap:40px;padding:34px 40px}
.abLogoRow{flex:1;display:flex;justify-content:space-between;align-items:center;gap:30px;flex-wrap:wrap}
.abLogo{width:120px;height:40px;background-size:contain;background-repeat:no-repeat;background-position:center;opacity:.7;filter:grayscale(1)}
[data-theme="dark"] .abLogo{filter:grayscale(1) invert(1) brightness(1.6)}

/* FAQ */
.abFaq{display:grid;grid-template-columns:5fr 7fr;gap:80px;padding-top:140px}
.abFaqHead{position:sticky;top:130px;align-self:start}
.abFaqHead .abH2{margin-bottom:18px}
.abQs{border-top:1px solid var(--border)}
.abQ{border-bottom:1px solid var(--border)}
.abQ summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:26px 0;cursor:pointer}
.abQ summary::-webkit-details-marker{display:none}
.abQ h3{font-family:'Urbanist',sans-serif;font-size:21px;font-weight:600;margin:0;line-height:1.35}
.abQ summary:hover h3{color:var(--accent-light)}
.abQ p{font-size:16.5px;line-height:1.75;color:var(--text-secondary);margin:0 0 28px;max-width:64ch}
.abPlus{flex:none;width:34px;height:34px;border-radius:50%;border:1px solid var(--border-strong);position:relative;transition:background .25s}
.abPlus::before,.abPlus::after{content:'';position:absolute;left:50%;top:50%;width:12px;height:1.6px;background:var(--text-primary);transform:translate(-50%,-50%)}
.abPlus::after{transform:translate(-50%,-50%) rotate(90deg)}
.abQ[open] .abPlus{background:var(--accent-light);border-color:var(--accent-light)}
.abQ[open] .abPlus::before{background:#fff}
.abQ[open] .abPlus::after{opacity:0}

/* CTA */
.abCta{margin-top:140px;display:flex;justify-content:space-between;align-items:center;gap:40px;padding:60px 64px;border-radius:32px;color:#fff;background:radial-gradient(900px 300px at 100% 0%,rgba(124,58,237,.45),transparent 60%),linear-gradient(120deg,#0b1736 0%,#16307a 45%,#3A6CE3 100%)}
.abCta h2{font-family:'Urbanist',sans-serif;font-size:44px;font-weight:700;letter-spacing:-0.02em;margin:0 0 12px;line-height:1.1}
.abCta p{font-size:17px;line-height:1.6;color:rgba(255,255,255,.82);margin:0;max-width:540px}
.abBtn--light{background:#fff;color:#16307a;box-shadow:none}
.abBtn--outline{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.45);box-shadow:none}
.abBtn--outline:hover{background:rgba(255,255,255,.12)}

@media (max-width:1180px){
  .abH1{font-size:64px}
  .abHero{grid-template-columns:1fr;gap:28px;align-items:start}
  .abBento1{grid-template-columns:1fr 1fr;grid-template-rows:auto;grid-template-areas:"m m" "n s" "k s"}
  .abMission{min-height:380px}
  .abBento2{grid-template-columns:1fr 1fr;grid-template-areas:"a b" "c d" "t t"}
  .abBento3,.abBento4{grid-template-columns:1fr 1fr}
  .abStory,.abFaq{grid-template-columns:1fr;gap:32px}
  .abStoryHead,.abFaqHead{position:static}
  .abCeo{grid-template-columns:1fr;padding:24px;gap:32px}
  .abCeoPhoto{height:420px;max-width:440px}
  .abH2{font-size:38px}
}
@media (max-width:640px){
  .abWrap{padding:0 20px 80px}
  .abHero{padding:28px 0 44px}
  .abH1{font-size:44px}
  .abLead{font-size:16.5px}
  .abCard{padding:28px;border-radius:24px}
  .abBento1,.abBento2,.abBento3,.abBento4{grid-template-columns:1fr;grid-template-areas:none}
  .abBento1>*,.abBento2>*{grid-area:auto!important}
  .abMission{min-height:340px}
  .abMissionText{font-size:28px!important}
  .abBig{font-size:84px}
  .abShot{min-height:340px}
  .abStory{padding-top:90px}
  .abSection,.abFaq{padding-top:90px}
  .abCeo,.abCta{margin-top:90px}
  .abHead{flex-direction:column;align-items:flex-start;gap:16px;margin-bottom:32px}
  .abH2{font-size:32px}
  .abProse p:first-child{font-size:18.5px}
  .abCeoPhoto{height:340px}
  .abCeoBody blockquote .abCeoLead{font-size:24px}
  .abLogos{flex-direction:column;align-items:flex-start;padding:28px}
  .abLogoRow{justify-content:flex-start;gap:24px}
  .abLogo{width:96px;height:34px}
  .abCta{flex-direction:column;align-items:flex-start;padding:40px 28px}
  .abCta h2{font-size:32px}
}

.abTicks{list-style:none;padding:0;margin:4px 0 0;display:grid;gap:14px;flex:1;align-content:center}
.abTicks li{position:relative;padding-left:30px;font-size:15px;line-height:1.5;color:var(--text-primary)}
.abTicks li::before{content:'';position:absolute;left:0;top:2px;width:19px;height:19px;border-radius:50%;background:var(--accent-light) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/11px no-repeat}
.abTeam .abBig{font-size:96px}
.abTeam{justify-content:flex-start!important}
.abTicks{flex:0 0 auto;margin:26px 0 30px;padding-top:26px;border-top:1px solid var(--border)}
.abTeam .abCardLink{margin-top:auto}
[data-theme="dark"] .abPractice--dark{background:linear-gradient(150deg,#16307a,#3A6CE3);border-color:transparent}

.abWays{list-style:none;padding:0;margin:22px 0 30px;display:grid;gap:0}
.abWays li{padding:22px 0;border-top:1px solid var(--border);display:grid;gap:6px}
.abWays li:first-child{border-top:0;padding-top:0}
.abWays strong{font-family:'Urbanist',sans-serif;font-size:20px;font-weight:700;color:var(--text-primary)}
.abWays span{font-size:14.5px;line-height:1.6;color:var(--text-secondary)}

.abCta{position:relative;overflow:hidden}
.abCta>*:not(.abCtaRings){position:relative;z-index:1}
.abCtaRings{position:absolute;right:-190px;top:-230px;width:420px;opacity:.35;pointer-events:none}
@media (max-width:640px){.abCtaRings{right:-200px;top:-230px;width:360px}}

/* Buttons matched to the rest of the site */
.abPrimary{height:54px;font-size:15.5px}
.abPrimary,.abPrimary:hover,.abCta .abWhite,.abCta .abWhite:hover{box-shadow:none!important}
.abGhost,.abOutline{display:inline-flex;align-items:center;height:54px;padding:0 28px;border-radius:100px;font:600 15.5px 'Inter',sans-serif;text-decoration:none;transition:border-color .25s ease,background .25s ease}
.abGhost{border:1px solid var(--border-strong);color:var(--text-primary);background:transparent}
.abGhost:hover{border-color:var(--accent-light);background:rgba(58,108,227,.12)}
.abCta .abWhite{background:#fff!important;color:#16307a}
.abCta .abWhite .szCtaCirc{background:#3A6CE3;color:#fff}
.abCta .abWhite:hover{background:#fff!important}
.abCta .abWhite:hover .szCtaCirc{background:#16307a;color:#fff}
.abCta .abWhite::after{background:linear-gradient(100deg,transparent,rgba(58,108,227,.18),transparent)}
.abOutline{border:1px solid rgba(255,255,255,.45);color:#fff;background:transparent}
.abOutline:hover{border-color:#fff;background:rgba(255,255,255,.12)}
