:root {
  /* Kadence palette exact match */
  --global-palette1: #f54a48;
  --global-palette2: #7436bb;
  --global-palette3: #ffffff;
  --global-palette4: #461f72;
  --global-palette5: #231f20;
  --global-palette6: #767676;
  --global-palette7: #EDF2F7;
  --global-palette8: #F7FAFC;
  --global-palette9: #140921;
  --global-palette10: #fa982f;

  /* Fonts from Kadence */
  --global-heading-font-family: 'Raleway', sans-serif;
  --global-body-font-family: 'Raleway', sans-serif;
  --global-content-width: 1280px;

  /* Button gradient from Kadence */
  --global-palette-btn-bg: linear-gradient(260deg, #fa982f 57%, #7436bb 100%);
  --global-palette-btn-color: #ffffff;

  /* Page-specific tokens — now using Kadence orange + purple */
  --accent: #fa982f;
  --accent-light: #f76a0c;
  --accent-dim: rgba(250, 152, 47, 0.15);
  --accent-border: rgba(250, 152, 47, 0.28);
  --purple: #7436bb;
  --purple-dim: rgba(116, 54, 187, 0.15);
  --purple-border: rgba(116, 54, 187, 0.30);

  /* Surfaces — deep purple-black like Kadence */
  --bg-base: #140921;
  --bg-layer: #1a0b2e;
  --surface-card: rgba(255, 255, 255, 0.03);
  --surface-glass: rgba(255, 255, 255, 0.04);

  /* Shadows */
  --shadow-accent: 0 0 40px rgba(250, 152, 47, 0.14);
  --shadow-card: 0 4px 32px rgba(0, 0, 0, 0.55);

  /* Misc */
  --radius-card: 16px;
  --radius-btn: 30px;
  --transition: 0.3s ease;

  /* Footer gradient from Kadence */
  --footer-bg: linear-gradient(180deg, rgb(20, 9, 33) 0%, rgb(71, 17, 51) 100%);
}

/* ============================================================
   RESET & BASE
   ============================================================ */
*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  scroll-behavior: smooth;
}

body {
  font-family: var(--global-body-font-family);
  font-size: clamp(1rem, 1.2vw, 1.125rem);
  background-color: var(--bg-base);
  line-height: 1.7;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}


.section-label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--accent);
  margin-bottom: 1rem;
}

.section-label::before {
  content: '';
  display: block;
  width: 28px;
  height: 2px;
  background: var(--global-palette-btn-bg);
  border-radius: 2px;
}

/* ============================================================
   LAYOUT UTILITIES
   ============================================================ */
.kbm-container {
  width: 100%;
  max-width: var(--global-content-width);
  margin-inline: auto;
  padding-inline: clamp(1.25rem, 5vw, 3rem);
}

.kbm-section {
  padding-block: clamp(4rem, 8vw, 7rem);
}

.section-header {
  text-align: center;
  max-width: 720px;
  margin-inline: auto;
  margin-bottom: clamp(2.5rem, 5vw, 4rem);
}

.section-header p {
  margin-top: 1rem;
  font-size: clamp(1rem, 1.3vw, 1.125rem);
}

.accent {
  color: var(--accent);
}

.gold-rule {
  width: 56px;
  height: 3px;
  background: var(--global-palette-btn-bg);
  border: none;
  margin: 1.25rem auto 0;
  display: block;
  border-radius: 30px;
}