*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

:root{
  --bg:#e6e6e4;
  --canvas:#eeeeed;
  --white:#ffffff;
  --dark:#080808;
  --mid:rgba(0,0,0,0.46);
  --light:rgba(0,0,0,0.30);
  --accent:#5C4EE5;
  --accent-rgb:92,78,229;
  --accent-bg:#f0eeff;
  --accent-dark:#4a3dc4;
  --gold:#e8a020;
  --border:rgba(0,0,0,0.07);
  --r:20px;
  --shadow:0 2px 20px rgba(0,0,0,.07);
}

html{scroll-behavior:smooth}
body{font-family:'DM Sans',sans-serif;background:var(--bg);color:var(--dark);overflow-x:hidden;cursor:none}

/* Skip to content */
.skip-link{position:absolute;top:-40px;left:0;background:var(--accent);color:#fff;padding:8px 16px;z-index:10001;text-decoration:none;border-radius:0 0 8px 0;}
.skip-link:focus{top:0;}

/* Progress Bar */
.progress-container{position:fixed;top:0;left:0;width:100%;height:3px;background:transparent;z-index:10000;}
.progress-bar{height:100%;background:linear-gradient(90deg,var(--accent),#8a7fff);width:0%;transition:width 0.1s ease;}

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

/* PRELOADER */
#preloader{position:fixed;inset:0;z-index:9000;background:var(--dark);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:32px;transition:opacity .7s ease, visibility .7s ease;backdrop-filter:blur(8px);}
#preloader.done{opacity:0;visibility:hidden}
.pl-logo{font-size:14px;font-weight:500;letter-spacing:.4em;text-transform:uppercase;color:#fff;opacity:0;animation:plFade .5s .2s forwards;background:linear-gradient(135deg,#fff,#a0a0a0);-webkit-background-clip:text;background-clip:text;color:transparent;}
.pl-counter{font-family:'DM Mono',monospace;font-size:48px;font-weight:300;color:rgba(255,255,255,.12);letter-spacing:-.04em;opacity:0;animation:plFade .4s .1s forwards}
.pl-bar-wrap{width:200px;height:1px;background:rgba(255,255,255,.1);border-radius:2px;overflow:hidden}
.pl-bar{height:100%;width:0;background:var(--accent);animation:plLoad 1.5s .3s cubic-bezier(.4,0,.2,1) forwards}
@keyframes plFade{to{opacity:1}}
@keyframes plLoad{to{width:100%}}

/* CUSTOM CURSOR */
.cur{width:8px;height:8px;background:var(--accent);border-radius:50%;position:fixed;top:0;left:0;pointer-events:none;z-index:8000;transform:translate(-50%,-50%);transition:width .2s,height .2s,background .2s,border-radius .2s;mix-blend-mode:multiply;}
.cur-ring{width:32px;height:32px;border:1px solid rgba(20,82,245,.35);border-radius:50%;position:fixed;top:0;left:0;pointer-events:none;z-index:7999;transform:translate(-50%,-50%);transition:width .28s,height .28s,border-color .28s;}
.cur.hover{width:18px;height:18px;background:var(--accent-dark)}
.cur-ring.hover{width:52px;height:52px;border-color:rgba(20,82,245,.18)}
.cur.text-mode{width:2px;height:28px;border-radius:1px;background:var(--accent)}

/* Focus styles */
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible{outline:2px solid var(--accent);outline-offset:2px;}

/* NAV */
nav{position:fixed;top:0;left:0;right:0;z-index:500;display:flex;align-items:center;justify-content:space-between;padding:22px 52px;background:rgba(238,238,237,0.85);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);transition:box-shadow .3s,padding .3s,background .3s;}
nav.scrolled{box-shadow:0 1px 0 var(--border);padding:16px 52px;background:rgba(238,238,237,0.95)}
.logo{font-size:14px;font-weight:500;letter-spacing:.28em;text-transform:uppercase;text-decoration:none;color:var(--dark);display:flex;align-items:center;gap:9px}
.logo-dot{width:6px;height:6px;border-radius:50%;background:var(--accent);animation:gpulse 3s ease-in-out infinite}
@keyframes gpulse{0%,100%{box-shadow:0 0 0 0 rgba(20,82,245,.4)}50%{box-shadow:0 0 0 5px rgba(20,82,245,0)}}
.nav-links{display:flex;align-items:center;gap:40px;list-style:none}
.nav-links a{font-size:13px;font-weight:300;color:rgba(0,0,0,.48);text-decoration:none;transition:color .2s;position:relative;padding-bottom:2px;}
.nav-links a::after{content:'';position:absolute;bottom:-1px;left:0;right:0;height:1px;background:var(--accent);border-radius:2px;transform:scaleX(0);transform-origin:left;transition:transform .28s ease;}
.nav-links a.active,.nav-links a:hover{color:var(--dark)}
.nav-links a.active::after,.nav-links a:hover::after{transform:scaleX(1)}
.nav-right{display:flex;align-items:center;gap:12px}
.nav-status{display:flex;align-items:center;gap:7px;font-size:11px;font-weight:400;color:var(--mid);padding:6px 14px;background:rgba(74,222,128,.1);border:1px solid rgba(74,222,128,.2);border-radius:100px}
.nav-status-dot{width:6px;height:6px;border-radius:50%;background:#4ade80;animation:gpulse 2s ease-in-out infinite}
.nav-cta{background:var(--dark);color:#fff;font-size:12px;font-weight:500;padding:10px 22px;border-radius:10px;text-decoration:none;transition:background .2s,transform .2s;letter-spacing:.02em;}
.nav-cta:hover{background:var(--accent);transform:scale(1.02)}

/* Hamburger */
.hamburger{display:none;flex-direction:column;gap:5px;cursor:none;width:28px;padding:4px 0;background:none;border:none}
.hamburger span{display:block;height:1.5px;background:var(--dark);border-radius:2px;transition:transform .3s,opacity .3s}
.hamburger.open span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.hamburger.open span:nth-child(2){opacity:0}
.hamburger.open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}

/* Mobile Nav */
.mobile-nav{position:fixed;inset:0;z-index:400;background:rgba(238,238,237,.98);backdrop-filter:blur(24px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:36px;transform:translateY(-100%);transition:transform .4s cubic-bezier(0.2,0.9,0.4,1.1);pointer-events:none;}
.mobile-nav.open{transform:translateY(0);pointer-events:all}
.mobile-nav a{font-size:clamp(28px,8vw,48px);font-weight:300;letter-spacing:-.03em;color:var(--dark);text-decoration:none;transition:all .2s;opacity:0;transform:translateY(20px);}
.mobile-nav.open a{opacity:1;transform:translateY(0)}
.mobile-nav a:nth-child(1){transition-delay:0.05s}
.mobile-nav a:nth-child(2){transition-delay:0.1s}
.mobile-nav a:nth-child(3){transition-delay:0.15s}
.mobile-nav a:nth-child(4){transition-delay:0.2s}
.mobile-nav a:nth-child(5){transition-delay:0.25s}
.mobile-nav a:hover{color:var(--accent)}
.mobile-nav .m-cta{margin-top:16px;background:var(--dark);color:#fff;font-size:15px;font-weight:500;padding:14px 36px;border-radius:14px;text-decoration:none}

/* SHELL */
.shell{background:var(--canvas);border-radius:14px;overflow:visible;border:1px solid rgba(0,0,0,.05);margin:0 10px}

/* HERO */
#home{padding:92px 18px 18px}
.hero-inner{position:relative;border-radius:var(--r);overflow:hidden;min-height:900px;display:flex;align-items:center;background:#040b24;}
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;will-change:transform;transform:translateY(0);z-index:1}
.hero-body{position:relative;z-index:10;display:flex;align-items:center;justify-content:space-between;width:100%;padding:56px 68px;gap:40px;}
.hero-left{max-width:700px}
.hero-tag{display:inline-flex;align-items:center;gap:10px;font-size:10px;font-weight:500;letter-spacing:.26em;text-transform:uppercase;color:rgba(255,255,255,.45);margin-bottom:36px;opacity:0;animation:fadeUp .7s .9s forwards;}
.hero-tag::before{content:'';width:24px;height:1px;background:rgba(255,255,255,.35)}
.hero-tag-badge{background:rgba(20,82,245,.25);border:1px solid rgba(20,82,245,.3);color:rgba(140,190,255,.8);font-size:9px;font-weight:600;letter-spacing:.18em;padding:3px 9px;border-radius:100px}
.hero-h1{font-size:clamp(44px,6.4vw,92px);font-weight:200;line-height:.95;letter-spacing:-.044em;color:#fff;margin-bottom:38px;text-shadow:0 2px 20px rgba(0,0,0,0.3);}
.hero-h1 .line{display:block;overflow:hidden}
.hero-h1 .line span{display:block;opacity:0;transform:translateY(110%);animation:lineUp .85s cubic-bezier(.4,0,.2,1) forwards}
.hero-h1 .line:nth-child(1) span{animation-delay:1.05s}
.hero-h1 .line:nth-child(2) span{animation-delay:1.2s}
.hero-h1 .line:nth-child(3) span{animation-delay:1.35s}
@keyframes lineUp{to{opacity:1;transform:translateY(0)}}
.hero-sub{font-size:clamp(14px,1.4vw,17px);font-weight:300;line-height:1.78;color:rgba(255,255,255,.75);max-width:520px;opacity:0;animation:fadeUp .8s 1.55s forwards;}
.hero-actions{display:flex;align-items:center;gap:20px;margin-top:40px;opacity:0;animation:fadeUp .8s 1.7s forwards;}
@keyframes fadeUp{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
.btn-hp{background:#fff;color:var(--dark);font-size:13px;font-weight:500;letter-spacing:.01em;padding:14px 30px;border-radius:12px;text-decoration:none;transition:opacity .2s,transform .2s,box-shadow .2s;display:inline-flex;align-items:center;gap:8px;box-shadow:0 8px 32px rgba(0,0,0,.28);}
.btn-hp:hover{opacity:.9;transform:translateY(-2px);box-shadow:0 16px 48px rgba(0,0,0,.36)}
.btn-hp .arr{transition:transform .25s}
.btn-hp:hover .arr{transform:translateX(5px)}
.btn-hg{font-size:14px;font-weight:300;color:rgba(255,255,255,.65);text-decoration:none;border-bottom:1px solid rgba(255,255,255,.22);padding-bottom:2px;transition:color .2s,border-color .2s;}
.btn-hg:hover{color:#fff;border-color:rgba(255,255,255,.5)}

/* Hero Float Card */
.hero-float{flex-shrink:0;background:rgba(255,255,255,.07);backdrop-filter:blur(28px);-webkit-backdrop-filter:blur(28px);border:1px solid rgba(255,255,255,.13);border-radius:22px;padding:28px 32px;min-width:240px;display:flex;flex-direction:column;gap:20px;opacity:0;animation:fadeUp .8s 1.85s forwards, floatY 6s 2.65s ease-in-out infinite;}
@keyframes floatY{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
.hf-row{display:flex;flex-direction:column;gap:4px}
.hf-val{font-size:38px;font-weight:200;letter-spacing:-.05em;color:#fff;line-height:1}
.hf-val span{font-size:22px;color:rgba(140,190,255,.85)}
.hf-lbl{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.38);font-weight:500}
.hf-div{height:1px;background:rgba(255,255,255,.1)}
.hf-badge{display:flex;align-items:center;gap:10px;font-size:12px;font-weight:400;color:rgba(255,255,255,.72)}
.hf-dot{width:7px;height:7px;border-radius:50%;background:#4ade80;flex-shrink:0;animation:gpulse 2s ease-in-out infinite}

/* SHARED */
.sec{padding:0 18px 20px}
.sec-label{font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:rgba(0,0,0,.32);font-weight:500;margin-bottom:16px;display:flex;align-items:center;gap:12px;}
.sec-label::before{content:'';width:3px;height:14px;background:var(--accent);border-radius:2px}
.sec-h2{font-size:clamp(28px,4vw,60px);font-weight:200;letter-spacing:-.044em;line-height:1.04;color:var(--dark)}
.sec-body{font-size:clamp(13px,1.25vw,16px);font-weight:300;color:var(--mid);line-height:1.8;max-width:440px}

/* STATS */
.stats-bar{display:grid;grid-template-columns:repeat(4,1fr);background:var(--white);border-radius:var(--r);overflow:hidden;border:1px solid var(--border);margin:0 18px 20px;box-shadow:var(--shadow);}
.stat-cell{padding:44px 28px;border-right:1px solid var(--border);text-align:center;position:relative;overflow:hidden;transition:background .4s;}
.stat-cell::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 50% 0%,rgba(20,82,245,.06),transparent 60%);opacity:0;transition:opacity .4s;}
.stat-cell:hover::before{opacity:1}
.stat-cell:last-child{border-right:none}
.stat-num{font-size:clamp(42px,4.4vw,58px);font-weight:200;letter-spacing:-.055em;color:var(--dark);line-height:1}
.stat-num sup{font-size:.42em;vertical-align:super;color:var(--accent)}
.stat-lbl{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--light);font-weight:500;margin-top:8px}
.stat-delta{display:inline-flex;align-items:center;gap:4px;font-size:10px;font-weight:500;color:#16a34a;background:rgba(22,163,74,.1);border:1px solid rgba(22,163,74,.15);border-radius:100px;padding:3px 9px;margin-top:10px}

/* PARTNERS SECTION */
.partners-card{background:#f7f7f7;border-radius:var(--r);overflow:hidden;border:1px solid var(--border);box-shadow:var(--shadow);position:relative;margin:0 18px 20px;}
.partners-top{display:grid;grid-template-columns:1.1fr 0.9fr;gap:80px;align-items:center;padding:60px 70px 0;margin-bottom:0;}
.partners-content{max-width:720px;}
.orbital-image{width:100%;max-width:400px;height:auto;animation:orbitalFloat 6s ease-in-out infinite;}
@keyframes orbitalFloat{0%{transform:translateY(0px)}50%{transform:translateY(-18px)}100%{transform:translateY(0px)}}
.logo-row{position:relative;overflow:hidden;padding:24px 70px 48px;}
.logo-marquee{overflow:hidden;width:100%;}
.logo-track{display:flex;align-items:center;width:max-content;gap:90px;padding-right:90px;animation:logoMove 34s linear infinite;}
.logo-track span{flex-shrink:0;font-size:clamp(14px,1.8vw,18px);font-weight:500;color:#6b7280;white-space:nowrap;letter-spacing:-0.02em;transition:color 0.3s ease;cursor:pointer;}
.logo-track span:hover{color:var(--accent);}
.logo-fade{position:absolute;top:0;width:180px;height:100%;z-index:2;pointer-events:none;}
.logo-fade.left{left:0;background:linear-gradient(to right,#f7f7f7 0%,rgba(247,247,247,0.92) 18%,rgba(247,247,247,0.65) 40%,rgba(247,247,247,0) 100%);}
.logo-fade.right{right:0;background:linear-gradient(to left,#f7f7f7 0%,rgba(247,247,247,0.92) 18%,rgba(247,247,247,0.65) 40%,rgba(247,247,247,0) 100%);}
@keyframes logoMove{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.logo-row:hover .logo-track{animation-play-state:paused;}

/* SERVICES STACKING */
#svc-section{padding:0 18px 20px;overflow:visible;position:relative;}
.ssw{position:sticky;top:80px;height:auto;min-height:560px;margin-bottom:20px;display:flex;align-items:flex-start;padding-bottom:0;}
.service-panel{width:100%;height:auto;min-height:520px;border-radius:20px;overflow:hidden;display:grid;grid-template-columns:1fr 1fr;box-shadow:0 25px 50px -12px rgba(0,0,0,0.3);transition:transform 0.3s ease, box-shadow 0.3s ease;will-change:clip-path;}
.service-panel:hover{box-shadow:0 35px 60px -15px rgba(0,0,0,0.35);transform:translateY(-4px);}
.np-text{padding:52px 56px;display:flex;flex-direction:column;justify-content:center;position:relative;z-index:1;}
.np-num{font-family:'DM Mono',monospace;font-size:11px;letter-spacing:.3em;margin-bottom:12px;display:block;color:rgba(0,0,0,0.3);}
.sp--1 .np-num,.sp--3 .np-num,.sp--5 .np-num{color:rgba(17,17,17,0.3);}
.np-sub{font-size:12px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:#1452f5;margin-bottom:12px;}
.sp--1 .np-sub,.sp--3 .np-sub,.sp--5 .np-sub{color:#111111;}
.np-title{font-size:clamp(26px,2.6vw,40px);font-weight:200;letter-spacing:-.044em;line-height:1.06;margin-bottom:16px;}
.np-desc{font-size:14px;font-weight:300;line-height:1.82;margin-bottom:26px;max-width:360px;}
.sp--1 .np-text,.sp--3 .np-text,.sp--5 .np-text{color:#111111;}
.sp--2 .np-sub,.sp--4 .np-sub,.sp--6 .np-sub{color:#ffffff;}
.sp--2 .np-num,.sp--4 .np-num,.sp--6 .np-num{color:rgba(255,255,255,0.3);}
.np-tags{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:28px;}
.np-tag{font-size:10.5px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;border-radius:100px;padding:5px 15px;border:1px solid rgba(20,82,245,.22);color:#1452f5;background:rgba(20,82,245,.05);}
.sp--1 .np-tag,.sp--3 .np-tag,.sp--5 .np-tag{border:1px solid #D0D0D0;color:#111111;background:transparent;}
.sp--2 .np-tag,.sp--4 .np-tag,.sp--6 .np-tag{border-color:rgba(255,255,255,.2);color:rgba(255,255,255,.8);background:rgba(255,255,255,.08);}
.np-cta{display:inline-flex;align-items:center;gap:8px;font-size:11.5px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;padding:10px 22px;border-radius:100px;border:1px solid rgba(20,82,245,.28);color:#1452f5;width:fit-content;transition:background .22s, color .22s, border-color .22s;}
.np-cta:hover{background:#1452f5;color:#fff;border-color:#1452f5;}
.np-cta-light{border-color:rgba(255,255,255,.25);color:rgba(255,255,255,.8);}
.np-cta-light:hover{background:rgba(255,255,255,.15);color:#fff;border-color:rgba(255,255,255,.4);}
.np-visual{position:relative;overflow:hidden;background:#030818;}
.np-canvas{position:absolute;inset:0;width:100%;height:100%;}
.np-glass{position:absolute;bottom:28px;left:50%;transform:translateX(-50%);width:calc(100% - 48px);background:rgba(255,255,255,.08);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.14);border-radius:16px;padding:18px 20px;box-shadow:0 8px 32px rgba(0,0,0,.3);}
.np-glass.dark{background:rgba(0,0,0,.35);border-color:rgba(255,255,255,.1);}
.np-glass.mono{font-family:'DM Mono',monospace;}
.npg-row{display:flex;align-items:center;gap:8px;}
.npg-dot{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.3);flex-shrink:0;}
.npg-dot.live{background:#1452f5;animation:gpulse 2s infinite;}
.npg-dot.green{background:#4ade80;}
.npg-dot.red{background:#f87171;}
.npg-dot.pulse{animation:gpulse 1.2s infinite;}
.npg-label{font-size:11px;font-weight:400;color:rgba(255,255,255,.5);letter-spacing:.04em;flex:1;}
.npg-val{font-size:11px;font-weight:600;color:rgba(255,255,255,.85);letter-spacing:.04em;font-family:'DM Mono',monospace;}
.npg-bar-wrap{height:3px;background:rgba(255,255,255,.1);border-radius:4px;margin-top:7px;overflow:hidden;}
.npg-bar{height:100%;background:linear-gradient(90deg,#1452f5,#4d8fff);border-radius:4px;transition:width 1.5s ease;}
.npg-code{font-size:11.5px;color:rgba(255,255,255,.5);line-height:1.9;white-space:nowrap;}
.npg-kw{color:#c084fc;}
.npg-fn{color:#60a5fa;}
.npg-str{color:#4ade80;}
.npg-cm{color:rgba(255,255,255,.3);}
.npg-cursor::after{content:'';display:inline-block;width:6px;height:13px;background:#4ade80;margin-left:1px;vertical-align:middle;animation:blink 1s step-end infinite;}
@keyframes blink{0%,100%{opacity:1}50%{opacity:0}}
@media(max-width:900px){
  .ssw{position:relative;top:0;margin-bottom:30px;min-height:auto;}
  .service-panel{grid-template-columns:1fr;height:auto;clip-path:none !important;min-height:auto;}
  .np-visual{height:260px;}
  .np-text{padding:36px 28px 32px;}
  .sp--2 .np-visual,.sp--4 .np-visual,.sp--6 .np-visual{order:-1;}
  .np-canvas{position:absolute;}
}

/* ABOUT */
.about-wrap{background:var(--white);border-radius:var(--r);border:1px solid var(--border);overflow:hidden;margin:0 18px 20px;display:grid;grid-template-columns:1fr 1fr;box-shadow:var(--shadow);}
.about-visual{position:relative;min-height:540px;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;padding:56px;overflow:hidden;}
.about-video{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;z-index:1;}
.about-video-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(145deg, rgba(3,11,34,0.75) 0%, rgba(11,32,112,0.85) 42%, rgba(20,82,245,0.7) 100%);z-index:2;}
.av-stats-wrapper{position:relative;z-index:3;width:100%;}
.av-stat{margin-bottom:32px;position:relative;}
.av-stat:last-child{margin-bottom:0;}
.av-num{font-size:clamp(52px,5.8vw,72px);font-weight:200;letter-spacing:-.055em;color:#fff;line-height:1;}
.av-num span{color:rgba(255,255,255,100);}
.av-lbl{font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.6);font-weight:500;margin-top:8px;}
.about-text{padding:60px 64px;display:flex;flex-direction:column;justify-content:center;}
.cert-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:30px;}
.cert{font-size:10.5px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--mid);background:#f0f4ff;border:1px solid var(--border);border-radius:100px;padding:7px 16px;transition:background .25s,color .25s,transform .2s;cursor:none;}
.cert:hover{background:var(--accent);color:#fff;border-color:var(--accent);transform:scale(1.04);}

/* WHY US */
.why-wrap{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 18px 20px;}
.why-left{background:var(--white);border-radius:var(--r);border:1px solid var(--border);padding:54px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:var(--shadow);}
.why-items{display:flex;flex-direction:column;margin-top:34px;}
.why-item{display:flex;align-items:flex-start;gap:18px;padding:22px 0;border-bottom:1px solid var(--border);transition:background .3s;}
.why-item:last-child{border-bottom:none;}
.wi-num{font-size:10px;font-weight:600;letter-spacing:.1em;color:var(--accent);min-width:24px;margin-top:3px;font-family:'DM Mono',monospace;}
.wi-title{font-size:16px;font-weight:400;color:var(--dark);letter-spacing:-.022em;margin-bottom:5px;}
.wi-desc{font-size:13px;font-weight:300;color:var(--mid);line-height:1.68;}
.why-right{display:flex;flex-direction:column;gap:10px;}
.why-card{background:var(--white);border-radius:var(--r);border:1px solid var(--border);padding:36px 40px;flex:1;transition:background .4s,box-shadow .4s;cursor:none;box-shadow:var(--shadow);}
.why-card:hover{background:var(--accent-bg);box-shadow:0 8px 32px rgba(20,82,245,.08);}
.wc-icon-svg{width:48px;height:48px;margin-bottom:16px;}
.wc-icon-svg img{width:100%;height:100%;object-fit:contain;}
.wc-title{font-size:20px;font-weight:300;letter-spacing:-.03em;color:var(--dark);margin-bottom:9px;transition:color .4s;}
.why-card:hover .wc-title{color:var(--accent);}
.wc-desc{font-size:13px;font-weight:300;color:var(--mid);line-height:1.68;}

/* TESTIMONIALS */
.testimonials-section{padding:0 18px 20px;}
.testimonials-wrapper{background:#FFFFFF;border-radius:var(--r,20px);padding:60px 80px;margin:0;box-shadow:var(--shadow);}
.testimonials-header{margin-bottom:48px;}
.testimonials-header-left{display:flex;align-items:center;gap:40px;}
.header-arrow-icon{width:100px;height:100px;object-fit:contain;margin-top:-10px;}
.testimonials-heading-line1{font-size:clamp(28px,4vw,60px);font-weight:200;letter-spacing:-0.044em;line-height:1.04;color:var(--dark);margin-bottom:8px;}
.testimonials-heading-line2{font-size:clamp(28px,4vw,60px);font-weight:200;letter-spacing:-0.044em;line-height:1.04;color:var(--dark);}
.testimonials-heading-line2 .heading-accent{color:#5C4EE5;}
.testimonials-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-bottom:48px;}
.testimonial-card{background:#1C1F59;border-radius:20px;padding:28px 24px;transition:all 0.3s ease;display:flex;flex-direction:column;}
.testimonial-card:hover{transform:translateY(-4px);box-shadow:0 12px 24px rgba(0,0,0,0.15);}
.quote-icon{width:28px;height:28px;object-fit:contain;margin-bottom:20px;}
.testimonial-text{color:#FFFFFF;font-size:15px;line-height:1.55;margin:0 0 24px 0;font-weight:400;}
.testimonial-author{display:flex;align-items:center;gap:14px;margin-top:auto;}
.author-avatar{width:48px;height:48px;border-radius:50%;object-fit:cover;border:2px solid rgba(255,255,255,0.3);}
.author-name{color:#FFFFFF;font-size:16px;font-weight:700;margin-bottom:4px;}
.author-title{color:#FFFFFF;font-size:12px;font-weight:400;opacity:0.8;}
.testimonials-button-wrapper{display:flex;justify-content:center;align-items:center;margin-top:20px;}
.testimonials-cta-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:12px 28px;background:#FFFFFF;border-radius:40px;border:1px solid #CCCCCC;text-decoration:none;transition:all 0.3s ease;cursor:pointer;}
.testimonials-cta-btn span{color:#000000;font-size:16px;font-weight:500;}
.testimonials-cta-btn img{width:18px;height:18px;transition:transform 0.3s ease;display:inline-block;}
.testimonials-cta-btn:hover{background:#5C4EE5;border-color:#5C4EE5;}
.testimonials-cta-btn:hover span{color:#FFFFFF;}
.testimonials-cta-btn:hover img{transform:translateX(5px);filter:brightness(0) invert(1);}
@media(min-width:1200px){.testimonials-grid{grid-template-columns:repeat(4,1fr);gap:24px;}}
@media(min-width:769px)and(max-width:1199px){.testimonials-wrapper{padding:48px 40px;}.testimonials-heading-line1,.testimonials-heading-line2{font-size:32px;}.header-arrow-icon{width:80px;height:80px;margin-top:-5px;}.testimonials-header-left{gap:16px;}.testimonials-grid{grid-template-columns:repeat(2,1fr);gap:20px;}}
@media(max-width:768px){.testimonials-wrapper{padding:32px 20px;}.testimonials-heading-line1,.testimonials-heading-line2{font-size:24px;}.header-arrow-icon{width:60px;height:60px;margin-top:0;}.testimonials-header-left{gap:12px;}.testimonials-grid{grid-template-columns:1fr;gap:16px;}}

/* CLIENTS */
.clients-wrap{background:var(--white);border-radius:var(--r);border:1px solid var(--border);overflow:hidden;margin:0 18px 20px;box-shadow:var(--shadow);}
.clients-head{padding:50px 58px;border-bottom:1px solid var(--border);display:flex;align-items:flex-end;justify-content:space-between;gap:24px;}
.clients-marquee{padding:34px 0;}
.marquee-row{overflow:hidden;}
.marquee-row+.marquee-row{margin-top:10px;}
.marquee-inner{display:flex;width:max-content;animation:mq 22s linear infinite;}
.marquee-inner-rev{display:flex;width:max-content;animation:mq 22s linear infinite reverse;}
.marquee-row:hover .marquee-inner,.marquee-row:hover .marquee-inner-rev{animation-play-state:paused;}
.client-pill{background:var(--canvas);border:1px solid var(--border);border-radius:100px;padding:12px 28px;margin-right:10px;white-space:nowrap;font-size:14px;font-weight:300;color:var(--mid);transition:border-color .25s,color .25s,background .25s;}
.client-pill:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-bg);}
@keyframes mq{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* =========================================
   CONTACT SECTION - MODERN WITH MAP & FORM
   ========================================= */

.contact-modern-card {
  background: linear-gradient(135deg, #0a0a2a 0%, #1a1a4a 100%);
  border-radius: var(--r);
  overflow: hidden;
  padding: 60px 70px;
}

.contact-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
}

/* Left Side - Info & Map */
.contact-info {
  color: #ffffff;
}

.contact-badge {
  display: inline-block;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.6);
  margin-bottom: 20px;
  padding: 4px 12px;
  background: rgba(255,255,255,0.1);
  border-radius: 100px;
}

.contact-title {
  font-size: 42px;
  font-weight: 200;
  letter-spacing: -0.03em;
  line-height: 1.2;
  margin-bottom: 20px;
}

.contact-title-accent {
  color: var(--accent);
  font-weight: 400;
}

.contact-desc {
  font-size: 16px;
  font-weight: 300;
  color: rgba(255,255,255,0.6);
  line-height: 1.6;
  margin-bottom: 40px;
}

.contact-locations {
  display: flex;
  flex-direction: column;
  gap: 24px;
  margin-bottom: 40px;
}

.location-item {
  display: flex;
  align-items: flex-start;
  gap: 16px;
}

.location-icon {
  width: 44px;
  height: 44px;
  background: rgba(255,255,255,0.08);
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.location-icon img {
  width: 22px;
  height: 22px;
  filter: brightness(0) invert(1);
}

.location-details h4 {
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.5);
  margin-bottom: 6px;
}

.location-details p {
  font-size: 16px;
  font-weight: 400;
  color: #ffffff;
  line-height: 1.5;
}

.contact-map {
  width: 100%;
  height: 160px;
  border-radius: 16px;
  overflow: hidden;
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.1);
}

.contact-map img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Right Side - Form */
.contact-form-wrapper {
  background: rgba(255,255,255,0.05);
  border-radius: 24px;
  padding: 32px;
  border: 1px solid rgba(255,255,255,0.1);
}

.contact-form {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}

.form-group {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.form-group.full-width {
  grid-column: span 2;
}

.form-group label {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.5);
}

.form-group input,
.form-group textarea {
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.15);
  border-radius: 12px;
  padding: 14px 16px;
  font-family: 'DM Sans', sans-serif;
  font-size: 14px;
  font-weight: 400;
  color: #ffffff;
  transition: all 0.3s ease;
  resize: none;
}

.form-group input::placeholder,
.form-group textarea::placeholder {
  color: rgba(255,255,255,0.3);
}

.form-group input:focus,
.form-group textarea:focus {
  outline: none;
  border-color: var(--accent);
  background: rgba(255,255,255,0.12);
}

.contact-submit-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  background: var(--accent);
  color: #ffffff;
  font-size: 14px;
  font-weight: 500;
  padding: 14px 28px;
  border-radius: 100px;
  border: none;
  cursor: pointer;
  transition: all 0.3s ease;
  width: fit-content;
  margin-top: 10px;
}

.contact-submit-btn:hover {
  background: var(--accent-dark);
  transform: translateY(-2px);
  gap: 14px;
}
/* Clickable contact links */
.contact-clickable {
  color: #ffffff;
  text-decoration: none;
  font-size: 16px;
  font-weight: 400;
  transition: color 0.3s ease;
}

.contact-clickable:hover {
  color: var(--accent);
}

/* Responsive */
@media (max-width: 1100px) {
  .contact-modern-card {
    padding: 50px 40px;
  }
  
  .contact-grid {
    gap: 40px;
  }
}

@media (max-width: 900px) {
  .contact-grid {
    grid-template-columns: 1fr;
    gap: 40px;
  }
  
  .contact-title {
    font-size: 36px;
  }
}

@media (max-width: 600px) {
  .contact-modern-card {
    padding: 40px 24px;
  }
  
  .form-row {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  
  .form-group.full-width {
    grid-column: span 1;
  }
  
  .contact-title {
    font-size: 32px;
  }
  
  .contact-form-wrapper {
    padding: 24px;
  }
}

/* FOOTER */
.footer-wrap{background:var(--dark);border-radius:var(--r);margin:0 18px 18px;overflow:hidden;box-shadow:0 4px 32px rgba(0,0,0,.15);}
.footer-top{display:grid;grid-template-columns:1.8fr 1fr 1fr 1fr;gap:44px;padding:60px 70px 50px;border-bottom:1px solid rgba(255,255,255,.055);}
.f-logo{font-size:14px;font-weight:500;letter-spacing:.28em;text-transform:uppercase;color:#fff;display:block;margin-bottom:14px;}
.f-tagline{font-size:13px;font-weight:300;color:rgba(255,255,255,.32);line-height:1.72;max-width:240px;}
.f-socials{display:flex;gap:8px;margin-top:28px;}
.f-soc{width:38px;height:38px;border-radius:10px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;text-decoration:none;color:rgba(255,255,255,.4);transition:background .2s,color .2s,border-color .2s,transform .2s;}
.f-soc:hover{background:var(--accent);color:#fff;border-color:var(--accent);transform:scale(1.08);}
.social-icon{width:16px;height:16px;display:block;filter:brightness(0) invert(1);transition:transform 0.3s ease;}
.f-soc:hover .social-icon{transform:scale(1.1);}
.f-col h5{font-size:9.5px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.25);margin-bottom:20px;}
.f-col ul{list-style:none;display:flex;flex-direction:column;gap:10px;}
.f-col a{font-size:13px;font-weight:300;color:rgba(255,255,255,.42);text-decoration:none;transition:color .2s;}
.f-col a:hover{color:#fff;}
.footer-bottom{padding:18px 62px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid rgba(255,255,255,.04);}
.footer-bottom p,.footer-bottom a{font-size:11.5px;font-weight:300;color:rgba(255,255,255,.2);text-decoration:none;transition:color .2s;}
.footer-bottom a:hover{color:rgba(255,255,255,.5);}

/* BACK TO TOP */
#btt{position:fixed;bottom:32px;right:32px;z-index:600;width:46px;height:46px;border-radius:13px;background:var(--dark);color:#fff;border:1px solid rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;font-size:16px;cursor:none;opacity:0;transform:translateY(12px);transition:opacity .3s,transform .3s,background .2s;box-shadow:0 4px 20px rgba(0,0,0,.25);}
#btt.show{opacity:1;transform:translateY(0)}
#btt:hover{background:var(--accent)}

/* REVEAL */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s ease}
.reveal.in{opacity:1;transform:translateY(0)}

/* TRUST BAR */
.trust-bar{display:flex;align-items:center;gap:10px;margin-top:48px;opacity:0;animation:fadeUp .8s 1.9s forwards;}
.trust-item{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:300;color:rgba(255,255,255,.45);}
.trust-item::before{content:'✓';color:#4ade80;font-size:10px;font-weight:600;}
.trust-sep{width:1px;height:12px;background:rgba(255,255,255,.15);}

/* SECTION HEADERS */
.section-header-with-arrow{margin-bottom:48px;}
.section-header-left{display:flex;align-items:center;gap:40px;margin-bottom:20px;}
.section-header-right{display:flex;align-items:center;justify-content:space-between;gap:40px;margin-bottom:20px;flex-direction:row-reverse;}
.section-arrow-icon{width:100px;height:100px;object-fit:contain;flex-shrink:0;}
.section-heading-line1{font-size:clamp(28px,4vw,60px);font-weight:200;letter-spacing:-0.044em;line-height:1.04;color:var(--dark);margin-bottom:8px;}
.section-heading-line2{font-size:clamp(28px,4vw,60px);font-weight:200;letter-spacing:-0.044em;line-height:1.04;color:var(--dark);}
.section-heading-accent{color:#5C4EE5;}
.section-subtitle{font-size:16px;font-weight:300;color:rgba(0,0,0,0.46);line-height:1.7;max-width:600px;margin-top:8px;}
@media(max-width:992px){.section-arrow-icon{width:80px;height:80px;}.section-heading-line1,.section-heading-line2{font-size:32px;}}
@media(max-width:768px){.section-arrow-icon{width:60px;height:60px;}.section-heading-line1,.section-heading-line2{font-size:24px;}.section-subtitle{font-size:14px;}}

/* SERVICES CARD MODERN */
.services-card-modern{background:#f7f7f7;border-radius:var(--r);border:1px solid var(--border);padding:60px 70px;box-shadow:var(--shadow);margin:0 18px 20px;}
#svc-section{padding:0;overflow:visible;position:relative;}
@media(max-width:992px){.services-card-modern{padding:50px 40px;}}
@media(max-width:768px){.services-card-modern{padding:40px 24px;}}

/* =========================================
   SERVICE PAGES 
   ========================================= */
.service-detail-page{max-width:1200px;margin:0 auto;padding:120px 24px 40px;}
.service-banner{width:100%;height:400px;border-radius:20px;overflow:hidden;margin-bottom:48px;}
.service-banner img{width:100%;height:100%;object-fit:cover;}
.service-breadcrumb{margin-bottom:40px;}
.service-breadcrumb a{color:var(--mid);text-decoration:none;font-size:14px;transition:color 0.2s;}
.service-breadcrumb a:hover{color:var(--accent);}
.service-breadcrumb span{color:var(--dark);font-size:14px;}
.service-hero{margin-bottom:60px;background:transparent !important;padding:0 !important;}
.service-hero h1{font-size:56px;font-weight:200;letter-spacing:-0.04em;color:var(--dark);margin-bottom:24px;line-height:1.1;background:transparent !important;}
.service-hero p{font-size:18px;font-weight:300;color:var(--mid);line-height:1.6;max-width:800px;}
.service-section{margin-bottom:60px;}
.service-section h2{font-size:32px;font-weight:200;letter-spacing:-0.03em;color:var(--dark);margin-bottom:32px;position:relative;padding-left:20px;background:transparent !important;}
.service-section h2::before{content:'';position:absolute;left:0;top:50%;transform:translateY(-50%);width:4px;height:28px;background:var(--accent);border-radius:2px;}
.offer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.offer-card{background:var(--white);border:1px solid var(--border);border-radius:16px;padding:28px;transition:all 0.3s ease;box-shadow:var(--shadow);}
.offer-card:hover{transform:translateY(-4px);border-color:var(--accent);box-shadow:0 8px 28px rgba(92,78,229,0.1);}
.offer-icon{font-size:36px;margin-bottom:20px;}
.offer-card h3{font-size:18px;font-weight:500;margin-bottom:12px;color:var(--dark);}
.offer-card p{font-size:14px;font-weight:300;color:var(--mid);line-height:1.6;}
.benefits-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.benefit-card{background:var(--white);border:1px solid var(--border);border-radius:16px;padding:28px;text-align:center;transition:all 0.3s ease;}
.benefit-card:hover{transform:translateY(-4px);border-color:var(--accent);}
.benefit-number{font-size:42px;font-weight:200;color:var(--accent);font-family:'DM Mono',monospace;margin-bottom:12px;}
.benefit-card h3{font-size:16px;font-weight:600;margin-bottom:8px;color:var(--dark);}
.benefit-card p{font-size:13px;font-weight:300;color:var(--mid);}
.industries-list{display:flex;flex-wrap:wrap;gap:12px;}
.industry-tag{background:var(--white);border:1px solid var(--border);border-radius:100px;padding:8px 24px;font-size:14px;font-weight:500;color:var(--mid);transition:all 0.2s ease;}
.industry-tag:hover{background:var(--accent);color:white;border-color:var(--accent);transform:scale(1.02);}
.service-cta{background:linear-gradient(135deg,var(--accent) 0%,var(--accent-dark) 100%);text-align:center;padding:50px;border-radius:20px;margin:40px 0 60px;}
.service-cta h2{color:white;font-size:32px;font-weight:200;margin-bottom:16px;}
.service-cta p{color:rgba(255,255,255,0.8);margin-bottom:24px;font-size:16px;}
.service-cta .cta-button{display:inline-block;background:white;color:var(--accent);padding:12px 32px;border-radius:100px;text-decoration:none;font-weight:500;transition:all 0.3s ease;}
.service-cta .cta-button:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(0,0,0,0.15);}
.other-services-section{margin-top:60px;padding-top:20px;border-top:1px solid var(--border);margin-bottom:20px;}
.other-services-section h2{font-size:32px;font-weight:200;margin-bottom:32px;position:relative;padding-left:20px;background:transparent !important;}
.other-services-section h2::before{content:'';position:absolute;left:0;top:50%;transform:translateY(-50%);width:4px;height:28px;background:var(--accent);border-radius:2px;}
.other-services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.other-service-card{background:var(--white);border:1px solid var(--border);border-radius:16px;padding:0;transition:all 0.3s ease;text-decoration:none;display:block;overflow:hidden;}
.other-service-card:hover{transform:translateY(-4px);border-color:var(--accent);box-shadow:0 8px 28px rgba(92,78,229,0.1);}
.other-service-image{width:100%;height:180px;overflow:hidden;}
.other-service-image img{width:100%;height:100%;object-fit:cover;transition:transform 0.3s ease;}
.other-service-card:hover .other-service-image img{transform:scale(1.05);}
.other-service-content{padding:20px;}
.other-service-card h3{font-size:18px;font-weight:600;margin-bottom:12px;color:var(--dark);}
.other-service-card p{font-size:13px;font-weight:300;color:var(--mid);line-height:1.6;margin-bottom:16px;}
.learn-more-link{font-size:12px;font-weight:500;color:var(--accent);display:inline-flex;align-items:center;gap:6px;transition:gap 0.3s;}
.other-service-card:hover .learn-more-link{gap:10px;}
@media(max-width:900px){.offer-grid,.benefits-grid,.other-services-grid{grid-template-columns:repeat(2,1fr);}.service-hero h1{font-size:40px;}.service-banner{height:250px;}}
@media(max-width:600px){.offer-grid,.benefits-grid,.other-services-grid{grid-template-columns:1fr;}.service-hero h1{font-size:32px;}.service-section h2{font-size:24px;}.service-detail-page{padding:100px 20px 40px;}.service-banner{height:180px;}}

/* NAVIGATION FIXES */
#home,#services,#about,#clients,#contact,#why{scroll-margin-top:90px;}
#services{scroll-margin-top:85px;}
#contact{scroll-margin-top:80px;}

/* RESPONSIVE */
@media(max-width:1024px){
  nav{padding:18px 32px}
  nav.scrolled{padding:14px 32px}
  .nav-links,.nav-status{display:none}
  .hamburger{display:flex}
  .hero-body{padding:40px 36px;flex-direction:column;align-items:flex-start}
  .hero-float{align-self:stretch}
  .stats-bar{grid-template-columns:repeat(2,1fr)}
  .stat-cell:nth-child(2){border-right:none}
  .about-wrap{grid-template-columns:1fr}
  .about-visual{min-height:340px;padding:40px}
  .about-text{padding:44px 48px}
  .why-wrap{grid-template-columns:1fr}
  .footer-top{grid-template-columns:1fr 1fr;gap:36px}
}
@media(max-width:600px){
  nav{padding:14px 20px}
  nav.scrolled{padding:12px 20px}
  .hero-body{padding:28px 24px 40px}
  .stats-bar{grid-template-columns:repeat(2,1fr);margin:0 12px 16px}
  .footer-top{grid-template-columns:1fr;gap:32px;padding:44px 36px}
  .footer-bottom{flex-direction:column;gap:10px;text-align:center}
}
@media print{
  .cur,.cur-ring,#preloader,.hamburger,.nav-cta,.nav-status,#btt,.progress-container{display:none !important}
  body{background:white;cursor:default}
  nav{position:static;background:white;padding:20px}
  .hero-video,.hero-overlay,.hero-grad{display:none}
}