/* ELO AI — "what powers us" section */
.ea{position:relative;overflow:hidden;padding-top:0}
.ea::before{content:"";position:absolute;left:50%;top:-10%;width:min(1100px,140%);height:70%;transform:translateX(-50%);background:radial-gradient(50% 50% at 50% 40%,rgba(124,77,255,.22),transparent 70%);pointer-events:none}
.ea .wrap{position:relative}
.ea-head{max-width:760px;margin:0 auto clamp(32px,5vw,56px);text-align:center}
.ea-head h2{font-size:clamp(1.9rem,4.8vw,3.4rem)}
.ea-head p{margin-top:18px;color:var(--mute);font-size:1.05rem}
.ea-grad{background:linear-gradient(100deg,#b79cff,#e040fb 60%,#ff8bd8);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.ea-badge{display:inline-flex;align-items:center;gap:8px;font:500 .8rem/1 var(--mono);color:var(--lav);padding:8px 14px;border:1px solid var(--line2);border-radius:999px;background:rgba(255,255,255,.04);margin-bottom:18px}
.ea-badge i{width:7px;height:7px;border-radius:50%;background:#7CFFB2;box-shadow:0 0 0 0 rgba(124,255,178,.6);animation:eaPing 2s infinite}
@keyframes eaPing{70%{box-shadow:0 0 0 9px rgba(124,255,178,0)}100%{box-shadow:0 0 0 0 rgba(124,255,178,0)}}

/* core + engines */
.ea-stage{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:clamp(28px,4vw,44px)}
.ea-core{position:relative;max-width:420px;margin:0 auto;padding:22px 24px;border-radius:24px;text-align:center;border:1px solid var(--line2);background:linear-gradient(160deg,rgba(124,77,255,.28),rgba(224,64,251,.12) 60%,rgba(255,255,255,.04));box-shadow:0 20px 70px rgba(91,33,245,.35)}
.ea-core::after{content:"";position:absolute;inset:-1px;border-radius:inherit;padding:1px;background:conic-gradient(from var(--a,0deg),transparent 0 70%,#e040fb,#8e66ff,transparent);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:eaSpin 5s linear infinite;pointer-events:none}
@property --a{syntax:"<angle>";inherits:false;initial-value:0deg}
@keyframes eaSpin{to{--a:360deg}}
.ea-core b{display:block;font-size:1.5rem;letter-spacing:-.04em}
.ea-core span{display:block;margin-top:4px;color:var(--mute);font-size:.92rem}
.ea-link{width:2px;height:44px;margin:0 auto;background:linear-gradient(#e040fb,rgba(183,156,255,.15));position:relative}
.ea-link::after{content:"";position:absolute;left:-2px;width:6px;height:6px;border-radius:50%;background:#fff;box-shadow:0 0 12px #e040fb;animation:eaDrop 1.8s linear infinite}
@keyframes eaDrop{from{top:0;opacity:0}20%{opacity:1}to{top:100%;opacity:0}}
.ea-eng{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;padding:24px 18px 22px;border-radius:var(--r);background:var(--card);border:1px solid var(--line);transition:transform .3s,border-color .3s,background .3s,box-shadow .3s;overflow:hidden;--mx:50%;--my:0%}
.ea-eng::before{content:"";position:absolute;inset:0;background:radial-gradient(240px circle at var(--mx) var(--my),rgba(124,77,255,.28),transparent 65%);opacity:0;transition:opacity .3s;pointer-events:none}
.ea-eng:hover,.ea-eng:focus-visible{transform:translateY(-6px);border-color:var(--line2);background:var(--card-h);box-shadow:0 18px 50px rgba(91,33,245,.3)}
.ea-eng:hover::before,.ea-eng:focus-visible::before{opacity:1}
.ea-pfp{position:relative;width:76px;height:76px;border-radius:50%;display:grid;place-items:center;background:#0d0620;border:1px solid var(--line2);box-shadow:0 0 0 5px rgba(255,255,255,.03),0 0 30px var(--g,rgba(124,77,255,.4));animation:eaFloat 5s ease-in-out infinite}
.ea-eng:nth-child(2) .ea-pfp{animation-delay:-1.2s}.ea-eng:nth-child(3) .ea-pfp{animation-delay:-2.4s}.ea-eng:nth-child(4) .ea-pfp{animation-delay:-3.6s}
@keyframes eaFloat{50%{transform:translateY(-6px)}}
.ea-pfp svg{width:40px;height:40px}
.ea-eng h3{font-size:1.15rem;letter-spacing:-.03em}
.ea-eng small{color:var(--dim);font:400 .78rem/1.3 var(--mono)}
.ea-eng p{color:var(--mute);font-size:.88rem;line-height:1.5}
.ea-eng .ea-go{margin-top:auto;padding-top:6px;color:var(--lav);font-size:.85rem;font-weight:500;display:inline-flex;gap:6px;align-items:center}
.ea-eng .ea-go svg{width:14px;height:14px;transition:transform .2s}
.ea-eng:hover .ea-go svg{transform:translate(3px,-3px)}

/* statement cards */
.ea-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:clamp(28px,4vw,44px)}
.ea-cards .card h3{font-size:1.2rem;margin-bottom:10px}
.ea-cards .card p{color:var(--mute)}
.ea-note{margin-top:20px;text-align:center;color:var(--dim);font-size:.82rem;max-width:720px;margin-inline:auto}

/* big + small band */
.ea-band{margin-top:clamp(28px,4vw,44px);padding:clamp(26px,4vw,48px);border-radius:28px;border:1px solid var(--line2);background:linear-gradient(135deg,rgba(91,33,245,.35),rgba(224,64,251,.14) 70%,rgba(255,255,255,.03));text-align:center;position:relative;overflow:hidden}
.ea-band h3{font-size:clamp(1.5rem,3.6vw,2.4rem);max-width:760px;margin:0 auto}
.ea-band p{margin:16px auto 0;max-width:660px;color:#e6defa}
.ea-sizes{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:22px}
.ea-sizes span{padding:9px 16px;border-radius:999px;border:1px solid var(--line2);background:rgba(255,255,255,.06);font-size:.9rem}
.ea-band .btn{margin-top:26px}
.ea-spark{position:absolute;width:3px;height:3px;border-radius:50%;background:#fff;opacity:0;animation:eaTw 4s ease-in-out infinite;pointer-events:none}
@keyframes eaTw{50%{opacity:.8;transform:scale(2)}}

@media (max-width:1020px){.ea-stage{grid-template-columns:repeat(2,minmax(0,1fr))}.ea-link{height:30px}.ea-cards{grid-template-columns:1fr}}
@media (max-width:480px){.ea-stage{grid-template-columns:1fr}.ea-eng{flex-direction:row;text-align:left;align-items:center;gap:14px;padding:16px}.ea-eng>div{flex:1;min-width:0}.ea-pfp{flex:none;width:60px;height:60px}.ea-pfp svg{width:32px;height:32px}.ea-eng .ea-go{padding-top:4px}.ea-band .btn{width:100%}}
@media (hover:none){.ea-eng:hover{transform:none}}
@media (prefers-reduced-motion:reduce){.ea *,.ea *::before,.ea *::after{animation:none!important;transition:none!important}}

/* logos as pfps */
.ea-pfp{overflow:hidden;padding:0;background:#000}
.ea-pfp img{width:100%;height:100%;border-radius:50%;object-fit:cover;display:block}

/* how it works */
.ea-how{margin-top:clamp(36px,5vw,64px)}
.ea-how-head{max-width:720px;margin:0 auto clamp(24px,4vw,40px);text-align:center}
.ea-how-head h3{font-size:clamp(1.5rem,3.4vw,2.2rem)}
.ea-how-head p:not(.eyebrow){margin-top:14px;color:var(--mute)}
.ea-steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:0;padding:0;list-style:none}
.ea-steps li{display:flex;gap:16px;align-items:flex-start;padding:clamp(18px,2.4vw,26px);border-radius:var(--r);background:var(--card);border:1px solid var(--line)}
.ea-steps b{flex:none;width:38px;height:38px;border-radius:12px;display:grid;place-items:center;font:600 1rem/1 var(--mono);background:linear-gradient(135deg,var(--violet),#e040fb);color:#fff}
.ea-steps h4{font-size:1.08rem;letter-spacing:-.02em;margin:0 0 6px}
.ea-steps p{color:var(--mute);font-size:.95rem}
.ea-steps div{min-width:0}
.ea-cards{margin-top:16px}
@media (max-width:760px){.ea-steps{grid-template-columns:1fr}}

/* v3: logo core + tighter layout */
.ea-core{display:flex;align-items:center;gap:18px;text-align:left;max-width:440px;padding:16px 22px 16px 16px}
.ea-core img{flex:none;width:84px;height:84px;border-radius:50%;box-shadow:0 0 30px rgba(124,77,255,.55)}
.ea-core div{min-width:0}
.ea-steps{margin-top:clamp(24px,3.5vw,36px)!important;grid-template-columns:repeat(3,minmax(0,1fr))!important}
.ea-eng p{font-size:.88rem}
.ea-head{margin-bottom:clamp(24px,4vw,40px)}
.ea-band{margin-top:clamp(20px,3vw,32px)}
@media (max-width:1020px){.ea-steps{grid-template-columns:1fr!important}}
@media (max-width:420px){.ea-core{gap:14px}.ea-core img{width:68px;height:68px}}

/* own-servers card */
.ea-own{display:flex;align-items:center;gap:18px;max-width:640px;margin:16px auto 0;padding:18px 22px;border-radius:var(--r);background:var(--card);border:1px solid var(--line2);box-shadow:0 14px 50px rgba(91,33,245,.22)}
.ea-own .ea-pfp{flex:none}
.ea-own h3{font-size:1.15rem;letter-spacing:-.03em}
.ea-own small{display:block;margin:2px 0 6px;color:var(--dim);font:400 .78rem/1.3 var(--mono)}
.ea-own p{color:var(--mute);font-size:.9rem;line-height:1.5}
@media (max-width:480px){.ea-own{padding:16px;gap:14px}.ea-own .ea-pfp{width:60px;height:60px}}
