/* ============================================================
   ABOUT — page-specific styles
   Ported from the approved Genspark "About" design
   (design_extract/about.css, "ABOUT PAGE STYLES" section + the later
   "ABOUT — POST-REVIEW FIX PATCHES" section). Classes prefixed .ab-
   (and a small number of .mn-/.pb-/.st- sub-classes used only within
   .ab-manifesto/.ab-problem/.ab-role) to avoid collision with any other
   page's section styles.

   Hero: this page reuses the shared .hero/.hero-bg/.hero-scrim/.grid-bg/
   .hero-glow/.hero-card/.hc-* markup and base CSS already defined
   generically in assets/css/main.css (see page-about.php), following the
   same CSS-driven hero-background pattern as
   assets/css/page-why-merchant-protect.css — only the About-specific
   background image + card placement overrides live here.

   Partner logo mask images: the approved design hard-codes
   `assets/partners/{name}.png` directly in the `.p-mark` inline style.
   This theme instead resolves the actual logo URL server-side via
   mpusa_partner_logos() and sets it as an inline style attribute in
   page-about.php, so no url()s are baked into this stylesheet for
   .p-mark — only its box/sizing/hover rules are ported here.

   Design tokens (--navy-*, --blue-*, --ink-*, --slate-*, --paper*,
   --line-*, --radius-*, --shadow-card*, --font-*) and the shared
   .hero/.hero-card/.hc-*/.eyebrow/.btn-*/.pad-*/.container-wide/@keyframes
   blink rules are defined once in assets/css/main.css and intentionally
   NOT redefined here.
   ============================================================ */

/* ---------- HERO — About-specific background + composition ---------- */
/* Specificity: chain all three hero classes to beat the Why-template
   `.hero.wmp-hero-v2 .hero-bg` (0,3,0) rule. */
.hero.wmp-hero-v2.about-hero .hero-bg{
  background-image:url('../images/hero/hero-about-v2.jpg') !important;
  background-position:center center;
}
.about-hero.wmp-hero-v2 .hero-scrim{
  background:
    linear-gradient(100deg, rgba(4,16,31,.94) 0%, rgba(6,22,47,.82) 42%, rgba(6,22,47,.32) 70%, rgba(6,22,47,.10) 100%),
    linear-gradient(180deg, rgba(4,16,31,.35) 0%, transparent 22%, transparent 60%, rgba(4,16,31,.85) 100%);
}
.about-hero h1{max-width:16ch}
.about-hero .hero-grid{grid-template-columns:1.25fr 1fr;gap:70px}
.about-hero .hero-card.c1 .hc-sub{margin-top:8px}
.about-hero .hero-card .hc-icon img{width:26px}
.about-hero .hero-card.c2 .hc-chip{
  background:rgba(30,108,255,.12);
  border:1px solid rgba(30,108,255,.32);
  color:var(--blue-300);
  text-transform:uppercase;
  font-family:var(--font-mono);font-size:9.5px;letter-spacing:.14em;padding:5px 10px;
}
.about-hero .hero-card.c2 .hc-chips{gap:8px;margin-top:16px}
/* Give the two hero cards more vertical breathing room + a taller column
   so they never touch. Card 1 stays at top; card 2 moves further down. */
.about-hero .hero-right{min-height:560px}
.about-hero .hero-card.c1{top:0}
.about-hero .hero-card.c2{top:auto;bottom:0}
.about-hero .hero-card{margin:6px 0}

/* ==================== PURPOSE (WHY WE EXIST) ==================== */
.ab-purpose{background:var(--paper);color:var(--ink-900);position:relative;overflow:hidden;padding-top:150px;padding-bottom:150px}
.ab-purpose .container-wide{position:relative;z-index:2}
.ab-purpose::before{
  content:"";position:absolute;left:0;top:0;bottom:0;width:50%;
  background:linear-gradient(180deg, rgba(30,108,255,.03), transparent 60%);
  pointer-events:none;z-index:1;
}
.ab-purpose-grid{display:grid;grid-template-columns:1fr 1.08fr;gap:110px;align-items:stretch}
.ab-purpose-copy{position:relative;padding-left:44px}
.ab-purpose-copy::before{
  content:"01 \00B7 WHY";position:absolute;left:0;top:14px;
  font-family:var(--font-mono);font-size:10.5px;letter-spacing:.24em;color:var(--blue-500);
  writing-mode:vertical-rl;transform:rotate(180deg);text-transform:uppercase;
  padding:14px 3px;border-top:1px solid var(--blue-500);border-bottom:1px solid rgba(30,108,255,.28);
}
.ab-purpose h2{font-size:60px;letter-spacing:-.032em;line-height:1.02;margin-top:22px}
.ab-purpose h2 .accent{color:var(--blue-500)}
.ab-purpose .body{margin-top:26px;padding-top:26px;border-top:1px solid var(--line-light);font-size:17px;line-height:1.7;color:var(--ink-500);max-width:56ch}
.ab-purpose .body p + p{margin-top:14px}
.ab-purpose .body p:first-child{font-size:20px;line-height:1.5;color:var(--ink-900);font-weight:500;letter-spacing:-.005em}
.ab-purpose .purpose-marks{margin-top:32px;display:flex;gap:8px;flex-wrap:wrap}
.ab-purpose .purpose-mark{
  padding:7px 13px;border-radius:999px;
  background:#fff;border:1px solid var(--line-light);
  font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-500);
  display:inline-flex;align-items:center;gap:8px;
  transition:border-color .2s ease, color .2s ease, transform .2s ease;
}
.ab-purpose .purpose-mark:hover{border-color:rgba(30,108,255,.35);color:var(--ink-900);transform:translateY(-1px)}
.ab-purpose .purpose-mark .d{width:5px;height:5px;border-radius:50%;background:var(--blue-500);opacity:.9}

