/* Design tokens — Diamond brand defaults. Child themes override these per brand. */
:root {
	/* Colors */
	--rehab-color-bg: #FFFFFF;
	--rehab-color-cream: #F7F4EC;
	--rehab-color-fg: #2C2C2C;

	--rehab-sage: #BAC3A1;
	--rehab-sage-dark: #8A9674;
	--rehab-sage-text: #7A856A;
	--rehab-ethereal-sage: #ECF0E8;
	--rehab-tan: #BEB39E;

	--rehab-warm-charcoal: #2C2C2C;
	--rehab-soft-charcoal: #4A4A4A;

	--rehab-cream-warm: #F9F7F2;
	--rehab-sage-mist-2: #F1F3E9;
	--rehab-gold-star: #FBBF24;

	/* Warm neutrals — homepage footer/surfaces (override per brand) */
	--rehab-surface-tint: #F6F7F2;
	--rehab-surface-muted: #F5F5F0;
	--rehab-divider-warm: #DFD9CE;

	/* RGB triplets for translucent brand colors, used as rgba(var(--…-rgb), .a)
	   (REH-50). Keep in sync with the matching hex token above when rebranding —
	   a child that overrides --rehab-sage should also override --rehab-sage-rgb. */
	--rehab-sage-rgb: 186, 195, 161;
	--rehab-sage-dark-rgb: 138, 150, 116;
	--rehab-sage-text-rgb: 122, 133, 106;
	--rehab-tan-rgb: 190, 179, 158;
	--rehab-warm-charcoal-rgb: 44, 44, 44;
	--rehab-soft-charcoal-rgb: 74, 74, 74;
	--rehab-cream-warm-rgb: 249, 247, 242;

	/* Easing & shadows */
	--rehab-ease: cubic-bezier(0.4, 0, 0.2, 1);
	--rehab-ease-out: cubic-bezier(0, 0, 0.2, 1);
	--rehab-shadow-subtle: 0 4px 30px -8px rgba(0, 0, 0, 0.08);
	--rehab-shadow-elevated: 0 20px 60px -20px rgba(0, 0, 0, 0.12);
	--rehab-shadow-dramatic: 0 40px 80px -30px rgba(0, 0, 0, 0.15);

	/* Type */
	--rehab-font-body: Inter, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	/* "Ivymode" was the first family here but is loaded NOWHERE in this
	   codebase — no @font-face, no Typekit — so it silently fell through to
	   Georgia (REH-39 found this and fixed only the homepage). Dropping the
	   phantom is a visual no-op: Diamond already renders Georgia. Brands set
	   their own face by overriding this token (see anker-child). */
	--rehab-font-display: Georgia, "Times New Roman", serif;
	/* Alias — articles-index.css and treatment.css ask for `--rehab-font-serif`,
	   which was undefined, so those font-family declarations were dropped
	   entirely (REH-191). Points at the display face rather than inventing a
	   second serif. */
	--rehab-font-serif: var(--rehab-font-display);

	/* Breadcrumb type. The site draws breadcrumbs through two different
	   implementations — `.rehab-breadcrumb` (page/treatment templates) and
	   `.rehab-article__crumb` (the article template) — which had drifted to
	   three sizes: 0.72rem, 0.75rem and 0.78rem, so the crumb changed size as
	   you moved between page types (sheet row 90). Both implementations now
	   read these tokens, so a brand sets the size once and the two cannot
	   diverge again. Brands override in their child theme. */
	--rehab-breadcrumb-size: 0.75rem;
	--rehab-breadcrumb-tracking: 0.08em;

	/* Aliases for the `--rehab-color-*` names used across article, treatment and
	   utility CSS (REH-191). These were referenced but never defined, so every
	   rule using them fell through to a hardcoded Diamond fallback that brand
	   overrides could not reach. Values are the exact former fallbacks, so
	   defining them changes nothing visually — it only makes them overridable.

	   NOTE: --rehab-color-sage (#B3B88E) is deliberately NOT the same value as
	   --rehab-sage (#BAC3A1). Unifying the two is a palette decision with visual
	   consequences and is intentionally left out of this change. */
	--rehab-color-accent: #7A856A;
	--rehab-color-sage: #B3B88E;
	--rehab-color-sage-deep: #6F7449;
	--rehab-color-line: #E6E2D8;
	/* Form-field boundary: a UI component, so it owes 3:1 against white
	   (WCAG 1.4.11) where the decorative hairline above does not. */
	--rehab-color-field-line: #8C8A82;
	/* Warm closing-band ground for the Page Reimagined layer (REH-323). */
	--rehab-surface-warm: #F3EFE7;
	--rehab-color-ink: #1F1F1D;
	--rehab-color-ink-soft: #5A5A55;
	--rehab-color-white: #FFFFFF;

	/* Also previously referenced but undefined (REH-191). */
	--rehab-sage-mist: #E6EAE5;
	/* Promoted from hardcoded values during REH-232. Defaults are the colours
	   those rules already used, so this is a no-op for Diamond. */
	--rehab-sage-light: #D9DEC8;   /* gradient start in the article pull-quote */
	--rehab-utility-fg: #ECE9E0;   /* text on the dark utility bar */
	--rehab-deep-charcoal: #1F2A44;
	--rehab-luxury-gold: #BCA56B;

	/* Spacing & layout */
	--rehab-space-xs: 0.5rem;
	--rehab-space-sm: 1rem;
	--rehab-space-md: 1.5rem;
	--rehab-space-lg: 3rem;
	--rehab-space-xl: 5rem;

	/* Numbered space scale. Promoted here from articles-index.css (REH-191),
	   where REH-51 had defined it locally to unbreak that one page while
	   explicitly leaving treatment.css with the same latent dependency.
	   --rehab-space-4 was missing from that local block entirely.

	   The treatment.css half turned out to be harmless in practice: its
	   `.rehab-related-treatments` block only renders when a page has no final-CTA
	   of its own, and every v3 treatment page has one — measured 0 of 43 live
	   pages. So that CSS, and the template branch feeding it, are dead. Left in
	   place here; removing them is tracked separately. */
	--rehab-space-2: 0.5rem;
	--rehab-space-3: 0.75rem;
	--rehab-space-4: 1rem;
	--rehab-space-5: 1.5rem;
	--rehab-space-6: 1.75rem;
	--rehab-space-7: 2.5rem;
	--rehab-space-8: 3.5rem;
	--rehab-space-9: 4rem;

	/* Component defaults that blocks may override inline per instance. */
	--rehab-gallery-cols: 3;
	--rehab-marquee-duration: 30s;

	--rehab-container-max: 1440px;
	/* Container variants (REH-198). These widths were hardcoded twice — once in
	   layout.css for .rehab-container--* and again in homepage/homepage-layout.css
	   for .rehab-home-container--*, at identical values. Tokenised so a brand can
	   retune container widths once and both systems follow. */
	--rehab-container-narrow: 1200px;
	--rehab-container-xs: 1024px;
	--rehab-container-text: 896px;
	--rehab-radius-sm: 4px;
	--rehab-radius-md: 8px;
	--rehab-radius-lg: 16px;
	--rehab-radius-pill: 999px;
}
