/* ============================================================
   KROT SERVICES — REDESIGNED STYLESHEET v2
   3D-Forward · Dynamic · Premium · Fixed Layout
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,300;0,14..32,400;0,14..32,500;0,14..32,600;0,14..32,700;0,14..32,800;0,14..32,900;1,14..32,400&family=JetBrains+Mono:wght@400;500;700&display=swap');

/* ═══════════════════════════════════════
   DESIGN TOKENS
═══════════════════════════════════════ */
:root {
  /* Core palette */
  --bg:              #00050F;
  --bg-2:            #020818;
  --bg-card:         rgba(255,255,255,0.028);
  --bg-card-h:       rgba(255,255,255,0.055);
  --border:          rgba(255,255,255,0.065);
  --border-h:        rgba(59,130,246,0.45);

  /* Brand colours */
  --blue:            #2563EB;
  --blue-l:          #60A5FA;
  --blue-d:          #1d4ed8;
  --purple:          #7C3AED;
  --purple-l:        #A78BFA;
  --cyan:            #06B6D4;
  --green:           #10B981;
  --amber:           #F59E0B;

  /* Gradients */
  --g-primary:       linear-gradient(135deg,#2563EB,#7C3AED);
  --g-glow:          linear-gradient(135deg,#3B82F6 0%,#8B5CF6 50%,#06B6D4 100%);
  --g-card-border:   linear-gradient(135deg,rgba(59,130,246,0.5),rgba(139,92,246,0.3),rgba(6,182,212,0.2));
  --g-hero-bg:       radial-gradient(ellipse 80% 60% at 60% 20%,rgba(37,99,235,0.12) 0%,transparent 60%),
                     radial-gradient(ellipse 60% 50% at 10% 80%,rgba(124,58,237,0.08) 0%,transparent 50%);

  /* Typography */
  --font:            'Inter',system-ui,-apple-system,sans-serif;
  --mono:            'JetBrains Mono',monospace;

  /* Spacing */
  --section-py:      7.5rem;
  --max-w:           1280px;
  --px:              1.5rem;

  /* Glass */
  --glass-bg:        rgba(255,255,255,0.028);
  --glass-border:    1px solid rgba(255,255,255,0.065);
  --glass-blur:      blur(24px);

  /* Shadows */
  --shadow-card:     0 8px 32px rgba(0,0,0,0.6);
  --shadow-glow-sm:  0 0 30px rgba(37,99,235,0.2);
  --shadow-glow:     0 0 60px rgba(37,99,235,0.25),0 0 120px rgba(124,58,237,0.1);
  --shadow-glow-lg:  0 0 100px rgba(37,99,235,0.35);

  /* Motion */
  --ease:            cubic-bezier(0.4,0,0.2,1);
  --ease-spring:     cubic-bezier(0.34,1.56,0.64,1);
  --t-fast:          0.2s;
  --t-base:          0.35s;
  --t-slow:          0.6s;

  /* Radii */
  --r-sm:  8px;
  --r-md:  12px;
  --r-lg:  18px;
  --r-xl:  24px;
  --r-2xl: 36px;
  --r-pill:9999px;
}

/* ═══════════════════════════════════════
   RESET + BASE
═══════════════════════════════════════ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;font-size:16px;-webkit-text-size-adjust:100%;}
body{
  font-family:var(--font);
  background:var(--bg);
  color:#F1F5F9;
  line-height:1.65;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}

/* Custom cursor */
.cursor{
  position:fixed;width:10px;height:10px;border-radius:50%;
  background:var(--blue-l);pointer-events:none;z-index:9998;
  transition:transform 0.1s ease,opacity 0.2s;
  transform:translate(-50%,-50%);
  mix-blend-mode:screen;
}
.cursor-ring{
  position:fixed;width:36px;height:36px;border-radius:50%;
  border:1px solid rgba(96,165,250,0.5);pointer-events:none;z-index:9997;
  transition:transform 0.12s ease,width 0.3s ease,height 0.3s ease,opacity 0.2s;
  transform:translate(-50%,-50%);
}
.cursor-ring.hovering{width:60px;height:60px;border-color:rgba(96,165,250,0.8);}

/* Scrollbar */
::-webkit-scrollbar{width:4px;}
::-webkit-scrollbar-track{background:var(--bg);}
::-webkit-scrollbar-thumb{background:rgba(37,99,235,0.5);border-radius:var(--r-pill);}
::-webkit-scrollbar-thumb:hover{background:var(--blue);}

/* Selection */
::selection{background:rgba(37,99,235,0.35);color:#fff;}

/* ═══════════════════════════════════════
   PRELOADER
═══════════════════════════════════════ */
#preloader{
  position:fixed;inset:0;z-index:9999;
  background:var(--bg);
  display:flex;align-items:center;justify-content:center;flex-direction:column;gap:1.5rem;
  transition:opacity 0.6s ease,visibility 0.6s ease;
}
#preloader.hidden{opacity:0;visibility:hidden;}
.preloader-logo{
  font-size:1.75rem;font-weight:900;letter-spacing:-0.04em;
  background:var(--g-glow);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
  animation:preloaderPulse 1.5s ease-in-out infinite;
}
@keyframes preloaderPulse{0%,100%{opacity:1}50%{opacity:0.6}}
.preloader-track{width:200px;height:1px;background:rgba(255,255,255,0.06);border-radius:var(--r-pill);overflow:hidden;}
.preloader-fill{height:100%;width:0;background:var(--g-primary);border-radius:var(--r-pill);transition:width 0.05s linear;}
.preloader-dots{display:flex;gap:8px;margin-top:0.5rem;}
.preloader-dots span{
  width:6px;height:6px;border-radius:50%;background:var(--blue-l);
  animation:dotBounce 1.2s ease-in-out infinite;
}
.preloader-dots span:nth-child(2){animation-delay:0.2s;}
.preloader-dots span:nth-child(3){animation-delay:0.4s;}
@keyframes dotBounce{0%,80%,100%{transform:scale(0.6);opacity:0.4}40%{transform:scale(1);opacity:1}}

/* ═══════════════════════════════════════
   LAYOUT UTILITIES
═══════════════════════════════════════ */
.container{max-width:var(--max-w);margin:0 auto;padding:0 var(--px);}
.section{padding:var(--section-py) 0;position:relative;}
.section-divider{height:1px;background:linear-gradient(90deg,transparent,rgba(59,130,246,0.3),rgba(139,92,246,0.2),transparent);}

/* Section Labels */
.label{
  display:inline-flex;align-items:center;gap:0.5rem;
  font-size:0.7rem;font-weight:700;letter-spacing:0.18em;text-transform:uppercase;
  color:var(--blue-l);
  background:rgba(37,99,235,0.08);
  border:1px solid rgba(37,99,235,0.2);
  padding:0.35rem 0.9rem;border-radius:var(--r-pill);
  margin-bottom:1.25rem;
}
.label::before{content:'';width:5px;height:5px;background:var(--blue);border-radius:50%;box-shadow:0 0 8px var(--blue);}

.section-title{
  font-size:clamp(2rem,4vw,3rem);font-weight:900;
  line-height:1.1;letter-spacing:-0.035em;margin-bottom:1rem;
}
.section-subtitle{font-size:1.0625rem;color:#94A3B8;max-width:560px;line-height:1.75;}
.section-header{text-align:center;margin-bottom:4rem;}
.section-header .section-subtitle{margin:0 auto;}
.gradient-text{background:var(--g-glow);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}

/* ═══════════════════════════════════════
   BUTTONS
═══════════════════════════════════════ */
.btn{
  display:inline-flex;align-items:center;gap:0.5rem;
  padding:0.85rem 1.85rem;border-radius:var(--r-md);
  font-family:var(--font);font-size:0.9375rem;font-weight:600;
  cursor:pointer;border:none;text-decoration:none;
  transition:all var(--t-base) var(--ease);
  position:relative;overflow:hidden;white-space:nowrap;
}
.btn::before{
  content:'';position:absolute;inset:0;
  background:rgba(255,255,255,0.08);
  transform:scaleX(0);transform-origin:left;
  transition:transform var(--t-base) var(--ease);
}
.btn:hover::before{transform:scaleX(1);}

.btn-primary{
  background:var(--g-primary);color:#fff;
  box-shadow:0 0 40px rgba(37,99,235,0.4);
}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 0 60px rgba(37,99,235,0.6);}

.btn-secondary{
  background:rgba(255,255,255,0.04);color:#E2E8F0;
  border:1px solid rgba(255,255,255,0.1);
  backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);
}
.btn-secondary:hover{border-color:var(--blue-l);color:#fff;transform:translateY(-2px);background:rgba(37,99,235,0.08);}

.btn-lg{padding:1rem 2.25rem;font-size:1rem;border-radius:var(--r-lg);}
.btn svg{width:17px;height:17px;flex-shrink:0;}

/* Magnetic wrapper */
.magnetic{display:inline-block;cursor:pointer;}

/* ═══════════════════════════════════════
   GLASS CARD
═══════════════════════════════════════ */
.glass-card{
  background:var(--glass-bg);
  border:var(--glass-border);
  backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);
  border-radius:var(--r-lg);transition:all var(--t-base) var(--ease);
}
.glass-card:hover{background:var(--bg-card-h);border-color:var(--border-h);transform:translateY(-4px);box-shadow:var(--shadow-glow-sm);}

/* Gradient border card */
.grad-border-card{
  position:relative;border-radius:var(--r-lg);
  background:var(--glass-bg);
  transition:all var(--t-base) var(--ease);
}
.grad-border-card::before{
  content:'';position:absolute;inset:-1px;border-radius:calc(var(--r-lg) + 1px);
  background:var(--g-card-border);z-index:-1;opacity:0;
  transition:opacity var(--t-base) var(--ease);
}
.grad-border-card:hover::before{opacity:1;}
.grad-border-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-glow);}

