/* ── INPULSE BRAND TOKENS ── */
:root {
  --void:     #080810;
  --deep:     #0D0D1A;
  --surface:  #12121F;
  --panel:    #1A1A2E;
  --neon:     #E8FF00;
  --pulse:    #FF2D6B;
  --electric: #00D4FF;
  --warm:     #FF6B35;
  --white:    #F0F0FF;
  --muted:    rgba(240,240,255,0.45);
}

/* ── BACKGROUNDS ── */
.ip-bg-void    { background-color: var(--void) !important; }
.ip-bg-deep    { background-color: var(--deep) !important; }
.ip-bg-panel   { background-color: var(--panel) !important; }
.ip-bg-neon    { background-color: var(--neon) !important; }
.ip-bg-pulse   { background-color: var(--pulse) !important; }

/* ── TEXT COLOURS ── */
.ip-text-neon     { color: var(--neon) !important; }
.ip-text-pulse    { color: var(--pulse) !important; }
.ip-text-electric { color: var(--electric) !important; }
.ip-text-warm     { color: var(--warm) !important; }
.ip-text-white    { color: var(--white) !important; }
.ip-text-muted    { color: var(--muted) !important; }

/* ── FONTS ── */
.ip-font-display { font-family: 'Black Ops One', sans-serif !important; }
.ip-font-head    { font-family: 'Bebas Neue', sans-serif !important; letter-spacing: 0.08em; }
.ip-font-body    { font-family: 'DM Sans', sans-serif !important; }
.ip-font-mono    { font-family: 'Space Mono', monospace !important; }

/* ── BUTTONS ── */
.ip-btn {
  display: inline-block;
  font-family: 'Bebas Neue', sans-serif;
  font-size: 20px;
  letter-spacing: 0.12em;
  padding: 14px 32px;
  border-radius: 10px;
  text-decoration: none;
  transition: all 0.2s ease;
  cursor: pointer;
}
.ip-btn-primary {
  background: var(--neon);
  color: var(--void) !important;
}
.ip-btn-primary:hover {
  background: #f5ff33;
  box-shadow: 0 0 24px rgba(232,255,0,0.35);
  transform: translateY(-2px);
}
.ip-btn-secondary {
  background: transparent;
  color: var(--white) !important;
  border: 1px solid rgba(255,255,255,0.15);
}
.ip-btn-secondary:hover {
  border-color: var(--neon);
  color: var(--neon) !important;
}

/* ── CARDS ── */
.ip-card {
  background: var(--panel);
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,0.07);
  padding: 28px;
  transition: border-color 0.3s, transform 0.3s;
}
.ip-card:hover {
  border-color: rgba(232,255,0,0.2);
  transform: translateY(-4px);
}

/* ── LABEL / BADGE ── */
.ip-label {
  font-family: 'Space Mono', monospace;
  font-size: 10px;
  letter-spacing: 0.35em;
  text-transform: uppercase;
  color: var(--neon);
}
.ip-badge {
  display: inline-block;
  font-family: 'Space Mono', monospace;
  font-size: 9px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  padding: 4px 12px;
  border-radius: 100px;
  border: 1px solid currentColor;
}
.ip-badge-neon    { color: var(--neon);    background: rgba(232,255,0,0.06); }
.ip-badge-pulse   { color: var(--pulse);   background: rgba(255,45,107,0.06); }
.ip-badge-electric{ color: var(--electric);background: rgba(0,212,255,0.06); }

/* ── DIVIDER ── */
.ip-divider {
  width: 100%;
  height: 1px;
  background: rgba(255,255,255,0.07);
  margin: 40px 0;
}