:root{
/* Brand red — pure #FF0000, sampled from the logo dot. Never tinted toward orange or magenta. */
--red-tint:#FFECEC;--red-200:#FF9A9A;--red-400:#FF3B3B;--red-500:#FF0000;--red-600:#D90000;--red-700:#A80000;
/* Ink + neutrals — sampled from the logo (#111) and the psycobrand.com wordmark (#4D4D4D). */
--black:#000000;--ink-900:#111111;--ink-800:#1C1C1C;--gray-700:#4D4D4D;--gray-600:#6E6E6E;--gray-500:#8C8C8C;--gray-400:#A6A6A6;--gray-300:#D9D9D9;--gray-200:#E8E8E8;--gray-100:#F2F2F2;--gray-050:#FAFAFA;--white:#FFFFFF;
/* Semantic aliases — use these in components, not the raw scale. */
--accent:var(--red-500);--accent-hover:var(--red-600);--accent-press:var(--red-700);--accent-tint:var(--red-tint);
--text-primary:var(--ink-900);--text-secondary:var(--gray-700);--text-muted:var(--gray-500);--text-inverse:var(--white);--text-inverse-muted:rgba(255,255,255,.72);--text-accent:var(--red-500);
--surface-page:var(--white);--surface-subtle:var(--gray-050);--surface-card:var(--white);--surface-muted:var(--gray-100);--surface-inverse:var(--ink-900);--surface-black:var(--black);--surface-accent:var(--red-500);
--border-subtle:var(--gray-200);--border-strong:var(--gray-300);--border-inverse:rgba(255,255,255,.16);--border-accent:var(--red-500);
--focus-ring:var(--red-500);
/* Editorial overlays used on full-bleed photography */
--scrim-bottom:linear-gradient(180deg,rgba(0,0,0,0) 0%,rgba(0,0,0,.15) 38%,rgba(0,0,0,.72) 100%); /* @kind other */
--scrim-left:linear-gradient(90deg,rgba(0,0,0,.68) 0%,rgba(0,0,0,.28) 55%,rgba(0,0,0,0) 100%); /* @kind other */
--scrim-flat:rgba(0,0,0,.42); /* @kind color */
}
[data-theme="dark"]{
--text-primary:var(--white);--text-secondary:rgba(255,255,255,.72);--text-muted:rgba(255,255,255,.52);--text-inverse:var(--ink-900);
--surface-page:var(--ink-900);--surface-subtle:var(--ink-800);--surface-card:var(--ink-800);--surface-muted:#242424;
--border-subtle:rgba(255,255,255,.12);--border-strong:rgba(255,255,255,.22);
}
