:root {
  color-scheme: dark;
  font-family: 'Inter', sans-serif;
  --bg: #0b0b0d;
  --panel: #0f1724;
  --muted: #94a3b8;
  --text: #e6eef8;
  --accent: #ff7a00;
}

html {
  scroll-behavior: smooth;
}

body {
  min-height: 100vh;
  background-color: var(--bg);
  color: var(--text);
}

/* Accent utility */
.accent {
  color: var(--accent);
}

.accent-bg {
  background-color: var(--accent);
}

.panel {
  background-color: var(--panel);
}

.muted {
  color: var(--muted);
}

/* Utility overrides for existing Tailwind classes used in HTML
   These map common light-mode classes to dark-theme equivalents so
   we don't need to change every instance in the markup. */
.bg-white { background-color: var(--panel) !important; }
.bg-slate-50 { background-color: transparent !important; }
.bg-slate-100 { background-color: var(--panel) !important; }
.panel { background-color: var(--panel) !important; }
.accent-bg { background-color: var(--accent) !important; }
.border-slate-200 { border-color: #1f2937 !important; }
.text-slate-950 { color: var(--text) !important; }
.text-slate-600 { color: var(--muted) !important; }
.text-slate-700 { color: var(--muted) !important; }
.shadow-slate-200\/40 { box-shadow: 0 10px 25px rgba(0,0,0,0.35) !important; }
.shadow-slate-200\/20 { box-shadow: 0 6px 18px rgba(0,0,0,0.25) !important; }

/* Make form inputs darker */
.bg-slate-50 input, .bg-slate-50 textarea, input.bg-slate-50, textarea.bg-slate-50 {
  background-color: var(--panel) !important;
  color: var(--text) !important;
  border-color: #1f2937 !important;
}

::selection {
  background: rgba(14, 165, 233, 0.35);
  color: #fff;
}

#mobileMenu {
  animation: slideDown 0.3s ease-in-out;
}

@keyframes slideDown {
  from { opacity: 0; transform: translateY(-10px); }
  to { opacity: 1; transform: translateY(0); }
}

.testimonial-card {
  animation: fadeIn 0.75s ease-out;
}

@keyframes fadeIn {
  from { opacity: 0; transform: translateY(16px); }
  to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 640px) {
  .testimonial-card {
    padding: 0;
  }
}

