
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;overflow-x:hidden}
body{background:#06091e;color:#e2e8f0;font-family:'Segoe UI','SF Pro Display','Helvetica Neue',Arial,sans-serif;font-size:16px;line-height:1.65;overflow-x:hidden}
a{text-decoration:none;color:inherit}
button{font-family:inherit;cursor:pointer;border:none;outline:none}
::selection{background:rgba(99,102,241,.4);color:#fff}
::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:#06091e}::-webkit-scrollbar-thumb{background:#6366f1;border-radius:4px}

/* ── BACKGROUND GRID ── */
body::before{content:'';position:fixed;inset:0;pointer-events:none;z-index:0;
  background-image:linear-gradient(rgba(99,102,241,.028) 1px,transparent 1px),linear-gradient(90deg,rgba(99,102,241,.028) 1px,transparent 1px);
  background-size:58px 58px;
  mask-image:radial-gradient(ellipse 100% 70% at 50% 0%,#000 10%,transparent 75%);
  -webkit-mask-image:radial-gradient(ellipse 100% 70% at 50% 0%,#000 10%,transparent 75%)}

/* ── GLOW ORBS ── */
.orb{position:fixed;border-radius:50%;filter:blur(110px);pointer-events:none;z-index:0}
.o1{width:700px;height:700px;top:-280px;left:-180px;background:radial-gradient(circle,rgba(99,102,241,.12),transparent 65%);animation:oa 22s ease-in-out infinite alternate}
.o2{width:550px;height:550px;top:45%;right:-200px;background:radial-gradient(circle,rgba(59,130,246,.09),transparent 65%);animation:ob 28s ease-in-out infinite alternate}
.o3{width:450px;height:450px;bottom:-50px;left:20%;background:radial-gradient(circle,rgba(139,92,246,.07),transparent 65%);animation:oc 35s ease-in-out infinite alternate}
@keyframes oa{to{transform:translate(60px,-40px)}}
@keyframes ob{to{transform:translate(-50px,55px)}}
@keyframes oc{to{transform:translate(45px,-55px)}}

/* ── CURSOR ── */
#csr{position:fixed;width:8px;height:8px;background:#6366f1;border-radius:50%;pointer-events:none;z-index:9999;transform:translate(-50%,-50%);box-shadow:0 0 12px rgba(99,102,241,.8);transition:width .15s,height .15s,background .15s}
#csr-r{position:fixed;width:28px;height:28px;border:1px solid rgba(99,102,241,.5);border-radius:50%;pointer-events:none;z-index:9998;transform:translate(-50%,-50%);transition:width .15s,height .15s}

/* ── NAV ── */
nav{position:fixed;top:0;left:0;right:0;height:62px;z-index:3000;display:flex;align-items:center;padding:0 6%;gap:10px;background:rgba(6,9,30,.88);-webkit-backdrop-filter:blur(32px);backdrop-filter:blur(32px);border-bottom:1px solid rgba(255,255,255,.06)}
.nl{display:flex;align-items:center;gap:9px;margin-right:auto;text-decoration:none;cursor:pointer}
.nm{width:36px;height:36px;border-radius:10px;background:linear-gradient(135deg,#6366f1,#3b82f6);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.72rem;color:#fff;box-shadow:0 0 18px rgba(99,102,241,.4)}
.nt{font-size:1.12rem;font-weight:800;letter-spacing:-.03em;color:#f1f5f9}
.nt span{background:linear-gradient(135deg,#a5b4fc,#7dd3fc);-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.nv{display:flex;list-style:none}
.nv a{color:#94a3b8;font-size:.82rem;font-weight:500;padding:7px 12px;border-radius:8px;transition:all .2s;cursor:pointer;text-decoration:none;white-space:nowrap}
.nv a:hover,.nv a.on{color:#fff;background:rgba(255,255,255,.07)}
.ncta{padding:9px 22px;border-radius:100px;background:linear-gradient(135deg,#6366f1,#3b82f6);color:#fff;font-weight:700;font-size:.82rem;transition:all .2s;box-shadow:0 0 18px rgba(99,102,241,.3)}
.ncta:hover{transform:translateY(-1px);box-shadow:0 0 32px rgba(99,102,241,.5)}
.nh{display:none;background:none;border:1px solid rgba(255,255,255,.12);color:#94a3b8;padding:7px 10px;border-radius:8px;font-size:1.1rem}
#nmob{display:none;position:fixed;top:62px;left:0;right:0;bottom:0;background:rgba(6,9,30,.97);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:2999;flex-direction:column;padding:1.5rem 6%;border-top:1px solid rgba(255,255,255,.06);overflow-y:auto}
#nmob.open{display:flex}
#nmob a{color:#94a3b8;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.06);font-size:.95rem;font-weight:500;text-decoration:none;transition:color .2s}
#nmob a.sub{padding-left:1.2rem;font-size:.88rem;color:#64748b}
#nmob a:hover{color:#fff}

/* ── BUTTONS ── */
.btn-p{display:inline-flex;align-items:center;gap:8px;padding:12px 26px;border-radius:100px;background:linear-gradient(135deg,#6366f1,#3b82f6);color:#fff;font-weight:700;font-size:.875rem;transition:all .22s;box-shadow:0 0 22px rgba(99,102,241,.25)}
.btn-p:hover{transform:translateY(-2px);box-shadow:0 4px 36px rgba(99,102,241,.42)}
.btn-s{display:inline-flex;align-items:center;gap:8px;padding:11px 24px;border-radius:100px;background:transparent;color:#e2e8f0;font-weight:600;font-size:.875rem;border:1px solid rgba(255,255,255,.14);transition:all .22s}
.btn-s:hover{border-color:rgba(99,102,241,.5);color:#fff;background:rgba(99,102,241,.1)}
.btn-sm{padding:8px 18px!important;font-size:.8rem!important}

/* ── PILL ── */
.pill{display:inline-flex;align-items:center;gap:7px;background:rgba(99,102,241,.08);border:1px solid rgba(99,102,241,.25);border-radius:100px;padding:6px 16px;font-size:.71rem;font-weight:600;color:#a5b4fc;letter-spacing:.04em;margin-bottom:1.3rem}
.pill-d{width:6px;height:6px;border-radius:50%;background:#6366f1;animation:pd 2s ease infinite;box-shadow:0 0 7px #6366f1}
@keyframes pd{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.25;transform:scale(.6)}}

/* ── GRADIENT TEXT ── */
.gt{background:linear-gradient(135deg,#a5b4fc,#7dd3fc);-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.gt2{background:linear-gradient(135deg,#fff 30%,#a5b4fc);-webkit-background-clip:text;-webkit-text-fill-color:transparent}

/* ── SECTION ── */
.sec{padding:5.5rem 6%;position:relative;z-index:1}
.alt{background:rgba(10,12,32,.65);border-top:1px solid rgba(255,255,255,.05);border-bottom:1px solid rgba(255,255,255,.05)}
.sw{max-width:1220px;margin:0 auto}
.ey{display:inline-flex;align-items:center;gap:8px;font-size:.67rem;font-weight:600;color:#6366f1;letter-spacing:.13em;text-transform:uppercase;margin-bottom:.7rem}
.ey::before{content:'';width:16px;height:1px;background:linear-gradient(90deg,#6366f1,transparent)}
.sh{font-size:clamp(1.9rem,3.3vw,2.8rem);font-weight:800;letter-spacing:-.04em;line-height:1.08;margin-bottom:.9rem;color:#f1f5f9}
.ss{font-size:.95rem;color:#94a3b8;max-width:560px;line-height:1.82}
.st{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:1.5rem;margin-bottom:.25rem}

/* ── HERO (clean split layout) ── */
.hero{min-height:100vh;display:flex;align-items:center;padding:82px 6% 3rem;position:relative;overflow:hidden}
#hc{position:absolute;inset:0;z-index:0;pointer-events:none}
.h-wrap{max-width:1220px;margin:0 auto;width:100%;position:relative;z-index:2;display:grid;grid-template-columns:1.05fr .95fr;gap:5%;align-items:center}
.h-left{}
.hero h1{font-size:clamp(2.6rem,4.8vw,4.6rem);font-weight:800;letter-spacing:-.045em;line-height:1.04;margin-bottom:1.2rem;color:#f1f5f9}
.h-sub{font-size:.98rem;color:#94a3b8;line-height:1.88;max-width:480px;margin-bottom:2rem}
.h-btns{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:1.8rem}
.h-trust{display:flex;align-items:center;gap:10px;font-size:.77rem;color:#64748b}
.avs{display:flex}
.av{width:26px;height:26px;border-radius:50%;background:linear-gradient(135deg,#6366f1,#3b82f6);border:2px solid #06091e;margin-left:-6px;display:flex;align-items:center;justify-content:center;font-size:.5rem;font-weight:700;color:#fff}
.av:first-child{margin-left:0}

/* PIPELINE PANEL */
.h-panel{background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.09);border-radius:22px;padding:24px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);position:relative;overflow:hidden}
.h-panel::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(99,102,241,.7),transparent)}
.hp-head{display:flex;align-items:center;gap:9px;margin-bottom:1.3rem;padding-bottom:.9rem;border-bottom:1px solid rgba(255,255,255,.06)}
.hp-dot{width:8px;height:8px;border-radius:50%;background:#22c55e;box-shadow:0 0 10px #22c55e;animation:hpd 2s ease infinite}
@keyframes hpd{0%,100%{opacity:1}50%{opacity:.35}}
.hp-lbl{font-size:.7rem;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.1em}
.hp-st{font-size:.7rem;font-weight:700;color:#22c55e;margin-left:auto;text-transform:uppercase;letter-spacing:.08em}
.hp-item{display:flex;align-items:center;gap:11px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.04)}
.hp-item:last-of-type{border:none}
.hp-icon{width:34px;height:34px;border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:.9rem;flex-shrink:0}
.hp-info{flex:1;min-width:0}
.hp-name{font-size:.83rem;font-weight:600;color:#e2e8f0;margin-bottom:2px}
.hp-desc{font-size:.69rem;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hp-badge{font-size:.6rem;font-weight:700;padding:3px 8px;border-radius:100px;white-space:nowrap;flex-shrink:0}
.bl{background:rgba(34,197,94,.12);color:#22c55e;border:1px solid rgba(34,197,94,.25)}
.ba{background:rgba(99,102,241,.12);color:#a5b4fc;border:1px solid rgba(99,102,241,.25)}
.bp{background:rgba(245,158,11,.1);color:#fbbf24;border:1px solid rgba(245,158,11,.2)}
.hp-stream{height:2px;background:rgba(255,255,255,.05);border-radius:1px;margin:5px 0;overflow:hidden;position:relative}
.hp-stream::after{content:'';position:absolute;top:0;left:-30%;width:30%;height:100%;background:linear-gradient(90deg,transparent,rgba(99,102,241,.65),transparent);animation:str 2.2s ease-in-out infinite}
.hp-stream:nth-child(4)::after{animation-delay:.7s}
.hp-stream:nth-child(6)::after{animation-delay:1.4s}
@keyframes str{to{left:120%}}
.hp-stats{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:.9rem;padding-top:.9rem;border-top:1px solid rgba(255,255,255,.06)}
.hp-stat{text-align:center;padding:9px;background:rgba(99,102,241,.06);border-radius:9px;border:1px solid rgba(99,102,241,.1)}
.hp-sn{font-size:1.25rem;font-weight:800;background:linear-gradient(135deg,#a5b4fc,#7dd3fc);-webkit-background-clip:text;-webkit-text-fill-color:transparent;line-height:1;margin-bottom:3px}
.hp-sl{font-size:.57rem;color:#64748b;text-transform:uppercase;letter-spacing:.08em}

/* ── STATS STRIP ── */
.stats-strip{max-width:1220px;margin:2.5rem auto 0;width:calc(100% - 12%);display:grid;grid-template-columns:repeat(4,1fr);background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07);border-radius:16px;overflow:hidden;position:relative;z-index:2}
.ss-i{padding:22px;text-align:center;transition:background .3s;position:relative}
.ss-i::after{content:'';position:absolute;top:20%;bottom:20%;right:0;width:1px;background:rgba(255,255,255,.06)}
.ss-i:last-child::after{display:none}
.ss-i:hover{background:rgba(99,102,241,.06)}
.ss-n{font-size:2.1rem;font-weight:800;letter-spacing:-.05em;line-height:1;margin-bottom:5px;background:linear-gradient(135deg,#a5b4fc,#7dd3fc);-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.ss-l{font-size:.67rem;color:#64748b;text-transform:uppercase;letter-spacing:.09em;font-weight:500}

/* ── MARQUEE ── */
.mqw{overflow:hidden;border-top:1px solid rgba(255,255,255,.06);border-bottom:1px solid rgba(255,255,255,.06);background:rgba(10,12,32,.5);padding:12px 0;margin-top:2.5rem}
.mqi{display:inline-flex;animation:mq 42s linear infinite;white-space:nowrap}
@keyframes mq{to{transform:translateX(-50%)}}
.mi{display:inline-flex;align-items:center;gap:8px;font-size:.62rem;color:#475569;text-transform:uppercase;letter-spacing:.1em;padding:0 26px;border-right:1px solid rgba(255,255,255,.06)}
.mi .d{width:4px;height:4px;border-radius:50%;background:#6366f1;opacity:.7}

/* ── CATEGORY CARDS ── */
.cat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:2.5rem}
.cat-card{border-radius:20px;border:1px solid rgba(255,255,255,.07);background:rgba(255,255,255,.025);transition:all .3s;position:relative;overflow:hidden;cursor:default}
.cat-card::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at var(--mx,50%) var(--my,50%),rgba(99,102,241,.07),transparent 55%);opacity:0;transition:opacity .3s}
.cat-card:hover{border-color:rgba(99,102,241,.3);background:rgba(99,102,241,.04);transform:translateY(-5px);box-shadow:0 24px 60px rgba(0,0,0,.3)}
.cat-card:hover::before{opacity:1}
.cc-top{padding:26px 26px 16px}
.cc-icon{width:50px;height:50px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:1.35rem;margin-bottom:1rem}
.cc-title{font-size:1.05rem;font-weight:700;letter-spacing:-.02em;margin-bottom:.45rem;color:#f1f5f9}
.cc-desc{font-size:.81rem;color:#94a3b8;line-height:1.72}
.cc-stat{font-size:.66rem;color:#6366f1;letter-spacing:.06em;margin-top:.55rem;font-weight:600}
.cc-bottom{padding:14px 26px 20px;border-top:1px solid rgba(255,255,255,.05)}
.cc-tags{display:flex;flex-wrap:wrap;gap:5px}
.ctag{font-size:.59rem;color:#64748b;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);padding:3px 9px;border-radius:100px;text-transform:uppercase;letter-spacing:.06em}

/* ── HORIZONTAL SCROLL ── */
.hsc{overflow:hidden;margin-top:2rem}
.htr{display:flex;gap:14px;animation:hsc 44s linear infinite;width:max-content}
.htr:hover{animation-play-state:paused}
@keyframes hsc{to{transform:translateX(-50%)}}
.hca{flex-shrink:0;width:262px;padding:19px;border-radius:17px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07);transition:all .28s;position:relative;overflow:hidden}
.hca::after{content:'';position:absolute;bottom:0;left:0;right:0;height:1.5px;background:linear-gradient(90deg,#6366f1,#3b82f6);transform:scaleX(0);transition:transform .35s}
.hca:hover{border-color:rgba(99,102,241,.3);transform:translateY(-4px)}
.hca:hover::after{transform:scaleX(1)}

/* ── PIPELINE ── */
.pipe-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:2.5rem}
.pc{padding:24px;border-radius:18px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07);transition:all .28s;position:relative;overflow:hidden}
.pc::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,rgba(99,102,241,.55),transparent);transform:scaleX(0);transition:transform .4s}
.pc:hover{border-color:rgba(99,102,241,.28);transform:translateY(-4px);box-shadow:0 20px 50px rgba(0,0,0,.25)}
.pc:hover::before{transform:scaleX(1)}
.p-num{font-size:.6rem;color:#6366f1;text-transform:uppercase;letter-spacing:.13em;margin-bottom:.85rem;font-weight:600}
.p-title{font-size:.95rem;font-weight:700;margin-bottom:.42rem;color:#f1f5f9}
.p-desc{font-size:.79rem;color:#94a3b8;line-height:1.7}
.p-tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:.85rem}
.ptag{font-size:.57rem;background:rgba(99,102,241,.07);border:1px solid rgba(99,102,241,.17);color:#a5b4fc;padding:3px 8px;border-radius:100px;text-transform:uppercase;letter-spacing:.05em}

/* ── INDUSTRY CARDS ── */
.ind-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:2.5rem}
.ic{padding:24px;border-radius:18px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07);transition:all .28s}
.ic:hover{border-color:rgba(99,102,241,.28);transform:translateY(-4px)}
.ic-n{font-size:.6rem;color:#6366f1;letter-spacing:.13em;text-transform:uppercase;margin-bottom:.8rem;font-weight:600}
.ic-t{font-size:1rem;font-weight:700;margin-bottom:.52rem;color:#f1f5f9}
.ic-d{font-size:.81rem;color:#94a3b8;line-height:1.7;margin-bottom:1rem}
.ic-tags{display:flex;flex-wrap:wrap;gap:5px}
.itag{font-size:.57rem;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);color:#64748b;padding:3px 8px;border-radius:100px;text-transform:uppercase;letter-spacing:.05em}

/* ── WHY GRID ── */
.why-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:2.5rem}
.wc{padding:24px;border-radius:18px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07);transition:all .28s;border-left:3px solid transparent}
.wc:hover{border-left-color:#6366f1;background:rgba(99,102,241,.04);transform:translateX(4px)}
.wc-icon{font-size:1.4rem;margin-bottom:.8rem}
.wc-t{font-size:.96rem;font-weight:700;margin-bottom:.42rem;color:#f1f5f9}
.wc-d{font-size:.81rem;color:#94a3b8;line-height:1.75}

/* ── CTA BAND ── */
.cta-band{margin:0 6% 5rem;padding:3.8rem 3rem;border-radius:26px;text-align:center;background:linear-gradient(135deg,rgba(99,102,241,.13),rgba(59,130,246,.07));border:1px solid rgba(99,102,241,.2);position:relative;overflow:hidden}
.cta-band::before{content:'';position:absolute;top:-80px;left:50%;transform:translateX(-50%);width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(99,102,241,.22),transparent 70%);pointer-events:none}
.cta-band h2{font-size:clamp(1.8rem,2.9vw,2.7rem);font-weight:800;letter-spacing:-.04em;margin-bottom:.85rem;position:relative;color:#f1f5f9}
.cta-band p{color:#94a3b8;margin-bottom:1.7rem;font-size:.93rem;position:relative;max-width:500px;margin-left:auto;margin-right:auto;line-height:1.8}
.cta-btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;position:relative}

/* ── PAGE HERO ── */
.ph{padding:125px 6% 58px;position:relative;overflow:hidden;border-bottom:1px solid rgba(255,255,255,.06)}
.ph::after{content:'';position:absolute;top:-80px;right:-80px;width:450px;height:450px;border-radius:50%;background:radial-gradient(circle,rgba(99,102,241,.1),transparent 65%);pointer-events:none;z-index:0}
.phw{max-width:1220px;margin:0 auto;position:relative;z-index:1}
.ph-lbl{font-size:.63rem;color:#6366f1;text-transform:uppercase;letter-spacing:.13em;margin-bottom:.85rem;font-weight:600}
.ph-title{font-size:clamp(2.4rem,5vw,4.1rem);font-weight:800;letter-spacing:-.045em;line-height:.95;margin-bottom:1.15rem;color:#f1f5f9}
.ph-sub{font-size:.97rem;color:#94a3b8;max-width:620px;line-height:1.82}

/* ── DS CARDS ── */
.ds-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:2.5rem}
.ds-card{border-radius:18px;overflow:hidden;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07);transition:all .28s}
.ds-card:hover{border-color:rgba(99,102,241,.28);transform:translateY(-4px);box-shadow:0 20px 50px rgba(0,0,0,.25)}
.ds-head{padding:20px 20px 15px;background:linear-gradient(135deg,rgba(99,102,241,.07),rgba(10,12,32,.8));border-bottom:1px solid rgba(255,255,255,.06)}
.ds-tag{display:inline-block;font-size:.6rem;letter-spacing:.08em;color:#6366f1;background:rgba(99,102,241,.1);border:1px solid rgba(99,102,241,.22);padding:3px 9px;border-radius:100px;text-transform:uppercase;margin-bottom:.6rem}
.ds-name{font-size:.97rem;font-weight:700;letter-spacing:-.02em;margin-bottom:.28rem;color:#f1f5f9}
.ds-desc{font-size:.78rem;color:#94a3b8;line-height:1.62}
.ds-body{padding:15px 20px}
.ds-meta{display:flex;gap:.9rem;flex-wrap:wrap;margin-bottom:.82rem}
.dm{font-size:.63rem;color:#64748b}
.dm strong{color:#94a3b8;font-weight:500}
.ds-list{list-style:none}
.ds-list li{font-size:.78rem;color:#94a3b8;padding:4px 0;display:flex;align-items:flex-start;gap:6px;border-bottom:1px solid rgba(255,255,255,.04)}
.ds-list li:last-child{border:none}
.ds-list li::before{content:'';width:5px;height:5px;border-radius:50%;background:#6366f1;flex-shrink:0;margin-top:5px}

/* ── SOL ── */
.sol-grid{display:grid;gap:14px;margin-top:2.5rem}
.sol-item{display:grid;grid-template-columns:1fr 1fr;border-radius:20px;overflow:hidden;border:1px solid rgba(255,255,255,.07);transition:all .28s}
.sol-item:hover{border-color:rgba(99,102,241,.28)}
.sol-l{padding:36px;background:linear-gradient(135deg,rgba(99,102,241,.04),rgba(10,12,32,.8))}
.sol-r{padding:28px;font-family:'Courier New',monospace;font-size:.71rem;line-height:1.9;color:#64748b;background:rgba(6,9,30,.9);border-left:1px solid rgba(255,255,255,.06);position:relative}
.sol-r::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(99,102,241,.6),transparent)}
.sol-n{font-size:.6rem;color:#6366f1;text-transform:uppercase;letter-spacing:.12em;margin-bottom:.8rem;font-weight:600}
.sol-title{font-size:1.4rem;font-weight:800;letter-spacing:-.03em;margin-bottom:.58rem;color:#f1f5f9}
.sol-desc{font-size:.84rem;color:#94a3b8;line-height:1.8;margin-bottom:1.1rem}
.sol-list{list-style:none}
.sol-list li{font-size:.82rem;color:#e2e8f0;padding:5px 0;border-bottom:1px solid rgba(255,255,255,.06);display:flex;align-items:center;gap:8px}
.sol-list li:last-child{border:none}
.sol-list li::before{content:'';width:5px;height:5px;border-radius:50%;background:#6366f1;flex-shrink:0}
.ck{color:#93c5fd}.cv{color:#67e8f9}.cs{color:#86efac}.cc{color:#6b7280}.ce{color:#fca5a5}

/* ── COMPLIANCE ── */
.comp-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:2rem;margin-top:2.5rem;align-items:start}
.comp-list{list-style:none;display:flex;flex-direction:column;gap:8px}
.comp-li{display:flex;align-items:flex-start;gap:12px;padding:13px 15px;border-radius:13px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07);font-size:.85rem;color:#e2e8f0;transition:all .28s}
.comp-li:hover{border-color:rgba(34,197,94,.25);background:rgba(34,197,94,.03)}
.comp-chk{width:22px;height:22px;min-width:22px;border-radius:7px;background:rgba(34,197,94,.1);border:1px solid rgba(34,197,94,.22);display:flex;align-items:center;justify-content:center;font-size:.65rem;color:#22c55e}
.cert-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.cert{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07);border-radius:13px;padding:17px;text-align:center;transition:all .28s}
.cert:hover{border-color:rgba(99,102,241,.3);background:rgba(99,102,241,.04)}
.cert-v{font-size:.93rem;font-weight:800;margin-bottom:3px;background:linear-gradient(135deg,#a5b4fc,#7dd3fc);-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.cert-l{font-size:.6rem;color:#64748b;text-transform:uppercase;letter-spacing:.09em}

/* ── CUSTOM ── */
.svc-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:2.5rem}
.svc{padding:28px;border-radius:18px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07);transition:all .28s}
.svc:hover{border-color:rgba(99,102,241,.28);transform:translateY(-4px)}
.svc-ico{font-size:1.5rem;margin-bottom:.9rem}
.svc-t{font-size:1.08rem;font-weight:700;margin-bottom:.52rem;color:#f1f5f9}
.svc-d{font-size:.83rem;color:#94a3b8;line-height:1.78}
.proc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:2.5rem}
.proc{padding:22px;border-radius:17px;text-align:center;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07);transition:all .28s}
.proc:hover{border-color:rgba(99,102,241,.28);transform:translateY(-4px)}
.proc-n{font-size:.6rem;color:#6366f1;text-transform:uppercase;letter-spacing:.12em;margin-bottom:.8rem;font-weight:600}
.proc-ico{width:48px;height:48px;border-radius:14px;background:linear-gradient(135deg,#6366f1,#3b82f6);margin:0 auto 1rem;display:flex;align-items:center;justify-content:center;font-size:1.1rem;box-shadow:0 8px 22px rgba(99,102,241,.28)}
.proc-t{font-size:.9rem;font-weight:700;margin-bottom:.36rem;color:#f1f5f9}
.proc-d{font-size:.77rem;color:#94a3b8;line-height:1.62}

/* ── ABOUT ── */
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:3.5rem;align-items:start}
.ab-body{font-size:.9rem;color:#94a3b8;line-height:1.9}
.ab-body p{margin-bottom:1rem}
.fi{padding:14px;border-radius:12px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07);border-left:2px solid transparent;transition:all .28s;margin-bottom:8px}
.fi:hover{border-left-color:#6366f1;background:rgba(99,102,241,.04)}
.fi-l{font-size:.62rem;color:#6366f1;text-transform:uppercase;letter-spacing:.1em;margin-bottom:3px;font-weight:600}
.fi-t{font-size:.81rem;color:#94a3b8;line-height:1.6}
.val-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.vi{padding:14px;border-radius:12px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07);transition:all .28s}
.vi:hover{border-color:rgba(99,102,241,.28);background:rgba(99,102,241,.04)}
.vi-t{font-size:.87rem;font-weight:700;margin-bottom:.28rem;color:#f1f5f9}
.vi-d{font-size:.75rem;color:#64748b;line-height:1.6}

/* ── RESOURCES ── */
.res-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:2.5rem}
.rc{border-radius:18px;overflow:hidden;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07);transition:all .28s}
.rc:hover{border-color:rgba(99,102,241,.28);transform:translateY(-4px)}
.rc-vis{height:108px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,rgba(99,102,241,.07),rgba(10,12,32,.9));border-bottom:1px solid rgba(255,255,255,.06);overflow:hidden}
.rc-body{padding:17px}
.rc-type{font-size:.6rem;color:#6366f1;text-transform:uppercase;letter-spacing:.1em;margin-bottom:.42rem;font-weight:600}
.rc-title{font-size:.89rem;font-weight:700;margin-bottom:.35rem;color:#f1f5f9}
.rc-desc{font-size:.78rem;color:#94a3b8;line-height:1.62}
.rc-date{font-size:.6rem;color:#475569;margin-top:.6rem;text-transform:uppercase}

/* ── CONTACT ── */
.con-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:2.5rem}
.cf{display:flex;flex-direction:column;gap:12px}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.fg{display:flex;flex-direction:column;gap:5px}
label{font-size:.62rem;color:#64748b;text-transform:uppercase;letter-spacing:.09em}
input,select,textarea{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:11px 14px;color:#fff;font-family:inherit;font-size:.875rem;outline:none;transition:all .2s;width:100%}
input:focus,select:focus,textarea:focus{border-color:rgba(99,102,241,.5);background:rgba(99,102,241,.06);box-shadow:0 0 0 3px rgba(99,102,241,.1)}
input::placeholder,textarea::placeholder{color:#475569}
select option{background:#0d0f28;color:#fff}
textarea{min-height:115px;resize:vertical}
.ci-list{display:flex;flex-direction:column;gap:9px}
.ci{padding:14px;border-radius:12px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07);transition:all .28s}
.ci:hover{border-color:rgba(99,102,241,.25)}
.ci-l{font-size:.6rem;color:#6366f1;text-transform:uppercase;letter-spacing:.1em;margin-bottom:4px;font-weight:600}
.ci-v{font-size:.83rem;color:#e2e8f0;line-height:1.6}

/* ── LEGAL ── */
.legal-body{max-width:760px}
.legal-body .ey{margin-top:2rem}
.legal-body p{font-size:.9rem;color:#94a3b8;line-height:1.9;margin-bottom:1.4rem}

/* ── API CODE BLOCK ── */
.code-block{background:rgba(6,9,30,.9);border:1px solid rgba(99,102,241,.25);border-radius:16px;padding:2rem;margin:2rem 0;position:relative;overflow:hidden}
.code-block::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(99,102,241,.6),transparent)}
.code-block pre{font-family:'Courier New',monospace;font-size:.82rem;line-height:2;color:#94a3b8;white-space:pre-wrap}

/* ── DIVIDER ── */
hr.dv{border:none;border-top:1px solid rgba(255,255,255,.07);margin:3rem 0}

/* ── REVEAL ── */
.rv{opacity:0;transform:translateY(18px);transition:opacity .65s ease,transform .65s ease}
.rv.in{opacity:1;transform:none}
.rv-s{opacity:0;transform:scale(.96);transition:opacity .6s ease,transform .6s ease}
.rv-s.in{opacity:1;transform:scale(1)}

/* ── FOOTER ── */
footer{background:rgba(8,10,28,.96);border-top:1px solid rgba(255,255,255,.06);padding:3.5rem 6% 2rem;position:relative;z-index:1}
.ft-g{display:grid;grid-template-columns:2.2fr 1fr 1fr 1fr 1fr;gap:2.5rem;padding-bottom:2.5rem;border-bottom:1px solid rgba(255,255,255,.06)}
.fb{display:flex;align-items:center;gap:9px;font-weight:800;font-size:1.05rem;letter-spacing:-.025em;margin-bottom:.55rem;text-decoration:none;color:#f1f5f9}
.fb span{background:linear-gradient(135deg,#a5b4fc,#7dd3fc);-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.fd{font-size:.78rem;color:#64748b;line-height:1.72;max-width:225px;margin-top:.35rem}
.fc h4{font-size:.67rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:#64748b;margin-bottom:.82rem}
.fc ul{list-style:none}
.fc li{margin-bottom:.4rem}
.fc a{font-size:.8rem;color:#475569;transition:color .2s;text-decoration:none;cursor:pointer}
.fc a:hover{color:#6366f1}
.ft-bot{padding-top:1.4rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem;font-size:.62rem;color:#475569}

/* ── RESPONSIVE ── */
@media(max-width:1100px){
  .cat-grid{grid-template-columns:1fr 1fr}
  .pipe-grid{grid-template-columns:1fr 1fr}
  .ft-g{grid-template-columns:1fr 1fr}
  .h-wrap{grid-template-columns:1fr}
  .h-panel{display:none}
}
@media(max-width:820px){
  .nv,.ncta{display:none!important}
  .nh{display:block!important}
  nav{padding:0 4%}
  .sec{padding:3.8rem 4%}
  .ph{padding:106px 4% 46px}
  .cat-grid,.ds-grid,.ind-grid,.res-grid,.svc-grid,.why-grid{grid-template-columns:1fr}
  .pipe-grid{grid-template-columns:1fr}
  .proc-grid{grid-template-columns:1fr 1fr}
  .comp-grid,.about-grid,.con-grid{grid-template-columns:1fr}
  .sol-item{grid-template-columns:1fr}
  .sol-r{display:none}
  .stats-strip{grid-template-columns:1fr 1fr}
  .val-grid,.frow{grid-template-columns:1fr}
  .cta-band{margin:0 4% 4rem;padding:2.5rem 1.5rem}
  .ft-g{grid-template-columns:1fr}
  .hero{padding:78px 4% 2rem}
}
@media(max-width:500px){
  .stats-strip{grid-template-columns:1fr 1fr}
  .proc-grid{grid-template-columns:1fr}
}

/* ── TESTIMONIALS ── */
.tst-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:2.5rem}
.tst-card{padding:28px;border-radius:18px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07);transition:all .28s;position:relative}
.tst-card:hover{border-color:rgba(99,102,241,.28);transform:translateY(-3px);box-shadow:0 16px 40px rgba(0,0,0,.25)}
.tst-quote{font-size:1.05rem;color:#94a3b8;line-height:1.82;margin-bottom:1.4rem;font-style:italic;position:relative}
.tst-quote::before{content:'"';position:absolute;top:-8px;left:-4px;font-size:3rem;color:rgba(99,102,241,.15);font-family:Georgia,serif;line-height:1}
.tst-author{display:flex;align-items:center;gap:12px}
.tst-avatar{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,#6366f1,#3b82f6);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.85rem;color:#fff;flex-shrink:0}
.tst-name{font-size:.88rem;font-weight:700;color:#f1f5f9;margin-bottom:2px}
.tst-role{font-size:.75rem;color:#64748b}
.tst-rating{display:flex;gap:2px;margin-bottom:1rem}
.tst-star{color:#f59e0b;font-size:.85rem}

/* ── CLIENT LOGOS ── */
.logos-strip{padding:3rem 6%;position:relative;z-index:1;border-top:1px solid rgba(255,255,255,.05);border-bottom:1px solid rgba(255,255,255,.05);background:rgba(10,12,32,.5)}
.logos-label{text-align:center;font-size:.67rem;color:#475569;text-transform:uppercase;letter-spacing:.15em;margin-bottom:1.8rem;font-weight:600}
.logos-row{display:flex;justify-content:center;align-items:center;gap:2rem;flex-wrap:wrap}
.logo-item{display:flex;align-items:center;gap:8px;padding:10px 20px;border-radius:10px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);transition:all .25s;white-space:nowrap}
.logo-item:hover{border-color:rgba(99,102,241,.25);background:rgba(99,102,241,.05)}
.logo-icon{width:28px;height:28px;border-radius:7px;display:flex;align-items:center;justify-content:center;font-size:.65rem;font-weight:700;color:#fff;flex-shrink:0}
.logo-name{font-size:.8rem;font-weight:600;color:#64748b;letter-spacing:-.01em}

/* ── FAQ ── */
.faq-list{max-width:780px;margin:2.5rem auto 0;display:flex;flex-direction:column;gap:10px}
.faq-item{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07);border-radius:14px;overflow:hidden;transition:border-color .2s}
.faq-item:hover{border-color:rgba(99,102,241,.25)}
.faq-q{padding:18px 22px;font-size:.95rem;font-weight:600;color:#f1f5f9;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.faq-q::after{content:'+';font-size:1.2rem;color:#6366f1;flex-shrink:0;transition:transform .25s;font-weight:300}
.faq-item.open .faq-q::after{transform:rotate(45deg)}
.faq-a{padding:0 22px 18px;font-size:.88rem;color:#94a3b8;line-height:1.82;display:none}
.faq-item.open .faq-a{display:block}

/* ── SVG ILLUSTRATION CONTAINERS ── */
.illus-wrap{border-radius:16px;overflow:hidden;border:1px solid rgba(255,255,255,.07);background:rgba(10,12,32,.6)}
.illus-wrap img,.illus-wrap svg{width:100%;height:auto;display:block}
.illus-caption{padding:10px 16px;font-size:.7rem;color:#475569;text-align:center;border-top:1px solid rgba(255,255,255,.05);font-style:italic}

/* ── STATS WITH ICONS ── */
.stat-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:2.5rem}
.stat-card{padding:24px;border-radius:16px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07);text-align:center;transition:all .28s}
.stat-card:hover{border-color:rgba(99,102,241,.28);background:rgba(99,102,241,.04);transform:translateY(-3px)}
.stat-icon{font-size:1.6rem;margin-bottom:.85rem}
.stat-num{font-size:2rem;font-weight:800;letter-spacing:-.05em;background:linear-gradient(135deg,#a5b4fc,#7dd3fc);-webkit-background-clip:text;-webkit-text-fill-color:transparent;line-height:1;margin-bottom:4px}
.stat-label{font-size:.7rem;color:#64748b;text-transform:uppercase;letter-spacing:.09em}

/* ── TWO COL SECTION ── */
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}
.two-col.rev{direction:rtl}.two-col.rev>*{direction:ltr}

@media(max-width:900px){.tst-grid{grid-template-columns:1fr}.stat-cards{grid-template-columns:1fr 1fr}.two-col,.two-col.rev{grid-template-columns:1fr;direction:ltr}}
@media(max-width:600px){.logos-row{gap:1rem}.stat-cards{grid-template-columns:1fr 1fr}}

/* ── HOMEPAGE ACID-GREEN OVERRIDES ──────────────────────────────────────
   These only affect elements inside .hero-v2 and homepage-specific
   elements. All other pages remain with the original indigo theme.
──────────────────────────────────────────────────────────────────────── */

/* Body background for homepage is slightly darker */
body.home { background: #080a18 }
body.home::before {
  background-image:
    linear-gradient(rgba(0,255,136,.015) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0,255,136,.015) 1px, transparent 1px);
}

/* Marquee strip that follows the hero */
.hero-v2 + .mqw {
  background: rgba(8,10,24,.7);
  border-color: rgba(0,255,136,.08);
}

/* Logos strip tweaks when after new hero */
.hero-v2 ~ .logos-strip {
  background: rgba(8,10,24,.6);
  border-color: rgba(0,255,136,.06);
}

/* ── ANIMATED PAGE HEROES ─────────────────────────────────────── */
.ph {
  position: relative;
  overflow: hidden;
}
.ph-canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  pointer-events: none;
}
.ph-vignette {
  position: absolute; inset: 0; z-index: 1;
  pointer-events: none;
  background:
    radial-gradient(ellipse 80% 100% at 0% 50%, rgba(6,9,30,.82) 0%, transparent 70%),
    radial-gradient(ellipse 100% 50% at 50% 100%, rgba(6,9,30,.96) 0%, transparent 55%);
}
.phw { position: relative; z-index: 2 }

/* Page accent overrides via CSS custom properties */
.ph[data-accent] .ph-lbl { color: var(--pa, #6366f1) }

/* Headline entrance animation for inner pages */
.ph-title-anim {
  opacity: 0;
  transform: translateY(16px);
  animation: ph-title-in .65s cubic-bezier(.23,1,.32,1) .2s forwards;
}
.ph-sub-anim {
  opacity: 0;
  transform: translateY(12px);
  animation: ph-title-in .6s ease .42s forwards;
}
.ph-lbl-anim {
  opacity: 0;
  animation: ph-title-in .5s ease .08s forwards;
}
@keyframes ph-title-in {
  to { opacity:1; transform:translateY(0) }
}

/* ── ANIMATED PAGE HEROES ─────────────────────────────────────── */
.ph {
  position: relative;
  overflow: hidden;
}
.ph-canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  pointer-events: none;
}
.ph-vignette {
  position: absolute; inset: 0; z-index: 1;
  pointer-events: none;
  background:
    radial-gradient(ellipse 80% 100% at 0% 50%, rgba(6,9,30,.82) 0%, transparent 70%),
    radial-gradient(ellipse 100% 50% at 50% 100%, rgba(6,9,30,.96) 0%, transparent 55%);
}
.phw { position: relative; z-index: 2 }

/* Page accent overrides via CSS custom properties */
.ph[data-accent] .ph-lbl { color: var(--pa, #6366f1) }

/* Headline entrance animation for inner pages */
.ph-title-anim {
  opacity: 0;
  transform: translateY(16px);
  animation: ph-title-in .65s cubic-bezier(.23,1,.32,1) .2s forwards;
}
.ph-sub-anim {
  opacity: 0;
  transform: translateY(12px);
  animation: ph-title-in .6s ease .42s forwards;
}
.ph-lbl-anim {
  opacity: 0;
  animation: ph-title-in .5s ease .08s forwards;
}
@keyframes ph-title-in {
  to { opacity:1; transform:translateY(0) }
}
