:root {
  /* ---- Base palette ---- */
  /* Greens — the brand's core identity color, sampled from the logo mark and campaign art */
  --green-50:  #eafbf3;
  --green-100: #cdf5e2;
  --green-200: #9be8c8;
  --green-300: #5ed6a8;
  --green-400: #31c28c;
  --green-500: #27c18d;   /* logo mark green */
  --green-600: #1a9d6f;
  --green-700: #0f7d52;   /* campaign background green */
  --green-800: #0a5c3c;
  --green-900: #05391f;
  --green-950: #01551a;   /* deep footer/contact-bar green, near-black */

  /* Lime — high-energy accent used for pricing/callout bars and badges */
  --lime-300: #cbff9c;
  --lime-400: #a8fd62;    /* campaign "price starting from" bar */
  --lime-500: #8de83f;

  /* Navy — logotype wordmark color, used for authoritative text on light surfaces */
  --navy-500: #232c5c;
  --navy-700: #131946;    /* logo wordmark navy */
  --navy-900: #0b0f2e;

  /* Neutrals */
  --gray-0:   #ffffff;
  --gray-50:  #f7f9f8;
  --gray-100: #eef2f0;
  --gray-200: #dde4e1;
  --gray-300: #c1cbc7;
  --gray-400: #94a19c;
  --gray-500: #6b7873;
  --gray-600: #4d5854;
  --gray-700: #37403d;
  --gray-800: #232a27;
  --gray-900: #141917;

  /* Status */
  --red-500: #d64545;
  --amber-500: #e2a53a;
  --blue-500: #2f6fed;

  /* ---- Semantic aliases ---- */
  --brand-primary: var(--green-500);
  --brand-primary-strong: var(--green-700);
  --brand-primary-deep: var(--green-950);
  --brand-accent: var(--lime-400);
  --brand-ink: var(--navy-700);

  --surface-page: var(--gray-0);
  --surface-sunken: var(--gray-50);
  --surface-card: var(--gray-0);
  --surface-inverse: var(--green-950);
  --surface-brand: var(--green-700);
  --surface-brand-gradient: linear-gradient(155deg, var(--green-950) 0%, var(--green-700) 45%, var(--green-400) 100%);

  --text-heading: var(--navy-700);
  --text-body: var(--gray-800);
  --text-muted: var(--gray-500);
  --text-on-brand: var(--gray-0);
  --text-link: var(--green-700);
  --text-link-hover: var(--green-600);

  --border-subtle: var(--gray-200);
  --border-default: var(--gray-300);
  --border-brand: var(--green-500);

  --focus-ring: var(--green-500);

  --status-success: var(--green-600);
  --status-warning: var(--amber-500);
  --status-danger: var(--red-500);
  --status-info: var(--blue-500);
}
