*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
:root{
  --bg:#060608;--bg1:#0d0d10;--bg2:#111115;--bg3:#18181d;--bg4:#202025;--bg5:#28282e;
  --border:#1e1e24;--border2:#2a2a32;--border3:#363640;
  --text:#eeeef2;--text2:#9898a8;--text3:#55555f;--text4:#2a2a32;
  --white:#ffffff;
  --vi:#6366f1;--vp:#8b5cf6;--vc:#06b6d4;--vg:#10b981;
  --grad:linear-gradient(135deg,#6366f1 0%,#8b5cf6 50%,#06b6d4 100%);
  --grad2:linear-gradient(135deg,#6366f1,#06b6d4);
  --grad-t:linear-gradient(90deg,#818cf8,#a78bfa,#67e8f9);
  --glow:rgba(99,102,241,0.18);
  --mono:'Geist Mono',monospace;
  --sans:'Instrument Sans',sans-serif;
  --ease:cubic-bezier(0.4,0,0.2,1);
}
html{scroll-behavior:smooth;}
body{background:var(--bg);color:var(--text);font-family:var(--sans);font-size:16px;line-height:1.6;overflow-x:hidden;}
::-webkit-scrollbar{width:3px;}
::-webkit-scrollbar-track{background:var(--bg);}
::-webkit-scrollbar-thumb{background:var(--border3);border-radius:2px;}
a{color:inherit;text-decoration:none;}
img{display:block;max-width:100%;}

/* NOISE */
body::before{content:'';position:fixed;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.028'/%3E%3C/svg%3E");pointer-events:none;z-index:9997;}

/* CURSOR */
#cur{position:fixed;width:5px;height:5px;background:#fff;border-radius:50%;pointer-events:none;z-index:10000;transform:translate(-50%,-50%);will-change:left,top;}
#curR{position:fixed;width:28px;height:28px;border:1px solid rgba(255,255,255,0.18);border-radius:50%;pointer-events:none;z-index:9999;transform:translate(-50%,-50%);transition:width .25s,height .25s,border-color .25s;will-change:left,top;}

/* ═══════════════ NAV ═══════════════ */
#nav{position:fixed;top:0;left:0;right:0;z-index:800;height:68px;display:flex;align-items:center;justify-content:space-between;padding:0 60px;border-bottom:1px solid transparent;transition:all .4s var(--ease);}
#nav.scrolled{background:rgba(6,6,8,0.9);border-color:var(--border);backdrop-filter:blur(24px);}
.nl{display:flex;align-items:center;gap:36px;}
.logo{display:flex;align-items:center;gap:12px;font-family:var(--mono);font-size:14px;font-weight:600;letter-spacing:-.01em;}
.logob{width:32px;height:32px;border-radius:7px;display:flex;align-items:center;justify-content:center;position:relative;color:#fff;}
.logob::before{content:'';position:absolute;inset:0;background:var(--grad);border-radius:7px;}
.logob::after{content:'';position:absolute;inset:0;border:1px solid rgba(255,255,255,0.18);border-radius:7px;}
.logob svg{position:relative;z-index:1;width:18px;height:20px;}
.navl{display:flex;gap:2px;list-style:none;}
.navl a{padding:8px 16px;font-size:13px;font-weight:500;color:var(--text2);border-radius:8px;transition:all .2s;letter-spacing:-.01em;}
.navl a:hover{color:var(--white);background:var(--bg3);}
.nr{display:flex;gap:10px;align-items:center;}
.nbtn{padding:9px 20px;font-size:13px;font-weight:600;border-radius:9px;cursor:pointer;border:none;font-family:var(--sans);letter-spacing:-.01em;transition:all .2s;}
.nbg{background:transparent;border:1px solid var(--border2);color:var(--text2);}
.nbg:hover{border-color:var(--text2);color:var(--white);}
.nbp{background:var(--white);color:var(--bg);}
.nbp:hover{background:#e8e8ec;transform:translateY(-1px);}

/* ═══════════════ HERO ═══════════════ */
.hero{min-height:100vh;display:flex;flex-direction:column;justify-content:center;padding:136px 80px 100px;position:relative;overflow:hidden;}
.hero-bg{position:absolute;inset:0;pointer-events:none;}
.hgrid{position:absolute;inset:-5%;background-image:linear-gradient(var(--border) 1px,transparent 1px),linear-gradient(90deg,var(--border) 1px,transparent 1px);background-size:80px 80px;mask-image:radial-gradient(ellipse 70% 80% at 70% 30%,black 0%,transparent 70%);opacity:.55;}
.hmesh{position:absolute;inset:0;background:radial-gradient(ellipse 80% 60% at 72% 22%,rgba(99,102,241,.13) 0%,transparent 58%),radial-gradient(ellipse 50% 50% at 20% 85%,rgba(6,182,212,.08) 0%,transparent 55%),radial-gradient(ellipse 35% 35% at 85% 72%,rgba(139,92,246,.09) 0%,transparent 50%);animation:meshPulse 16s ease-in-out infinite;}
@keyframes meshPulse{0%,100%{opacity:.8;}50%{opacity:1;}}
.orb{position:absolute;border-radius:50%;filter:blur(90px);pointer-events:none;}
.o1{width:600px;height:600px;background:radial-gradient(circle,rgba(99,102,241,.16),transparent 68%);right:-120px;top:-120px;animation:of 14s ease-in-out infinite alternate;}
.o2{width:400px;height:400px;background:radial-gradient(circle,rgba(6,182,212,.1),transparent 68%);left:-80px;bottom:80px;animation:of 11s 2s ease-in-out infinite alternate;}
.o3{width:280px;height:280px;background:radial-gradient(circle,rgba(139,92,246,.1),transparent 68%);right:28%;top:55%;animation:of 9s 5s ease-in-out infinite alternate;}
@keyframes of{from{transform:translateY(0) scale(1);}to{transform:translateY(-45px) scale(1.06);}}

.hero-inner{position:relative;z-index:2;max-width:1100px;}
.htag{display:inline-flex;align-items:center;gap:9px;padding:6px 16px;border:1px solid var(--border2);border-radius:100px;font-family:var(--mono);font-size:11px;font-weight:500;color:var(--text2);letter-spacing:.08em;text-transform:uppercase;background:rgba(13,13,16,.8);margin-bottom:40px;opacity:0;animation:fup .7s .2s forwards;}
.htag-dot{width:7px;height:7px;border-radius:50%;background:var(--vi);animation:tp 2.5s ease-in-out infinite;}
@keyframes tp{0%,100%{opacity:1;box-shadow:0 0 0 0 rgba(99,102,241,.5);}50%{box-shadow:0 0 0 8px rgba(99,102,241,0);}}

.hero h1{font-size:clamp(64px,8.5vw,130px);font-weight:700;line-height:.94;letter-spacing:-.04em;opacity:0;animation:fup .9s .3s forwards;}
.h1a{display:block;color:var(--white);}
.h1b{display:block;background:var(--grad-t);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.h1c{display:block;color:var(--text3);font-weight:600;}
.hero-sub{margin-top:36px;font-size:19px;font-weight:400;color:var(--text2);max-width:600px;line-height:1.72;opacity:0;animation:fup .9s .45s forwards;}

.hctas{margin-top:56px;display:flex;gap:14px;align-items:center;opacity:0;animation:fup .9s .6s forwards;}
.btn{padding:15px 30px;font-family:var(--sans);font-size:15px;font-weight:600;border-radius:11px;cursor:pointer;display:inline-flex;align-items:center;gap:9px;transition:all .25s;text-decoration:none;border:none;letter-spacing:-.01em;}
.btn-g{background:var(--grad);color:#fff;box-shadow:0 0 40px rgba(99,102,241,.28);position:relative;overflow:hidden;}
.btn-g:hover{transform:translateY(-2px);box-shadow:0 0 65px rgba(99,102,241,.45);}
.btn:active{transform:translateY(0) scale(.98);}
.btn:focus-visible,.sbtn:focus-visible{outline:2px solid rgba(99,102,241,.6);outline-offset:3px;}
.btn-o{background:transparent;border:1px solid var(--border2);color:var(--text);}
.btn-o:hover{border-color:var(--text2);color:var(--white);transform:translateY(-2px);}
.btn-w{background:var(--white);color:var(--bg);font-weight:700;}
.btn-w:hover{background:#e8e8ec;transform:translateY(-2px);}
.btn-sm{padding:10px 20px;font-size:13px;border-radius:8px;}

/* HERO STATS */
.hstats{margin-top:80px;display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--border);border:1px solid var(--border);border-radius:14px;overflow:hidden;max-width:780px;opacity:0;animation:fup .9s .85s forwards;}
.hstat{background:var(--bg1);padding:26px 28px;position:relative;transition:background .25s;}
.hstat:hover{background:var(--bg2);}
.hstat::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:var(--grad);opacity:0;transition:opacity .3s;}
.hstat:hover::before{opacity:1;}
.hstat-n{font-family:var(--mono);font-size:32px;font-weight:700;line-height:1;letter-spacing:-.04em;}
.hstat-n .gc{background:var(--grad-t);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.hstat-l{font-size:12px;color:var(--text3);margin-top:6px;}

/* SCROLL HINT */
.shhint{position:absolute;bottom:44px;left:80px;display:flex;align-items:center;gap:12px;font-family:var(--mono);font-size:10px;color:var(--text3);letter-spacing:.12em;text-transform:uppercase;opacity:0;animation:fin 1s 1.6s forwards;}
.shline{width:44px;height:1px;background:var(--text4);overflow:hidden;position:relative;}
.shline::after{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:var(--text3);animation:sl 2.2s ease-in-out infinite;}
@keyframes sl{0%{left:-100%;}100%{left:100%;}}

/* ═══════════════ MARQUEE ═══════════════ */
.mq{border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:17px 0;overflow:hidden;background:var(--bg1);position:relative;}
.mq::before,.mq::after{content:'';position:absolute;top:0;bottom:0;width:140px;z-index:2;}
.mq::before{left:0;background:linear-gradient(90deg,var(--bg1),transparent);}
.mq::after{right:0;background:linear-gradient(-90deg,var(--bg1),transparent);}
.mqt{display:flex;width:max-content;animation:mqs 38s linear infinite;}
.mqt span{font-family:var(--mono);font-size:11px;font-weight:400;letter-spacing:.15em;text-transform:uppercase;color:var(--text3);padding:0 30px;white-space:nowrap;}
.mqt span.mh{color:transparent;background:var(--grad-t);-webkit-background-clip:text;background-clip:text;}
@keyframes mqs{from{transform:translateX(0);}to{transform:translateX(-50%);}}

/* ═══════════════ SHARED SECTION ═══════════════ */
section{padding:130px 80px;}
.eyebrow{font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;display:inline-block;margin-bottom:18px;background:var(--grad-t);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
h2{font-size:clamp(38px,4.2vw,66px);font-weight:700;letter-spacing:-.035em;line-height:1.04;}
.lead{margin-top:18px;font-size:17px;color:var(--text2);max-width:560px;line-height:1.78;}
.sec-hdr{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:72px;gap:40px;}

/* ═══════════════ SERVICES ═══════════════ */
.svc-sec{background:var(--bg1);border-top:1px solid var(--border);border-bottom:1px solid var(--border);}
.svc-tabs{display:flex;gap:2px;margin-bottom:48px;background:var(--bg2);padding:5px;border-radius:11px;border:1px solid var(--border);width:fit-content;}
.stab{padding:9px 20px;font-size:13px;font-weight:500;color:var(--text2);border-radius:8px;cursor:pointer;transition:all .2s;font-family:var(--sans);border:none;background:transparent;letter-spacing:-.01em;}
.stab.active{background:var(--bg4);color:var(--white);box-shadow:0 1px 3px rgba(0,0,0,.5);}
.svc-layout{display:grid;grid-template-columns:240px 1fr;gap:60px;align-items:start;}
.svc-sidebar{position:sticky;top:110px;}
.svc-sn{display:flex;flex-direction:column;gap:2px;}
.ssn-item{padding:13px 16px;font-size:13px;font-weight:500;color:var(--text2);border-left:2px solid var(--border);cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:11px;border-radius:0 8px 8px 0;}
.ssn-item:hover{color:var(--text);border-color:var(--border3);background:var(--bg2);}
.ssn-item.active{color:var(--white);border-color:var(--vi);background:rgba(99,102,241,.08);}
.ssn-idx{font-family:var(--mono);font-size:10px;color:var(--text3);}
.svc-cards{display:flex;flex-direction:column;gap:12px;}
.scard{background:var(--bg2);border:1px solid var(--border);border-radius:12px;padding:40px;transition:all .35s var(--ease);cursor:default;position:relative;overflow:hidden;}
.scard::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:var(--grad);transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease);}
.scard:hover{border-color:rgba(99,102,241,.3);background:var(--bg3);transform:translateX(4px);}
.scard:hover::before{transform:scaleX(1);}
.scard{cursor:pointer;}
.ssn-item{cursor:pointer;}
.scard.open{border-color:rgba(99,102,241,.45);background:var(--bg3);box-shadow:0 0 0 1px rgba(99,102,241,.18),0 30px 60px -25px rgba(99,102,241,.4);transform:none;}
.scard.open::before{transform:scaleX(1);}
.scard-detail{max-height:0;overflow:hidden;opacity:0;margin-top:0;transition:max-height .55s cubic-bezier(.22,.61,.36,1),opacity .35s,margin-top .35s;}
.scard.open .scard-detail{max-height:1200px;opacity:1;margin-top:22px;}
.scard-detail-inner{background:#08080b;border:1px solid var(--border);border-radius:10px;padding:0;font-family:var(--mono);font-size:12.5px;line-height:1.95;color:var(--text2);position:relative;overflow:hidden;}
.scard-detail-inner::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:var(--grad);}
.sd-bar{display:flex;align-items:center;gap:7px;padding:10px 14px;border-bottom:1px solid var(--border);background:rgba(255,255,255,.015);}
.sd-dot{width:9px;height:9px;border-radius:50%;background:#27272a;}
.sd-dot:nth-child(1){background:#f87171;}
.sd-dot:nth-child(2){background:#facc15;}
.sd-dot:nth-child(3){background:#34d399;}
.sd-title{font-size:11px;color:var(--text3);margin-left:10px;letter-spacing:.04em;}
.sd-lines{padding:18px 22px 18px;}
.sd-line{display:block;opacity:0;transform:translateY(8px);transition:opacity .28s ease,transform .28s ease;}
.sd-line.shown{opacity:1;transform:translateY(0);}
.sd-caret{display:inline-block;width:7px;height:13px;background:#818cf8;vertical-align:middle;margin-left:3px;animation:sdCaret 1s step-end infinite;opacity:.75;}
@keyframes sdCaret{50%{opacity:0;}}
.sd-key{color:#818cf8;}
.sd-val{color:#34d399;}
.sd-com{color:var(--text3);}
.scard-top{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:20px;}
.scard-icon{width:42px;height:42px;border-radius:10px;background:var(--bg3);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;color:var(--text2);transition:all .3s;}
.scard:hover .scard-icon{background:rgba(99,102,241,.1);border-color:rgba(99,102,241,.3);color:#818cf8;}
.sbadge{font-family:var(--mono);font-size:10px;padding:3px 10px;border-radius:100px;border:1px solid var(--border2);color:var(--text3);}
.sbadge.on{border-color:rgba(16,185,129,.35);color:#34d399;background:rgba(16,185,129,.06);}
.scard h3{font-size:20px;font-weight:700;letter-spacing:-.025em;margin-bottom:11px;color:var(--white);}
.scard p{font-size:14px;color:var(--text2);line-height:1.75;}
.scard-chips{display:flex;gap:7px;flex-wrap:wrap;margin-top:20px;}
.chip{font-family:var(--mono);font-size:11px;padding:4px 10px;border-radius:6px;background:var(--bg3);border:1px solid var(--border);color:var(--text3);}
.scard-arrow{position:absolute;bottom:36px;right:36px;width:32px;height:32px;border-radius:8px;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;color:var(--text3);opacity:0;transition:all .25s;}
.scard:hover .scard-arrow{opacity:1;color:var(--text2);}

/* ═══════════════ ABOUT ═══════════════ */
.about-sec{background:var(--bg);position:relative;overflow:hidden;}
.about-sec::after{content:'';position:absolute;right:-100px;top:50%;transform:translateY(-50%);width:700px;height:700px;background:radial-gradient(circle,rgba(99,102,241,.055) 0%,transparent 65%);pointer-events:none;}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:120px;align-items:center;}
.about-quote{font-size:clamp(22px,2.4vw,36px);font-weight:700;line-height:1.32;letter-spacing:-.03em;margin:28px 0 28px;color:var(--white);}
.about-quote .hl{background:var(--grad-t);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.about-body{font-size:15px;color:var(--text2);line-height:1.82;}
.about-body p+p{margin-top:16px;}
.about-right{}
.pillars{display:flex;flex-direction:column;}
.pillar{padding:28px 0;border-bottom:1px solid var(--border);display:grid;grid-template-columns:46px 1fr;gap:16px;align-items:start;transition:padding-left .2s;}
.pillar:first-child{border-top:1px solid var(--border);}
.pillar:hover{padding-left:6px;}
.pidx{font-family:var(--mono);font-size:11px;color:var(--text3);width:30px;height:30px;border:1px solid var(--border);border-radius:7px;display:flex;align-items:center;justify-content:center;transition:all .2s;margin-top:2px;}
.pillar:hover .pidx{border-color:rgba(99,102,241,.5);color:var(--text2);}
.ptitle{font-size:15px;font-weight:700;margin-bottom:8px;color:var(--white);}
.pbody{font-size:14px;color:var(--text2);line-height:1.72;}

/* TEAM STRIP */
.team-strip{background:var(--bg1);border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:100px 80px;}
.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:64px;}
.tcard{background:var(--bg2);border:1px solid var(--border);border-radius:12px;padding:32px 26px;transition:all .3s;text-align:center;}
.tcard:hover{border-color:rgba(99,102,241,.3);transform:translateY(-4px);}
.tcard-av{width:64px;height:64px;border-radius:50%;background:var(--grad);margin:0 auto 18px;display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:16px;font-weight:700;color:#fff;}
.tcard h4{font-size:16px;font-weight:700;letter-spacing:-.01em;margin-bottom:5px;}
.tcard-role{font-family:var(--mono);font-size:11px;color:var(--vi);letter-spacing:.06em;text-transform:uppercase;margin-bottom:12px;}
.tcard p{font-size:13px;color:var(--text2);line-height:1.6;}

/* ═══════════════ CLIENTS ═══════════════ */
.clients-sec{background:var(--bg);}
.clients-hdr{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:end;margin-bottom:72px;}
.client-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;}
.ccard{background:var(--bg1);border:1px solid var(--border);border-radius:12px;padding:38px 28px;transition:all .3s;position:relative;overflow:hidden;cursor:default;}
.ccard::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:var(--grad);opacity:0;transition:opacity .3s;}
.ccard:hover{border-color:rgba(99,102,241,.25);transform:translateY(-5px);background:var(--bg2);}
.ccard:hover::before{opacity:1;}
.ctag{font-family:var(--mono);font-size:10px;color:var(--text3);letter-spacing:.1em;text-transform:uppercase;margin-bottom:18px;}
.cicon{margin-bottom:18px;color:var(--text2);}
.ccard h3{font-size:18px;font-weight:700;margin-bottom:11px;color:var(--white);letter-spacing:-.02em;}
.ccard p{font-size:13px;color:var(--text2);line-height:1.68;}
.ccard ul{list-style:none;margin-top:16px;display:flex;flex-direction:column;gap:6px;}
.ccard ul li{font-family:var(--mono);font-size:11px;color:var(--text3);display:flex;align-items:center;gap:7px;}
.ccard ul li::before{content:'';width:4px;height:4px;border-radius:50%;background:var(--vi);flex-shrink:0;}

/* ═══════════════ PROCESS ═══════════════ */
.process-sec{background:var(--bg1);border-top:1px solid var(--border);}
.proc-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--border);border:1px solid var(--border);border-radius:14px;overflow:hidden;margin-top:64px;}
.proc-step{background:var(--bg1);padding:42px 32px;position:relative;transition:background .3s;}
.proc-step:hover{background:var(--bg2);}
.proc-step::after{content:'→';position:absolute;right:-14px;top:42px;font-size:18px;color:var(--border3);z-index:2;}
.proc-step:last-child::after{display:none;}
.ps-num{font-family:var(--mono);font-size:36px;font-weight:700;letter-spacing:-.04em;color:var(--border3);line-height:1;margin-bottom:20px;transition:color .3s;}
.proc-step:hover .ps-num{color:var(--border2);}
.ps-icon{width:40px;height:40px;border-radius:10px;border:1px solid var(--border);background:var(--bg2);display:flex;align-items:center;justify-content:center;color:var(--text3);margin-bottom:18px;transition:all .3s;}
.proc-step:hover .ps-icon{border-color:rgba(99,102,241,.35);background:rgba(99,102,241,.08);color:#818cf8;}
.proc-step h4{font-size:16px;font-weight:700;letter-spacing:-.02em;margin-bottom:10px;color:var(--white);}
.proc-step p{font-size:13px;color:var(--text2);line-height:1.7;}

/* ═══════════════ WHY US (white) ═══════════════ */
.why-sec{background:var(--white);}
.why-sec .eyebrow{background:var(--grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.why-sec h2,.why-sec .wsub{color:#0a0a0a;}
.wsub{font-size:17px;color:#666;max-width:560px;line-height:1.75;margin-top:16px;}
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#e0e0e8;border:1px solid #e0e0e8;border-radius:16px;overflow:hidden;margin-top:68px;}
.wcard{background:#fff;padding:52px 40px;position:relative;overflow:hidden;transition:background .3s;}
.wcard:hover{background:#fafafa;}
.wcard::after{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:var(--grad);transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease);}
.wcard:hover::after{transform:scaleX(1);}
.wn{font-family:var(--mono);font-size:48px;font-weight:700;letter-spacing:-.05em;color:#e8e8f0;line-height:1;margin-bottom:24px;}
.wcard h3{font-size:20px;font-weight:700;letter-spacing:-.025em;margin-bottom:13px;color:#0a0a0a;}
.wcard p{font-size:14px;color:#666;line-height:1.78;}

/* ═══════════════ TECH STACK ═══════════════ */
.tech-sec{background:var(--bg);border-top:1px solid var(--border);}
.tech-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-top:64px;}
.tech-card{background:var(--bg1);border:1px solid var(--border);border-radius:10px;padding:22px 18px;text-align:center;transition:all .25s;}
.tech-card:hover{border-color:rgba(99,102,241,.3);transform:translateY(-3px);background:var(--bg2);}
.tech-logo{font-family:var(--mono);font-size:13px;font-weight:600;color:var(--text2);transition:color .2s;}
.tech-card:hover .tech-logo{color:var(--white);}
.tech-cat{font-family:var(--mono);font-size:10px;color:var(--text3);margin-top:6px;letter-spacing:.06em;text-transform:uppercase;}

/* ═══════════════ TESTIMONIALS ═══════════════ */
.testi-sec{background:var(--bg1);border-top:1px solid var(--border);}
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:64px;}
.tcard2{background:var(--bg2);border:1px solid var(--border);border-radius:12px;padding:36px;position:relative;overflow:hidden;transition:all .3s;}
.tcard2:hover{border-color:rgba(99,102,241,.25);transform:translateY(-3px);}
.tcard2::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:var(--grad);opacity:0;transition:opacity .3s;}
.tcard2:hover::before{opacity:1;}
.tquote{font-size:32px;color:var(--border3);font-family:Georgia,serif;line-height:1;margin-bottom:16px;}
.ttext{font-size:14px;color:var(--text2);line-height:1.78;font-style:italic;margin-bottom:24px;}
.tauthor{display:flex;align-items:center;gap:12px;}
.tav{width:38px;height:38px;border-radius:50%;background:var(--grad);display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:12px;font-weight:700;color:#fff;flex-shrink:0;}
.taname{font-size:14px;font-weight:600;color:var(--white);}
.tarole{font-family:var(--mono);font-size:11px;color:var(--text3);}

/* ═══════════════ FAQ ═══════════════ */
.faq-sec{background:var(--bg);border-top:1px solid var(--border);}
.faq-layout{display:grid;grid-template-columns:1fr 1.4fr;gap:100px;}
.faq-left{position:sticky;top:120px;height:fit-content;}
.faq-list{display:flex;flex-direction:column;gap:2px;}
.faqitem{border:1px solid var(--border);border-radius:10px;overflow:hidden;transition:border-color .2s;}
.faqitem.open{border-color:rgba(99,102,241,.3);}
.faq-q{padding:22px 26px;font-size:15px;font-weight:600;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;color:var(--text);transition:background .2s;letter-spacing:-.01em;}
.faqitem.open .faq-q{background:rgba(99,102,241,.06);}
.faq-q:hover{background:var(--bg2);}
.faq-icon{width:22px;height:22px;border-radius:6px;border:1px solid var(--border2);flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:14px;color:var(--text3);transition:all .2s;}
.faqitem.open .faq-icon{border-color:var(--vi);color:var(--vi);transform:rotate(45deg);}
.faq-a{max-height:0;overflow:hidden;transition:max-height .35s var(--ease),padding .35s;}
.faqitem.open .faq-a{max-height:400px;}
.faq-a-inner{padding:0 26px 22px;font-size:14px;color:var(--text2);line-height:1.78;}

/* ═══════════════ CTA BAND ═══════════════ */
.ctaband{background:var(--bg);border-top:1px solid var(--border);padding:130px 80px;text-align:center;position:relative;overflow:hidden;}
.ctaband-bg{position:absolute;inset:0;background:radial-gradient(ellipse 65% 85% at 50% 50%,rgba(99,102,241,.07) 0%,transparent 65%);pointer-events:none;}
.ctaband-inner{position:relative;z-index:2;}
.ctaband h2{font-size:clamp(48px,6vw,88px);font-weight:700;letter-spacing:-.04em;max-width:820px;margin:0 auto 20px;line-height:1.0;}
.ctaband h2 span{background:var(--grad-t);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.ctaband p{font-size:18px;color:var(--text2);margin-bottom:48px;}
.ctabtns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}

/* ═══════════════ CONTACT ═══════════════ */
.contact-sec{background:var(--bg1);border-top:1px solid var(--border);}
.contact-layout{display:grid;grid-template-columns:1fr 1.15fr;gap:100px;align-items:start;}
.contact-l{position:sticky;top:110px;}
.contact-l h2{margin-bottom:18px;}
.contact-l>p{font-size:15px;color:var(--text2);line-height:1.8;margin-bottom:40px;}
.cinfo{display:flex;flex-direction:column;gap:11px;}
.cinfocard{display:flex;align-items:center;gap:14px;padding:16px 18px;background:var(--bg2);border:1px solid var(--border);border-radius:10px;transition:border-color .2s;}
.cinfocard:hover{border-color:var(--border2);}
.cinfocard-icon{width:35px;height:35px;border-radius:8px;background:var(--bg3);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;color:var(--text2);flex-shrink:0;transition:all .2s;}
.cinfocard:hover .cinfocard-icon{background:rgba(99,102,241,.1);border-color:rgba(99,102,241,.3);color:#818cf8;}
.cinfocard-lbl{font-family:var(--mono);font-size:10px;color:var(--text3);text-transform:uppercase;letter-spacing:.1em;margin-bottom:2px;}
.cinfocard-val{font-size:13px;color:var(--text);}
.social-section{margin-top:32px;}
.social-lbl{font-family:var(--mono);font-size:10px;color:var(--text3);text-transform:uppercase;letter-spacing:.14em;margin-bottom:14px;}
.socials{display:flex;gap:9px;}
.socbtn{width:40px;height:40px;border-radius:10px;border:1px solid var(--border);background:var(--bg2);display:flex;align-items:center;justify-content:center;color:var(--text2);transition:all .2s;}
.socbtn:hover{border-color:var(--border3);color:var(--white);transform:translateY(-2px);}

/* FORM */
.cform{background:var(--bg2);border:1px solid var(--border);border-radius:14px;padding:52px;position:relative;overflow:hidden;}
.cform::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:var(--grad);}
.fhdr{display:flex;align-items:center;justify-content:space-between;margin-bottom:38px;padding-bottom:26px;border-bottom:1px solid var(--border);}
.ftitle{font-family:var(--mono);font-size:12px;color:var(--text2);}
.flive{font-family:var(--mono);font-size:10px;padding:4px 12px;border-radius:100px;background:rgba(16,185,129,.07);border:1px solid rgba(16,185,129,.28);color:#34d399;display:flex;align-items:center;gap:6px;}
.flive::before{content:'';width:5px;height:5px;border-radius:50%;background:#34d399;animation:lp 2s ease-in-out infinite;}
@keyframes lp{0%,100%{opacity:1;}50%{opacity:.3;}}
.fgrid{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.fg{display:flex;flex-direction:column;gap:7px;}
.fg.full{grid-column:1/-1;}
.fg label{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--text3);}
.fg label .req{color:#f87171;}
.fc{background:var(--bg3);border:1px solid var(--border);border-radius:8px;padding:12px 14px;font-family:var(--sans);font-size:14px;color:var(--text);outline:none;transition:all .2s;width:100%;}
.fc::placeholder{color:var(--text4);}
.fc:focus{border-color:rgba(99,102,241,.5);background:var(--bg1);box-shadow:0 0 0 3px rgba(99,102,241,.08);}
.fc.err{border-color:rgba(248,113,113,.5);box-shadow:0 0 0 3px rgba(248,113,113,.07);}
textarea.fc{resize:vertical;min-height:120px;font-family:var(--sans);}
select.fc{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%2355555f' viewBox='0 0 16 16'%3E%3Cpath d='M7.247 11.14L2.451 5.658C1.885 5.013 2.345 4 3.204 4h9.592a1 1 0 0 1 .753 1.659l-4.796 5.48a1 1 0 0 1-1.506 0z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:38px;}
select.fc option{background:var(--bg2);color:var(--text);}
.fsep{grid-column:1/-1;border:none;border-top:1px solid var(--border);margin:4px 0;}
.fsec-lbl{grid-column:1/-1;font-family:var(--mono);font-size:10px;color:var(--text3);letter-spacing:.15em;text-transform:uppercase;margin-top:4px;}
.cbgrid{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.cbi{display:flex;align-items:center;gap:10px;cursor:pointer;padding:10px 13px;border:1px solid var(--border);border-radius:8px;transition:all .2s;background:var(--bg3);}
.cbi:hover{border-color:rgba(99,102,241,.3);background:rgba(99,102,241,.05);}
.cbi input{display:none;}
.cbox{width:15px;height:15px;border:1px solid var(--border2);border-radius:4px;background:var(--bg2);flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:all .15s;}
.cbi input:checked~.cbox{background:var(--grad);border-color:var(--vi);}
.cbi input:checked~.cbox::after{content:'';width:8px;height:4px;border-left:1.5px solid #fff;border-bottom:1.5px solid #fff;transform:rotate(-45deg) translateY(-1px);display:block;}
.cbi input:checked~.clabel{color:var(--white);}
.clabel{font-size:13px;color:var(--text2);}
.ffoot{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;margin-top:10px;}
.fnote{font-family:var(--mono);font-size:11px;color:var(--text3);}
.char-count{font-family:var(--mono);font-size:11px;color:var(--text3);margin-top:8px;letter-spacing:.02em;transition:color .2s;}
.char-count.warn{color:#facc15;}
.char-count.over{color:#f87171;}
.fc:focus{border-color:rgba(99,102,241,.5);box-shadow:0 0 0 3px rgba(99,102,241,.12);}
.sbtn{padding:14px 32px;background:var(--grad);color:#fff;border:none;border-radius:10px;font-family:var(--sans);font-size:15px;font-weight:700;cursor:pointer;display:flex;align-items:center;gap:9px;transition:all .25s;box-shadow:0 0 30px rgba(99,102,241,.22);letter-spacing:-.01em;}
.sbtn:hover{transform:translateY(-2px);box-shadow:0 0 55px rgba(99,102,241,.38);}
.sbtn svg{transition:transform .2s;}
.sbtn:hover svg{transform:translateX(3px);}
.fsuc{display:none;flex-direction:column;align-items:center;text-align:center;padding:70px 40px;gap:16px;}
.fsuc.show{display:flex;}
.fsuc-ico{width:62px;height:62px;border-radius:50%;background:rgba(99,102,241,.12);border:1px solid rgba(99,102,241,.3);display:flex;align-items:center;justify-content:center;color:#818cf8;}
.fsuc h3{font-size:22px;font-weight:700;letter-spacing:-.025em;}
.fsuc p{font-size:14px;color:var(--text2);max-width:300px;line-height:1.65;}
.fsuc-tag{font-family:var(--mono);font-size:11px;color:var(--text3);}

/* ═══════════════ FOOTER ═══════════════ */
footer{background:var(--bg);border-top:1px solid var(--border);padding:72px 80px 48px;}
.ftop{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr 1fr;gap:56px;margin-bottom:60px;padding-bottom:60px;border-bottom:1px solid var(--border);}
.fbrand{}
.fblogo{display:flex;align-items:center;gap:11px;font-family:var(--mono);font-size:13px;font-weight:600;margin-bottom:16px;}
.fbrand p{font-size:13px;color:var(--text3);line-height:1.72;max-width:270px;margin-bottom:24px;}
.fsocs{display:flex;gap:8px;}
.fsoc{width:34px;height:34px;border-radius:8px;border:1px solid var(--border);background:var(--bg1);display:flex;align-items:center;justify-content:center;color:var(--text3);transition:all .2s;}
.fsoc:hover{border-color:var(--border2);color:var(--text);transform:translateY(-2px);}
.fcol h5{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--text3);margin-bottom:18px;}
.fcol ul{list-style:none;display:flex;flex-direction:column;gap:10px;}
.fcol a{font-size:13px;color:var(--text2);transition:color .2s;}
.fcol a:hover{color:var(--white);}
.fbot{display:flex;justify-content:space-between;align-items:center;}
.fcopy{font-family:var(--mono);font-size:11px;color:var(--text3);}
.fleg{display:flex;gap:24px;}
.fleg a{font-size:12px;color:var(--text3);}
.fleg a:hover{color:var(--text2);}

/* ═══════════════ ANIMATIONS ═══════════════ */
@keyframes fup{from{opacity:0;transform:translateY(26px);}to{opacity:1;transform:translateY(0);}}
@keyframes fin{from{opacity:0;}to{opacity:1;}}
.r{opacity:0;transform:translateY(28px);transition:opacity .7s cubic-bezier(.22,.61,.36,1),transform .7s cubic-bezier(.22,.61,.36,1);}
.r.v{opacity:1;transform:translateY(0);}
.r.d2{transition-delay:.08s;} .r.d3{transition-delay:.16s;} .r.d4{transition-delay:.24s;} .r.d5{transition-delay:.32s;}
@media(prefers-reduced-motion:reduce){.r,.r-l,.r-r,.r-zoom{opacity:1 !important;transform:none !important;transition:none !important;}}
.d1{transition-delay:.07s;}.d2{transition-delay:.14s;}.d3{transition-delay:.21s;}.d4{transition-delay:.28s;}.d5{transition-delay:.35s;}.d6{transition-delay:.42s;}.d7{transition-delay:.49s;}.d8{transition-delay:.56s;}

/* ═══════════════ SPOTLIGHT (cursor-tracking glow on cards) ═══════════════ */
.scard,.ccard,.tcard,.tcard2,.icard,.tech-card{position:relative;}
.scard::after,.ccard::after,.tcard::after,.tcard2::after,.icard::after,.tech-card::after{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .35s;background:radial-gradient(circle 220px at var(--mx,50%) var(--my,50%),rgba(99,102,241,.16),transparent 60%);z-index:1;}
.scard>*,.ccard>*,.tcard>*,.tcard2>*,.icard>*,.tech-card>*{position:relative;z-index:2;}
.scard:hover::after,.ccard:hover::after,.tcard:hover::after,.tcard2:hover::after,.icard:hover::after,.tech-card:hover::after{opacity:1;}

/* ═══════════════ TILT CARDS ═══════════════ */
.tilt{transform-style:preserve-3d;transition:transform .25s var(--ease);will-change:transform;}

/* ═══════════════ MAGNETIC BUTTONS ═══════════════ */
.btn,.nbtn,.sbtn,.mf-btn{will-change:transform;}

/* ═══════════════ RIPPLE ═══════════════ */
.btn,.nbtn{position:relative;overflow:hidden;}
.ripple{position:absolute;border-radius:50%;pointer-events:none;background:rgba(255,255,255,.35);transform:scale(0);animation:rippleAnim .65s ease-out forwards;}
@keyframes rippleAnim{to{transform:scale(4);opacity:0;}}

/* ═══════════════ GITHUB-INSPIRED: BUILT IN THE OPEN ═══════════════ */
.bito-sec{background:var(--bg);border-top:1px solid var(--border);position:relative;overflow:hidden;}
.bito-bg{position:absolute;inset:0;pointer-events:none;}
.bito-grid{position:absolute;inset:0;background-image:linear-gradient(var(--border) 1px,transparent 1px),linear-gradient(90deg,var(--border) 1px,transparent 1px);background-size:60px 60px;mask-image:radial-gradient(ellipse 60% 70% at 50% 30%,#000 0%,transparent 70%);opacity:.4;}
.bito-glow{position:absolute;top:-10%;right:-10%;width:700px;height:700px;background:radial-gradient(circle,rgba(99,102,241,.09),transparent 60%);filter:blur(20px);animation:bitoGlow 14s ease-in-out infinite alternate;}
@keyframes bitoGlow{from{transform:translate(0,0) scale(1);}to{transform:translate(-40px,30px) scale(1.08);}}
.bito-layout{display:grid;grid-template-columns:1fr 1.25fr;gap:64px;align-items:start;position:relative;z-index:2;}
.bito-left{position:sticky;top:120px;}
.bito-tabs{display:flex;flex-direction:column;gap:6px;margin-bottom:36px;}
.bito-tab{display:flex;align-items:center;gap:12px;padding:14px 18px;background:var(--bg1);border:1px solid var(--border);border-radius:10px;font-family:var(--mono);font-size:13px;color:var(--text2);cursor:pointer;transition:all .25s;text-align:left;letter-spacing:-.005em;}
.bito-tab:hover{border-color:var(--border3);color:var(--text);background:var(--bg2);transform:translateX(4px);}
.bito-tab.active{background:var(--bg2);border-color:rgba(99,102,241,.45);color:var(--white);box-shadow:0 0 24px rgba(99,102,241,.12),inset 0 1px 0 rgba(99,102,241,.15);}
.bt-dot{width:8px;height:8px;border-radius:50%;background:var(--border3);transition:all .3s;flex-shrink:0;}
.bito-tab.active .bt-dot{background:#34d399;box-shadow:0 0 0 0 rgba(52,211,153,.6);animation:bitoDot 2s ease-in-out infinite;}
@keyframes bitoDot{0%,100%{box-shadow:0 0 0 0 rgba(52,211,153,.5);}50%{box-shadow:0 0 0 6px rgba(52,211,153,0);}}
.bito-feats{display:flex;flex-direction:column;gap:18px;}
.bito-feat{display:flex;align-items:flex-start;gap:14px;padding:18px;background:var(--bg1);border:1px solid var(--border);border-radius:10px;transition:all .3s;}
.bito-feat:hover{border-color:rgba(99,102,241,.3);transform:translateX(4px);background:var(--bg2);}
.bf-ic{width:26px;height:26px;border-radius:7px;background:rgba(16,185,129,.1);border:1px solid rgba(16,185,129,.3);display:flex;align-items:center;justify-content:center;color:#34d399;flex-shrink:0;}
.bito-feat h5{font-size:14px;font-weight:700;color:var(--white);margin-bottom:4px;letter-spacing:-.01em;}
.bito-feat p{font-size:12.5px;color:var(--text2);line-height:1.6;}

/* CODE WINDOW */
.cwin{background:#0a0a0d;border:1px solid var(--border2);border-radius:12px;overflow:hidden;box-shadow:0 30px 80px -20px rgba(0,0,0,.65),0 0 0 1px rgba(99,102,241,.08),0 0 60px -10px rgba(99,102,241,.18);position:relative;}
.cwin::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:var(--grad);opacity:.55;}
.cwin-top{display:flex;align-items:center;gap:14px;padding:13px 16px;background:#0e0e12;border-bottom:1px solid var(--border);}
.cwin-dots{display:flex;gap:6px;}
.cd{width:11px;height:11px;border-radius:50%;}
.cd1{background:#ff5f57;}.cd2{background:#febc2e;}.cd3{background:#28c840;}
.cwin-title{font-family:var(--mono);font-size:12px;color:var(--text2);flex:1;text-align:center;}
.cwin-act{color:var(--text3);}
.cwin-body{padding:24px 26px;min-height:300px;background:linear-gradient(180deg,#0a0a0d 0%,#08080b 100%);position:relative;}
.cwin-code{font-family:var(--mono);font-size:13px;line-height:1.78;color:#cdd1e3;white-space:pre-wrap;word-break:break-word;margin:0;}
.cwin-code .ck{color:#c084fc;}
.cwin-code .cs{color:#86efac;}
.cwin-code .cn{color:#fcd34d;}
.cwin-code .cc{color:#475569;font-style:italic;}
.cwin-code .cf{color:#67e8f9;}
.cwin-code .cv{color:#f9a8d4;}
.cwin-caret{display:inline-block;width:7px;height:14px;background:#818cf8;animation:caretBlink 1s steps(1) infinite;vertical-align:text-bottom;margin-left:2px;}
@keyframes caretBlink{50%{opacity:0;}}
.cwin-footer{display:flex;align-items:center;gap:14px;padding:9px 16px;background:#0e0e12;border-top:1px solid var(--border);}
.cwf-item{font-family:var(--mono);font-size:10.5px;color:var(--text3);display:flex;align-items:center;gap:6px;}
.cwf-grow{flex:1;}
.cwf-dot{width:7px;height:7px;border-radius:50%;background:var(--border3);}
.cwf-dot.ok{background:#a78bfa;box-shadow:0 0 6px rgba(167,139,250,.5);}
.cwf-dot.live{background:#34d399;animation:lp 2s ease-in-out infinite;}

.bito-stack{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:18px;}
.bito-pill{padding:18px 14px;background:var(--bg1);border:1px solid var(--border);border-radius:10px;text-align:center;transition:all .25s;}
.bito-pill:hover{border-color:rgba(99,102,241,.3);transform:translateY(-3px);background:var(--bg2);}
.bp-k{display:block;font-family:var(--mono);font-size:18px;font-weight:700;background:var(--grad-t);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.02em;}
.bp-l{display:block;font-family:var(--mono);font-size:10px;color:var(--text3);text-transform:uppercase;letter-spacing:.1em;margin-top:4px;}

/* ACTIVITY GRAPH */
.actv-wrap{margin-top:80px;background:var(--bg1);border:1px solid var(--border);border-radius:14px;padding:36px 40px;position:relative;overflow:hidden;z-index:2;}
.actv-wrap::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:var(--grad);opacity:.6;}
.actv-hdr{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:28px;flex-wrap:wrap;gap:20px;}
.actv-hdr h4{font-size:16px;font-weight:700;color:var(--white);margin-bottom:5px;letter-spacing:-.01em;}
.actv-hdr p{font-size:12.5px;color:var(--text3);}
.actv-legend{display:flex;align-items:center;gap:5px;font-family:var(--mono);font-size:10px;color:var(--text3);text-transform:uppercase;letter-spacing:.08em;}
.actv-legend .al{width:11px;height:11px;border-radius:3px;}
.al0{background:#161620;border:1px solid var(--border);}
.al1{background:rgba(99,102,241,.22);}
.al2{background:rgba(99,102,241,.42);}
.al3{background:rgba(99,102,241,.65);}
.al4{background:rgba(99,102,241,.92);box-shadow:0 0 6px rgba(99,102,241,.5);}
.actv-graph{display:grid;grid-template-rows:repeat(7,11px);grid-auto-flow:column;grid-auto-columns:11px;gap:3px;overflow-x:auto;padding-bottom:6px;}
.actv-graph::-webkit-scrollbar{height:4px;}
.actv-cell{width:11px;height:11px;border-radius:2.5px;background:#161620;border:1px solid var(--border);transition:transform .15s,box-shadow .15s;cursor:default;}
.actv-cell.l1{background:rgba(99,102,241,.22);border-color:transparent;}
.actv-cell.l2{background:rgba(99,102,241,.42);border-color:transparent;}
.actv-cell.l3{background:rgba(99,102,241,.65);border-color:transparent;}
.actv-cell.l4{background:rgba(99,102,241,.92);border-color:transparent;box-shadow:0 0 8px rgba(99,102,241,.45);}
.actv-cell:hover{transform:scale(1.55);z-index:2;}

/* ═══════════════ FLOATING PARTICLES (hero) ═══════════════ */
.parts{position:absolute;inset:0;pointer-events:none;overflow:hidden;}
.part{position:absolute;width:3px;height:3px;border-radius:50%;background:rgba(129,140,248,.55);box-shadow:0 0 10px rgba(99,102,241,.55);animation:partRise linear infinite;}
@keyframes partRise{0%{transform:translateY(110vh) translateX(0);opacity:0;}10%{opacity:.7;}90%{opacity:.7;}100%{transform:translateY(-20vh) translateX(40px);opacity:0;}}

/* ═══════════════ SECTION REVEAL VARIANTS ═══════════════ */
.r-l{opacity:0;transform:translateX(-32px);transition:opacity .8s,transform .8s;}
.r-l.v{opacity:1;transform:translateX(0);}
.r-r{opacity:0;transform:translateX(32px);transition:opacity .8s,transform .8s;}
.r-r.v{opacity:1;transform:translateX(0);}
.r-zoom{opacity:0;transform:scale(.92);transition:opacity .8s,transform .8s;}
.r-zoom.v{opacity:1;transform:scale(1);}

/* ═══════════════ COUNTER (animated stat) ═══════════════ */
.cnt{display:inline-block;}

/* ═══════════════ UNDERLINE LINKS ═══════════════ */
.navl a{position:relative;}
.navl a::after{content:'';position:absolute;left:16px;right:16px;bottom:4px;height:1px;background:var(--grad);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease);}
.navl a:hover::after{transform:scaleX(1);}

/* ═══════════════ STARTUP PROGRAM (90% discount) ═══════════════ */
.sp-sec{background:var(--bg);border-top:1px solid var(--border);position:relative;overflow:hidden;}
.sp-bg{position:absolute;inset:0;pointer-events:none;}
.sp-grid{position:absolute;inset:0;background-image:linear-gradient(var(--border) 1px,transparent 1px),linear-gradient(90deg,var(--border) 1px,transparent 1px);background-size:70px 70px;mask-image:radial-gradient(ellipse 80% 60% at 50% 25%,#000 0%,transparent 75%);opacity:.45;}
.sp-orb{position:absolute;border-radius:50%;filter:blur(110px);}
.sp-o1{width:600px;height:600px;background:radial-gradient(circle,rgba(99,102,241,.18),transparent 65%);top:-100px;left:-100px;animation:of 16s ease-in-out infinite alternate;}
.sp-o2{width:500px;height:500px;background:radial-gradient(circle,rgba(6,182,212,.13),transparent 65%);bottom:-80px;right:-80px;animation:of 13s 3s ease-in-out infinite alternate;}

.sp-hero{position:relative;z-index:2;text-align:center;max-width:920px;margin:0 auto 80px;}
.sp-badge{display:inline-flex;align-items:center;gap:9px;padding:7px 18px;border:1px solid rgba(99,102,241,.35);border-radius:100px;font-family:var(--mono);font-size:11px;font-weight:500;color:#a5b4fc;letter-spacing:.08em;text-transform:uppercase;background:rgba(99,102,241,.08);margin-bottom:32px;}
.sp-badge-dot{width:7px;height:7px;border-radius:50%;background:#34d399;animation:tp 2.5s ease-in-out infinite;}
.sp-title{font-size:clamp(40px,5.5vw,78px);font-weight:700;letter-spacing:-.04em;line-height:1.02;color:var(--white);}
.sp-grad{background:var(--grad-t);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.sp-lead{margin:30px auto 0;font-size:17px;color:var(--text2);max-width:680px;line-height:1.78;}
.sp-lead strong{color:var(--white);font-weight:700;}

.sp-discount{margin-top:48px;display:flex;justify-content:center;}
.sp-disc-wrap{display:inline-flex;flex-direction:column;align-items:center;padding:36px 56px;background:var(--bg1);border:1px solid var(--border);border-radius:18px;position:relative;overflow:hidden;}
.sp-disc-wrap::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:var(--grad);}
.sp-disc-wrap::after{content:'';position:absolute;inset:-1px;border-radius:18px;background:radial-gradient(ellipse 80% 100% at 50% 100%,rgba(99,102,241,.16),transparent 70%);pointer-events:none;}
.sp-disc-num{display:flex;align-items:center;gap:18px;position:relative;z-index:2;}
.sp-disc-strike{font-family:var(--mono);font-size:32px;font-weight:600;color:var(--text3);text-decoration:line-through;text-decoration-thickness:2px;}
.sp-disc-arrow{font-family:var(--mono);font-size:28px;color:var(--text3);}
.sp-disc-final{font-family:var(--mono);font-size:64px;font-weight:700;letter-spacing:-.04em;background:var(--grad-t);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1;}
.sp-disc-lbl{margin-top:12px;font-family:var(--mono);font-size:11px;color:var(--text3);text-transform:uppercase;letter-spacing:.12em;position:relative;z-index:2;}

/* WHAT YOU GET */
.sp-grid-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:80px;position:relative;z-index:2;}
.sp-card{background:var(--bg1);border:1px solid var(--border);border-radius:14px;padding:32px 28px;transition:all .35s var(--ease);position:relative;overflow:hidden;}
.sp-card::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:var(--grad);transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease);}
.sp-card:hover{border-color:rgba(99,102,241,.3);background:var(--bg2);transform:translateY(-4px);}
.sp-card:hover::before{transform:scaleX(1);}
.sp-card-ic{width:46px;height:46px;border-radius:11px;background:var(--bg2);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;color:var(--text2);margin-bottom:20px;transition:all .3s;}
.sp-card:hover .sp-card-ic{background:rgba(99,102,241,.12);border-color:rgba(99,102,241,.35);color:#a5b4fc;}
.sp-card h4{font-size:16px;font-weight:700;color:var(--white);margin-bottom:10px;letter-spacing:-.015em;}
.sp-card p{font-size:13.5px;color:var(--text2);line-height:1.7;}

/* ELIGIBILITY */
.sp-elig{margin-top:96px;background:var(--bg1);border:1px solid var(--border);border-radius:18px;padding:60px 56px;position:relative;overflow:hidden;z-index:2;}
.sp-elig::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:var(--grad);opacity:.6;}
.sp-elig-hdr{max-width:580px;margin-bottom:48px;}
.sp-elig-hdr h3{font-size:clamp(26px,3.2vw,40px);font-weight:700;letter-spacing:-.03em;line-height:1.15;color:var(--white);margin-top:8px;}
.sp-elig-hdr p{margin-top:16px;font-size:15px;color:var(--text2);line-height:1.78;}
.sp-elig-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px 36px;}
.sp-elig-item{display:flex;align-items:flex-start;gap:14px;font-size:13.5px;color:var(--text2);line-height:1.65;}
.sp-elig-item strong{color:var(--white);font-weight:700;font-size:14px;}
.sp-check{flex-shrink:0;width:24px;height:24px;border-radius:7px;background:rgba(16,185,129,.1);border:1px solid rgba(16,185,129,.35);display:flex;align-items:center;justify-content:center;color:#34d399;font-size:13px;font-weight:700;}

/* APPLICATION FORM */
.sp-form-wrap{margin-top:96px;display:grid;grid-template-columns:0.85fr 1.4fr;gap:64px;align-items:start;position:relative;z-index:2;}
.sp-form-side{position:sticky;top:120px;}
.sp-form-side h3{font-size:clamp(28px,3.4vw,44px);font-weight:700;letter-spacing:-.03em;line-height:1.1;color:var(--white);margin-top:8px;}
.sp-form-side>p{font-size:15px;color:var(--text2);line-height:1.78;margin-top:16px;}
.sp-form-meta{margin-top:36px;display:flex;flex-direction:column;gap:1px;background:var(--border);border:1px solid var(--border);border-radius:12px;overflow:hidden;}
.sp-meta-item{padding:20px 22px;background:var(--bg1);transition:background .25s;}
.sp-meta-item:hover{background:var(--bg2);}
.sp-meta-k{font-family:var(--mono);font-size:22px;font-weight:700;background:var(--grad-t);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.02em;}
.sp-meta-v{font-family:var(--mono);font-size:11px;color:var(--text3);text-transform:uppercase;letter-spacing:.08em;margin-top:2px;}

.sp-form{background:var(--bg1);border:1px solid var(--border);border-radius:16px;padding:48px;position:relative;overflow:hidden;}
.sp-form::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:var(--grad);}
.sp-fhdr{display:flex;align-items:center;justify-content:space-between;margin-bottom:36px;padding-bottom:26px;border-bottom:1px solid var(--border);}
.sp-ftitle{font-family:var(--mono);font-size:12px;color:var(--text2);}
.sp-grid-form{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.sp-grid-form .fg.full,.sp-grid-form .fsep,.sp-grid-form .fsec-lbl,.sp-grid-form .ffoot,.sp-grid-form .form-error-msg{grid-column:1/-1;}
.sp-grid-form textarea.fc{min-height:100px;}
.sp-cbgrid{grid-template-columns:1fr 1fr;}

/* RESPONSIVE — startup program */
@media(max-width:1100px){
  .sp-grid-cards{grid-template-columns:repeat(2,1fr);}
  .sp-elig-grid{grid-template-columns:repeat(2,1fr);}
  .sp-form-wrap{grid-template-columns:1fr;gap:48px;}
  .sp-form-side{position:static;}
}
@media(max-width:640px){
  .sp-grid-cards{grid-template-columns:1fr;}
  .sp-elig{padding:40px 26px;}
  .sp-elig-grid{grid-template-columns:1fr;}
  .sp-form{padding:30px 22px;}
  .sp-grid-form{grid-template-columns:1fr;}
  .sp-cbgrid{grid-template-columns:1fr;}
  .sp-disc-wrap{padding:28px 32px;}
  .sp-disc-final{font-size:48px;}
  .sp-disc-strike{font-size:24px;}
}

/* highlighted nav link for the program */
.nav-hl{color:#a5b4fc !important;}
.nav-hl:hover{color:#c7d2fe !important;}

/* ═══════════════ RESPONSIVE FOR NEW SECTIONS ═══════════════ */
@media(max-width:960px){
  .bito-layout{grid-template-columns:1fr;gap:40px;}
  .bito-left{position:static;}
  .bito-stack{grid-template-columns:repeat(2,1fr);}
  .actv-wrap{padding:28px 22px;}
}
@media(max-width:640px){
  .bito-tabs{flex-direction:column;}
  .cwin-body{padding:18px 16px;min-height:240px;}
  .cwin-code{font-size:12px;}
  .actv-wrap{padding:24px 18px;}
}

/* ═══════════════ RESPONSIVE ═══════════════ */
@media(max-width:1200px){
  section{padding:100px 56px;}
  .hero{padding:120px 56px 90px;}
  .team-strip,.ctaband,footer{padding-left:56px;padding-right:56px;}
  .tech-grid{grid-template-columns:repeat(4,1fr);}
  .ftop{grid-template-columns:1fr 1fr 1fr;gap:40px;}
}
@media(max-width:960px){
  #nav{padding:0 28px;}
  .navl{display:none;}
  section{padding:80px 36px;}
  .hero{padding:110px 36px 80px;}
  .team-strip,.ctaband,footer{padding-left:36px;padding-right:36px;}
  .svc-layout{grid-template-columns:1fr;gap:32px;}
  .svc-sidebar{position:static;display:flex;flex-wrap:wrap;gap:6px;}
  .ssn-item{border-left:none;border:1px solid var(--border);border-radius:8px;}
  .about-grid{grid-template-columns:1fr;gap:56px;}
  .clients-hdr{grid-template-columns:1fr;gap:20px;}
  .client-grid{grid-template-columns:repeat(2,1fr);}
  .proc-grid{grid-template-columns:1fr 1fr;gap:1px;}
  .proc-step::after{display:none;}
  .why-grid{grid-template-columns:1fr 1fr;}
  .tech-grid{grid-template-columns:repeat(3,1fr);}
  .testi-grid{grid-template-columns:1fr;}
  .faq-layout{grid-template-columns:1fr;}
  .faq-left{position:static;}
  .contact-layout{grid-template-columns:1fr;gap:56px;}
  .contact-l{position:static;}
  .team-grid{grid-template-columns:repeat(2,1fr);}
  .hstats{grid-template-columns:repeat(2,1fr);}
  .ftop{grid-template-columns:1fr 1fr;}
}
@media(max-width:640px){
  section{padding:64px 22px;}
  .hero{padding:100px 22px 70px;}
  .team-strip,.ctaband{padding:64px 22px;}
  footer{padding:56px 22px 36px;}
  h2{font-size:36px;}
  .hstats{grid-template-columns:1fr 1fr;}
  .client-grid{grid-template-columns:1fr;}
  .proc-grid{grid-template-columns:1fr;}
  .why-grid{grid-template-columns:1fr;}
  .tech-grid{grid-template-columns:repeat(2,1fr);}
  .fgrid{grid-template-columns:1fr;}
  .cbgrid{grid-template-columns:1fr;}
  .cform{padding:28px;}
  .ftop{grid-template-columns:1fr;}
  .fbot{flex-direction:column;gap:14px;text-align:center;}
  .team-grid{grid-template-columns:1fr;}
  .nbg{display:none;}

  /* Mobile button fixes — stack hero CTAs full-width, breathe room */
  .hctas{flex-direction:column;align-items:stretch;gap:12px;margin-top:40px;}
  .hctas .btn{width:100%;justify-content:center;padding:14px 22px;font-size:14.5px;}
  .ffoot{flex-direction:column;align-items:stretch;}
  .ffoot .sbtn{width:100%;justify-content:center;}
  /* Generic button group spacing on mobile (investor, meeting, contact rows) */
  .invest-grid .btn,.team-strip .btn,.ctaband .btn,.ctabtns .btn{width:100%;justify-content:center;}
  .ctabtns{flex-direction:column;align-items:stretch;gap:12px;}
}
/* Touch devices — kill custom cursor + tap highlights */
@media(hover:none) and (pointer:coarse){
  #cur,#curR{display:none !important;}
  *{-webkit-tap-highlight-color:transparent;}
  a,button,.btn,.scard,.ccard,.cbi,.mtype{cursor:default;}
}
/* form error message */
.form-error-msg { background: rgba(248,113,113,.08); border: 1px solid rgba(248,113,113,.3); border-radius: 8px; padding: 12px 16px; font-size: 13px; color: #f87171; line-height: 1.6; }

/* ══════════════════════════════════════════════
   Premium UI accents — additive, non-breaking
   ══════════════════════════════════════════════ */

/* smooth scroll padding so anchor jumps clear the fixed nav */
html { scroll-padding-top: 92px; scroll-behavior: smooth; }

/* honor reduced-motion users */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .01ms !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
}

/* shimmer-pass on primary gradient button */
.btn-g { position: relative; overflow: hidden; }
.btn-g::after {
  content: '';
  position: absolute; top: 0; left: 0; bottom: 0;
  width: 40%;
  background: linear-gradient(90deg, transparent 0%, rgba(255,255,255,.22) 50%, transparent 100%);
  transform: translateX(-130%);
  transition: transform .85s cubic-bezier(.4,0,.2,1);
  pointer-events: none;
}
.btn-g:hover::after { transform: translateX(280%); }

/* nav-hl gradient underline on hover */
.navl li a.nav-hl { position: relative; }
.navl li a.nav-hl::after {
  content: '';
  position: absolute;
  left: 4px; right: 4px; bottom: -5px;
  height: 1.5px;
  background: var(--grad);
  border-radius: 2px;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .45s cubic-bezier(.22,.61,.36,1);
}
.navl li a.nav-hl:hover::after,
.navl li a.nav-hl.active::after { transform: scaleX(1); }

/* hero stat lift on hover */
.hstat { transition: transform .4s cubic-bezier(.22,.61,.36,1); }
.hstat:hover { transform: translateY(-5px); }

/* smoother scroll-reveal timing curve */
.r {
  transition: opacity .85s cubic-bezier(.22,.61,.36,1),
              transform .85s cubic-bezier(.22,.61,.36,1);
}

/* premium focus ring — accessibility */
button:focus-visible,
a:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px rgba(99,102,241,.4);
  border-radius: 6px;
}

/* gentle floating motion on key CTAs */
@keyframes floatGently {
  0%, 100% { transform: translateY(0); }
  50%      { transform: translateY(-4px); }
}
.cinfocard { animation: floatGently 5s ease-in-out infinite; }
.cinfocard:nth-child(2) { animation-delay: -2.5s; }

/* gradient pulse on highlighted badges */
@keyframes badgePulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(99,102,241,.35); }
  50%      { box-shadow: 0 0 0 6px rgba(99,102,241,0); }
}
.sbadge.on { animation: badgePulse 2.6s ease-in-out infinite; }

/* card lift refinement (any .scard not already custom-styled) */
.scard { transition: transform .45s cubic-bezier(.22,.61,.36,1), border-color .35s, box-shadow .45s; }

/* premium link hover for footer / quiet links */
.fcol a { transition: color .25s, transform .25s; display: inline-block; }
.fcol a:hover { transform: translateX(3px); color: var(--white); }

/* ══════════════════════════════════════════════
   Mobile menu + custom cursor — shared styles
   (was inline in index.html — moved here so sellers.html
    and careers.html get the same rules)
   ══════════════════════════════════════════════ */
.mob-toggle{display:none;width:36px;height:36px;border-radius:8px;border:1px solid var(--border2);background:transparent;align-items:center;justify-content:center;flex-direction:column;gap:5px;cursor:pointer;padding:8px;}
.mob-toggle span{display:block;width:16px;height:1.5px;background:var(--text2);border-radius:2px;transition:all .3s;}
.mob-toggle.open span:nth-child(1){transform:translateY(6.5px) rotate(45deg);}
.mob-toggle.open span:nth-child(2){opacity:0;}
.mob-toggle.open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg);}
.mob-menu{display:none;position:fixed;top:68px;left:0;right:0;background:rgba(6,6,8,.97);border-bottom:1px solid var(--border);backdrop-filter:blur(24px);padding:20px 28px 28px;z-index:799;flex-direction:column;gap:4px;}
.mob-menu.open{display:flex;}
.mob-menu a,.mob-menu button{padding:13px 16px;font-size:14px;font-weight:500;color:var(--text2);border-radius:10px;transition:all .2s;text-decoration:none;display:block;border:none;background:none;cursor:pointer;text-align:left;width:100%;}
.mob-menu a:hover,.mob-menu button:hover{color:var(--white);background:var(--bg2);}
.mob-sep{height:1px;background:var(--border);margin:10px 0 4px;}
.mob-btns{display:flex;flex-direction:column;gap:8px;margin-top:6px;}

/* Custom cursor — hidden by default on touch */
#cur, #curR { pointer-events: none; }
@media (hover: none) and (pointer: coarse) {
  #cur, #curR { display: none !important; }
}

/* ══════════════════════════════════════════════
   Mobile + tablet fixes (overrides)
   ══════════════════════════════════════════════ */

/* Sellers + Careers pages reuse .sec-hdr — override the global flex-row layout
   so headlines stack normally on every viewport. */
.sp-tiers .sec-hdr,
.sp-flow .sec-hdr,
.sp-elig .sec-hdr,
.sp-form-wrap .sec-hdr,
.cr-values .sec-hdr,
.cr-roles .sec-hdr,
.cr-form-wrap .sec-hdr {
  display: block;
  text-align: center;
  margin: 0 auto 56px;
  max-width: 760px;
}
.sp-tiers .sec-hdr p,
.sp-flow .sec-hdr p,
.sp-form-wrap .sec-hdr p,
.cr-values .sec-hdr p,
.cr-roles .sec-hdr p,
.cr-form-wrap .sec-hdr p {
  max-width: 640px;
  margin: 14px auto 0;
}

/* Collapse nav to hamburger earlier — 9 nav items overflow at 961-1100px */
@media (max-width: 1100px) {
  #nav .navl { display: none !important; }
  #nav .nr .nbtn { display: none; }
  .mob-toggle { display: flex !important; }
}

/* Sellers + Careers — stack forms + grids on tablet, not just phone */
@media (max-width: 768px) {
  .sp-form .fgrid,
  .cr-form .fgrid { grid-template-columns: 1fr !important; }
  .sp-hero-grid { grid-template-columns: 1fr !important; gap: 40px; }
  .sp-elig-grid { grid-template-columns: 1fr !important; gap: 32px; }
  .cr-stats   { grid-template-columns: repeat(2, 1fr) !important; }
  .cr-vgrid   { grid-template-columns: 1fr !important; }
  .cr-rgrid   { grid-template-columns: 1fr !important; }
  .sp-ladder  { grid-template-columns: 1fr !important; }
  .sp-flow-grid { grid-template-columns: 1fr !important; }
}

/* Phone — cap hero headlines, tighten paddings, prevent overflow */
@media (max-width: 640px) {
  .sp-hero h1 { font-size: 40px !important; line-height: 1.05 !important; letter-spacing: -.02em; }
  .cr-hero h1 { font-size: 42px !important; line-height: 1.05 !important; letter-spacing: -.02em; }
  .sp-hero, .cr-hero { padding-left: 22px !important; padding-right: 22px !important; padding-top: 110px !important; padding-bottom: 60px !important; }
  .sp-tiers, .sp-flow, .sp-elig, .sp-form-sec,
  .cr-values, .cr-roles, .cr-form-sec { padding-left: 22px !important; padding-right: 22px !important; }
  .sp-form, .cr-form { padding: 26px !important; }
  .sp-hero-stats { gap: 22px !important; flex-wrap: wrap !important; }
  .sp-hero-card { padding: 26px !important; }
  .sp-hero-card .num { font-size: 44px !important; }
  .btn { padding: 12px 22px !important; font-size: 14px !important; }
  .hctas { gap: 10px !important; flex-wrap: wrap !important; }
  .sp-tier { padding: 24px 22px !important; }
  .sp-tier .pct { font-size: 38px !important; }
  .cr-role { padding: 22px !important; }
  .cr-stat { padding: 18px !important; }
  .cr-stat-n { font-size: 26px !important; }
  .sp-hero .lead, .cr-hero .lead { font-size: 16px !important; }
  /* Form labels + inputs slightly tighter */
  .sp-form label, .cr-form label { font-size: 12px !important; }
  .sp-form .fc, .cr-form .fc { font-size: 14px !important; padding: 12px 13px !important; }
  /* Section headlines smaller */
  .sp-tiers h2, .sp-flow h2, .sp-elig h2, .cr-values h2, .cr-roles h2 { font-size: 32px !important; }
}

/* Very narrow phones (iPhone SE, sub-400px) */
@media (max-width: 400px) {
  .sp-hero h1 { font-size: 32px !important; }
  .cr-hero h1 { font-size: 34px !important; }
  .sp-form, .cr-form { padding: 22px !important; }
  .sp-hero .hctas, .cr-hero-inner .hctas { flex-direction: column !important; align-items: stretch !important; }
  .sp-hero .hctas .btn, .cr-hero-inner .hctas .btn { width: 100%; justify-content: center; }
  .cr-stats { grid-template-columns: 1fr !important; }
  .sp-hero-stats { flex-direction: column !important; align-items: flex-start !important; }
}


