/* ============================================================
   NEXORA — LIGHT MULTI-COLOR VIBRANT TECH DESIGN SYSTEM
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700;800&family=Inter:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500;600&display=swap');

:root {
  --bg:#f8faff; --bg-alt:#f0f4fe; --bg-card:#ffffff;
  --surface:#ffffff; --surface-line:#e2e8f7;
  --glass:rgba(255,255,255,0.7); --glass-border:rgba(120,100,255,0.15);
  --ink:#0f0f2d; --ink-soft:#4a507a; --ink-faint:#9098c0;
  --blue:#3b82f6; --blue-bright:#2563eb;
  --purple:#7c3aed; --purple-bright:#6d28d9;
  --cyan:#0891b2; --cyan-bright:#0e7490;
  --pink:#db2777; --pink-bright:#be185d;
  --amber:#d97706; --amber-bright:#b45309;
  --green:#059669; --green-bright:#047857;
  --orange:#ea580c; --teal:#0d9488;
  --blue-10:rgba(59,130,246,0.10); --blue-15:rgba(59,130,246,0.15);
  --purple-10:rgba(124,58,237,0.10); --purple-15:rgba(124,58,237,0.15);
  --cyan-10:rgba(8,145,178,0.10); --cyan-15:rgba(8,145,178,0.15);
  --pink-10:rgba(219,39,119,0.10); --amber-10:rgba(217,119,6,0.10);
  --green-10:rgba(5,150,105,0.10);
  --grad-brand:linear-gradient(135deg,#3b82f6 0%,#7c3aed 40%,#db2777 80%,#d97706 100%);
  --grad-cool:linear-gradient(135deg,#0891b2 0%,#3b82f6 50%,#7c3aed 100%);
  --grad-warm:linear-gradient(135deg,#db2777 0%,#d97706 100%);
  --grad-text:linear-gradient(135deg,#3b82f6 0%,#7c3aed 50%,#db2777 100%);
  --glow-blue:0 4px 24px rgba(59,130,246,0.25);
  --glow-purple:0 4px 24px rgba(124,58,237,0.25);
  --glow-cyan:0 4px 24px rgba(8,145,178,0.25);
  --glow-pink:0 4px 24px rgba(219,39,119,0.25);
  --glow-green:0 4px 24px rgba(5,150,105,0.25);
  --display:'Space Grotesk',sans-serif; --body:'Inter',sans-serif; --mono:'JetBrains Mono',monospace;
  --r-sm:8px; --r-md:16px; --r-lg:22px; --r-xl:30px;
  --shadow-sm:0 2px 8px rgba(15,15,45,0.06);
  --shadow-md:0 8px 28px rgba(15,15,45,0.10);
  --shadow-lg:0 20px 50px rgba(15,15,45,0.13);
  --container:1240px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;opacity:1}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}

/* --- CRISP WHITE FIT SPLASH SCREEN STYLES --- */
#splash-screen {
  position: fixed;
  inset: 0;
  z-index: 999999;
  background: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  transition: opacity 0.4s cubic-bezier(0.2, 0.8, 0.2, 1), visibility 0.4s cubic-bezier(0.2, 0.8, 0.2, 1);
}
#splash-screen.fade-out {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
.splash-video-wrap {
  width: 100vw;
  height: 100vh;
  position: absolute;
  inset: 0;
  background: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.splash-video-wrap video {
  max-width: 100vw;
  max-height: 100vh;
  width: auto;
  height: auto;
  object-fit: contain;
  display: block;
}
.splash-loader-bar {
  position: absolute;
  bottom: 0;
  left: 0;
  height: 4px;
  width: 0%;
  background: var(--grad-brand);
  z-index: 2;
  transition: width 0.1s linear;
}
.splash-skip-btn {
  position: absolute;
  bottom: 30px;
  right: 30px;
  z-index: 3;
  font-family: var(--mono);
  font-size: 12px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--ink);
  background: rgba(255,255,255,0.9);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1.5px solid var(--surface-line);
  padding: 10px 22px;
  border-radius: 100px;
  cursor: pointer;
  box-shadow: var(--shadow-md);
  transition: all 0.25s;
}
.splash-skip-btn:hover {
  background: var(--purple-10);
  color: var(--purple);
  border-color: var(--purple);
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
ul{margin:0;padding:0;list-style:none}
button{font-family:inherit;cursor:pointer;border:none;background:none}
::selection{background:var(--purple);color:#fff}
@media(prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;transition-duration:.001ms!important}}
body::before{content:'';position:fixed;inset:0;background-image:radial-gradient(circle,rgba(124,58,237,0.055) 1px,transparent 1px);background-size:28px 28px;pointer-events:none;z-index:0}
.wrap{max-width:var(--container);margin:0 auto;padding:0 32px}
h1,h2,h3,h4,h5{font-family:var(--display);font-weight:700;line-height:1.1;letter-spacing:-0.02em;margin:0;color:var(--ink)}
.eyebrow{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:11.5px;letter-spacing:0.10em;text-transform:uppercase;color:var(--purple);background:var(--purple-10);border:1px solid rgba(124,58,237,0.25);padding:6px 16px;border-radius:100px}
.eyebrow::before{content:'';width:5px;height:5px;border-radius:50%;background:var(--grad-brand);animation:blink 2s ease infinite}
@keyframes blink{0%,100%{opacity:1}50%{opacity:0.3}}
p.lead{color:var(--ink-soft);font-size:1.08rem;max-width:56ch;line-height:1.75}
#scroll-progress{position:fixed;top:0;left:0;height:3px;width:0%;background:var(--grad-brand);z-index:9999;box-shadow:0 0 10px rgba(124,58,237,0.4);transition:width 0.1s ease-out}
.nav{position:fixed;top:0;left:0;right:0;z-index:1000;padding:18px 0;transition:all 0.4s ease}
.nav.scrolled{background:rgba(248,250,255,0.94);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-bottom:1px solid var(--surface-line);box-shadow:0 4px 30px rgba(15,15,45,0.07);padding:12px 0}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px}
.logo{display:flex;align-items:center;gap:10px;font-family:var(--display);font-weight:800;font-size:20px;color:var(--ink)}
.logo-img{height:38px;width:auto;max-width:180px;object-fit:contain;border-radius:6px;}
.logo-mark{width:34px;height:34px;border-radius:10px;background:var(--grad-brand);position:relative;flex-shrink:0;box-shadow:var(--glow-purple)}
.logo-mark::after{content:'';position:absolute;inset:8px;border:2px solid rgba(255,255,255,0.85);border-radius:3px;transform:rotate(20deg)}
.nav-links{display:flex;align-items:center;gap:2px}
.nav-links a{padding:8px 16px;border-radius:100px;font-size:14px;font-weight:500;color:var(--ink-soft);transition:all 0.25s}
.nav-links a:hover,.nav-links a.active{color:var(--purple);background:var(--purple-10)}
.nav-cta{display:flex;align-items:center;gap:10px}
.nav-toggle{display:none;width:40px;height:40px;border-radius:10px;background:var(--surface);border:1px solid var(--surface-line);align-items:center;justify-content:center}
.nav-toggle span,.nav-toggle span::before,.nav-toggle span::after{content:'';display:block;width:18px;height:1.5px;background:var(--ink);position:relative;transition:0.3s}
.nav-toggle span::before{position:absolute;top:-6px}
.nav-toggle span::after{position:absolute;top:6px}
@media(max-width:900px){.nav-links{position:fixed;inset:64px 16px auto 16px;flex-direction:column;align-items:stretch;background:rgba(255,255,255,0.97);backdrop-filter:blur(20px);border:1px solid var(--surface-line);border-radius:var(--r-lg);padding:12px;box-shadow:var(--shadow-lg);opacity:0;visibility:hidden;transform:translateY(-10px);transition:0.3s ease}.nav-links.open{opacity:1;visibility:visible;transform:translateY(0)}.nav-links a{padding:12px 16px}.nav-toggle{display:flex}.nav-cta .btn-ghost{display:none}}
.btn{position:relative;display:inline-flex;align-items:center;gap:8px;padding:13px 28px;border-radius:100px;font-weight:600;font-size:15px;border:1px solid transparent;transition:all 0.3s cubic-bezier(0.2,0.8,0.2,1);white-space:nowrap;cursor:pointer;font-family:var(--body)}
.btn:active{transform:scale(0.97)}
.btn-primary{color:#fff;background:var(--grad-brand);box-shadow:0 6px 24px rgba(124,58,237,0.35)}
.btn-primary:hover{transform:translateY(-3px);box-shadow:0 14px 36px rgba(124,58,237,0.45);filter:brightness(1.05)}
.btn-ghost{color:var(--ink);background:var(--surface);border:1.5px solid var(--surface-line)}
.btn-ghost:hover{border-color:var(--purple);color:var(--purple);transform:translateY(-3px);box-shadow:var(--glow-purple);background:var(--purple-10)}
.btn-sm{padding:9px 20px;font-size:13.5px}
.btn-outline-cyan{color:var(--cyan);border:1.5px solid rgba(8,145,178,0.4);background:var(--cyan-10)}
.btn-outline-cyan:hover{border-color:var(--cyan);box-shadow:var(--glow-cyan);transform:translateY(-3px);background:var(--cyan-15)}
section{position:relative;padding:110px 0;z-index:1}
.section-tight{padding:70px 0}
.section-alt{background:var(--bg-alt)}
.section-head{max-width:640px;margin-bottom:56px}
.section-head h2{font-size:clamp(2rem,4vw,2.8rem);margin-top:14px;background:var(--grad-text);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero{position:relative;padding:170px 0 100px;overflow:hidden;min-height:100vh;display:flex;align-items:center}
.hero-canvas-wrap{position:absolute;inset:0;z-index:0;pointer-events:none}
#hero-canvas{width:100%;height:100%;display:block}
.blob{position:absolute;border-radius:50%;filter:blur(80px);opacity:0.2;z-index:0;pointer-events:none;animation:orbFloat 8s ease-in-out infinite}
.blob:nth-child(2){animation-delay:-3s}
.blob:nth-child(3){animation-delay:-5s}
@keyframes orbFloat{0%,100%{transform:translate(0,0) scale(1)}33%{transform:translate(20px,-30px) scale(1.05)}66%{transform:translate(-15px,20px) scale(0.95)}}
.hero-grid{display:grid;grid-template-columns:1.05fr 0.95fr;gap:60px;align-items:center;position:relative;z-index:2}
.hero h1{font-size:clamp(2.8rem,5.5vw,4.8rem);margin-top:22px;font-weight:800}
.hero h1 .accent{background:var(--grad-brand);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero p.lead{margin-top:22px}
.hero-cta{display:flex;gap:14px;margin-top:36px;flex-wrap:wrap}
.hero-stats{display:flex;gap:0;margin-top:52px;border:1.5px solid var(--surface-line);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-sm);overflow:hidden}
.hero-stat{flex:1;padding:20px 14px;text-align:center;border-right:1px solid var(--surface-line)}
.hero-stat:last-child{border-right:none}
.hero-stat b{display:block;font-family:var(--display);font-size:1.9rem;font-weight:700;background:var(--grad-brand);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero-stat span{font-size:12px;color:var(--ink-faint);margin-top:3px;display:block}
.hero-visual{position:relative;z-index:2;max-width:440px;margin:0 auto}
.mock-card{background:var(--surface);border:1.5px solid var(--surface-line);border-radius:var(--r-xl);box-shadow:var(--shadow-lg);padding:26px;transform:perspective(1000px) rotateY(-6deg) rotateX(3deg);transition:transform 0.5s;position:relative;overflow:hidden}
.mock-card::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(59,130,246,0.04),rgba(124,58,237,0.03))}
.mock-card:hover{transform:perspective(1000px) rotateY(-2deg) rotateX(1deg)}
.mock-dots{display:flex;gap:6px;margin-bottom:16px}
.mock-dots span{width:10px;height:10px;border-radius:50%}
.mock-dots span:nth-child(1){background:#ef4444}
.mock-dots span:nth-child(2){background:#f59e0b}
.mock-dots span:nth-child(3){background:#10b981}
.mock-bars{display:flex;flex-direction:column;gap:10px}
.mock-bars .bar{height:10px;border-radius:6px;background:var(--bg-alt);overflow:hidden}
.mock-bars .bar i{display:block;height:100%;background:var(--grad-brand);border-radius:6px}
.mock-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:16px}
.mock-tiles div{aspect-ratio:1;border-radius:10px;background:var(--bg-alt);border:1px solid var(--surface-line);display:flex;align-items:center;justify-content:center;font-size:18px;transition:all 0.3s}
.mock-tiles div:hover{transform:scale(1.1);border-color:var(--purple);background:var(--purple-10)}
.float-chip{position:absolute;background:var(--surface);border:1.5px solid var(--surface-line);border-radius:14px;padding:10px 16px;box-shadow:var(--shadow-md);display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--ink);animation:floaty 5s ease-in-out infinite;white-space:nowrap}
.chip-1{top:-20px;left:-24px;animation-delay:0s;border-color:rgba(8,145,178,0.3)}
.chip-2{bottom:14px;right:-32px;animation-delay:1.6s;border-color:rgba(124,58,237,0.3)}
.chip-3{bottom:-20px;left:24px;animation-delay:2.8s;border-color:rgba(219,39,119,0.3)}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
.reveal{opacity:0;transform:translateY(34px);transition:opacity 0.85s cubic-bezier(0.2,0.7,0.2,1),transform 0.85s cubic-bezier(0.2,0.7,0.2,1)}
.reveal.in{opacity:1;transform:translateY(0)}
.reveal-stagger>*{opacity:0;transform:translateY(26px);transition:opacity 0.7s ease,transform 0.7s ease}
.reveal-stagger.in>*{opacity:1;transform:translateY(0)}
.reveal-stagger.in>*:nth-child(1){transition-delay:0.04s}
.reveal-stagger.in>*:nth-child(2){transition-delay:0.12s}
.reveal-stagger.in>*:nth-child(3){transition-delay:0.20s}
.reveal-stagger.in>*:nth-child(4){transition-delay:0.28s}
.reveal-stagger.in>*:nth-child(5){transition-delay:0.36s}
.reveal-stagger.in>*:nth-child(6){transition-delay:0.44s}
.reveal-stagger.in>*:nth-child(7){transition-delay:0.52s}
.reveal-stagger.in>*:nth-child(8){transition-delay:0.60s}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.card{background:var(--surface);border:1.5px solid var(--surface-line);border-radius:var(--r-lg);padding:30px;position:relative;overflow:hidden;transition:all 0.4s cubic-bezier(0.2,0.8,0.2,1)}
.card::before{content:'';position:absolute;inset:0;border-radius:inherit;background:radial-gradient(500px circle at var(--mouse-x,50%) var(--mouse-y,50%),rgba(124,58,237,0.07),transparent 40%);opacity:0;transition:opacity 0.35s}
.card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);border-color:rgba(124,58,237,0.3)}
.card:hover::before{opacity:1}
.card>*{position:relative;z-index:2}
.icon-tile{width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:22px;margin-bottom:20px;transition:transform 0.4s}
.card:hover .icon-tile{transform:rotate(-10deg) scale(1.12)}
.card h3{font-size:1.18rem;margin-bottom:10px}
.card p{color:var(--ink-soft);font-size:14.5px;margin:0 0 16px;line-height:1.6}
.card .card-link{font-size:13.5px;font-weight:600;color:var(--purple);display:inline-flex;align-items:center;gap:6px;transition:gap 0.2s}
.card:hover .card-link{gap:10px}
.tone-blue .icon-tile{background:var(--blue-10);color:var(--blue);border:1px solid rgba(59,130,246,0.2)}
.tone-blue:hover{border-color:rgba(59,130,246,0.4);box-shadow:var(--shadow-lg),var(--glow-blue)}
.tone-purple .icon-tile{background:var(--purple-10);color:var(--purple);border:1px solid rgba(124,58,237,0.2)}
.tone-purple:hover{border-color:rgba(124,58,237,0.4);box-shadow:var(--shadow-lg),var(--glow-purple)}
.tone-cyan .icon-tile{background:var(--cyan-10);color:var(--cyan);border:1px solid rgba(8,145,178,0.2)}
.tone-cyan:hover{border-color:rgba(8,145,178,0.4);box-shadow:var(--shadow-lg),var(--glow-cyan)}
.tone-amber .icon-tile{background:var(--amber-10);color:var(--amber);border:1px solid rgba(217,119,6,0.2)}
.tone-pink .icon-tile{background:var(--pink-10);color:var(--pink);border:1px solid rgba(219,39,119,0.2)}
.tone-pink:hover{border-color:rgba(219,39,119,0.4);box-shadow:var(--shadow-lg),var(--glow-pink)}
.tone-green .icon-tile{background:var(--green-10);color:var(--green);border:1px solid rgba(5,150,105,0.2)}
.tone-green:hover{border-color:rgba(5,150,105,0.4);box-shadow:var(--shadow-lg),var(--glow-green)}
.stat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.stat-card{background:var(--surface);border:1.5px solid var(--surface-line);border-radius:var(--r-lg);padding:30px 20px;text-align:center;transition:all 0.35s}
.stat-card:hover{border-color:rgba(59,130,246,0.4);box-shadow:var(--shadow-md),var(--glow-blue);transform:translateY(-4px)}
.stat-card b{font-family:var(--display);font-size:2.5rem;display:block;background:var(--grad-brand);-webkit-background-clip:text;background-clip:text;color:transparent}
.stat-card span{color:var(--ink-soft);font-size:13px;margin-top:5px;display:block}
.feature-row{display:flex;gap:20px;padding:22px 0;border-top:1px solid var(--surface-line)}
.feature-row:last-child{border-bottom:1px solid var(--surface-line)}
.feature-num{font-family:var(--mono);color:var(--ink-faint);font-size:12px;padding-top:3px;flex-shrink:0;width:28px}
.feature-row h4{font-size:1.05rem;margin-bottom:5px}
.feature-row p{color:var(--ink-soft);font-size:14px;margin:0}
.marquee{overflow:hidden;-webkit-mask:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.marquee-track{display:flex;gap:52px;width:max-content;animation:scroll-x 28s linear infinite;align-items:center}
.marquee-track span{font-family:var(--display);font-weight:600;font-size:1.1rem;color:var(--ink-faint);white-space:nowrap;transition:color 0.3s}
.marquee-track span:hover{color:var(--purple)}
@keyframes scroll-x{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.testi-track{overflow:hidden}
.testi-slide{background:var(--surface);border:1.5px solid var(--surface-line);border-radius:var(--r-xl);padding:50px;display:none;box-shadow:var(--shadow-md);position:relative;overflow:hidden;}
.testi-slide.active{display:block;animation:fadeIn 0.5s ease}
@keyframes fadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
.testi-slide p{font-family:var(--display);font-size:1.25rem;line-height:1.6;color:var(--ink);max-width:70ch}
.testi-who{display:flex;align-items:center;gap:14px;margin-top:26px}
.testi-avatar{width:46px;height:46px;border-radius:50%;background:var(--grad-brand);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-family:var(--display);font-size:14px}
.testi-stars{color:var(--amber);letter-spacing:3px;font-size:17px;margin-bottom:14px}

/* --- VIBRANT MULTI-COLOR TESTIMONIAL SLIDES --- */
.testi-slide:nth-child(1){background:linear-gradient(135deg,#ffffff 0%,#ecfeff 50%,#eff6ff 100%);border:1.5px solid rgba(8,145,178,0.35);box-shadow:0 12px 36px rgba(8,145,178,0.12)}
.testi-slide:nth-child(1) .testi-avatar{background:linear-gradient(135deg,#0891b2,#3b82f6)}
.testi-slide:nth-child(1) .testi-stars{color:var(--cyan)}

.testi-slide:nth-child(2){background:linear-gradient(135deg,#ffffff 0%,#f5f3ff 50%,#fdf2f8 100%);border:1.5px solid rgba(124,58,237,0.35);box-shadow:0 12px 36px rgba(124,58,237,0.12)}
.testi-slide:nth-child(2) .testi-avatar{background:linear-gradient(135deg,#7c3aed,#db2777)}
.testi-slide:nth-child(2) .testi-stars{color:var(--purple)}

.testi-slide:nth-child(3){background:linear-gradient(135deg,#ffffff 0%,#fffbeb 50%,#ecfdf5 100%);border:1.5px solid rgba(217,119,6,0.35);box-shadow:0 12px 36px rgba(217,119,6,0.12)}
.testi-slide:nth-child(3) .testi-avatar{background:linear-gradient(135deg,#d97706,#059669)}
.testi-slide:nth-child(3) .testi-stars{color:var(--amber)}
.testi-dots{display:flex;gap:8px;margin-top:26px}
.testi-dots button{width:8px;height:8px;border-radius:50%;background:var(--surface-line);border:none;padding:0;transition:all 0.3s;cursor:pointer}
.testi-dots button.active{background:var(--grad-brand);width:24px;border-radius:6px}
.cta-banner{position:relative;border-radius:var(--r-xl);overflow:hidden;padding:90px 70px;text-align:center;background:linear-gradient(135deg,#f0f4fe 0%,#ede9fe 35%,#fce7f3 70%,#fef3c7 100%);border:1.5px solid rgba(124,58,237,0.15);box-shadow:var(--shadow-md)}
.cta-banner::before{content:'';position:absolute;inset:0;z-index:0;background:radial-gradient(ellipse 60% 70% at 15% 40%,rgba(59,130,246,0.09),transparent 60%),radial-gradient(ellipse 50% 60% at 85% 60%,rgba(124,58,237,0.09),transparent 60%)}
.cta-banner>*{position:relative;z-index:1}
.cta-banner h2{font-size:clamp(2rem,4vw,2.8rem);background:var(--grad-brand);-webkit-background-clip:text;background-clip:text;color:transparent}
.cta-banner p{color:var(--ink-soft);margin:16px auto 36px;max-width:52ch}
footer{padding:80px 0 34px;border-top:1px solid var(--surface-line);background:var(--bg-alt);position:relative;z-index:1}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr 1.3fr;gap:32px}
.footer-grid h5{font-family:var(--display);font-size:13px;margin-bottom:16px;letter-spacing:0.03em}
.footer-grid li{margin-bottom:10px}
.footer-grid a{color:var(--ink-soft);font-size:14px;transition:color 0.2s}
.footer-grid a:hover{color:var(--purple)}
.footer-brand p{color:var(--ink-soft);font-size:14px;margin:14px 0 20px;max-width:30ch;line-height:1.7}
.social-row{display:flex;gap:10px}
.social-row a{width:38px;height:38px;border-radius:10px;background:var(--surface);border:1px solid var(--surface-line);display:flex;align-items:center;justify-content:center;color:var(--ink-soft);font-size:14px;transition:all 0.3s}
.social-row a:hover{transform:translateY(-3px);background:var(--purple-10);border-color:var(--purple);color:var(--purple)}
.newsletter{display:flex;margin-top:8px;border:1.5px solid var(--surface-line);border-radius:100px;padding:5px;background:var(--surface)}
.newsletter input{border:none;background:transparent;padding:9px 14px;font-size:13.5px;width:100%;outline:none;color:var(--ink)}
.newsletter input::placeholder{color:var(--ink-faint)}
.newsletter button{border:none;border-radius:100px;padding:9px 18px;background:var(--grad-brand);color:#fff;font-weight:600;font-size:13px;cursor:pointer;font-family:var(--body)}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:56px;padding-top:26px;border-top:1px solid var(--surface-line);font-size:13px;color:var(--ink-faint);flex-wrap:wrap;gap:10px}
.page-head{padding:175px 0 80px;position:relative;overflow:hidden;background:var(--bg)}
.page-head::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 70% 60% at 30% 50%,rgba(59,130,246,0.09),transparent 60%),radial-gradient(ellipse 50% 50% at 80% 30%,rgba(124,58,237,0.08),transparent 60%);pointer-events:none}
.page-head h1{font-size:clamp(2.4rem,5vw,3.6rem);margin-top:20px;background:var(--grad-text);-webkit-background-clip:text;background-clip:text;color:transparent;max-width:18ch}
.crumb{font-family:var(--mono);font-size:12px;color:var(--ink-faint)}
.crumb a{color:var(--blue);transition:opacity 0.2s}
.crumb a:hover{opacity:0.7}
[data-spotlight]{position:relative;overflow:hidden}
[data-spotlight]::after{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(450px circle at var(--mouse-x,50%) var(--mouse-y,50%),rgba(124,58,237,0.08),transparent 40%);opacity:0;transition:opacity 0.4s;z-index:1}
[data-spotlight]:hover::after{opacity:1}
.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.team-card{background:var(--surface);border:1.5px solid var(--surface-line);border-radius:var(--r-lg);padding:28px 22px;text-align:center;position:relative;overflow:hidden;transition:all 0.4s cubic-bezier(0.2,0.8,0.2,1);height:100%;display:flex;flex-direction:column;align-items:center;justify-content:space-between}
.team-card::before{content:'';position:absolute;inset:0;background:radial-gradient(380px circle at var(--mouse-x,50%) var(--mouse-y,50%),rgba(124,58,237,0.07),transparent 50%);opacity:0;transition:opacity 0.3s;pointer-events:none}
.team-card:hover{border-color:rgba(124,58,237,0.4);transform:translateY(-8px);box-shadow:var(--shadow-lg),var(--glow-purple)}
.team-card:hover::before{opacity:1}
.team-card>*{position:relative;z-index:2;width:100%}
.team-avatar-wrap{position:relative;width:96px;height:96px;margin:0 auto 18px}
.team-avatar-ring{position:absolute;inset:-4px;border-radius:50%;background:var(--grad-brand);opacity:0.45;animation:spinRing 12s linear infinite;transition:opacity 0.4s}
.team-card:hover .team-avatar-ring{opacity:0.85}
@keyframes spinRing{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
.team-avatar{width:100%;height:100%;border-radius:50%;position:relative;z-index:2;border:3px solid var(--surface);background:var(--bg-alt);display:flex;align-items:center;justify-content:center;font-size:2rem;font-family:var(--display);color:var(--purple);font-weight:700;overflow:hidden}
.team-img{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block}
.team-card h3{font-size:1.15rem;margin-bottom:4px;color:var(--ink)}
.team-role{font-family:var(--mono);font-size:11px;color:var(--purple);letter-spacing:0.06em;text-transform:uppercase;margin-bottom:12px;display:block;font-weight:600}
.team-bio{font-size:13.5px;color:var(--ink-soft);margin-bottom:14px;line-height:1.55}
.team-tags{display:flex;justify-content:center;gap:6px;flex-wrap:wrap;margin-bottom:14px}
.team-tags span{font-size:11px;font-weight:600;background:var(--bg-alt);border:1px solid var(--surface-line);padding:4px 10px;border-radius:100px;color:var(--ink-soft)}
.team-links{display:flex;justify-content:center;gap:10px}
.team-links a{width:32px;height:32px;border-radius:8px;background:var(--bg-alt);border:1px solid var(--surface-line);display:flex;align-items:center;justify-content:center;font-size:13px;color:var(--ink-soft);transition:all 0.25s}
.team-links a:hover{transform:translateY(-2px);background:var(--purple-10);border-color:var(--purple);color:var(--purple)}

/* --- VIBRANT MULTI-COLOR TEAM CARD TONES --- */
.team-card.tone-cyan{background:linear-gradient(145deg,#ffffff 0%,#ecfeff 100%);border:1.5px solid rgba(8,145,178,0.35);box-shadow:0 8px 24px rgba(8,145,178,0.1)}
.team-card.tone-cyan .team-avatar-ring{background:linear-gradient(135deg,#0891b2,#3b82f6)}
.team-card.tone-cyan .team-avatar{color:var(--cyan);background:#e0f2fe}
.team-card.tone-cyan .team-role{color:var(--cyan)}
.team-card.tone-cyan .team-tags span{background:rgba(8,145,178,0.1);color:var(--cyan);border-color:rgba(8,145,178,0.25)}
.team-card.tone-cyan:hover{border-color:var(--cyan);box-shadow:0 14px 36px rgba(8,145,178,0.22),var(--glow-cyan)}

.team-card.tone-purple{background:linear-gradient(145deg,#ffffff 0%,#f5f3ff 100%);border:1.5px solid rgba(124,58,237,0.35);box-shadow:0 8px 24px rgba(124,58,237,0.1)}
.team-card.tone-purple .team-avatar-ring{background:linear-gradient(135deg,#7c3aed,#db2777)}
.team-card.tone-purple .team-avatar{color:var(--purple);background:#ede9fe}
.team-card.tone-purple .team-role{color:var(--purple)}
.team-card.tone-purple .team-tags span{background:rgba(124,58,237,0.1);color:var(--purple);border-color:rgba(124,58,237,0.25)}
.team-card.tone-purple:hover{border-color:var(--purple);box-shadow:0 14px 36px rgba(124,58,237,0.22),var(--glow-purple)}

.team-card.tone-green{background:linear-gradient(145deg,#ffffff 0%,#ecfdf5 100%);border:1.5px solid rgba(5,150,105,0.35);box-shadow:0 8px 24px rgba(5,150,105,0.1)}
.team-card.tone-green .team-avatar-ring{background:linear-gradient(135deg,#059669,#0891b2)}
.team-card.tone-green .team-avatar{color:var(--green);background:#d1fae5}
.team-card.tone-green .team-role{color:var(--green)}
.team-card.tone-green .team-tags span{background:rgba(5,150,105,0.1);color:var(--green);border-color:rgba(5,150,105,0.25)}
.team-card.tone-green:hover{border-color:var(--green);box-shadow:0 14px 36px rgba(5,150,105,0.22),var(--glow-green)}

.team-card.tone-amber{background:linear-gradient(145deg,#ffffff 0%,#fffbeb 100%);border:1.5px solid rgba(217,119,6,0.35);box-shadow:0 8px 24px rgba(217,119,6,0.1)}
.team-card.tone-amber .team-avatar-ring{background:linear-gradient(135deg,#d97706,#db2777)}
.team-card.tone-amber .team-avatar{color:var(--amber);background:#fef3c7}
.team-card.tone-amber .team-role{color:var(--amber)}
.team-card.tone-amber .team-tags span{background:rgba(217,119,6,0.1);color:var(--amber);border-color:rgba(217,119,6,0.25)}
.team-card.tone-amber:hover{border-color:var(--amber);box-shadow:0 14px 36px rgba(217,119,6,0.22)}

.team-card.tone-pink{background:linear-gradient(145deg,#ffffff 0%,#fdf2f8 100%);border:1.5px solid rgba(219,39,119,0.35);box-shadow:0 8px 24px rgba(219,39,119,0.1)}
.team-card.tone-pink .team-avatar-ring{background:linear-gradient(135deg,#db2777,#7c3aed)}
.team-card.tone-pink .team-avatar{color:var(--pink);background:#fce7f3}
.team-card.tone-pink .team-role{color:var(--pink)}
.team-card.tone-pink .team-tags span{background:rgba(219,39,119,0.1);color:var(--pink);border-color:rgba(219,39,119,0.25)}
.team-card.tone-pink:hover{border-color:var(--pink);box-shadow:0 14px 36px rgba(219,39,119,0.22),var(--glow-pink)}

.team-card.tone-blue{background:linear-gradient(145deg,#ffffff 0%,#eff6ff 100%);border:1.5px solid rgba(59,130,246,0.35);box-shadow:0 8px 24px rgba(59,130,246,0.1)}
.team-card.tone-blue .team-avatar-ring{background:linear-gradient(135deg,#3b82f6,#0891b2)}
.team-card.tone-blue .team-avatar{color:var(--blue);background:#dbeafe}
.team-card.tone-blue .team-role{color:var(--blue)}
.team-card.tone-blue .team-tags span{background:rgba(59,130,246,0.1);color:var(--blue);border-color:rgba(59,130,246,0.25)}
.team-card.tone-blue:hover{border-color:var(--blue);box-shadow:0 14px 36px rgba(59,130,246,0.22),var(--glow-blue)}

/* --- SINGLE ROW TEAM CAROUSEL --- */
.team-slider-container{position:relative;display:flex;align-items:center;gap:12px;margin-top:20px}
.team-slider-track-wrap{overflow:hidden;width:100%;padding:14px 4px 20px 4px;border-radius:var(--r-xl)}
.team-slider-track{display:flex;gap:22px;transition:transform 0.5s cubic-bezier(0.2,0.8,0.2,1);will-change:transform}
.team-slide{flex:0 0 calc(33.333% - 15px);min-width:280px;box-sizing:border-box}
@media(max-width:1024px){.team-slide{flex:0 0 calc(50% - 11px)}}
@media(max-width:640px){.team-slide{flex:0 0 100%}}
.slider-btn{width:46px;height:46px;border-radius:50%;background:var(--surface);border:1.5px solid var(--surface-line);color:var(--ink);font-size:22px;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:var(--shadow-md);transition:all 0.3s cubic-bezier(0.2,0.8,0.2,1);flex-shrink:0;z-index:10}
.slider-btn:hover{background:var(--purple);color:#fff;border-color:transparent;box-shadow:var(--glow-purple);transform:scale(1.1)}
.slider-dots{display:flex;justify-content:center;gap:8px;margin-top:20px}
.slider-dot{width:10px;height:10px;border-radius:50%;background:var(--surface-line);border:none;cursor:pointer;transition:all 0.3s}
.slider-dot.active{background:var(--grad-brand);width:28px;border-radius:100px;box-shadow:var(--glow-purple)}
.culture-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.culture-card{background:var(--surface);border:1.5px solid var(--surface-line);border-radius:var(--r-lg);padding:32px;transition:all 0.4s}
.culture-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-md),var(--glow-blue);border-color:rgba(59,130,246,0.35)}
.culture-icon{width:50px;height:50px;border-radius:13px;display:flex;align-items:center;justify-content:center;font-size:22px;margin-bottom:18px}
.culture-card h3{font-size:1.2rem;margin-bottom:10px}
.culture-card p{color:var(--ink-soft);font-size:14.5px;margin:0}
.culture-card:nth-child(1) .culture-icon{background:var(--blue-10);color:var(--blue);border:1px solid rgba(59,130,246,0.2)}
.culture-card:nth-child(2) .culture-icon{background:var(--purple-10);color:var(--purple);border:1px solid rgba(124,58,237,0.2)}
.culture-card:nth-child(3) .culture-icon{background:var(--green-10);color:var(--green);border:1px solid rgba(5,150,105,0.2)}
.job-accordion{display:flex;flex-direction:column;gap:14px}
.job-item{background:var(--surface);border:1.5px solid var(--surface-line);border-radius:var(--r-md);padding:22px 28px;display:flex;align-items:center;justify-content:space-between;gap:20px;cursor:pointer;transition:all 0.3s}
.job-item:hover{transform:translateX(6px);border-color:var(--blue);box-shadow:var(--shadow-sm),var(--glow-blue)}
.job-item:hover .job-title h4{background:var(--grad-text);-webkit-background-clip:text;background-clip:text;color:transparent}
.job-title h4{font-size:1.05rem;margin-bottom:4px}
.job-title span{font-family:var(--mono);font-size:12px;color:var(--ink-faint)}
.job-tags{display:flex;gap:8px;flex-wrap:wrap}
.job-tags span{font-size:12px;font-weight:600;background:var(--bg-alt);border:1px solid var(--surface-line);padding:5px 12px;border-radius:100px;color:var(--ink-soft)}

/* ===========================
   TECH/DEV 3D VISUAL ELEMENTS
   =========================== */
.tech-terminal{background:#0f0f23;border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-lg),0 0 0 1px rgba(124,58,237,0.2)}
.tech-terminal-bar{background:#1a1a3e;padding:12px 18px;display:flex;align-items:center;gap:8px;border-bottom:1px solid rgba(255,255,255,0.05)}
.tech-terminal-bar span{width:11px;height:11px;border-radius:50%}
.tech-terminal-bar span:nth-child(1){background:#ef4444}
.tech-terminal-bar span:nth-child(2){background:#f59e0b}
.tech-terminal-bar span:nth-child(3){background:#10b981}
.tech-terminal-title{margin-left:auto;margin-right:auto;font-family:var(--mono);font-size:12px;color:rgba(255,255,255,0.35);letter-spacing:0.06em}
.tech-terminal-body{padding:20px 24px;font-family:var(--mono);font-size:13px;line-height:2;color:#a5b4fc;min-height:180px}
.t-line{display:flex;gap:10px;flex-wrap:wrap}
.t-prompt{color:#6ee7b7;flex-shrink:0}
.t-cmd{color:#f0abfc}
.t-out{color:#93c5fd;padding-left:22px}
.t-comment{color:rgba(165,180,252,0.4);font-style:italic}
.t-success{color:#6ee7b7;padding-left:22px}
.t-error{color:#f87171;padding-left:22px}
.t-cursor::after{content:'█';color:#6ee7b7;animation:blink 1s step-end infinite}
.code-block{background:#0f0f23;border-radius:var(--r-md);overflow:hidden;border:1px solid rgba(124,58,237,0.2);box-shadow:var(--shadow-md)}
.code-block-header{background:#1a1a3e;padding:10px 18px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,0.05)}
.code-lang{font-family:var(--mono);font-size:11px;color:rgba(165,180,252,0.7);background:rgba(124,58,237,0.2);padding:3px 10px;border-radius:100px}
.code-dots{display:flex;gap:5px}
.code-dots span{width:9px;height:9px;border-radius:50%}
.code-dots span:nth-child(1){background:#ef4444}
.code-dots span:nth-child(2){background:#f59e0b}
.code-dots span:nth-child(3){background:#10b981}
.code-body{padding:20px 22px;font-family:var(--mono);font-size:13px;line-height:2;overflow-x:auto}
.kw{color:#c084fc}.fn{color:#60a5fa}.str{color:#86efac}.num{color:#fbbf24}.cm{color:rgba(165,180,252,0.4);font-style:italic}.vr{color:#f0abfc}.op{color:#94a3b8}.cl{color:#34d399}
.api-flow{display:flex;align-items:center;gap:0;overflow-x:auto;padding:20px 0}
.api-node{flex-shrink:0;background:var(--surface);border:1.5px solid var(--surface-line);border-radius:var(--r-md);padding:14px 18px;text-align:center;min-width:110px;transition:all 0.3s}
.api-node:hover{border-color:var(--purple);box-shadow:var(--glow-purple);transform:translateY(-3px)}
.api-node .api-icon{font-size:22px;margin-bottom:7px}
.api-node .api-label{font-family:var(--mono);font-size:10px;color:var(--ink-faint);text-transform:uppercase;letter-spacing:0.06em}
.api-node .api-name{font-size:13px;font-weight:600;margin-top:2px;color:var(--ink)}
.api-arrow{flex-shrink:0;width:44px;display:flex;align-items:center;justify-content:center;color:var(--purple);position:relative}
.api-arrow::before{content:'';position:absolute;height:1.5px;width:100%;background:linear-gradient(90deg,var(--blue),var(--purple))}
.api-arrow::after{content:'▶';position:relative;z-index:1;font-size:11px;color:var(--purple)}
.git-timeline{display:flex;flex-direction:column;gap:0}
.git-commit{display:flex;gap:16px;align-items:flex-start;position:relative;padding-bottom:22px}
.git-commit:last-child{padding-bottom:0}
.git-commit::before{content:'';position:absolute;left:9px;top:20px;bottom:0;width:2px;background:linear-gradient(var(--blue),var(--purple))}
.git-commit:last-child::before{display:none}
.git-dot{width:20px;height:20px;border-radius:50%;border:2.5px solid;flex-shrink:0;margin-top:2px;background:var(--surface);position:relative;z-index:1}
.git-commit:nth-child(1) .git-dot{border-color:var(--green)}
.git-commit:nth-child(2) .git-dot{border-color:var(--blue)}
.git-commit:nth-child(3) .git-dot{border-color:var(--purple)}
.git-commit:nth-child(4) .git-dot{border-color:var(--pink)}
.git-commit:nth-child(5) .git-dot{border-color:var(--amber)}
.git-commit:nth-child(6) .git-dot{border-color:var(--cyan)}
.git-msg{font-size:14px;font-weight:600;color:var(--ink)}
.git-hash{font-family:var(--mono);font-size:11px;color:var(--ink-faint)}
.git-time{font-size:12px;color:var(--ink-faint);margin-top:2px}
.skill-bars{display:flex;flex-direction:column;gap:16px}
.skill-bar-label{display:flex;justify-content:space-between;margin-bottom:7px;font-size:13.5px;font-weight:600}
.skill-bar-track{height:8px;background:var(--bg-alt);border-radius:100px;overflow:hidden;border:1px solid var(--surface-line)}
.skill-bar-fill{height:100%;border-radius:100px;background:var(--grad-brand);transition:width 1.4s cubic-bezier(0.2,0.8,0.2,1)}
.tech-badges{display:flex;flex-wrap:wrap;gap:8px}
.tech-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:100px;font-family:var(--mono);font-size:12px;font-weight:600;border:1px solid;transition:all 0.25s;cursor:default}
.tech-badge:hover{transform:translateY(-2px);box-shadow:0 4px 14px rgba(0,0,0,0.08)}
.tb-blue{color:var(--blue);background:var(--blue-10);border-color:rgba(59,130,246,0.3)}
.tb-purple{color:var(--purple);background:var(--purple-10);border-color:rgba(124,58,237,0.3)}
.tb-cyan{color:var(--cyan);background:var(--cyan-10);border-color:rgba(8,145,178,0.3)}
.tb-pink{color:var(--pink);background:var(--pink-10);border-color:rgba(219,39,119,0.3)}
.tb-green{color:var(--green);background:var(--green-10);border-color:rgba(5,150,105,0.3)}
.tb-amber{color:var(--amber);background:var(--amber-10);border-color:rgba(217,119,6,0.3)}

/* Services, Contact, Portfolio, Process — page-specific styles already embedded in inline style blocks */
@media(max-width:1080px){.grid-4{grid-template-columns:repeat(2,1fr)}.team-grid{grid-template-columns:repeat(2,1fr)}.culture-grid{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:900px){.hero-grid{grid-template-columns:1fr}.hero-visual{max-width:440px;margin:40px auto 0}.grid-2,.grid-3{grid-template-columns:1fr}.cta-banner{padding:60px 36px}}
@media(max-width:640px){.wrap{padding:0 20px}section{padding:80px 0}.grid-4,.team-grid,.culture-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.hero-stats{flex-wrap:wrap}.hero-stat{min-width:50%;border-right:none;border-bottom:1px solid var(--surface-line)}.hero-stat:nth-child(odd){border-right:1px solid var(--surface-line)}.hero-stat:last-child,.hero-stat:nth-last-child(2):not(:nth-child(even)){border-bottom:none}.cta-banner{padding:50px 24px}.job-item{flex-direction:column;align-items:flex-start}.page-head{padding:130px 0 56px}.hero{padding:130px 0 70px;min-height:auto}.float-chip{display:none}.mock-card{transform:none}.api-flow{gap:0}}
::-webkit-scrollbar{width:5px}
::-webkit-scrollbar-track{background:var(--bg-alt)}
::-webkit-scrollbar-thumb{background:var(--grad-brand);border-radius:100px}
*:focus-visible{outline:2px solid var(--purple);outline-offset:3px;border-radius:6px}