/* ═══════════════════════════════════════
   NOISE + GRAIN OVERLAY
═══════════════════════════════════════ */
.noise{
  position:fixed;inset:0;z-index:0;pointer-events:none;opacity:0.02;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size:200px;
}

/* ═══════════════════════════════════════
   NAVBAR
═══════════════════════════════════════ */
.navbar{
  position:fixed;top:0;left:0;right:0;z-index:1000;
  padding:1.25rem 0;transition:all var(--t-base) var(--ease);
}
.navbar.scrolled{
  background:rgba(0,5,15,0.85);
  backdrop-filter:blur(28px);-webkit-backdrop-filter:blur(28px);
  border-bottom:1px solid rgba(255,255,255,0.05);
  padding:0.8rem 0;
  box-shadow:0 4px 40px rgba(0,0,0,0.6);
}
.nav-inner{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;}
.nav-logo{
  display:flex;align-items:center;gap:0.6rem;
  font-size:1.25rem;font-weight:900;letter-spacing:-0.04em;
  text-decoration:none;color:#fff;flex-shrink:0;
}
.logo-icon{
  width:36px;height:36px;border-radius:9px;
  background:var(--g-primary);
  display:flex;align-items:center;justify-content:center;
  font-size:0.75rem;font-weight:900;color:#fff;
  box-shadow:0 0 20px rgba(37,99,235,0.5);
}
.logo-text em{
  background:var(--g-glow);-webkit-background-clip:text;-webkit-text-fill-color:transparent;
  background-clip:text;font-style:normal;
}
.nav-links{display:flex;align-items:center;gap:0.1rem;list-style:none;}
.nav-links a{
  font-size:0.85rem;font-weight:500;color:#94A3B8;
  text-decoration:none;padding:0.5rem 0.85rem;border-radius:var(--r-sm);
  transition:all var(--t-fast) var(--ease);position:relative;
}
.nav-links a:hover,.nav-links a.active-nav{color:#fff;background:rgba(255,255,255,0.05);}
.nav-links a.active-nav::after{
  content:'';position:absolute;bottom:2px;left:50%;transform:translateX(-50%);
  width:4px;height:4px;border-radius:50%;background:var(--blue-l);
}
.nav-cta{display:flex;align-items:center;gap:0.75rem;}

/* Hamburger */
.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:6px;background:none;border:none;}
.hamburger span{display:block;width:22px;height:1.5px;background:#fff;border-radius:var(--r-pill);transition:all var(--t-base) var(--ease);}
.hamburger.open span:nth-child(1){transform:translateY(6.5px) rotate(45deg);}
.hamburger.open span:nth-child(2){opacity:0;transform:scaleX(0);}
.hamburger.open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg);}

