/* RebindLab Design System & Precision Engineering Aesthetics */
:root {
  --bg-obsidian: #070A12;
  --bg-panel: #0B0F19;
  --accent-emerald: #10B981;
  --accent-blue: #3B82F6;
}

body {
  background-color: var(--bg-obsidian);
  color: #F3F4F6;
  overflow-x: hidden;
}

.grid-bg {
  background-size: 44px 44px;
  background-image:
    linear-gradient(to right, rgba(255, 255, 255, 0.028) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(255, 255, 255, 0.028) 1px, transparent 1px);
}

.hero-radial {
  background: radial-gradient(ellipse 75% 55% at 50% -10%, rgba(16, 185, 129, 0.13), rgba(59, 130, 246, 0.06) 45%, transparent 75%);
}

.glow-emerald {
  box-shadow: 0 0 36px -6px rgba(16, 185, 129, 0.28);
}

.glow-blue {
  box-shadow: 0 0 36px -6px rgba(59, 130, 246, 0.25);
}

.card-precision {
  background: linear-gradient(180deg, rgba(15, 23, 42, 0.72) 0%, rgba(7, 10, 18, 0.92) 100%);
  border: 1px solid rgba(51, 65, 85, 0.55);
  transition: border-color 0.22s ease, transform 0.22s ease, box-shadow 0.22s ease;
}

.card-precision:hover {
  border-color: rgba(16, 185, 129, 0.45);
  transform: translateY(-2px);
  box-shadow: 0 12px 32px -12px rgba(16, 185, 129, 0.15);
}

@keyframes pulse-flow {
  0% { stroke-dashoffset: 24; }
  100% { stroke-dashoffset: 0; }
}

.animate-flow {
  stroke-dasharray: 6 6;
  animation: pulse-flow 0.85s linear infinite;
}

/* FAQ Accordion smooth toggle */
.faq-answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease, opacity 0.25s ease;
  opacity: 0;
}

.faq-item.open .faq-answer {
  max-height: 400px;
  opacity: 1;
}

.faq-item.open .faq-chevron {
  transform: rotate(180deg);
  color: #10B981;
}

/* Custom subtle range slider */
input[type="range"] {
  height: 6px;
  border-radius: 999px;
}
