/* ── Scalintel Shared Styles ── */
* { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { background: #06060e; color: #e2e8f0; font-family: 'Outfit', sans-serif; overflow-x: hidden; }

/* ── Scrollbar ── */
::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: #06060e; }
::-webkit-scrollbar-thumb { background: #6366f1; border-radius: 3px; }

/* ── Glow Text ── */
.glow-text {
  background: linear-gradient(135deg, #00e4ff 0%, #6366f1 40%, #a855f7 70%, #00e4ff 100%);
  background-size: 300% 300%;
  -webkit-background-clip: text; -webkit-text-fill-color: transparent;
  background-clip: text;
  animation: gradientShift 6s ease-in-out infinite;
}
@keyframes gradientShift {
  0%, 100% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
}

/* ── Section Reveal ── */
.reveal {
  opacity: 0; transform: translateY(40px);
  transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1), transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}
.reveal.visible { opacity: 1; transform: translateY(0); }

/* ── Nebula Background Blobs ── */
.nebula-blob {
  position: absolute; border-radius: 50%; filter: blur(120px); opacity: 0.07; pointer-events: none;
  animation: nebulaFloat 20s ease-in-out infinite;
}
@keyframes nebulaFloat {
  0%, 100% { transform: translate(0, 0) scale(1); }
  33% { transform: translate(30px, -20px) scale(1.05); }
  66% { transform: translate(-20px, 15px) scale(0.95); }
}

/* ── Card Hover ── */
.feature-card {
  position: relative; overflow: hidden;
  background: linear-gradient(135deg, rgba(99,102,241,0.06), rgba(168,85,247,0.03));
  border: 1px solid rgba(99,102,241,0.1);
  transition: border-color 0.4s, transform 0.4s, box-shadow 0.4s;
}
.feature-card:hover {
  border-color: rgba(0,228,255,0.25); transform: translateY(-4px);
  box-shadow: 0 20px 60px -15px rgba(0,228,255,0.08);
}
.feature-card::before {
  content: ''; position: absolute; top: 0; left: 0; right: 0; height: 1px;
  background: linear-gradient(90deg, transparent, rgba(0,228,255,0.3), transparent);
  opacity: 0; transition: opacity 0.4s;
}
.feature-card:hover::before { opacity: 1; }

/* ── Product Card ── */
.product-card {
  background: linear-gradient(160deg, rgba(13,16,37,0.9), rgba(6,6,14,0.95));
  border: 1px solid rgba(99,102,241,0.12);
  transition: border-color 0.4s, box-shadow 0.4s;
}
.product-card:hover {
  border-color: rgba(56,189,248,0.3);
  box-shadow: 0 0 60px -20px rgba(56,189,248,0.15);
}

/* ── Divider Line ── */
.section-divider {
  height: 1px; border: none;
  background: linear-gradient(90deg, transparent, rgba(99,102,241,0.2), rgba(0,228,255,0.15), rgba(99,102,241,0.2), transparent);
}

/* ── Stat Value ── */
.stat-value {
  font-variant-numeric: tabular-nums;
  background: linear-gradient(to bottom, #e2e8f0, #94a3b8);
  -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;
}

/* ── Contact Button ── */
.contact-btn {
  position: relative; overflow: hidden;
  background: linear-gradient(135deg, #6366f1, #a855f7);
  transition: transform 0.3s, box-shadow 0.3s;
}
.contact-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 40px -8px rgba(99,102,241,0.4);
}
.contact-btn::after {
  content: ''; position: absolute; top: 0; left: -100%; width: 100%; height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.1), transparent);
  transition: left 0.5s;
}
.contact-btn:hover::after { left: 100%; }

/* ── Nav ── */
.nav-link { position: relative; }
.nav-link::after {
  content: ''; position: absolute; bottom: -2px; left: 0; width: 0; height: 1px;
  background: #00e4ff; transition: width 0.3s;
}
.nav-link:hover::after { width: 100%; }

/* ── Stagger delays ── */
.delay-1 { transition-delay: 0.1s; }
.delay-2 { transition-delay: 0.2s; }
.delay-3 { transition-delay: 0.3s; }
.delay-4 { transition-delay: 0.4s; }
.delay-5 { transition-delay: 0.5s; }
.delay-6 { transition-delay: 0.6s; }

/* ── Mobile menu ── */
.mobile-menu { transform: translateY(-100%); opacity: 0; pointer-events: none; transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.4s; }
.mobile-menu.open { transform: translateY(0); opacity: 1; pointer-events: auto; }

/* ── Products dropdown transition ── */
.products-menu { transition: opacity 0.2s, transform 0.2s; }

/* ── Secondary button ── */
.btn-secondary {
  border: 1px solid rgba(255,255,255,0.1);
  transition: all 0.3s;
}
.btn-secondary:hover {
  border-color: rgba(255,255,255,0.2);
  color: white;
}

/* ── FAQ Accordion ── */
.faq-answer { max-height: 0; overflow: hidden; transition: max-height 0.4s cubic-bezier(0.16, 1, 0.3, 1), padding 0.4s; padding-top: 0; }
.faq-item.open .faq-answer { max-height: 300px; padding-top: 0.75rem; }
.faq-toggle-icon { transition: transform 0.3s; }
.faq-item.open .faq-toggle-icon { transform: rotate(45deg); }

/* ── Product page hero gradient ── */
.hero-gradient-plasma { background: radial-gradient(ellipse at 30% 20%, rgba(0,228,255,0.08) 0%, transparent 60%); }
.hero-gradient-nova { background: radial-gradient(ellipse at 70% 30%, rgba(168,85,247,0.08) 0%, transparent 60%); }
.hero-gradient-ember { background: radial-gradient(ellipse at 50% 20%, rgba(244,114,182,0.08) 0%, transparent 60%); }
.hero-gradient-glow { background: radial-gradient(ellipse at 40% 25%, rgba(56,189,248,0.08) 0%, transparent 60%); }
.hero-gradient-arc { background: radial-gradient(ellipse at 60% 20%, rgba(99,102,241,0.08) 0%, transparent 60%); }