/* Mobile menu */
.mobile-menu{
  display:none;position:fixed;inset:0;z-index:999;
  background:rgba(0,5,15,0.97);backdrop-filter:blur(28px);-webkit-backdrop-filter:blur(28px);
  flex-direction:column;align-items:center;justify-content:center;gap:2rem;
}
.mobile-menu.open{display:flex;}
.mobile-menu a{font-size:1.5rem;font-weight:800;color:#fff;text-decoration:none;transition:color var(--t-fast) var(--ease);letter-spacing:-0.03em;}
.mobile-menu a:hover{color:var(--blue-l);}
.mobile-menu-close{position:absolute;top:1.5rem;right:1.5rem;background:none;border:none;color:#64748B;font-size:1.5rem;cursor:pointer;}

/* ═══════════════════════════════════════
   HERO  —  FIXED LAYOUT (no absolute stats)
═══════════════════════════════════════ */
.hero{
  position:relative;min-height:100vh;
  display:flex;align-items:center;
  overflow:hidden;
  padding:6rem 0 4rem;
}

/* Three.js canvas fills hero background */
#three-hero{
  position:absolute;inset:0;z-index:0;
  pointer-events:none;
}

/* Legacy canvas (particle network) hidden when three.js is active */
#hero-canvas-legacy{
  position:absolute;inset:0;z-index:0;pointer-events:none;
}

/* Atmospheric glow orbs */
.hero-orb{
  position:absolute;border-radius:50%;pointer-events:none;
  filter:blur(100px);z-index:1;
}
.hero-orb-1{width:700px;height:700px;background:radial-gradient(circle,rgba(37,99,235,0.1) 0%,transparent 70%);top:-200px;right:-100px;}
.hero-orb-2{width:600px;height:600px;background:radial-gradient(circle,rgba(124,58,237,0.08) 0%,transparent 70%);bottom:-100px;left:-150px;}
.hero-orb-3{width:400px;height:400px;background:radial-gradient(circle,rgba(6,182,212,0.05) 0%,transparent 70%);top:30%;left:20%;}

/* Animated grid background */
.hero-grid{
  position:absolute;inset:0;z-index:0;pointer-events:none;
  background-image:
    linear-gradient(rgba(37,99,235,0.04) 1px,transparent 1px),
    linear-gradient(90deg,rgba(37,99,235,0.04) 1px,transparent 1px);
  background-size:60px 60px;
  mask-image:radial-gradient(ellipse 70% 70% at 50% 50%,black 0%,transparent 100%);
}

/* Hero content */
.hero-content{
  position:relative;z-index:2;
  text-align:center;max-width:860px;margin:0 auto;
  padding:0 var(--px);
}

/* Badge */
.hero-badge{
  display:inline-flex;align-items:center;gap:0.5rem;
  background:rgba(37,99,235,0.08);border:1px solid rgba(37,99,235,0.2);
  border-radius:var(--r-pill);padding:0.4rem 1rem;
  font-size:0.8rem;font-weight:500;color:var(--blue-l);
  margin-bottom:2rem;
  animation:floatY 4s ease-in-out infinite;
}
.badge-dot{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 10px var(--green);animation:pulseDot 2s ease-in-out infinite;}

/* Hero headline */
.hero-title{
  font-size:clamp(2.5rem,6.5vw,5.25rem);
  font-weight:900;line-height:1.07;
  letter-spacing:-0.045em;margin-bottom:1.5rem;
}
.hero-title .grad-line{
  display:block;
  background:var(--g-glow);-webkit-background-clip:text;-webkit-text-fill-color:transparent;
  background-clip:text;background-size:200% auto;
  animation:gradSlide 4s ease-in-out infinite alternate;
}
@keyframes gradSlide{0%{background-position:0%}100%{background-position:100%}}

.hero-sub{
  font-size:clamp(1rem,2vw,1.1875rem);
  color:#94A3B8;max-width:620px;margin:0 auto 2.5rem;line-height:1.8;
}

/* Buttons row */
.hero-btns{
  display:flex;align-items:center;justify-content:center;
  gap:1rem;flex-wrap:wrap;margin-bottom:3.5rem;
}

