/* BSM — Brand Tokens v1.0 */
:root {
  --bsm-carbon: #111111;
  --bsm-graphite: #252A2D;
  --bsm-concrete: #A8A39A;
  --bsm-mineral: #F4F2ED;
  --bsm-white: #FFFFFF;
  --bsm-ochre: #D7A11E;

  --bsm-font-primary: "IBM Plex Sans", Arial, sans-serif;
  --bsm-font-technical: "IBM Plex Mono", "Courier New", monospace;

  --bsm-radius-sm: 4px;
  --bsm-radius-md: 8px;

  --bsm-line-hairline: 1px;
  --bsm-line-signal: 3px;

  --bsm-space-1: 4px;
  --bsm-space-2: 8px;
  --bsm-space-3: 12px;
  --bsm-space-4: 16px;
  --bsm-space-6: 24px;
  --bsm-space-8: 32px;
  --bsm-space-12: 48px;
  --bsm-space-16: 64px;
}

/* Core surfaces */
.bsm-surface-dark {
  background: var(--bsm-graphite);
  color: var(--bsm-white);
}

.bsm-surface-mineral {
  background: var(--bsm-mineral);
  color: var(--bsm-carbon);
}

/* Signal rule: ochre is used as an indicator, not as a dominant background */
.bsm-signal {
  color: var(--bsm-ochre);
}

.bsm-signal-line {
  height: var(--bsm-line-signal);
  background: var(--bsm-ochre);
}

/* Technical data */
.bsm-tech {
  font-family: var(--bsm-font-technical);
  letter-spacing: .02em;
  font-variant-numeric: tabular-nums;
}

/* Headings */
.bsm-display {
  font-family: var(--bsm-font-primary);
  font-weight: 700;
  letter-spacing: -.02em;
  text-transform: uppercase;
}