/* Callout — larger with shield watermark + quote block */
.ab-callout{
  background:linear-gradient(180deg, #fff 0%, #F6F8FC 100%);border:1px solid var(--line-light);border-radius:24px;
  padding:56px 48px 52px;box-shadow:var(--shadow-card);
  position:relative;overflow:hidden;
  display:flex;flex-direction:column;justify-content:center;
}
.ab-callout::before{
  content:"";position:absolute;left:0;top:24px;bottom:24px;width:3px;
  background:linear-gradient(180deg, var(--blue-500), rgba(30,108,255,.15));
}
.ab-callout .co-eyebrow{
  font-family:var(--font-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--blue-500);
  display:inline-flex;align-items:center;gap:10px;position:relative;z-index:2;
}
.ab-callout .co-eyebrow::before{content:"";width:22px;height:1px;background:currentColor;opacity:.6}
.ab-callout .co-head{
  font-family:var(--font-display);font-weight:800;font-size:52px;letter-spacing:-.032em;line-height:1.02;
  margin-top:22px;color:var(--ink-900);position:relative;z-index:2;
}
.ab-callout .co-head .a{display:block;color:var(--blue-500);margin-top:6px}
.ab-callout .co-mark{
  position:absolute;right:-80px;bottom:-80px;width:320px;height:320px;
  background:radial-gradient(closest-side, rgba(30,108,255,.18), transparent 70%);
}
.ab-callout .co-shield{
  position:absolute;right:36px;top:34px;width:56px;height:auto;opacity:.85;
  filter:drop-shadow(0 6px 16px rgba(30,108,255,.28));
}
.ab-callout-quote{
  margin-top:32px;padding-top:26px;border-top:1px solid var(--line-light);
  display:grid;grid-template-columns:auto 1fr;gap:22px;align-items:start;
  position:relative;z-index:2;
}
.ab-callout-quote .q-mark{
  font-family:var(--font-display);font-size:64px;line-height:.7;color:var(--blue-500);font-weight:800;letter-spacing:-.05em;
}
.ab-callout-quote p{font-size:15px;line-height:1.6;color:var(--ink-500);max-width:40ch}

/* ==================== PROBLEM WE SAW (editorial) ==================== */
.ab-problem{background:#fff;color:var(--ink-900);overflow:hidden}
.ab-problem .pb-lead{
  display:grid;grid-template-columns:1fr 1.15fr;gap:80px;align-items:end;
  margin-bottom:80px;
}
.ab-problem h2{font-size:66px;letter-spacing:-.032em;line-height:1.0;max-width:16ch}
.ab-problem h2 .accent{color:var(--blue-500)}
.ab-problem .pb-lede{font-size:19px;line-height:1.65;color:var(--ink-500);max-width:52ch}
.ab-problem .pb-lede p + p{margin-top:14px}
.ab-problem .pb-grid{
  display:grid;grid-template-columns:1.1fr 1fr;gap:80px;align-items:start;
}
.ab-problem-chips{
  display:grid;grid-template-columns:repeat(2,1fr);gap:10px;
}
.ab-chip{
  display:flex;align-items:center;gap:12px;
  padding:16px 18px;border-radius:12px;
  background:var(--paper);border:1px solid var(--line-light);
  font-family:var(--font-display);font-weight:600;font-size:14.5px;color:var(--ink-900);
  letter-spacing:-.005em;
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.ab-chip:hover{transform:translateY(-2px);border-color:rgba(30,108,255,.35);box-shadow:0 12px 28px -14px rgba(30,108,255,.35)}
.ab-chip .c-mark{
  width:26px;height:26px;flex-shrink:0;border-radius:8px;
  background:linear-gradient(180deg,rgba(30,108,255,.14),rgba(30,108,255,.04));
  border:1px solid rgba(30,108,255,.28);
  display:grid;place-items:center;color:var(--blue-500);
  font-family:var(--font-mono);font-size:10px;letter-spacing:.06em;
}
.ab-problem-callout{
  padding:36px 34px;border-radius:var(--radius-xl);
  background:linear-gradient(180deg, var(--navy-800), var(--navy-900));
  color:#fff;position:relative;overflow:hidden;
  border:1px solid var(--line-navy-strong);
  box-shadow:var(--shadow-card-dark);
}
.ab-problem-callout::before{
  content:"";position:absolute;inset:0;
  background:
    radial-gradient(500px 300px at 100% 0%, rgba(30,108,255,.20), transparent 60%),
    radial-gradient(400px 250px at 0% 100%, rgba(58,130,255,.12), transparent 60%);
  pointer-events:none;
}
.ab-problem-callout > *{position:relative}
.ab-problem-callout .eyebrow{color:var(--blue-300)}
.ab-problem-callout .pbc-h{
  font-family:var(--font-display);font-weight:700;font-size:34px;letter-spacing:-.02em;line-height:1.12;
  margin-top:16px;
}
.ab-problem-callout .pbc-h .a{color:var(--blue-400)}

/* ==================== ROLE FLOW ==================== */
.ab-role{background:var(--navy-900);color:#fff;position:relative;overflow:hidden}
.ab-role::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(700px 500px at 20% 10%, rgba(30,108,255,.14), transparent 60%),
    radial-gradient(500px 400px at 90% 90%, rgba(58,130,255,.08), transparent 60%);
}
.ab-role .container-wide{position:relative;z-index:2}
.ab-role-head{
  display:grid;grid-template-columns:1fr 1.1fr;gap:80px;align-items:end;margin-bottom:72px;
}
.ab-role-head h2{font-size:60px;letter-spacing:-.03em;line-height:1.03;max-width:16ch}
.ab-role-head h2 .accent{color:var(--blue-400)}
.ab-role-head p{font-size:17px;line-height:1.7;color:var(--slate-200);max-width:50ch}

.ab-flow5{
  display:grid;grid-template-columns:repeat(5,1fr);gap:0;position:relative;
}
.ab-flow5::before{
  content:"";position:absolute;top:44px;left:8%;right:8%;height:2px;z-index:0;
  background:linear-gradient(90deg, transparent 0%, rgba(109,163,255,.35) 8%, rgba(109,163,255,.35) 92%, transparent 100%);
}
.ab-flow5::after{
  content:"";position:absolute;top:41px;left:8%;height:8px;width:8px;border-radius:50%;
  background:#6DA3FF;box-shadow:0 0 0 4px rgba(30,108,255,.18), 0 0 14px rgba(109,163,255,.85);
  animation:ab-flow-travel 8s cubic-bezier(.45,.05,.55,.95) infinite;
  z-index:1;
}
@keyframes ab-flow-travel{
  0%{left:8%;opacity:0}
  5%{opacity:1}
  92%{left:92%;opacity:1}
  100%{left:92%;opacity:0}
}
.ab-step{
  position:relative;z-index:2;padding:0 18px;text-align:left;
  display:flex;flex-direction:column;align-items:flex-start;
}
.ab-step .st-num{
  width:88px;height:88px;border-radius:24px;
  background:linear-gradient(180deg, var(--navy-700), var(--navy-800));
  border:1px solid rgba(109,163,255,.28);
  display:grid;place-items:center;
  font-family:var(--font-mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--blue-300);
  box-shadow:
    0 1px 0 rgba(255,255,255,.05) inset,
    0 20px 40px -20px rgba(30,108,255,.5);
  position:relative;
}
.ab-step .st-num .st-i{
  color:#fff;font-family:var(--font-display);font-weight:700;font-size:30px;letter-spacing:-.02em;line-height:1;margin-top:0;
}
.ab-step .st-title{font-family:var(--font-display);font-weight:700;font-size:22px;letter-spacing:-.015em;margin-top:22px;line-height:1.15}
.ab-step .st-body{margin-top:10px;font-size:14.5px;line-height:1.55;color:var(--slate-200);max-width:22ch}

/* ==================== THE NAME ==================== */
.ab-name{background:var(--paper);color:var(--ink-900);position:relative;overflow:hidden}
.ab-name-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:100px;align-items:center}
.ab-name h2{font-size:60px;letter-spacing:-.03em;line-height:1.03;margin-top:22px;max-width:14ch}
.ab-name h2 .accent{color:var(--blue-500)}
.ab-name .body{font-size:17px;line-height:1.7;color:var(--ink-500);max-width:50ch;margin-top:26px}
.ab-name .body p + p{margin-top:14px}
.ab-name-statement{
  padding:44px 40px;border-radius:var(--radius-xl);
  background:#fff;border:1px solid var(--line-light);box-shadow:var(--shadow-card);
  position:relative;overflow:hidden;margin-top:36px;
}
.ab-name-statement .a{
  font-family:var(--font-display);font-weight:700;font-size:26px;letter-spacing:-.02em;line-height:1.2;color:var(--ink-900);
}
.ab-name-statement .b{color:var(--blue-500);display:block;margin-top:6px}

/* Protects list */
.ab-protects{display:flex;flex-direction:column;gap:14px}
.ab-protect{
  display:grid;grid-template-columns:44px 1fr;gap:18px;align-items:flex-start;
  padding:18px 20px;border-radius:14px;
  background:#fff;border:1px solid var(--line-light);
  box-shadow:var(--shadow-card);
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.ab-protect:hover{transform:translateY(-2px);border-color:rgba(30,108,255,.28)}
.ab-protect .pr-mark{
  width:44px;height:44px;border-radius:12px;display:grid;place-items:center;
  background:linear-gradient(180deg, var(--navy-700), var(--navy-800));
  border:1px solid var(--line-navy-strong);
  color:#fff;
}
.ab-protect .pr-mark svg{width:22px;height:22px}
.ab-protect h4{font-family:var(--font-display);font-weight:700;font-size:16.5px;letter-spacing:-.005em;color:var(--ink-900)}
.ab-protect p{font-size:14px;color:var(--ink-500);margin-top:4px;line-height:1.55}

/* ==================== SHIELD STORY (dark hero) ==================== */
.ab-shield-section{
  background:radial-gradient(1200px 700px at 50% 30%, #0a2247, var(--navy-900) 70%);
  color:#fff;position:relative;overflow:hidden;
}
.ab-shield-section::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background-image:
    linear-gradient(to right, rgba(255,255,255,.03) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(255,255,255,.03) 1px, transparent 1px);
  background-size:80px 80px;
  mask-image:radial-gradient(closest-side, #000 30%, transparent 80%);
  -webkit-mask-image:radial-gradient(closest-side, #000 30%, transparent 80%);
}
.ab-shield-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center;position:relative;z-index:2}
.ab-shield-copy h2{font-size:60px;letter-spacing:-.03em;line-height:1.02;max-width:14ch;margin-top:22px}
.ab-shield-copy h2 .accent{color:var(--blue-400)}
.ab-shield-copy .body{margin-top:26px;font-size:17px;line-height:1.72;color:var(--slate-200);max-width:52ch}
.ab-shield-copy .body p + p{margin-top:12px}
.ab-shield-copy .layers{
  margin-top:28px;display:grid;grid-template-columns:1fr 1fr;gap:12px;max-width:520px;
}
.ab-shield-copy .layer{
  display:flex;align-items:center;gap:12px;
  padding:14px 16px;border-radius:12px;
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.10);
  font-family:var(--font-display);font-weight:600;font-size:14px;letter-spacing:-.005em;
}
.ab-shield-copy .layer .l-mark{
  width:6px;height:6px;border-radius:50%;background:var(--blue-400);
  box-shadow:0 0 0 3px rgba(30,108,255,.22);flex-shrink:0;
}
.ab-shield-visual{
  position:relative;aspect-ratio:1/1;display:grid;place-items:center;
}
.ab-shield-visual .rings{position:absolute;inset:0;pointer-events:none}
.ab-shield-visual .rings svg{width:100%;height:100%;overflow:visible}
.ab-shield-visual .ring{
  fill:none;stroke:rgba(109,163,255,.20);stroke-width:1;
  transform-origin:50% 50%;
}
.ab-shield-visual .ring.r1{animation:ab-ring-spin 40s linear infinite}
.ab-shield-visual .ring.r2{animation:ab-ring-spin 60s linear infinite reverse;stroke:rgba(109,163,255,.14)}
.ab-shield-visual .ring.r3{animation:ab-ring-spin 90s linear infinite;stroke:rgba(109,163,255,.10)}
@keyframes ab-ring-spin{to{transform:rotate(360deg)}}
.ab-shield-visual .ring-pulse{
  fill:none;stroke:#6DA3FF;stroke-width:1.4;stroke-dasharray:2 20;
  animation:ab-ring-flow 4.2s linear infinite;
  filter:drop-shadow(0 0 6px rgba(109,163,255,.7));
}
@keyframes ab-ring-flow{to{stroke-dashoffset:-220}}
.ab-shield-visual .shield-plate{
  position:relative;width:46%;aspect-ratio:1;display:grid;place-items:center;
  filter:drop-shadow(0 30px 60px rgba(30,108,255,.35)) drop-shadow(0 0 80px rgba(30,108,255,.28));
  z-index:2;
}
.ab-shield-visual .shield-plate img{width:100%;height:auto}
.ab-shield-visual .nodes{position:absolute;inset:0;pointer-events:none}
.ab-shield-visual .node{
  position:absolute;padding:8px 12px;border-radius:999px;
  background:rgba(4,16,31,.62);border:1px solid rgba(109,163,255,.28);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  font-family:var(--font-mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--slate-200);
  display:inline-flex;align-items:center;gap:8px;
}
.ab-shield-visual .node .d{width:5px;height:5px;border-radius:50%;background:var(--blue-400);box-shadow:0 0 0 3px rgba(30,108,255,.22)}
.ab-shield-visual .n-a{top:6%;left:10%}
.ab-shield-visual .n-b{top:16%;right:6%}
.ab-shield-visual .n-c{bottom:20%;left:2%}
.ab-shield-visual .n-d{bottom:8%;right:10%}

/* ==================== PRINCIPLES ==================== */
.ab-principles{background:#fff;color:var(--ink-900)}
.ab-principles-head{
  display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:end;margin-bottom:72px;
}
.ab-principles-head h2{font-size:60px;letter-spacing:-.03em;line-height:1.03;max-width:14ch}
.ab-principles-head h2 .accent{color:var(--blue-500)}
.ab-principles-head p{font-size:17px;line-height:1.68;color:var(--ink-500);max-width:50ch}
.ab-princ-grid{
  display:grid;grid-template-columns:repeat(5,1fr);gap:16px;
}
.ab-princ{
  padding:36px 30px 40px;
  background:#fff;
  border:1px solid var(--line-light);
  border-radius:16px;
  display:flex;flex-direction:column;gap:16px;
  position:relative;overflow:hidden;
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease, background .3s ease;
}
.ab-princ:hover{
  background:var(--paper);
  border-color:rgba(30,108,255,.28);
  transform:translateY(-3px);
  box-shadow:0 20px 40px -20px rgba(30,108,255,.22);
}
.ab-princ::before{
  content:"";position:absolute;left:0;right:0;top:0;height:2px;
  background:var(--blue-500);transform:scaleX(0);transform-origin:left;
  transition:transform .35s cubic-bezier(.2,.7,.2,1);
  border-top-left-radius:16px;border-top-right-radius:16px;
}
.ab-princ:hover::before{transform:scaleX(1)}
.ab-princ .p-num{
  font-family:var(--font-mono);font-size:11px;letter-spacing:.16em;color:var(--blue-500);
}
.ab-princ h3{font-family:var(--font-display);font-weight:700;font-size:19px;letter-spacing:-.01em;line-height:1.2;text-transform:none}
.ab-princ .p-key{
  font-family:var(--font-mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-400);
  margin-top:-6px;
}
.ab-princ p{font-size:14px;line-height:1.6;color:var(--ink-500)}

/* ==================== STANDARD TEASER ==================== */
.ab-standard{background:var(--paper);color:var(--ink-900);overflow:hidden}
.ab-standard-inner{
  background:linear-gradient(180deg, var(--navy-800), var(--navy-900));
  color:#fff;border-radius:var(--radius-xl);
  padding:80px 72px;position:relative;overflow:hidden;
  border:1px solid var(--line-navy-strong);
  box-shadow:0 40px 100px -30px rgba(11,21,38,.5);
}
.ab-standard-inner::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(500px 350px at 15% 30%, rgba(30,108,255,.20), transparent 60%),
    radial-gradient(700px 500px at 100% 100%, rgba(58,130,255,.12), transparent 60%);
}
.ab-standard-inner::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background-image:
    linear-gradient(to right, rgba(255,255,255,.04) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(255,255,255,.04) 1px, transparent 1px);
  background-size:64px 64px;
  mask-image:linear-gradient(90deg, transparent 20%, #000 50%, transparent 90%);
  -webkit-mask-image:linear-gradient(90deg, transparent 20%, #000 50%, transparent 90%);
}
.ab-standard-inner > *{position:relative;z-index:2}
.ab-standard-head{display:grid;grid-template-columns:1fr auto;gap:60px;align-items:end;margin-bottom:48px}
.ab-standard h2{font-size:52px;letter-spacing:-.03em;line-height:1.05;max-width:18ch}
.ab-standard h2 .accent{color:var(--blue-400)}
.ab-standard .st-cta{white-space:nowrap}
.ab-six{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}
.ab-six-cell{
  padding:22px 20px;border-radius:16px;
  background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);
  display:flex;flex-direction:column;gap:8px;
  transition:transform .25s ease, border-color .25s ease, background .25s ease;
}
.ab-six-cell:hover{transform:translateY(-3px);border-color:rgba(109,163,255,.35);background:rgba(255,255,255,.05)}
.ab-six-cell .k{
  font-family:var(--font-mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--blue-300);
  display:flex;align-items:center;gap:8px;
}
.ab-six-cell .k::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--blue-400);box-shadow:0 0 0 3px rgba(30,108,255,.22)}
.ab-six-cell h4{font-family:var(--font-display);font-weight:700;font-size:17px;letter-spacing:-.005em;color:#fff}
.ab-six-cell p{font-size:13px;line-height:1.5;color:var(--slate-200)}

/* ==================== PARTNERS ==================== */
.ab-partners{background:#fff;color:var(--ink-900);overflow:hidden}
.ab-partners-head{
  display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:end;margin-bottom:64px;
}
.ab-partners h2{font-size:60px;letter-spacing:-.03em;line-height:1.02;max-width:14ch}
.ab-partners h2 .accent{color:var(--blue-500);display:block}
.ab-partners .body{font-size:17px;line-height:1.7;color:var(--ink-500);max-width:52ch}
.ab-partners-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:20px;
}
.ab-partner{
  padding:38px 32px;border-radius:20px;
  background:var(--paper);border:1px solid var(--line-light);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;
  text-align:center;min-height:170px;
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease, background .25s ease;
}
.ab-partner:hover{transform:translateY(-4px);border-color:rgba(30,108,255,.28);box-shadow:0 20px 40px -20px rgba(30,108,255,.25);background:#fff}
.ab-partner .p-mark{
  width:100%;max-width:230px;height:70px;
  background-color:var(--ink-500);
  -webkit-mask-position:center;mask-position:center;
  -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
  -webkit-mask-size:contain;mask-size:contain;
  transition:background-color .25s ease, transform .25s ease;
}
.ab-partner:hover .p-mark{background-color:var(--ink-900);transform:scale(1.05)}
.ab-partners-statement{
  margin-top:60px;text-align:center;
  font-family:var(--font-display);font-weight:700;font-size:34px;letter-spacing:-.02em;line-height:1.2;color:var(--ink-900);
}
.ab-partners-statement .a{color:var(--blue-500);display:block}

/* ==================== USA / NATIONAL ==================== */
.ab-usa{background:var(--navy-900);color:#fff;position:relative;overflow:hidden}
.ab-usa::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(600px 400px at 20% 20%, rgba(30,108,255,.14), transparent 60%),
    radial-gradient(500px 400px at 90% 80%, rgba(58,130,255,.08), transparent 60%);
}
.ab-usa .container-wide{position:relative;z-index:2}
.ab-usa-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:80px;align-items:center}
.ab-usa h2{font-size:56px;letter-spacing:-.03em;line-height:1.03;max-width:14ch;margin-top:22px}
.ab-usa h2 .accent{color:var(--blue-400)}
.ab-usa .body{margin-top:26px;font-size:17px;line-height:1.7;color:var(--slate-200);max-width:50ch}
.ab-usa .body p + p{margin-top:12px}
.ab-hq{
  margin-top:32px;display:flex;flex-direction:column;gap:14px;
  padding:24px 26px;border-radius:16px;
  background:rgba(255,255,255,.04);border:1px solid var(--line-navy-strong);
  max-width:400px;
}
.ab-hq .k{
  font-family:var(--font-mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--blue-300);
  display:flex;align-items:center;gap:10px;
}
.ab-hq .k::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--blue-400);box-shadow:0 0 0 3px rgba(30,108,255,.24);animation:blink 2s infinite}
.ab-hq address{font-style:normal;font-family:var(--font-display);font-weight:600;font-size:16px;letter-spacing:-.005em;line-height:1.5;color:#fff}
.ab-hq address .co{color:var(--slate-200);font-weight:500;display:block;margin-bottom:2px}

.ab-map{
  position:relative;aspect-ratio:1.55/1;
  background:linear-gradient(180deg, rgba(10,34,71,.5), rgba(6,22,47,.4));
  border:1px solid var(--line-navy-strong);border-radius:24px;
  overflow:hidden;padding:36px;
  box-shadow:0 40px 100px -30px rgba(0,0,0,.55);
}
.ab-map svg{width:100%;height:100%;display:block;overflow:visible}
.ab-map .m-label{
  position:absolute;font-family:var(--font-mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;
}
.ab-map .m-hq{
  display:inline-flex;align-items:center;gap:10px;
  padding:8px 12px;border-radius:999px;
  background:rgba(4,16,31,.75);border:1px solid rgba(109,163,255,.35);
  color:#fff;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
}
.ab-map .m-hq .d{width:6px;height:6px;border-radius:50%;background:var(--blue-400);box-shadow:0 0 0 3px rgba(30,108,255,.28);animation:blink 2s infinite}
.ab-map .m-corner{
  position:absolute;top:20px;left:24px;
  color:var(--slate-300);
}
.ab-map .m-corner-r{
  position:absolute;top:20px;right:24px;
  color:var(--slate-300);
}

/* ==================== INDUSTRIES QUICK-LINK ==================== */
.ab-industries{background:#fff;color:var(--ink-900)}
.ab-industries-head{
  display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:end;margin-bottom:56px;
}
.ab-industries h2{font-size:56px;letter-spacing:-.03em;line-height:1.03;max-width:14ch}
.ab-industries h2 .accent{color:var(--blue-500)}
.ab-industries .body{font-size:17px;line-height:1.7;color:var(--ink-500);max-width:48ch}
.ab-ind-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:40px;
}
.ab-ind-tile{
  padding:22px 22px 26px;border-radius:16px;
  background:var(--paper);border:1px solid var(--line-light);
  display:flex;flex-direction:column;gap:24px;
  min-height:140px;justify-content:space-between;
  color:var(--ink-900);
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease, background .25s ease;
}
.ab-ind-tile:hover{transform:translateY(-3px);border-color:rgba(30,108,255,.35);box-shadow:0 20px 40px -20px rgba(30,108,255,.28);background:#fff}
.ab-ind-tile .k{
  font-family:var(--font-mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--blue-500);
}
.ab-ind-tile h4{font-family:var(--font-display);font-weight:700;font-size:17px;letter-spacing:-.005em;line-height:1.2}
.ab-ind-tile .arrow{color:var(--blue-500);align-self:flex-end}

/* ==================== NEW / EXISTING PATHWAYS ==================== */
.ab-paths{background:var(--paper);color:var(--ink-900)}
.ab-paths-head{text-align:center;margin-bottom:56px}
.ab-paths-head h2{font-size:48px;letter-spacing:-.03em;line-height:1.05;max-width:22ch;margin:16px auto 0}
.ab-paths-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.ab-path{
  padding:56px 48px 52px;border-radius:var(--radius-xl);
  background:#fff;border:1px solid var(--line-light);
  box-shadow:var(--shadow-card);
  position:relative;overflow:hidden;
  display:flex;flex-direction:column;
  transition:transform .25s ease, box-shadow .25s ease;
}
.ab-path:hover{transform:translateY(-3px);box-shadow:0 30px 60px -20px rgba(11,21,38,.18)}
.ab-path::before{
  content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--blue-500);
}
.ab-path .k{
  font-family:var(--font-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--blue-500);
  display:inline-flex;align-items:center;gap:10px;
}
.ab-path .k::before{content:"";width:22px;height:1px;background:currentColor;opacity:.6}
.ab-path h3{font-family:var(--font-display);font-weight:700;font-size:32px;letter-spacing:-.02em;line-height:1.12;margin-top:18px;text-transform:none}
.ab-path p{margin-top:14px;font-size:16px;line-height:1.65;color:var(--ink-500);max-width:44ch}
.ab-path .btn{margin-top:32px;align-self:flex-start}

/* ==================== SUPPORT ==================== */
.ab-support{background:var(--navy-800);color:#fff;position:relative;overflow:hidden}
.ab-support::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(700px 500px at 80% 30%, rgba(30,108,255,.14), transparent 60%),
    radial-gradient(500px 400px at 10% 90%, rgba(58,130,255,.10), transparent 60%);
}
.ab-support .container-wide{position:relative;z-index:2}
.ab-support-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:100px;align-items:center}
.ab-support h2{font-size:60px;letter-spacing:-.03em;line-height:1.03;max-width:14ch;margin-top:22px}
.ab-support h2 span{display:block}
.ab-support h2 .accent{color:var(--blue-400)}
.ab-support .body{margin-top:26px;font-size:17px;line-height:1.7;color:var(--slate-200);max-width:50ch}
.ab-support .body p + p{margin-top:12px}
.ab-support-statement{
  margin-top:36px;padding:28px 32px;border-radius:16px;
  background:rgba(255,255,255,.04);border:1px solid var(--line-navy-strong);
  font-family:var(--font-display);font-weight:700;font-size:22px;letter-spacing:-.015em;line-height:1.3;
}
.ab-support-statement .a{color:var(--blue-400)}
/* Timeline visual on the right */
.ab-life{
  position:relative;padding:20px 0;
  display:flex;flex-direction:column;gap:12px;
}
.ab-life::before{
  content:"";position:absolute;left:30px;top:24px;bottom:24px;width:2px;
  background:linear-gradient(180deg, transparent, rgba(109,163,255,.35), transparent);
}
.ab-life-item{
  display:grid;grid-template-columns:60px 1fr;align-items:center;gap:22px;
  padding:18px 26px;border-radius:14px;
  background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.06);
  transition:background .25s ease, border-color .25s ease, transform .25s ease;
  position:relative;
}
.ab-life-item:hover{background:rgba(255,255,255,.05);border-color:rgba(109,163,255,.28);transform:translateX(4px)}
.ab-life-item .li-dot{
  width:14px;height:14px;border-radius:50%;background:var(--navy-700);
  border:2px solid var(--blue-400);position:relative;z-index:2;
  box-shadow:0 0 0 4px var(--navy-800);
  margin-left:16px;
}
.ab-life-item .li-copy{display:flex;flex-direction:column;gap:2px}
.ab-life-item .li-copy .li-k{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--blue-300)}
.ab-life-item .li-copy .li-t{font-family:var(--font-display);font-weight:600;font-size:15.5px;letter-spacing:-.005em;color:#fff}

/* ==================== MANIFESTO ==================== */
.ab-manifesto{
  background:radial-gradient(900px 600px at 50% 40%, #0a2247, var(--navy-900) 80%);
  color:#fff;position:relative;overflow:hidden;
}
.ab-manifesto::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background-image:
    linear-gradient(to right, rgba(255,255,255,.04) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(255,255,255,.04) 1px, transparent 1px);
  background-size:80px 80px;
  mask-image:radial-gradient(closest-side, #000 30%, transparent 85%);
  -webkit-mask-image:radial-gradient(closest-side, #000 30%, transparent 85%);
}
.ab-manifesto .container-wide{position:relative;z-index:2;text-align:center}
.ab-manifesto .mn-shield{
  width:96px;height:auto;margin:0 auto 40px;
  filter:drop-shadow(0 20px 40px rgba(30,108,255,.4)) drop-shadow(0 0 60px rgba(30,108,255,.3));
}
.ab-manifesto .eyebrow{color:var(--blue-300);justify-content:center;display:inline-flex}
.ab-manifesto h2{
  font-size:60px;letter-spacing:-.04em;line-height:.98;font-weight:800;
  margin-top:22px;max-width:24ch;margin-left:auto;margin-right:auto;
  text-shadow:0 2px 40px rgba(0,0,0,.4);
}
.ab-manifesto h2 .accent{color:var(--blue-400);display:block}
.ab-manifesto .mn-body{
  margin:44px auto 0;font-size:18px;line-height:1.7;color:var(--slate-200);max-width:48ch;
}
.ab-manifesto .mn-list{
  margin:36px auto 0;max-width:520px;
  display:flex;flex-direction:column;gap:10px;
}
.ab-manifesto .mn-list li{
  padding:14px 22px;border-radius:12px;
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);
  font-family:var(--font-display);font-weight:600;font-size:15.5px;letter-spacing:-.005em;
  display:flex;align-items:center;gap:12px;justify-content:flex-start;
  text-align:left;
}
.ab-manifesto .mn-list li .n{
  font-family:var(--font-mono);font-size:10.5px;letter-spacing:.14em;color:var(--blue-300);width:24px;flex-shrink:0;
}
.ab-manifesto .mn-final{
  margin-top:56px;font-family:var(--font-display);font-weight:700;font-size:26px;letter-spacing:-.02em;line-height:1.3;
  color:#fff;max-width:38ch;margin-left:auto;margin-right:auto;
}
.ab-manifesto .mn-final .a{color:var(--blue-400)}

/* ==================== FINAL CTA ==================== */
.ab-final{background:#fff;color:var(--ink-900);padding:140px 0}
.ab-final .container-wide{text-align:center}
.ab-final h2{font-size:64px;letter-spacing:-.03em;line-height:1.04;max-width:20ch;margin:16px auto 0}
.ab-final h2 .accent{color:var(--blue-500)}
.ab-final p{margin:26px auto 0;font-size:17px;line-height:1.65;color:var(--ink-500);max-width:56ch}
.ab-final .ctas{margin-top:40px;display:inline-flex;gap:14px;flex-wrap:wrap;justify-content:center}
.ab-final .fin-supp{
  margin-top:36px;font-family:var(--font-display);font-weight:600;font-size:17px;letter-spacing:-.005em;color:var(--ink-500);
}
.ab-final .fin-supp .a{color:var(--blue-500)}

/* ==================== RESPONSIVE ==================== */
@media (max-width: 1180px){
  .about-hero .hero-grid,
  .ab-purpose-grid, .ab-problem .pb-lead, .ab-problem .pb-grid,
  .ab-role-head, .ab-name-grid, .ab-shield-grid,
  .ab-principles-head, .ab-partners-head, .ab-usa-grid,
  .ab-industries-head, .ab-support-grid{
    grid-template-columns:1fr;gap:48px;
  }
  .ab-princ-grid{grid-template-columns:repeat(5,1fr)}
  .ab-six{grid-template-columns:repeat(3,1fr)}
  .about-hero h1{font-size:60px}
  .ab-purpose h2, .ab-problem h2, .ab-role-head h2,
  .ab-name h2, .ab-shield-copy h2, .ab-principles-head h2,
  .ab-partners h2, .ab-usa h2, .ab-industries h2, .ab-support h2{font-size:48px}
  .ab-manifesto h2{font-size:48px}
  .ab-partners-grid{grid-template-columns:repeat(2,1fr)}
  .ab-ind-grid{grid-template-columns:repeat(3,1fr)}
  .ab-standard-head{grid-template-columns:1fr;gap:24px;align-items:start}
  .ab-purpose-copy{padding-left:0}
  .ab-purpose-copy::before{display:none}
  .ab-callout .co-head{font-size:40px}
  .ab-partner .p-mark{max-width:190px;height:60px}
}
@media (max-width: 900px){
  .ab-princ-grid{grid-template-columns:repeat(2,1fr)}
  .ab-six{grid-template-columns:repeat(2,1fr)}
  .ab-flow5{grid-template-columns:1fr;gap:20px}
  .ab-flow5::before,.ab-flow5::after{display:none}
  .ab-ind-grid{grid-template-columns:repeat(2,1fr)}
  .ab-paths-grid{grid-template-columns:1fr}
  .ab-partners-grid{grid-template-columns:repeat(2,1fr)}
  .ab-callout .co-head{font-size:36px}
  .ab-manifesto h2{font-size:38px}
  .ab-final h2{font-size:44px}
  .ab-standard-inner{padding:56px 32px}
  .ab-standard h2{font-size:38px}
  .ab-partner .p-mark{max-width:170px;height:52px}
}
@media (max-width: 640px){
  .ab-princ-grid{grid-template-columns:1fr}
  .ab-six{grid-template-columns:1fr}
  .ab-ind-grid{grid-template-columns:1fr 1fr}
  .ab-partners-grid{grid-template-columns:1fr 1fr}
  .about-hero h1{font-size:44px}
  .ab-manifesto h2{font-size:32px}
  .ab-manifesto .mn-shield{width:64px}
  .ab-callout .co-head{font-size:28px}
  .ab-callout{padding:40px 28px}
  .ab-callout .co-shield{width:38px;right:22px;top:22px}
  .ab-final h2{font-size:34px}
  .ab-name-grid .ab-protects{margin-top:8px}
  .ab-purpose{padding:100px 0}
  .ab-purpose h2{font-size:36px}
  .ab-partner .p-mark{max-width:140px;height:44px}
}
