:root {
  --accent-primary: #4F46E5;
  --accent-primary-rgb: 79, 70, 229;
  --accent-primary-glow: rgba(79, 70, 229, 0.15);
  --accent-secondary: #F59E0B;
}
[data-theme="light"] {
  --accent-primary: #4338CA;
  --accent-primary-rgb: 67, 56, 202;
  --accent-primary-glow: rgba(67, 56, 202, 0.12);
  --accent-secondary: #D97706;
}

/* Scientific typography: Exo for display, JetBrains Mono for data/specs */
:root {
  --font-display: "Exo", "Inter", system-ui, sans-serif;
  --font-mono: "JetBrains Mono", ui-monospace, monospace;
}
h1, h2, h3, h4, .text-hero { font-family: var(--font-display); }

/* Optics landing: shared primitives */
.os-mono {
  font-family: var(--font-mono);
  font-size: 0.75rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.os-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  color: var(--accent-secondary);
}
.os-eyebrow::before {
  content: "";
  width: 2rem;
  height: 1px;
  background: var(--accent-secondary);
}
@keyframes os-beam {
  from { stroke-dashoffset: 200; }
  to { stroke-dashoffset: 0; }
}
@keyframes os-pulse {
  0%, 100% { opacity: 0.35; }
  50% { opacity: 1; }
}
@media (prefers-reduced-motion: reduce) {
  .os-animated, .os-animated * { animation: none !important; }
}
