:root {
  --background: 220 20% 6%;
  --foreground: 0 0% 95%;
  --card: 220 18% 10%;
  --primary: 28 100% 55%;
  --primary-foreground: 0 0% 100%;
  --muted: 220 15% 15%;
  --muted-foreground: 220 10% 55%;
  --destructive: 0 84.2% 60.2%;
  --border: 220 15% 18%;
  --input: 220 15% 18%;
  --ring: 28 100% 55%;
  --gradient-primary: linear-gradient(135deg, hsl(28 100% 55%), hsl(38 100% 60%));
  --shadow-glow: 0 0 40px hsl(28 100% 55% / 0.15);
  --shadow-card: 0 4px 24px hsl(0 0% 0% / 0.3);
}

html { scroll-behavior: smooth; }
body { font-family: 'Inter', sans-serif; }

.text-gradient {
  background-image: var(--gradient-primary);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.bg-gradient-primary { background-image: var(--gradient-primary); }
.shadow-glow { box-shadow: var(--shadow-glow); }
.shadow-card { box-shadow: var(--shadow-card); }
.glass {
  background-color: hsl(var(--card) / 0.8);
  -webkit-backdrop-filter: blur(20px);
  backdrop-filter: blur(20px);
  border: 1px solid hsl(var(--border) / 0.5);
}

.input {
  display: flex;
  height: 2.5rem;
  width: 100%;
  border-radius: 0.5rem;
  border: 1px solid hsl(var(--input));
  background-color: hsl(var(--background));
  color: hsl(var(--foreground));
  padding: 0.5rem 0.75rem;
  font-size: 0.875rem;
  outline: none;
  transition: box-shadow .15s, border-color .15s;
}
.input::placeholder { color: hsl(var(--muted-foreground)); }
.input:focus-visible { box-shadow: 0 0 0 2px hsl(var(--ring) / 0.4); border-color: hsl(var(--ring)); }
.input.invalid { border-color: hsl(var(--destructive)); box-shadow: 0 0 0 2px hsl(var(--destructive) / 0.3); }

@keyframes fade-up {
  from { opacity: 0; transform: translateY(30px); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes pulse-glow {
  0%, 100% { box-shadow: 0 0 20px hsl(28 100% 55% / 0.2); }
  50%      { box-shadow: 0 0 40px hsl(28 100% 55% / 0.4); }
}
.animate-fade-up   { animation: fade-up .8s ease-out forwards; }
.animate-pulse-glow{ animation: pulse-glow 2s ease-in-out infinite; }

/* Accordion */
.acc-item { transition: all .2s; }
.acc-item.open { border-color: hsl(var(--primary) / 0.3); box-shadow: var(--shadow-glow); }
.acc-trigger { width: 100%; display:flex; justify-content:space-between; align-items:center; gap:1rem; padding: 1.25rem 0; text-align:left; font-weight:600; }
.acc-trigger .chev { transition: transform .2s; }
.acc-item.open .acc-trigger .chev { transform: rotate(180deg); }
.acc-content { display: none; padding-bottom: 1.25rem; color: hsl(var(--muted-foreground)); line-height: 1.65; }
.acc-item.open .acc-content { display: block; }
