:root{
/* Brand — exact values from the CAPABI huisstijl (v1.0) */
--capabi-navy:#002743;      /* Pantone 7462C · CMYK 90/40/0/80 */
--capabi-orange:#EF7D00;    /* Pantone 716C · CMYK 0/60/100/0 */
--capabi-white:#FFFFFF;
--capabi-gray:#F6F6F6;      /* Pantone Cool Gray 1C */

/* Navy ramp — tints/shades of #002743, for surfaces, rules and states */
--navy-900:#001A2D;
--navy-800:#002743;
--navy-700:#0A3A5C;
--navy-600:#1B4E71;
--navy-500:#3C6C8C;
--navy-300:#8AA5B8;
--navy-200:#C2D0DA;
--navy-100:#E3EAEF;
--navy-050:#F1F5F8;

/* Orange ramp */
--orange-700:#B85F00;
--orange-600:#D46F00;
--orange-500:#EF7D00;
--orange-300:#F7B160;
--orange-200:#FBD8AE;
--orange-100:#FDEEDC;

/* Neutrals */
--gray-000:#FFFFFF;
--gray-050:#F6F6F6;
--gray-100:#ECECEC;
--gray-200:#DCDCDC;
--gray-400:#9B9B9B;
--gray-600:#6B6B6B;
--gray-900:#1A1A1A;

/* Semantic — surfaces */
--surface-page:var(--gray-000);
--surface-subtle:var(--capabi-gray);
--surface-card:var(--gray-000);
--surface-inverse:var(--capabi-navy);
--surface-inverse-raised:var(--navy-700);
--surface-accent:var(--capabi-orange);
--surface-accent-subtle:var(--orange-100);

/* Semantic — text */
--text-heading:var(--capabi-navy);
--text-body:var(--navy-700);
--text-muted:var(--gray-600);
--text-inverse:var(--gray-000);
--text-inverse-muted:var(--navy-300);
--text-accent:var(--capabi-orange);
--text-on-accent:var(--gray-000);

/* Semantic — lines */
--border-subtle:var(--gray-200);
--border-strong:var(--navy-200);
--border-inverse:rgba(255,255,255,.14);
--focus-ring:var(--capabi-orange);

/* Semantic — status (derived; not specified in the huisstijl) */
--status-success:#1E8A5F;
--status-success-subtle:#E4F3EC;
--status-warning:var(--capabi-orange);
--status-warning-subtle:var(--orange-100);
--status-danger:#C0392B;
--status-danger-subtle:#FBEAE8;
--status-info:var(--navy-600);
--status-info-subtle:var(--navy-100);
}
