:root {
  --brand-primary: #0A1A3A;
  --brand-primary-dark: #060F26;
  --brand-primary-light: #1B3157;
  --brand-secondary: #B9AA9B;
  --brand-secondary-light: #CDC1B4;
  --brand-accent: #B9AA9B;
  --brand-accent-light: #CDC1B4;
  --brand-accent-dark: #9A8B7B;
  --brand-neutral: #0A1A3A;
  --brand-neutral-light: #1B3157;
  --brand-white: #FFFFFF;
  --brand-bg: #E9E2D1;
  --brand-bg-alt: #DCD2BE;
  --brand-text: #0A1A3A;
  --brand-text-muted: #8A7C6C;
}

body {
  background: var(--brand-bg);
  color: var(--brand-text);
  font-family: 'Segoe UI', system-ui, -apple-system, sans-serif;
}

/* ── Buttons ── */
.btn-brand-primary {
  background: var(--brand-primary);
  color: var(--brand-white);
  border: none;
  transition: background .2s, transform .2s, box-shadow .2s;
}
.btn-brand-primary:hover {
  background: var(--brand-primary-dark);
  color: var(--brand-white);
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(10, 26, 58, .3);
}

.btn-brand-accent {
  background: var(--brand-accent);
  color: var(--brand-white);
  border: none;
  transition: background .2s, transform .2s, box-shadow .2s;
}
.btn-brand-accent:hover {
  background: var(--brand-accent-dark);
  color: var(--brand-white);
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(185, 170, 155, .4);
}

.btn-brand-outline {
  background: transparent;
  color: var(--brand-primary);
  border: 2px solid var(--brand-primary);
  transition: background .2s, color .2s, transform .2s;
}
.btn-brand-outline:hover {
  background: var(--brand-primary);
  color: var(--brand-white);
  transform: translateY(-1px);
}

.btn-brand-outline-light {
  background: transparent;
  color: var(--brand-white);
  border: 2px solid rgba(255,255,255,.5);
  transition: background .2s, transform .2s;
}
.btn-brand-outline-light:hover {
  background: rgba(255,255,255,.15);
  color: var(--brand-white);
  transform: translateY(-1px);
}

/* ── Links ── */
a { color: var(--brand-primary); transition: color .2s; }
a:hover { color: var(--brand-accent); }

/* ── Text colors ── */
.text-brand-primary { color: var(--brand-primary) !important; }
.text-brand-accent  { color: var(--brand-accent) !important; }
.text-brand-neutral { color: var(--brand-neutral) !important; }
.text-brand-muted   { color: var(--brand-text-muted) !important; }

/* ── Backgrounds ── */
.bg-brand-primary { background: var(--brand-primary) !important; }
.bg-brand-accent  { background: var(--brand-accent) !important; }
.bg-brand-neutral { background: var(--brand-neutral) !important; }
.bg-brand-light   { background: var(--brand-bg) !important; }

/* ── Badges ── */
.badge-brand {
  background: var(--brand-accent);
  color: var(--brand-white);
  font-size: 10px;
  padding: 2px 7px;
  border-radius: 10px;
}

/* ── Cards ── */
.card-brand {
  border: none;
  background: var(--brand-white);
  border-radius: 12px;
  box-shadow: 0 1px 4px rgba(0,0,0,.06);
  transition: box-shadow .2s, transform .2s;
}
.card-brand:hover {
  box-shadow: 0 4px 16px rgba(0,0,0,.1);
  transform: translateY(-2px);
}

/* ── Form elements ── */
.form-brand:focus {
  border-color: var(--brand-primary);
  box-shadow: 0 0 0 3px rgba(10, 26, 58, .15);
}

/* ── Section backgrounds ── */
.section-primary {
  background: var(--brand-primary);
  color: var(--brand-white);
}
.section-alt {
  background: var(--brand-bg-alt);
}