/* ─── STATS CARDS — FIXED: in normal flow, not absolute ─── */
.hero-stats{
  display:flex;
  align-items:stretch;
  justify-content:center;
  gap:1px;
  max-width:560px;
  margin:0 auto 3rem;
  background:rgba(255,255,255,0.05);
  border:1px solid rgba(255,255,255,0.07);
  border-radius:var(--r-xl);
  overflow:hidden;
  backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
}
.hero-stat{
  flex:1;padding:1.25rem 1rem;text-align:center;
  position:relative;transition:background var(--t-fast) var(--ease);
}
.hero-stat:not(:last-child)::after{
  content:'';position:absolute;right:0;top:20%;height:60%;
  width:1px;background:rgba(255,255,255,0.07);
}
.hero-stat:hover{background:rgba(37,99,235,0.08);}
.hero-stat-num{
  font-size:1.75rem;font-weight:900;letter-spacing:-0.04em;
  background:var(--g-glow);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
  line-height:1;margin-bottom:0.3rem;
}
.hero-stat-label{font-size:0.7rem;color:#64748B;font-weight:500;letter-spacing:0.05em;}

/* Trust indicators */
.hero-trust{
  display:flex;align-items:center;justify-content:center;
  gap:1.5rem;flex-wrap:wrap;
}
.trust-item{
  display:flex;align-items:center;gap:0.45rem;
  font-size:0.8125rem;color:#64748B;font-weight:500;
}
.trust-item svg{width:14px;height:14px;color:var(--green);}

/* Floating code snippets */
.float-code{
  position:absolute;z-index:2;
  background:rgba(2,8,24,0.75);
  border:1px solid rgba(255,255,255,0.07);
  border-radius:var(--r-md);
  padding:0.7rem 0.9rem;
  font-family:var(--mono);font-size:0.68rem;color:#94A3B8;
  line-height:1.7;max-width:210px;
  backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  box-shadow:0 8px 32px rgba(0,0,0,0.4);
  pointer-events:none;
}
.float-code .kw  {color:#A78BFA;}
.float-code .str {color:#34D399;}
.float-code .fn  {color:#60A5FA;}
.float-code .var {color:#FDA4AF;}
.float-code .cmt {color:#475569;font-style:italic;}

.fc-1{top:18%;left:3%;animation:floatEl 7s ease-in-out infinite;}
.fc-2{top:55%;left:2%;animation:floatEl 9s ease-in-out infinite 1s;}
.fc-3{top:15%;right:3%;animation:floatEl 8s ease-in-out infinite 0.5s;}
.fc-4{top:58%;right:2%;animation:floatEl 6s ease-in-out infinite 2s;}

/* ═══════════════════════════════════════
   MARQUEE (3D CYLINDER CAROUSEL)
═══════════════════════════════════════ */
.marquee-wrap{
  padding:3rem 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);
  overflow:hidden;position:relative;
  perspective:1200px;
  cursor:grab;
  user-select:none;
}
.marquee-wrap:active{cursor:grabbing;}
.marquee-wrap::before,.marquee-wrap::after{
  content:'';position:absolute;top:0;bottom:0;width:18%;z-index:10;pointer-events:none;
}
.marquee-wrap::before{left:0;background:linear-gradient(90deg,var(--bg) 20%,transparent 100%);}
.marquee-wrap::after{right:0;background:linear-gradient(-90deg,var(--bg) 20%,transparent 100%);}
.marquee-label{text-align:center;font-size:0.75rem;letter-spacing:0.2em;text-transform:uppercase;color:#475569;margin-bottom:2rem;}
.marquee-track{
  display:flex;
  gap:3rem;
  width:max-content;
  transform-style:preserve-3d;
  transition:none;
}
.marquee-item{
  display:flex;align-items:center;gap:0.6rem;font-size:0.875rem;font-weight:600;
  color:#475569;white-space:nowrap;padding:0.55rem 1.1rem;
  border-radius:var(--r-md);
  border:1px solid rgba(255,255,255,0.02);
  background:rgba(255,255,255,0.01);
  transition:color var(--t-fast) var(--ease), border-color 0.3s, background 0.3s, box-shadow 0.3s;
  transform-style:preserve-3d;
  backface-visibility:hidden;
}
.marquee-item:hover{
  color:#fff;
  border-color:rgba(59,130,246,0.3);
  background:rgba(37,99,235,0.06);
  box-shadow:0 0 25px rgba(37,99,235,0.12), inset 0 0 10px rgba(37,99,235,0.08);
}

/* ═══════════════════════════════════════
   SERVICES
═══════════════════════════════════════ */
.services-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(275px,1fr));gap:1.25rem;}

.svc-card{
  background:var(--bg-card);
  border:1px solid var(--border);
  border-radius:var(--r-lg);
  padding:2rem;
  position:relative;overflow:hidden;
  cursor:default;
  transition:all var(--t-base) var(--ease);
  transform-style:preserve-3d;
}
/* Top-edge gradient bar */
.svc-card::before{
  content:'';position:absolute;top:0;left:0;right:0;height:1px;
  background:var(--g-primary);opacity:0;
  transition:opacity var(--t-base) var(--ease);
}
/* Corner glow */
.svc-card::after{
  content:'';position:absolute;
  top:-60px;left:-60px;width:160px;height:160px;
  border-radius:50%;background:radial-gradient(circle,rgba(37,99,235,0.15),transparent 70%);
  opacity:0;transition:opacity var(--t-slow) var(--ease);
}
.svc-card:hover{
  border-color:rgba(37,99,235,0.3);
  transform:translateY(-8px) perspective(800px) rotateX(2deg);
  box-shadow:var(--shadow-glow),var(--shadow-card);
  background:var(--bg-card-h);
}
.svc-card:hover::before,.svc-card:hover::after{opacity:1;}

.svc-icon{
  width:54px;height:54px;border-radius:var(--r-md);
  display:flex;align-items:center;justify-content:center;
  font-size:1.4rem;margin-bottom:1.25rem;
  background:rgba(37,99,235,0.08);
  border:1px solid rgba(37,99,235,0.15);
  position:relative;transition:all var(--t-base) var(--ease);
}
.svc-card:hover .svc-icon{
  background:rgba(37,99,235,0.15);
  box-shadow:0 0 30px rgba(37,99,235,0.3);
  transform:scale(1.1) rotate(-3deg);
}
.svc-card h3{font-size:1rem;font-weight:700;margin-bottom:0.6rem;letter-spacing:-0.02em;}
.svc-card p{font-size:0.85rem;color:#64748B;line-height:1.7;}
.svc-arrow{
  display:inline-flex;align-items:center;gap:0.4rem;
  font-size:0.78rem;font-weight:600;color:var(--blue-l);
  margin-top:1.25rem;opacity:0;transform:translateY(8px);
  transition:all var(--t-base) var(--ease);
}
.svc-card:hover .svc-arrow{opacity:1;transform:translateY(0);}

/* ═══════════════════════════════════════
   STATS BAR
═══════════════════════════════════════ */
.stats-section{padding:5rem 0;}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;}
.stat-block{
  text-align:center;padding:2.5rem 1.5rem;
  border-radius:var(--r-xl);
  background:var(--bg-card);
  border:1px solid var(--border);
  position:relative;overflow:hidden;
  transition:all var(--t-base) var(--ease);
}
.stat-block::before{
  content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);
  width:50%;height:1px;background:var(--g-primary);opacity:0.7;
}
.stat-block:hover{transform:translateY(-4px);border-color:var(--border-h);box-shadow:var(--shadow-glow-sm);}
.stat-num{
  font-size:clamp(2.25rem,5vw,3.5rem);font-weight:900;letter-spacing:-0.05em;line-height:1;
  background:var(--g-glow);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
  margin-bottom:0.5rem;
}
.stat-label{font-size:0.85rem;color:#64748B;font-weight:500;}

/* ═══════════════════════════════════════
   FEATURES (WHY US)
═══════════════════════════════════════ */
.features-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(255px,1fr));gap:1.25rem;}
.feat-card{
  background:var(--bg-card);border:1px solid var(--border);
  border-radius:var(--r-lg);padding:1.75rem;
  transition:all var(--t-base) var(--ease);
}
.feat-card:hover{
  border-color:var(--border-h);transform:translateY(-4px);
  box-shadow:var(--shadow-glow-sm);background:var(--bg-card-h);
}
.feat-icon{
  width:46px;height:46px;border-radius:var(--r-md);
  background:rgba(37,99,235,0.08);border:1px solid rgba(37,99,235,0.15);
  display:flex;align-items:center;justify-content:center;font-size:1.1rem;
  margin-bottom:1rem;transition:all var(--t-base) var(--ease);
}
.feat-card:hover .feat-icon{background:rgba(37,99,235,0.15);box-shadow:0 0 25px rgba(37,99,235,0.25);}
.feat-card h3{font-size:0.9375rem;font-weight:700;margin-bottom:0.45rem;letter-spacing:-0.01em;}
.feat-card p{font-size:0.84rem;color:#64748B;line-height:1.65;}

/* ═══════════════════════════════════════
   PORTFOLIO
═══════════════════════════════════════ */
.portfolio-tabs{display:flex;justify-content:center;gap:0.5rem;flex-wrap:wrap;margin-bottom:3rem;}
.tab-btn{
  padding:0.45rem 1.25rem;border-radius:var(--r-pill);font-size:0.85rem;font-weight:500;
  cursor:pointer;border:1px solid var(--border);background:transparent;color:#64748B;
  transition:all var(--t-fast) var(--ease);
}
.tab-btn:hover{border-color:var(--blue);color:var(--blue-l);}
.tab-btn.active{background:var(--g-primary);border-color:transparent;color:#fff;box-shadow:0 0 25px rgba(37,99,235,0.35);}

.portfolio-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:1.5rem;}
.port-card{
  border-radius:var(--r-xl);overflow:hidden;
  background:var(--bg-card);border:1px solid var(--border);
  transition:all var(--t-base) var(--ease);cursor:pointer;
}
.port-card:hover{transform:translateY(-8px);border-color:rgba(37,99,235,0.3);box-shadow:var(--shadow-glow),var(--shadow-card);}
.port-img{width:100%;height:220px;object-fit:cover;display:block;transition:transform 0.6s var(--ease);}
.port-card:hover .port-img{transform:scale(1.06);}
.port-body{padding:1.5rem;}
.port-tag{font-size:0.68rem;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:var(--blue-l);margin-bottom:0.5rem;}
.port-body h3{font-size:1.0625rem;font-weight:700;margin-bottom:0.45rem;letter-spacing:-0.02em;}
.port-body p{font-size:0.84rem;color:#64748B;line-height:1.65;margin-bottom:1rem;}
.port-metrics{display:flex;gap:1rem;flex-wrap:wrap;}
.port-metric{font-size:0.73rem;color:#475569;display:flex;align-items:center;gap:0.3rem;}
.port-metric strong{color:var(--green);font-weight:600;}

/* ═══════════════════════════════════════
   PROCESS — 3D TIMELINE
═══════════════════════════════════════ */
.process-wrap{display:grid;grid-template-columns:1fr 1.1fr;gap:4rem;align-items:start;}
.process-timeline{position:relative;}
.process-timeline::before{
  content:'';position:absolute;left:30px;top:30px;bottom:30px;width:1px;
  background:linear-gradient(to bottom,var(--blue),var(--purple),transparent);opacity:0.25;
}
.process-step{display:flex;gap:1.5rem;margin-bottom:2rem;}
.step-num{
  flex-shrink:0;width:62px;height:62px;border-radius:50%;
  background:var(--bg-2);border:1.5px solid rgba(37,99,235,0.25);
  display:flex;align-items:center;justify-content:center;
  flex-direction:column;position:relative;z-index:1;
  transition:all var(--t-base) var(--ease);
}
.process-step:hover .step-num{
  border-color:var(--blue);background:rgba(37,99,235,0.08);
  box-shadow:0 0 30px rgba(37,99,235,0.3);
}
.step-n{font-size:0.6rem;color:#475569;font-weight:700;letter-spacing:0.05em;}
.step-icon{font-size:1.1rem;}
.step-body{
  background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-lg);
  padding:1.25rem 1.75rem;flex:1;transition:all var(--t-base) var(--ease);
}
.process-step:hover .step-body{border-color:rgba(37,99,235,0.25);transform:translateX(4px);}
.step-body h3{font-size:0.9375rem;font-weight:700;margin-bottom:0.35rem;letter-spacing:-0.02em;}
.step-body p{font-size:0.84rem;color:#64748B;line-height:1.65;}

/* ═══════════════════════════════════════
   TECH STACK — 3D FLOATING GRID
═══════════════════════════════════════ */
.tech-grid{display:flex;flex-wrap:wrap;gap:0.875rem;justify-content:center;max-width:900px;margin:0 auto;}
.tech-pill{
  display:flex;align-items:center;gap:0.6rem;
  background:var(--bg-card);border:1px solid var(--border);
  border-radius:var(--r-md);padding:0.7rem 1.1rem;
  font-size:0.875rem;font-weight:600;color:#64748B;
  cursor:default;
  transition:all var(--t-base) var(--ease-spring);
}
.tech-pill:hover{
  color:#fff;border-color:rgba(37,99,235,0.4);
  transform:translateY(-6px) scale(1.06);
  box-shadow:var(--shadow-glow-sm);
  background:rgba(37,99,235,0.08);
}
.tech-pill .ti{font-size:1.2rem;}

/* ═══════════════════════════════════════
   TESTIMONIALS — INFINITE CAROUSEL
═══════════════════════════════════════ */
.testi-carousel{overflow:hidden;position:relative;margin:0 -2rem;padding:1rem 2rem;}
.testi-track{display:flex;gap:1.5rem;animation:testiScroll 32s linear infinite;width:max-content;}
.testi-track:hover{animation-play-state:paused;}
.testi-card{
  background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-xl);
  padding:2rem;min-width:340px;max-width:340px;
  transition:all var(--t-base) var(--ease);
}
.testi-card:hover{border-color:var(--border-h);transform:translateY(-4px);box-shadow:var(--shadow-glow-sm);}
.testi-stars{color:#F59E0B;font-size:0.85rem;margin-bottom:1rem;}
.testi-text{font-size:0.9rem;color:#64748B;line-height:1.75;margin-bottom:1.5rem;font-style:italic;}
.testi-author{display:flex;align-items:center;gap:0.85rem;}
.testi-avatar{
  width:44px;height:44px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-size:1rem;font-weight:800;color:#fff;flex-shrink:0;
}
.av-blue  {background:linear-gradient(135deg,#2563EB,#1D4ED8);}
.av-purple{background:linear-gradient(135deg,#7C3AED,#5B21B6);}
.av-green {background:linear-gradient(135deg,#10B981,#059669);}
.av-red   {background:linear-gradient(135deg,#EF4444,#DC2626);}
.av-amber {background:linear-gradient(135deg,#F59E0B,#D97706);}
.av-cyan  {background:linear-gradient(135deg,#06B6D4,#0891B2);}
.testi-name{font-size:0.9rem;font-weight:700;}
.testi-role{font-size:0.75rem;color:#475569;margin-top:0.15rem;}

/* ═══════════════════════════════════════
   PRICING
═══════════════════════════════════════ */
.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;max-width:1020px;margin:0 auto;}
.price-card{
  background:var(--bg-card);border:1px solid var(--border);
  border-radius:var(--r-xl);padding:2.5rem 2rem;
  text-align:center;position:relative;
  transition:all var(--t-base) var(--ease);
}
.price-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-glow-sm);}
.price-card.popular{
  border-color:rgba(37,99,235,0.4);background:rgba(37,99,235,0.05);
  transform:scale(1.03);
}
.price-card.popular:hover{transform:scale(1.03) translateY(-6px);}
.popular-badge{
  position:absolute;top:-13px;left:50%;transform:translateX(-50%);
  background:var(--g-primary);color:#fff;font-size:0.68rem;font-weight:700;
  letter-spacing:0.1em;text-transform:uppercase;padding:0.3rem 1rem;
  border-radius:var(--r-pill);white-space:nowrap;box-shadow:0 0 20px rgba(37,99,235,0.4);
}
.price-tier{font-size:0.72rem;font-weight:700;letter-spacing:0.15em;text-transform:uppercase;color:var(--blue-l);margin-bottom:0.75rem;}
.price-name{font-size:1.35rem;font-weight:800;letter-spacing:-0.02em;margin-bottom:0.5rem;}
.price-desc{font-size:0.84rem;color:#64748B;line-height:1.6;margin-bottom:1.5rem;}
.price-divider{height:1px;background:var(--border);margin-bottom:1.5rem;}
.price-features{list-style:none;text-align:left;margin-bottom:2rem;}
.price-features li{
  display:flex;align-items:flex-start;gap:0.6rem;
  font-size:0.84rem;color:#64748B;padding:0.375rem 0;
}
.price-features li::before{content:'✓';color:var(--green);font-weight:700;flex-shrink:0;margin-top:0.05em;}
.price-note{font-size:0.73rem;color:#475569;margin-top:0.75rem;}

/* ═══════════════════════════════════════
   GLOBAL — 3D GLOBE SECTION
═══════════════════════════════════════ */
.global-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;}
.globe-wrap{
  position:relative;border-radius:var(--r-xl);overflow:hidden;
  border:1px solid var(--border);
  background:rgba(2,8,24,0.5);
  aspect-ratio:1;
  max-height:400px;
}
#three-globe{width:100%;height:100%;}
.global-stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:2rem 0;}
.g-stat{
  background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-lg);
  padding:1.25rem;text-align:center;transition:all var(--t-fast) var(--ease);
}
.g-stat:hover{border-color:var(--border-h);transform:translateY(-2px);}
.g-stat-num{font-size:1.75rem;font-weight:900;background:var(--g-glow);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.g-stat-label{font-size:0.73rem;color:#475569;margin-top:0.2rem;}
.country-chips{display:flex;flex-wrap:wrap;gap:0.5rem;}
.chip{
  background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.06);
  border-radius:var(--r-sm);padding:0.3rem 0.7rem;font-size:0.75rem;color:#64748B;
  display:flex;align-items:center;gap:0.35rem;
}

/* ═══════════════════════════════════════
   CONTACT
═══════════════════════════════════════ */
.contact-grid{display:grid;grid-template-columns:1fr 1.25fr;gap:3.5rem;align-items:start;}
.contact-info h2{font-size:clamp(1.75rem,3vw,2.5rem);font-weight:900;letter-spacing:-0.035em;margin-bottom:1rem;line-height:1.15;}
.contact-info p{color:#64748B;font-size:1rem;line-height:1.75;margin-bottom:2rem;}
.contact-links{display:flex;flex-direction:column;gap:0.875rem;margin-bottom:2rem;}
.c-link{
  display:flex;align-items:center;gap:1rem;text-decoration:none;
  padding:1rem 1.25rem;background:var(--bg-card);border:1px solid var(--border);
  border-radius:var(--r-lg);color:#fff;transition:all var(--t-base) var(--ease);
}
.c-link:hover{border-color:var(--border-h);background:rgba(37,99,235,0.06);transform:translateX(4px);}
.c-icon{width:44px;height:44px;border-radius:var(--r-md);display:flex;align-items:center;justify-content:center;font-size:1.2rem;flex-shrink:0;}
.c-icon.blue  {background:rgba(37,99,235,0.12);}
.c-icon.green {background:rgba(16,185,129,0.12);}
.c-icon.purple{background:rgba(124,58,237,0.12);}
.c-link-label{font-size:0.73rem;color:#475569;margin-bottom:0.15rem;}
.c-link-value{font-size:0.9rem;font-weight:600;}
.wa-btn{
  display:inline-flex;align-items:center;gap:0.6rem;
  padding:0.85rem 1.5rem;background:#25D366;color:#fff;
  border-radius:var(--r-md);font-weight:600;font-size:0.9rem;
  text-decoration:none;transition:all var(--t-base) var(--ease);
  box-shadow:0 0 30px rgba(37,211,102,0.3);
}
.wa-btn:hover{background:#20BC5B;transform:translateY(-2px);box-shadow:0 0 50px rgba(37,211,102,0.45);}

/* Form */
.form-wrap{
  background:var(--bg-card);border:1px solid var(--border);
  border-radius:var(--r-xl);padding:2.5rem;
  backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);
}
.form-wrap h3{font-size:1.25rem;font-weight:800;margin-bottom:0.35rem;letter-spacing:-0.02em;}
.form-sub{font-size:0.84rem;color:#64748B;margin-bottom:1.75rem;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
.form-group{margin-bottom:1.1rem;}
.form-group label{display:block;font-size:0.78rem;font-weight:500;color:#64748B;margin-bottom:0.45rem;}
.form-group input,.form-group select,.form-group textarea{
  width:100%;padding:0.75rem 1rem;
  background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.07);
  border-radius:var(--r-md);color:#F1F5F9;
  font-family:var(--font);font-size:0.875rem;
  transition:all var(--t-fast) var(--ease);outline:none;-webkit-appearance:none;appearance:none;
}
.form-group select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2364748B' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;padding-right:2.5rem;cursor:pointer;}
.form-group select option{background:var(--bg-2);}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(37,99,235,0.12);background:rgba(37,99,235,0.04);}
.form-group textarea{resize:vertical;min-height:115px;}
.form-group input::placeholder,.form-group textarea::placeholder{color:#334155;}
.form-row-submit{display:flex;align-items:center;gap:1rem;margin-top:1.5rem;flex-wrap:wrap;}
.form-ok{display:none;align-items:center;gap:0.4rem;color:var(--green);font-size:0.84rem;font-weight:500;}
.form-ok.show{display:flex;}

/* ═══════════════════════════════════════
   CTA BANNER
═══════════════════════════════════════ */
.cta-section{padding:5rem 0;}
.cta-card{
  background:linear-gradient(135deg,rgba(37,99,235,0.1),rgba(124,58,237,0.07));
  border:1px solid rgba(37,99,235,0.18);border-radius:var(--r-2xl);
  padding:4.5rem 3rem;text-align:center;position:relative;overflow:hidden;
}
.cta-card::before{
  content:'';position:absolute;top:-40%;left:50%;transform:translateX(-50%);
  width:500px;height:500px;
  background:radial-gradient(circle,rgba(37,99,235,0.12),transparent 70%);pointer-events:none;
}
.cta-card h2{font-size:clamp(1.75rem,4vw,2.75rem);font-weight:900;letter-spacing:-0.035em;margin-bottom:1rem;line-height:1.15;}
.cta-card p{font-size:1rem;color:#64748B;max-width:520px;margin:0 auto 2.25rem;line-height:1.75;}
.cta-btns{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap;}

/* ═══════════════════════════════════════
   FOOTER
═══════════════════════════════════════ */
.footer{border-top:1px solid var(--border);padding:4rem 0 2rem;background:linear-gradient(to top,rgba(37,99,235,0.02),transparent);}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:3rem;margin-bottom:3rem;}
.footer-brand p{font-size:0.84rem;color:#475569;line-height:1.75;margin:1rem 0 1.5rem;max-width:280px;}
.footer-social{display:flex;gap:0.65rem;}
.footer-social a{
  width:38px;height:38px;background:var(--bg-card);border:1px solid var(--border);
  border-radius:var(--r-md);display:flex;align-items:center;justify-content:center;
  color:#475569;text-decoration:none;font-size:0.85rem;font-weight:700;
  transition:all var(--t-fast) var(--ease);
}
.footer-social a:hover{border-color:var(--blue);color:var(--blue-l);transform:translateY(-2px);background:rgba(37,99,235,0.08);}
.footer-col h4{font-size:0.84rem;font-weight:700;color:#fff;margin-bottom:1.25rem;}
.footer-col ul{list-style:none;}
.footer-col ul li{margin-bottom:0.55rem;}
.footer-col ul a{font-size:0.82rem;color:#475569;text-decoration:none;transition:all var(--t-fast) var(--ease);display:inline-block;}
.footer-col ul a:hover{color:var(--blue-l);transform:translateX(3px);}
.footer-bottom{border-top:1px solid var(--border);padding-top:1.75rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;}
.footer-bottom p{font-size:0.79rem;color:#334155;}
.footer-links-row{display:flex;gap:1.5rem;}
.footer-links-row a{font-size:0.79rem;color:#334155;text-decoration:none;transition:color var(--t-fast) var(--ease);}
.footer-links-row a:hover{color:var(--blue-l);}

/* ═══════════════════════════════════════
   BACK TO TOP
═══════════════════════════════════════ */
#btt{
  position:fixed;bottom:2rem;right:2rem;z-index:500;
  width:44px;height:44px;border-radius:50%;
  background:rgba(37,99,235,0.15);border:1px solid rgba(37,99,235,0.3);
  display:flex;align-items:center;justify-content:center;
  color:var(--blue-l);cursor:pointer;opacity:0;pointer-events:none;
  transition:all var(--t-base) var(--ease);backdrop-filter:blur(10px);
}
#btt:hover{background:rgba(37,99,235,0.3);transform:translateY(-2px);}
#btt svg{width:18px;height:18px;}

/* ═══════════════════════════════════════
   LEGAL PAGES
═══════════════════════════════════════ */
.legal-hero{padding:9rem 0 3.5rem;border-bottom:1px solid var(--border);}
.legal-body{max-width:800px;margin:0 auto;padding:4rem var(--px);}
.legal-body h2{font-size:1.35rem;font-weight:800;margin:2.5rem 0 0.75rem;letter-spacing:-0.02em;}
.legal-body h3{font-size:1rem;font-weight:600;margin:1.5rem 0 0.5rem;color:#94A3B8;}
.legal-body p{font-size:0.9375rem;color:#64748B;line-height:1.85;margin-bottom:1rem;}
.legal-body ul{padding-left:1.5rem;margin-bottom:1rem;}
.legal-body ul li{font-size:0.9375rem;color:#64748B;line-height:1.75;margin-bottom:0.4rem;}
.legal-body a{color:var(--blue-l);text-decoration:underline;}
.legal-updated{display:inline-flex;align-items:center;gap:0.45rem;font-size:0.78rem;color:#475569;margin-top:0.75rem;}

/* ═══════════════════════════════════════
   RESPONSIVE
═══════════════════════════════════════ */
@media(max-width:1024px){
  :root{--section-py:5.5rem;}
  .stats-grid{grid-template-columns:repeat(2,1fr);}
  .pricing-grid{grid-template-columns:1fr;max-width:420px;}
  .price-card.popular{transform:none;}
  .price-card.popular:hover{transform:translateY(-6px);}
  .global-grid{grid-template-columns:1fr;}
  .contact-grid{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr 1fr;gap:2rem;}
  .process-wrap{grid-template-columns:1fr;}
}
@media(max-width:768px){
  :root{--section-py:4rem;}
  .nav-links,.nav-cta .btn-secondary{display:none;}
  .hamburger{display:flex;}
  .hero-title{font-size:clamp(2rem,8vw,3.25rem);}
  .hero-stats{flex-direction:column;gap:0;max-width:100%;}
  .hero-stat:not(:last-child)::after{right:auto;bottom:0;left:20%;width:60%;height:1px;top:auto;}
  .fc-1,.fc-2,.fc-3,.fc-4{display:none;}
  .services-grid{grid-template-columns:1fr;}
  .portfolio-grid{grid-template-columns:1fr;}
  .features-grid{grid-template-columns:1fr 1fr;}
  .footer-grid{grid-template-columns:1fr;}
  .form-row{grid-template-columns:1fr;}
  .cta-card{padding:2.5rem 1.5rem;}
  .cursor,.cursor-ring{display:none;}
}
@media(max-width:480px){
  .features-grid{grid-template-columns:1fr;}
  .hero-btns{flex-direction:column;align-items:center;}
  .hero-trust{flex-direction:column;gap:0.75rem;}
  .footer-bottom{flex-direction:column;text-align:center;}
  .footer-links-row{flex-wrap:wrap;justify-content:center;gap:1rem;}
}

/* ═══════════════════════════════════════
   UTILITIES
═══════════════════════════════════════ */
.text-center{text-align:center;}
.w-full{width:100%;}
.mt-2{margin-top:1rem;}.mt-3{margin-top:1.5rem;}.mt-4{margin-top:2rem;}
.mb-0{margin-bottom:0;}
.hidden{display:none!important;}
.current-year{}
