:root{
  /* --- Core brand palette (CareFree Homes Visual Assets Guideline rev. 3.1.18) --- */
  --cfh-blue:#003768;   /* CareFree Blue  PANTONE 540  C99 M65 Y5 K36  RGB 0 55 104 */
  --cfh-red:#c70752;    /* CareFree Red   PANTONE 207  C25 M100 Y52 K2 RGB 199 7 82 */
  --cfh-tan:#dfc298;    /* CareFree Tan   PANTONE 466  C5 M17 Y42 K14  RGB 223 194 152 */

  /* --- Blue ramp --- */
  --blue-900:#001d37;
  --blue-800:#002b52;
  --blue-700:#003768;
  --blue-600:#0a4c86;
  --blue-500:#1a63a5;
  --blue-300:#6f9bc0;
  --blue-200:#b7cede;
  --blue-100:#dce7f0;
  --blue-050:#eff4f8;

  /* --- Red ramp --- */
  --red-800:#8d0339;
  --red-700:#a90546;
  --red-600:#c70752;
  --red-400:#e14a81;
  --red-100:#fadbe6;

  /* --- Tan ramp --- */
  --tan-700:#a8814b;
  --tan-600:#c9a271;
  --tan-500:#dfc298;
  --tan-300:#ecdcc2;
  --tan-100:#f7f0e4;

  /* --- Neutrals --- */
  --ink-900:#14181c;
  --ink-800:#242a31;
  --ink-700:#3d4550;
  --ink-600:#5b6572;
  --ink-500:#79838f;
  --ink-400:#a3acb7;
  --ink-300:#c9cfd6;
  --ink-200:#e0e4e8;
  --ink-100:#eef0f2;
  --ink-050:#f7f8f9;
  --white:#ffffff;

  /* --- Semantic status --- */
  --status-success:#2e7d4f;
  --status-success-bg:#e6f2ea;
  --status-warning:#b06d00;
  --status-warning-bg:#fbf0dd;
  --status-danger:#a90546;
  --status-danger-bg:#fadbe6;
  --status-info:#0a4c86;
  --status-info-bg:#dce7f0;

  /* --- Semantic aliases --- */
  --text-heading:var(--cfh-blue);
  --text-body:var(--ink-700);
  --text-muted:var(--ink-600);
  --text-inverse:var(--white);
  --text-on-brand:var(--white);
  --text-accent:var(--cfh-red);

  --surface-page:var(--white);
  --surface-card:var(--white);
  --surface-sunken:var(--ink-050);
  --surface-warm:var(--tan-100);
  --surface-brand:var(--cfh-blue);
  --surface-brand-strong:var(--blue-800);
  --surface-accent:var(--cfh-red);

  --border-subtle:var(--ink-200);
  --border-default:var(--ink-300);
  --border-strong:var(--cfh-blue);
  --border-rule:var(--tan-500);

  --link:var(--cfh-blue);
  --link-hover:var(--cfh-red);
  --focus-ring:var(--cfh-red);

  --overlay-scrim:rgba(0,29,55,.62);
  --overlay-protect:linear-gradient(180deg,rgba(0,29,55,.06) 0%,rgba(0,29,55,.48) 46%,rgba(0,29,55,.84) 100%); /* @kind color */
}
