:root{
    --green:#78b900;
    --green-dark:#5f9400;
    --green-soft:#f2f9e6;
    --pink:#E5167B;
    --ink:#16181d;
    --body:#4a4f5a;
    --muted:#6b7180;
    --navy:#0c1a3a;
    --navy-2:#0a1530;
    --blue:#1d5fe6;
    --blue-soft:#8ec2ff;
    --card:#ffffff;
    --card-grey:#f5f6f8;
    --radius:14px;
    --wrap:1236px;
    --sec-light:120px;
    --sec-color:130px;
    --font:"Poppins", "Helvetica Neue", Arial, sans-serif;
  }
  *{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth}
  body{font-family:var(--font);color:var(--ink);background:#fff;-webkit-font-smoothing:antialiased;line-height:1.5}
  img,svg{max-width:100%;display:block}
  a{color:inherit;text-decoration:none}
  :focus-visible{outline:2px solid var(--green);outline-offset:3px;border-radius:4px}
  .wrap{max-width:var(--wrap);margin:0 auto;padding:0 48px}
  @media (max-width:880px){.wrap{padding:0 24px}}

  /* Soft blurred gradient field for light sections */
  .field{position:relative;overflow:hidden;overflow:clip;isolation:isolate}
  .field::before{
    content:"";position:absolute;inset:-10%;z-index:-1;filter:blur(40px);
    background:
      radial-gradient(38% 28% at 4% 10%, rgba(150,220,60,.55), transparent 70%),
      radial-gradient(30% 22% at 96% 4%, rgba(90,170,255,.55), transparent 70%),
      radial-gradient(34% 24% at 100% 30%, rgba(150,220,60,.40), transparent 70%),
      radial-gradient(40% 25% at 50% 42%, rgba(120,190,255,.30), transparent 70%),
      radial-gradient(45% 22% at 10% 70%, rgba(110,180,255,.35), transparent 70%),
      radial-gradient(45% 20% at 90% 80%, rgba(120,190,255,.35), transparent 70%);
  }

  /* Shared background image: nav through "We've seen this before" */
  .hero-bg{position:relative;background-color:#fff;background-image:url("../images/bg_hero.webp");background-size:100% calc(100% - var(--bg-runway,0px));background-position:0 var(--bg-shift,0px);background-repeat:no-repeat}
  .hero-bg .legacy::before{display:none}

  /* NAV */
  .nav{position:sticky;top:0;z-index:50;padding-top:env(safe-area-inset-top,0px);background:transparent;transition:background .2s}
  .nav.scrolled{background:rgba(255,255,255,.8);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
  .nav .wrap{display:flex;align-items:center;justify-content:space-between;height:64px}
  .logo{display:flex;align-items:center;gap:8px;font-weight:600;letter-spacing:.04em;font-size:17px;color:#2b2f36}
  .nav-links{display:flex;gap:28px;font-size:14px;font-weight:500}
  .nav-links a{display:flex;align-items:center;gap:4px}
  .nav-links a:hover{color:var(--green-dark)}
  .nav-right{display:flex;align-items:center;gap:18px;font-size:14px;font-weight:500}
  .btn{display:inline-flex;align-items:center;gap:6px;background:var(--green);color:#fff;font-weight:500;font-size:14px;padding:9px 16px;border-radius:4px;transition:background .15s}
  .btn:hover{background:var(--green)}
  .menu-toggle{display:none;background:none;border:0;cursor:pointer;padding:6px}

  /* HERO */
  .hero{padding:88px 0 56px}
  .hero .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,472px);gap:80px;align-items:end;align-items:last baseline}
  .hero h1 .line{display:block;text-wrap:balance}
  .hero h1{font-size:clamp(40px,4.8vw,60px);line-height:1.06;font-weight:600;letter-spacing:-.02em}
  .hero .lede{margin:0;font-size:clamp(18px,1.8vw,22px);letter-spacing:-.015em;color:var(--ink);font-weight:500;line-height:1.35;max-width:540px}
  .hero .small{margin:16px 0 0;font-size:16px;line-height:1.55;color:var(--body);max-width:540px}
  .hero-links{display:flex;flex-wrap:wrap;gap:12px 40px;margin-top:28px;font-size:18px;font-weight:600;color:var(--green)}
  .hero-links a{display:inline-flex;align-items:center;gap:6px}
  .hero-links a:hover{color:var(--green-dark)}
  
  .hero h1 .g{color:var(--green)}
  .hero h1 .quits{color:var(--green)}
  
  
  
  

  /* LOGOS */
  .logos{text-align:center;padding:64px 0 var(--sec-light)}
  .logos p{font-size:20px;font-weight:600;color:#555a64}
  .logo-row{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:26px 44px;margin-top:32px;color:#6e737c}
  .logo-row img{height:40px;width:auto;display:block}
  @media (max-width:880px){.logos{padding:48px 0 64px}.logo-row{gap:18px 30px;justify-content:center}.logo-row img{height:32px}}

  /* PROBLEM + VERDICT GRAPHIC */
  .problem{padding:var(--sec-light) 0}
  .problem .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,470px);gap:64px;align-items:center}
  .problem .col{max-width:590px}
  .problem h2{font-size:clamp(28px,4vw,36px);line-height:1.2;font-weight:600}
  .problem .col p{font-size:16px;line-height:1.55;color:var(--body);margin-top:14px}

  .verdict{width:100%;max-width:470px;justify-self:end;background:#fff;border-radius:var(--radius);padding:26px 22px 24px;box-shadow:0 24px 50px -30px rgba(20,40,90,.35)}
  .verdict-title{text-align:center;font-size:20px;font-weight:600;line-height:1.25}
  .verdict-title span{display:block;color:#1c3aa9}
  .vpanel{border-radius:10px;overflow:hidden;margin-top:18px;background:#f7f8fa;border:1px solid #e6e8ec}
  .vpanel h3{font-size:12px;font-weight:600;letter-spacing:.06em;color:#fff;padding:11px 16px}
  .vpanel.eval h3{background:#1f2b5c}
  .vpanel.cust h3{background:var(--green)}
  .vbody{padding:18px 14px 14px}
  .track{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);position:relative;row-gap:18px}
  .track li{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;font-size:9.5px;font-weight:600;letter-spacing:.03em;line-height:1.25;color:#2a2e36;padding:0 2px}
  .track li::before{content:"";position:absolute;top:17px;left:-50%;width:100%;height:2px;background:var(--line,#78b900);z-index:0}
  .track li:first-child::before,.track li.row-start::before{display:none}
  .node{position:relative;z-index:1;width:36px;height:36px;border-radius:50%;background:#fff;border:2px solid var(--c,#78b900);display:grid;place-items:center;margin-bottom:8px}
  .node svg{width:18px;height:18px}
  .journey{display:block;width:84%;height:auto;aspect-ratio:261.61/105.3;margin:4px auto 2px;visibility:hidden}
  .journey.on{visibility:visible}
  .verdict-line{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:14px;font-size:14px;font-weight:600;font-style:italic}
  .verdict-line svg{width:20px;height:20px}
  .vs{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:16px;font-size:15px;font-weight:700;color:#2a2e36}
  .vs::before,.vs::after{content:"";width:14px;height:2px;background:currentColor}
  .verdict-foot{text-align:center;font-size:12.5px;color:var(--body);margin-top:16px;line-height:1.5}

  /* one reveal: checks pass, then the customer journey degrades */
  .verdict.armed .vpanel:not(.play) .verdict-line{opacity:0;transform:translateY(4px)}
  .vpanel.play .verdict-line{opacity:1;transform:none;transition:opacity .35s ease,transform .35s ease;transition-delay:var(--d,0s)}

  /* SIGNALS */
  .signals{padding:var(--sec-light) 0}
  .split-head{display:grid;grid-template-columns:repeat(3,1fr);column-gap:16px;row-gap:16px;align-items:start}
  .split-head .aside{grid-column:2 / 4}
  .h-lg{font-size:clamp(28px,4vw,36px);line-height:1.2;font-weight:600;letter-spacing:-.01em}
  .h-lg .p{color:var(--pink)}
  .h-lg .g{color:var(--green)}
  .h-lg .b{color:#0737AD}
  .split-head .aside{max-width:440px;text-wrap:balance;font-size:16px;line-height:1.55;color:var(--body);margin-top:10px}
  .sig-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:34px}
  .sig{background:#fff;box-shadow:0 10px 30px -22px rgba(20,40,90,.25);border-radius:var(--radius);padding:34px 30px 38px;min-height:190px}
  .sig h3{display:flex;align-items:center;gap:12px;font-size:16px;font-weight:600}
  .sig h3 svg{width:30px;height:30px;flex:none}
  .sig p{font-size:16px;line-height:1.55;color:var(--muted);margin-top:18px;max-width:280px}

  /* OUTCOMES DECK */
  .outcomes{padding:var(--sec-light) 0}
  .outcomes .wrap{display:grid;grid-template-columns:minmax(0,400px) minmax(0,1fr);gap:56px;align-items:center}
  .outcomes .wrap{align-items:start}
  .outcomes .h-lg{position:sticky;top:var(--pin-top,140px)}
  .ostack{display:flex;flex-direction:column;gap:24px}
  .ocard{position:relative;background:#fff;border-radius:var(--radius);box-shadow:0 18px 40px -24px rgba(20,40,90,.25);display:grid;grid-template-columns:1fr 200px;gap:32px;align-items:center;min-height:280px;padding:40px 44px;transform-origin:50% 100%;will-change:transform}
  .ocard::after{content:"";position:absolute;inset:0;border-radius:inherit;background:#e9edf3;opacity:var(--shade,0);pointer-events:none;transition:opacity .1s linear}
  .ocard h3{font-size:19px;font-weight:600}
  .ocard p{font-size:16px;line-height:1.55;color:var(--body);margin-top:10px;max-width:400px}
  .ocard img{display:block;width:100%;height:auto;max-height:190px;object-fit:contain}
  @keyframes swap{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}

  /* LEGACY */
  .legacy{position:relative;overflow:hidden;isolation:isolate;padding:var(--sec-color) 0;color:#fff}
  .legacy::before{content:"";position:absolute;inset:-12%;z-index:-1;filter:blur(50px);
    background:
      radial-gradient(40% 40% at 22% 55%, #1b4fe0 0%, transparent 75%),
      radial-gradient(45% 45% at 40% 20%, #3f8cf5 0%, transparent 75%),
      radial-gradient(30% 35% at 100% 45%, #8ee06a 0%, transparent 70%),
      radial-gradient(40% 30% at 85% 90%, #9dd7f0 0%, transparent 70%),
      linear-gradient(180deg,#9cc8ff 0%, #3a7cf0 40%, #7fb6ff 100%);
  }
  .legacy .wrap{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
  .legacy h2{font-size:clamp(28px,4vw,36px);line-height:1.15;font-weight:600}
  .legacy p{font-size:16px;line-height:1.55;margin-top:14px;max-width:440px;opacity:.95}
  .blind{width:100%;max-width:440px;justify-self:end;background:#fff;color:var(--ink);border-radius:var(--radius);padding:44px 28px;min-height:330px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;box-shadow:0 30px 60px -30px rgba(10,30,90,.45)}
  .blind .t{font-size:clamp(26px,2.8vw,32px);font-weight:600;line-height:1.15;width:100%}
  .blind .t .p{color:var(--pink)}
  .spinner{width:48px;height:48px;margin:30px auto 0;transform-origin:50% 50%;animation:spin 1s steps(12) infinite}
  .dots{display:flex;justify-content:center;gap:9px;margin:26px auto 32px}
  .dots i{width:10px;height:10px;border-radius:50%;background:var(--ink);animation:blink 1.2s infinite}
  .dots i:nth-child(2){animation-delay:.2s}
  .dots i:nth-child(3){animation-delay:.4s}
  @keyframes spin{to{transform:rotate(360deg)}}
  @keyframes blink{0%,80%,100%{opacity:1}40%{opacity:.25}}

  /* SCALE */
  .scale{position:relative;overflow:hidden;isolation:isolate;background:var(--navy) url("../images/bg_stats.webp") center / cover no-repeat;color:#fff;padding:var(--sec-color) 0}
  .scale .top{display:grid;grid-template-columns:1fr 1fr;gap:60px}
  .scale h2{font-size:clamp(28px,4vw,36px);line-height:1.2;font-weight:600}
  .scale h2 .g{color:#9CDC00}
  .scale h3{font-size:18px;font-weight:600;line-height:1.35}
  .scale .top p{font-size:16px;line-height:1.55;margin-top:8px;opacity:.9;max-width:470px}
  .stats{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:80px}
  .stat .k{font-size:13px;font-weight:600;color:#9CDC00;letter-spacing:.06em}
  .stat .v{font-size:clamp(36px,4.2vw,46px);font-weight:700;line-height:1.1;margin-top:6px}
  .stat .v b{color:#9CDC00;font-weight:700}
  .stat .d{font-size:16px;line-height:1.5;margin-top:6px;opacity:.9;max-width:280px}

  /* PLATFORM */
  .platform{padding:var(--sec-color) 0}
  .platform h2{font-size:clamp(28px,4vw,36px);line-height:1.2;font-weight:600;max-width:520px}
  .prod{display:grid;grid-template-columns:64px 1fr 1.1fr 40px;align-items:center;gap:26px;background:#fff;border-radius:var(--radius);padding:24px 26px;margin-top:22px;box-shadow:0 10px 30px -22px rgba(20,40,90,.25);transition:box-shadow .2s}
  .platform .list{margin-top:40px}
  .prod:first-child{margin-top:0}
  .prod:hover{box-shadow:0 16px 36px -20px rgba(20,40,90,.35)}
  .prod h3{font-size:16px;font-weight:600;line-height:1.3}
  .prod p{font-size:16px;line-height:1.55;color:var(--body);max-width:360px}
  .prod .arrow{width:26px;height:26px;border:1.5px solid var(--ink);border-radius:50%;display:grid;place-items:center}

  /* CTA */
  .cta{position:relative;overflow:hidden;isolation:isolate;background:var(--navy-2);color:#fff;text-align:center;padding:var(--sec-color) 0;padding-bottom:calc(var(--sec-color) + env(safe-area-inset-bottom,0px))}
  .cta::before{content:"";position:absolute;inset:-10%;z-index:-1;filter:blur(40px);
    background:
      radial-gradient(22% 45% at 0% 20%, rgba(130,200,60,.75), transparent 70%),
      radial-gradient(30% 50% at 100% 90%, rgba(60,120,80,.5), transparent 70%);
  }
  .cta h2{font-size:clamp(28px,4vw,36px);line-height:1.2;font-weight:600;max-width:520px;margin:0 auto;text-wrap:balance}
  .cta p{font-size:16px;line-height:1.55;margin:16px auto 0;max-width:520px;text-wrap:balance;opacity:.9}
  .cta .btn{margin-top:30px;font-size:16px;font-weight:600;padding:14px 26px;gap:8px}

  /* RESPONSIVE */
  @media (max-width:880px){
    :root{--sec-light:80px;--sec-color:88px}
    .nav-links,.nav-right .signin{display:none}
    .sig-grid,.stats{grid-template-columns:1fr}
    .split-head{grid-template-columns:1fr}.split-head .aside{grid-column:auto;margin-top:0}
    .legacy .wrap,.scale .top{grid-template-columns:1fr;gap:40px}
    .prod{grid-template-columns:52px 1fr 32px;gap:16px}
    .prod p{grid-column:2 / 3}
    .prod .arrow{grid-row:1;grid-column:3}
    .problem .col{margin-left:0}
    .outcomes .wrap{grid-template-columns:1fr;gap:30px}
    .outcomes .h-lg{position:static}
    .ocard{grid-template-columns:1fr;padding:30px 26px;gap:18px}
    .ocard img{max-height:120px;width:auto}
    .ocard .art{order:-1}
    .problem .wrap{grid-template-columns:1fr;gap:40px}
    .verdict,.blind{justify-self:stretch;max-width:none}
    .hero .wrap{grid-template-columns:1fr;gap:28px}.hero{padding:56px 0 40px}
  }
  @media (prefers-reduced-motion:reduce){
    *{animation:none!important;transition:none!important}
    html{scroll-behavior:auto}
  }

/* NAV DROPDOWN (shared) */
.nav-item{position:relative}
.nav-trigger{display:flex;align-items:center;gap:4px;background:none;border:0;padding:0;font:inherit;color:inherit;cursor:pointer}
.nav-trigger:hover,.nav-item.open .nav-trigger{color:var(--green-dark)}
.nav-trigger svg{transition:transform .2s}
.nav-item.open .nav-trigger svg{transform:rotate(180deg)}
.nav-menu{position:absolute;top:calc(100% + 14px);left:-18px;min-width:300px;background:#fff;border-radius:12px;box-shadow:0 20px 50px -20px rgba(15,30,70,.35),0 0 0 1px rgba(15,30,70,.06);padding:8px;display:none;z-index:60}
.nav-menu::before{content:"";position:absolute;left:0;right:0;top:-14px;height:14px}
.nav-item.open .nav-menu{display:block}
@media (hover:hover){.nav-item.has-menu:hover .nav-menu{display:block}.nav-item.has-menu:hover .nav-trigger svg{transform:rotate(180deg)}}
.nav-menu a{display:block;padding:12px 14px;border-radius:8px}
.nav-menu a:hover,.nav-menu a:focus-visible{background:var(--green-soft)}
.nav-menu strong{display:block;font-size:14px;font-weight:600;color:var(--ink)}
.nav-menu span{display:block;font-size:13px;color:var(--muted);margin-top:2px;font-weight:400}

/* ===== AEI PAGE ===== */
:is(.page-aei,.page-sei) .a-hero{text-align:center;padding:96px 0 var(--sec-light)}
:is(.page-aei,.page-sei) .a-hero h1{font-size:clamp(36px,4.6vw,56px);line-height:1.08;font-weight:600;letter-spacing:-.02em;max-width:820px;margin:0 auto;text-wrap:balance}
:is(.page-aei,.page-sei) .a-hero h1 .p{color:var(--pink)}
:is(.page-aei,.page-sei) .a-hero p{font-size:18px;line-height:1.55;color:var(--body);max-width:640px;margin:22px auto 0;text-wrap:balance}
:is(.page-aei,.page-sei) .a-hero .btn{margin-top:32px;font-size:16px;font-weight:600;padding:14px 26px;gap:8px}

.a-split{padding:var(--sec-light) 0}
.a-split .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:72px;align-items:center}
.a-split h2,.a-sec h2{font-size:clamp(28px,4vw,36px);line-height:1.2;font-weight:600;letter-spacing:-.01em;text-wrap:balance}
.a-split h2 .b,.a-sec h2 .b{color:#0737AD}
.a-split h2 .g,.a-sec h2 .g{color:var(--green)}
.a-split h2 .p,.a-sec h2 .p{color:var(--pink)}
.a-split .copy p{font-size:16px;line-height:1.6;color:var(--body);margin-top:16px;max-width:500px}

/* chat mock */
.chat-stage{border-radius:20px;padding:34px;background:radial-gradient(120% 90% at 20% 0%,#6fb2ff 0%,#2a6ff0 45%,#1545c9 100%);box-shadow:0 30px 60px -30px rgba(10,40,120,.55)}
.chat{background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 20px 40px -20px rgba(0,0,0,.35);max-width:440px;margin:0 auto}
.chat-head{display:flex;align-items:center;gap:10px;background:#101a3a;color:#fff;padding:12px 16px}
.chat-head .av{width:28px;height:28px;border-radius:50%;background:#2a6ff0;display:grid;place-items:center;font-size:10px;font-weight:700}
.chat-head b{display:block;font-size:13px;font-weight:600}
.chat-head small{display:flex;align-items:center;gap:5px;font-size:11px;opacity:.75}
.chat-head small::before{content:"";width:6px;height:6px;border-radius:50%;background:#7ed957}
.chat-body{padding:14px}
.products{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.prod-tile{border:1px solid #eceef2;border-radius:10px;overflow:hidden;font-size:11px}
.prod-tile .ph{height:84px;background:linear-gradient(180deg,#f4efe8,#e7ddd0);display:grid;place-items:center}
.prod-tile .ph svg{width:70%;height:auto}
.prod-tile .meta{padding:8px 10px}
.prod-tile .meta b{display:block;font-size:12px;font-weight:600}
.prod-tile .price{display:flex;align-items:center;gap:6px;margin-top:3px;font-weight:600}
.prod-tile .stars{color:#f5a524;letter-spacing:1px;font-size:10px}
.prod-tile .tags{display:flex;gap:4px;margin-top:6px;flex-wrap:wrap}
.prod-tile .tags span{background:#f3f5f8;border-radius:4px;padding:2px 6px;font-size:10px;color:var(--muted)}
.chat-input{display:flex;align-items:center;gap:8px;margin-top:12px;border:1px solid #e3e6ec;border-radius:999px;padding:8px 8px 8px 14px;font-size:12px;color:#3a3f48}
.chat-input i{margin-left:auto;width:26px;height:26px;border-radius:50%;background:#2a6ff0;display:grid;place-items:center;flex:none}
.sentiment{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px;background:#101a3a;border-radius:10px;padding:10px 14px;color:#fff;font-size:12px}
.sentiment .bar{flex:1;height:4px;border-radius:2px;background:linear-gradient(90deg,#ff3f05,#f5a524 50%,#7ed957);position:relative;margin:0 6px}
.sentiment .bar::after{content:"";position:absolute;right:6%;top:-4px;width:12px;height:12px;border-radius:50%;background:#fff;box-shadow:0 0 0 3px #7ed957}
.sentiment b{color:#9be56f;font-weight:600}

/* journey list + green art */
.a-steps{list-style:none;position:relative;margin-top:36px;padding-left:34px}
.a-steps::before{content:"";position:absolute;left:6px;top:8px;bottom:8px;width:2px;background:linear-gradient(var(--green),rgba(120,185,0,.15))}
.a-steps li{position:relative;padding-bottom:30px}
.a-steps li:last-child{padding-bottom:0}
.a-steps li::before{content:"";position:absolute;left:-34px;top:5px;width:14px;height:14px;border-radius:50%;background:var(--green);box-shadow:0 0 0 5px rgba(120,185,0,.18)}
.a-steps h3{font-size:18px;font-weight:600;line-height:1.35}
.a-steps p{font-size:16px;line-height:1.55;color:var(--body);margin-top:6px;max-width:440px}
.green-stage{border-radius:20px;aspect-ratio:1/1;max-height:520px;width:100%;background:radial-gradient(90% 90% at 30% 20%,#c5f27a 0%,#8fd42e 45%,#4fb81e 100%);display:grid;place-items:center;box-shadow:0 30px 60px -30px rgba(60,130,20,.5)}
.green-stage svg{width:84%;height:auto}

/* metric cards */
.a-sec{padding:var(--sec-light) 0}
.a-sec .intro{font-size:16px;line-height:1.6;color:var(--body);margin-top:16px;max-width:560px}
.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:40px}
.metric{background:#fff;border-radius:var(--radius);padding:30px 26px 32px;box-shadow:0 10px 30px -22px rgba(20,40,90,.25)}
.metric svg{width:34px;height:34px}
.metric h3{font-size:16px;font-weight:600;line-height:1.3;margin-top:18px}
.metric p{font-size:15px;line-height:1.55;color:var(--muted);margin-top:10px}

/* failing cards */
.fail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:40px}
.fail{background:#fff;border-radius:var(--radius);padding:34px 28px 36px;text-align:center;box-shadow:0 10px 30px -22px rgba(20,40,90,.25)}
.fail svg{width:96px;height:96px;margin:0 auto}
.fail h3{font-size:18px;font-weight:600;margin-top:18px}
.fail p{font-size:15px;line-height:1.55;color:var(--muted);margin-top:10px;text-wrap:balance}

.page-aei .outcomes .h-lg + .intro{font-size:16px;line-height:1.6;color:var(--body);margin-top:16px;max-width:400px}
.page-aei .outcomes .lead{position:sticky;top:var(--pin-top,140px)}
.page-aei .outcomes .lead .h-lg{position:static}

@media (max-width:1080px){.metric-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:880px){
  .a-split .wrap{grid-template-columns:1fr;gap:40px}
  .a-split.flip .copy{order:-1}
  .metric-grid,.fail-grid{grid-template-columns:1fr}
  .chat-stage{padding:20px}
  .page-aei .outcomes .lead{position:static}
}
:is(.page-aei,.page-sei) .a-hero h1 .line{display:block}
.fail-head{display:grid;grid-template-columns:1fr 1fr;gap:16px 48px;align-items:start}
.fail-head .aside{font-size:16px;line-height:1.55;color:var(--body);max-width:470px;margin-top:6px}
@media (max-width:880px){.fail-head{grid-template-columns:1fr}}
.ocard .art svg{display:block;width:100%;max-width:150px;height:auto;margin:0 auto}
@media (max-width:880px){.ocard .art svg{max-width:100px;margin:0}}
.failing .ocard{min-height:330px}
@media (max-width:880px){.failing .ocard{min-height:0}}
/* three-across outcome cards (AEI) */
.out3 .split-head{align-items:end}
.out3 .sig-grid{margin-top:40px}
.out-card{display:flex;flex-direction:column;padding:32px 30px 36px}
.out-card img{display:block;height:140px;width:auto;max-width:80%;object-fit:contain;margin:0 0 26px}
.out-card h3{display:block;font-size:18px;font-weight:600;line-height:1.35}
.out-card p{max-width:none;margin-top:10px}
@media (max-width:880px){.out-card img{height:110px}}
:is(.page-aei,.page-sei) .a-hero .eyebrow{font-size:13px;font-weight:600;letter-spacing:.08em;color:#8a909b;margin-bottom:18px}
.out3 .sig h3{align-items:flex-start;line-height:1.3}
.out3 .sig h3 svg{margin-top:-4px}
.out3 .sig p{max-width:none}

/* Scroll progress for the AEI step list: grey until the reading line passes each step */
.a-steps.js-steps::before{background:#dfe3ea}
.a-steps .fill{position:absolute;left:6px;top:8px;width:2px;height:var(--fill,0px);max-height:calc(100% - 16px);background:var(--green);border-radius:1px;pointer-events:none}
.a-steps.js-steps li::before{background:#cfd5de;box-shadow:0 0 0 5px rgba(207,213,222,.35);transition:background .35s ease,box-shadow .35s ease}
.a-steps.js-steps li h3,.a-steps.js-steps li p{transition:color .35s ease}
.a-steps.js-steps li h3{color:#a3a9b3}
.a-steps.js-steps li p{color:#b8bdc6}
.a-steps.js-steps li.on::before{background:var(--green);box-shadow:0 0 0 5px rgba(120,185,0,.18)}
.a-steps.js-steps li.on h3{color:var(--ink)}
.a-steps.js-steps li.on p{color:var(--body)}
/* AEI outcome cards: centered illustration, title, text */
.out3 .out-card{align-items:center;text-align:center;padding:40px 32px 44px}
.out3 .out-card img{height:150px;width:auto;max-width:78%;object-fit:contain;margin:0 auto 28px}
.out3 .out-card h3{display:block;font-size:20px;font-weight:600;line-height:1.3;margin:0}
.out3 .out-card p{margin:12px auto 0;max-width:320px;text-wrap:balance}
:is(.page-aei,.page-sei) .cta h2{max-width:640px}
:is(.page-aei,.page-sei) .cta p{max-width:600px}
.scale h2 .lime{color:#9CDC00}
.cta h2 .lime{color:#9CDC00}
.h-lg .pk{color:var(--pink)}
.out3 .out-card img{height:110px}
.failing .ocard h3{font-size:20px}
/* AEI stats: headline and body stacked and centered */
.page-aei .scale .top{grid-template-columns:1fr;gap:18px;text-align:center;justify-items:center}
.page-aei .scale .top h2{max-width:760px;text-wrap:balance}
.page-aei .scale .top p{max-width:600px;margin:0 auto}
/* All H2s at weight 600 */
h2{font-weight:600}
.out3 .out-card img{height:80px;margin-bottom:22px}
.green-stage img{display:block;width:88%;height:auto;filter:drop-shadow(0 18px 24px rgba(30,80,10,.25))}
.green-stage img{width:75%}
/* journey panel: the supplied image carries its own green background */
.green-stage{background:none;aspect-ratio:auto;max-height:none;overflow:hidden;display:block}
.green-stage img{display:block;width:100%;height:auto;filter:none}
.out3 .out-card p{font-size:15px;line-height:1.55}
.stat .v{font-variant-numeric:tabular-nums}
.page-aei .stat{text-align:center}
.page-aei .stat .d{margin-left:auto;margin-right:auto}
/* Stats section: stacked, centered headline and copy, centered stats (both pages) */
.stat{text-align:center}
.stat .d{margin-left:auto;margin-right:auto}
/* When embedded in a scrolling frame, hide the inner scrollbar */
html.is-embedded{scrollbar-width:none;scroll-behavior:auto}
html.is-embedded::-webkit-scrollbar{display:none}

/* Pinned card deck (homepage outcomes): the whole scene pins, cards slide up and away one at a time */
.pin-deck.is-pinned .pin-scene{position:sticky;top:var(--scene-top,100px)}
.pin-deck.is-pinned .h-lg{position:static}
.pin-deck.is-pinned .wrap{align-items:center}
.pin-deck.is-pinned .ostack{position:relative;display:block;height:var(--deck-h,320px)}
.pin-deck.is-pinned .ocard{position:absolute;top:0;left:0;right:0;transform-origin:50% 100%;will-change:transform}
/* Homepage deck cards: a little larger */
.pin-deck .ocard{min-height:320px;padding:46px 50px;grid-template-columns:1fr 220px}
.pin-deck .ocard h3{font-size:20px}
.pin-deck .ocard img{max-height:210px}
@media (max-width:880px){.pin-deck .ocard{min-height:0;padding:30px 26px;grid-template-columns:1fr}.pin-deck .ocard img{max-height:120px}}
.home-deck .wrap{grid-template-columns:minmax(0,330px) minmax(0,1fr);gap:48px}
@media (max-width:880px){.home-deck .wrap{grid-template-columns:1fr;gap:30px}}

.pin-deck.is-pinned .lead{position:static}
/* light-section backgrounds hold still while a deck is pinned */
.field::before{transform:translate3d(0,var(--bg-shift,0px),0)}
/* Nav lives at the page level so it stays pinned the whole way down.
   It overlaps the first section so the hero background still shows behind it. */
body > .nav{margin-bottom:calc(-64px - env(safe-area-inset-top,0px))}
body > .nav + .hero-bg, body > .nav + .field{padding-top:calc(64px + env(safe-area-inset-top,0px))}
.problem h2 .b{color:#0737AD}

/* Solo view for the portfolio carousel (?solo=1): hide the nav and let the chosen section fill the frame */
html.cvx-solo body > .nav{display:none}
html.cvx-solo body > .nav + .hero-bg, html.cvx-solo body > .nav + .field{padding-top:0}
html.cvx-solo .cvx-target{min-height:100vh;display:flex;flex-direction:column;justify-content:center;padding-top:0;padding-bottom:0}
html.cvx-solo .cvx-target > .wrap{width:100%}

/* Buttons: on hover a darker circle spreads out from where the pointer enters */
.btn{position:relative;overflow:hidden;isolation:isolate}
.btn::before{content:"";position:absolute;left:var(--bx,50%);top:var(--by,50%);width:var(--bd,240px);height:var(--bd,240px);border-radius:50%;background:var(--green-dark);transform:translate(-50%,-50%) scale(0);transition:transform .45s cubic-bezier(.2,.7,.2,1);z-index:-1;pointer-events:none}
.btn:hover::before,.btn:focus-visible::before{transform:translate(-50%,-50%) scale(1)}
@media (prefers-reduced-motion:reduce){.btn::before{transition:none}}

/* Closing CTA + footer share one background image */
.closing{position:relative;background:#0a1836 url("../images/bg_closing.webp") center / cover no-repeat;color:#fff}
.closing .cta{background:none;padding-bottom:var(--sec-color)}
.closing .cta::before{display:none}
.site-footer{padding:20px 0 calc(40px + env(safe-area-inset-bottom,0px))}
.site-footer .f-top{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,2fr);gap:48px;padding:48px 0 44px;border-top:1px solid rgba(255,255,255,.14)}
.site-footer .f-logo img{display:block;height:28px;width:auto}
.site-footer .f-brand p{margin-top:16px;font-size:14px;line-height:1.55;color:rgba(255,255,255,.72);max-width:280px}
.site-footer .f-social{display:flex;gap:14px;margin-top:22px}
.site-footer .f-social a{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;color:#fff;background:rgba(255,255,255,.08);transition:background .2s}
.site-footer .f-social a:hover{background:rgba(255,255,255,.18)}
.site-footer .f-social svg{width:17px;height:17px}
.site-footer .f-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.site-footer h3{font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#9CDC00;margin-bottom:14px}
.site-footer .f-cols a{display:block;font-size:15px;color:rgba(255,255,255,.82);padding:5px 0;transition:color .2s}
.site-footer .f-cols a:hover,.site-footer .f-bottom a:hover{color:#fff}
.site-footer .f-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 32px;padding-top:24px;border-top:1px solid rgba(255,255,255,.14);font-size:13px;color:rgba(255,255,255,.6)}
.site-footer .f-bottom nav{display:flex;flex-wrap:wrap;gap:8px 22px}
.site-footer .f-bottom a{color:rgba(255,255,255,.6);transition:color .2s}
@media (max-width:880px){
  .site-footer .f-top{grid-template-columns:1fr;gap:36px}
  .site-footer .f-cols{grid-template-columns:repeat(2,1fr)}
}
.problem .col{max-width:540px}

/* ===== SEI PAGE ===== */
.page-sei .a-hero h1{max-width:none;text-wrap:wrap}
@media (max-width:880px){.page-sei .a-hero h1 br{display:none}}
.page-sei .a-hero h1 .g{color:var(--green)}
.page-sei .a-hero p.p2{margin-top:10px}
.sei-buffer .wrap{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);row-gap:44px;align-items:start}
.sei-buffer .sei-buffer-h{grid-column:1 / -1;max-width:760px}
.sei-buffer .a-steps{margin-top:0}
.buffer-stage{border-radius:20px;overflow:hidden;box-shadow:0 30px 60px -30px rgba(10,40,120,.55);aspect-ratio:1 / 1;max-height:560px}
.buffer-stage img{display:block;width:100%;height:100%;object-fit:cover}
/* SEI stats: number, then label, then description, left aligned like the mockup */
.sei-scale h2 .lime{color:#9CDC00}
.sei-scale .top p{max-width:340px;justify-self:end}
.sei-scale .stat{text-align:left}
.sei-scale .stat .k{margin-top:8px}
.sei-scale .stat .d{margin-left:0;margin-right:0}
/* feature grid */
.sei-feats h2{max-width:860px}
.feat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:40px}
.feat{background:#fff;border-radius:var(--radius);padding:30px 28px 40px;min-height:240px;box-shadow:0 10px 30px -22px rgba(20,40,90,.25)}
.feat svg{width:34px;height:34px}
.feat h3{font-size:18px;font-weight:600;line-height:1.3;margin-top:18px}
.feat p{font-size:15px;line-height:1.55;color:var(--muted);margin-top:10px}
/* Neso section */
.sei-neso .center{text-align:center;margin-left:auto;margin-right:auto}
.sei-neso h2.center{max-width:760px}
.sei-neso .intro.center{max-width:640px;text-wrap:balance}
@media (max-width:880px){
  .sei-buffer .wrap{grid-template-columns:1fr}
  .feat-grid{grid-template-columns:1fr}
  .sei-scale .top p{justify-self:start}
}

/* Step lists: one accent color per section (green by default, blue on SEI), plain dots with no halo */
.a-steps{--step:var(--green)}
.sei-buffer .a-steps{--step:#0737AD}
.a-steps::before{background:linear-gradient(var(--step),rgba(120,185,0,.15))}
.sei-buffer .a-steps::before{background:linear-gradient(var(--step),rgba(7,55,173,.15))}
.a-steps li::before{background:var(--step);box-shadow:none}
.a-steps.js-steps::before{background:#dfe3ea}
.a-steps .fill{background:var(--step)}
.a-steps.js-steps li::before{background:#cfd5de;box-shadow:none}
.a-steps.js-steps li.on::before{background:var(--step);box-shadow:none}

/* SEI buffering panel: same size and treatment as the AEI journey panel */
.sei-buffer .wrap{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.buffer-stage{aspect-ratio:auto;max-height:none}
.buffer-stage img{height:auto;object-fit:initial}

/* SEI stats: body copy lines up with the middle stat column */
.sei-scale .top{grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}
.sei-scale .top > div{grid-column:2 / 4}
.sei-scale .top p{justify-self:start;max-width:360px}
@media (max-width:880px){.sei-scale .top{grid-template-columns:1fr}.sei-scale .top > div{grid-column:auto}}

/* Sitewide: all headlines bold */
h1,h2{font-weight:700 !important}

/* AEI metric card icons (supplied artwork) */
.metric .m-icon{display:block;width:auto;height:40px;max-width:48px;object-fit:contain}

/* SEI feature card icons (supplied artwork) */
.feat .f-icon{display:block;width:auto;height:40px;max-width:52px;object-fit:contain}
/* AEI cart size (title stays level with the other cards) */
.out3 .out-card img.cart-art{height:100px;margin-top:-12px;margin-bottom:14px}
/* Turns to Confirmed Intent icon a touch larger; pulled up so its title stays level with the other metric cards */
.metric .m-icon.m-intent{height:40px;max-width:50px;margin-top:-4px}
/* AEI metric icons a little smaller */
.metric .m-icon{height:36px;max-width:44px}
.metric .m-icon.m-intent{height:40px;max-width:50px;margin-top:-4px}
/* SEI feature icons to match the AEI metric icons */
.feat .f-icon{height:36px;max-width:48px}
