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

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body { background: #080B14; color: #f1f5f9; font-family: 'Inter', sans-serif; -webkit-font-smoothing: antialiased; }

::-webkit-scrollbar { width: 5px; }
::-webkit-scrollbar-track { background: #080B14; }
::-webkit-scrollbar-thumb { background: #1e293b; border-radius: 3px; }

/* Layout */
.section-container { max-width: 80rem; margin: 0 auto; padding: 0 1.5rem; }
@media (min-width: 1024px) { .section-container { padding: 0 2rem; } }

/* Typography */
.font-display { font-family: 'Space Grotesk', sans-serif; }
.font-mono   { font-family: 'JetBrains Mono', monospace; }
.section-label { font-family: 'JetBrains Mono', monospace; font-size: 0.68rem; letter-spacing: 0.22em; text-transform: uppercase; color: #00FF88; display: block; margin-bottom: 0.75rem; }
.section-title { font-family: 'Space Grotesk', sans-serif; font-weight: 600; font-size: clamp(2rem, 5vw, 3.25rem); line-height: 1.08; color: #f1f5f9; }
.data-label { font-family: 'JetBrains Mono', monospace; font-size: 0.62rem; letter-spacing: 0.18em; text-transform: uppercase; color: #94a3b8; }
.data-value { font-family: 'JetBrains Mono', monospace; font-weight: 700; color: #00FF88; }
.text-gradient-aurora { background: linear-gradient(135deg, #00FF88, #0EA5E9); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; }

/* Buttons */
.btn-primary { display: inline-flex; align-items: center; gap: 0.5rem; background: #00FF88; color: #080B14; font-family: 'Space Grotesk', sans-serif; font-weight: 600; font-size: 0.875rem; padding: 0.75rem 1.5rem; border: none; cursor: pointer; text-decoration: none; transition: background 0.2s, opacity 0.2s; }
.btn-primary:hover { background: rgba(0,255,136,0.85); }
.btn-primary:disabled { opacity: 0.6; cursor: not-allowed; }
.btn-secondary { display: inline-flex; align-items: center; gap: 0.5rem; border: 1px solid #334155; color: #94a3b8; background: transparent; font-family: 'Space Grotesk', sans-serif; font-weight: 500; font-size: 0.875rem; padding: 0.75rem 1.5rem; cursor: pointer; text-decoration: none; transition: border-color 0.2s, color 0.2s; }
.btn-secondary:hover { border-color: #00FF88; color: #00FF88; }
.btn-ghost { display: inline-flex; align-items: center; gap: 0.25rem; color: #64748b; font-family: 'Space Grotesk', sans-serif; font-size: 0.875rem; text-decoration: none; background: transparent; border: none; cursor: pointer; padding: 0; transition: color 0.2s; }
.btn-ghost:hover { color: #00FF88; }

/* Cards */
.card { background: rgba(15,23,42,0.6); border: 1px solid #1e293b; }

/* Backgrounds */
.bg-grid { background-image: linear-gradient(rgba(255,255,255,0.025) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,0.025) 1px, transparent 1px); background-size: 60px 60px; }
.bg-dots { background-image: radial-gradient(rgba(255,255,255,0.14) 1px, transparent 1px); background-size: 24px 24px; }

/* Form inputs */
.form-input { width: 100%; background: #0f172a; border: 1px solid #334155; color: #f1f5f9; font-family: 'Space Grotesk', sans-serif; font-size: 0.875rem; padding: 0.75rem 1rem; outline: none; transition: border-color 0.2s; }
.form-input:focus { border-color: #00FF88; }
.form-input::placeholder { color: #475569; }
textarea.form-input { resize: vertical; min-height: 140px; }

/* Scroll reveal */
.reveal { opacity: 0; transform: translateY(1.5rem); transition: opacity 0.65s ease, transform 0.65s ease; }
.reveal.visible { opacity: 1; transform: translateY(0); }
.delay-1 { transition-delay: 0.1s; }
.delay-2 { transition-delay: 0.2s; }
.delay-3 { transition-delay: 0.3s; }
.delay-4 { transition-delay: 0.4s; }

/* Animations */
@keyframes pulse-slow { 0%,100%{opacity:.35} 50%{opacity:.7} }
.animate-pulse-slow { animation: pulse-slow 4s ease-in-out infinite; }
@keyframes float { 0%,100%{transform:translateY(0) translateX(-50%)} 50%{transform:translateY(-8px) translateX(-50%)} }
.animate-float { animation: float 3s ease-in-out infinite; }
@keyframes spin { to{transform:rotate(360deg)} }
.animate-spin { animation: spin 0.8s linear infinite; }
@keyframes glow-pulse { 0%,100%{opacity:.7} 50%{opacity:1} }
.animate-glow { animation: glow-pulse 2s ease-in-out infinite; }

/* Badge */
.badge-production { display: inline-flex; align-items: center; gap: 0.375rem; font-family: 'JetBrains Mono', monospace; font-size: 0.65rem; letter-spacing: 0.15em; text-transform: uppercase; color: #00FF88; }
.badge-rd { display: inline-flex; align-items: center; gap: 0.375rem; font-family: 'JetBrains Mono', monospace; font-size: 0.65rem; letter-spacing: 0.15em; text-transform: uppercase; color: #eab308; }

/* News inline links */
.news-text a { color: #0EA5E9; text-decoration: none; }
.news-text a:hover { text-decoration: underline; }

/* Table */
.data-table { width: 100%; border-collapse: collapse; }
.data-table th { font-family: 'JetBrains Mono', monospace; font-size: 0.62rem; letter-spacing: 0.15em; text-transform: uppercase; color: #64748b; padding: 0.625rem 1rem; text-align: left; border-bottom: 1px solid #1e293b; background: rgba(15,23,42,0.6); }
.data-table td { padding: 0.75rem 1rem; border-bottom: 1px solid #1e293b; font-size: 0.875rem; }
.data-table tr:last-child td { border-bottom: none; }
.data-table tr:nth-child(odd) td { background: rgba(15,23,42,0.2); }

/* Accessibility contrast overrides for dark backgrounds */
.text-slate-500 { color: #94a3b8 !important; }
.text-slate-600 { color: #a3b2c3 !important; }
.text-slate-700 { color: #8aa0b8 !important; }
