:root {
	/* Approved editorial palette, 2 September 2026. Exact supplied values. */
	--wbs-color-teal-primary: #699995;
	--wbs-color-blue-teal: #6F9DA6;
	/* Compatibility alias for older insertion patterns; not a new palette entry. */
	--wbs-color-aqua-accent: var(--wbs-color-teal-primary);
	--wbs-color-teal-muted: #5E8982;
	--wbs-color-teal-deep: #1F5A5A;
	--wbs-color-structural: #234A50;
	--wbs-color-sage: #AABDB3;
	--wbs-color-mist: #DCE8E7;
	--wbs-color-canvas: #F7F8F5;
	--wbs-color-text: #263536;
	--wbs-color-white: #FFFFFF;
	--wbs-color-award: #C1A66F;

	/* Semantic roles. Keep page/editor and structured components in agreement. */
	--wbs-page-background: var(--wbs-color-canvas);
	--wbs-surface-background: var(--wbs-color-white);
	--wbs-soft-background: var(--wbs-color-mist);
	--wbs-text-primary: var(--wbs-color-text);
	--wbs-text-secondary: var(--wbs-color-structural);
	--wbs-heading-color: var(--wbs-color-structural);
	/* Neither white nor charcoal on #699995 passes AA at small text sizes. */
	--wbs-action-primary: var(--wbs-color-teal-deep);
	--wbs-action-text: var(--wbs-color-white);
	--wbs-action-hover: var(--wbs-color-structural);
	--wbs-action-hover-text: var(--wbs-color-white);
	--wbs-action-secondary: var(--wbs-color-teal-deep);
	--wbs-border: var(--wbs-color-sage);
	--wbs-field-border: var(--wbs-color-teal-muted);
	--wbs-focus: var(--wbs-color-teal-deep);
	--wbs-dark-background: var(--wbs-color-structural);
	--wbs-on-dark: var(--wbs-color-white);
	--wbs-on-dark-secondary: var(--wbs-color-mist);
	--wbs-gold-accent: var(--wbs-color-award);
	--wp--preset--color--aqua-accent: var(--wbs-color-teal-primary);

	/* Keep Astra's inherited controls inside the approved WBS palette. */
	--ast-global-color-0: var(--wbs-color-teal-primary);
	--ast-global-color-1: var(--wbs-color-teal-deep);
	--ast-global-color-2: var(--wbs-color-structural);
	--ast-global-color-3: var(--wbs-color-text);
	--ast-global-color-4: var(--wbs-color-canvas);
	--ast-global-color-5: var(--wbs-color-white);
	--ast-global-color-6: var(--wbs-color-mist);
	--ast-global-color-7: var(--wbs-color-sage);
	--ast-global-color-8: var(--wbs-color-award);

	/* Typography. */
	--wbs-font-heading: "Raleway", sans-serif;
	--wbs-font-body: "Open Sans", sans-serif;
	--wbs-font-label: "Raleway", sans-serif;
	--wbs-font-weight-heading: 500;
	--wbs-font-weight-body: 400;
	--wbs-font-size-hero: clamp(2.75rem, 2rem + 3.125vw, 4.5rem);
	--wbs-font-size-h1: clamp(2.375rem, 1.8rem + 2.4vw, 3.75rem);
	--wbs-font-size-h2: clamp(2rem, 1.7rem + 1.25vw, 2.75rem);
	--wbs-font-size-h3: clamp(1.375rem, 1.25rem + 0.625vw, 1.75rem);
	--wbs-font-size-h4: clamp(1.1875rem, 1.1rem + 0.35vw, 1.4375rem);
	--wbs-font-size-body: clamp(1rem, 0.95rem + 0.25vw, 1.125rem);
	--wbs-font-size-lead: clamp(1.0625rem, 1rem + 0.125vw, 1.125rem);
	--wbs-font-size-small: 0.875rem;
	--wbs-font-size-label: 0.8125rem;
	--wbs-font-size-button: 1rem;
	--wbs-line-height-heading: 1.12;
	--wbs-line-height-body: 1.7;
	--wbs-line-height-compact: 1.35;
	--wbs-letter-spacing-heading: -0.025em;
	--wbs-letter-spacing-label: 0.06em;

	/* Reusable spacing. */
	--wbs-space-1: 0.25rem;
	--wbs-space-2: 0.5rem;
	--wbs-space-3: 0.75rem;
	--wbs-space-4: 1rem;
	--wbs-space-5: 1.25rem;
	--wbs-space-6: 1.5rem;
	--wbs-space-8: 2rem;
	--wbs-space-10: 2.5rem;
	--wbs-space-12: 3rem;
	--wbs-space-16: 4rem;
	--wbs-gutter: clamp(1rem, 4vw, 2rem);
	--wbs-grid-gap: clamp(1rem, 2.5vw, 2rem);
	--wbs-card-padding: clamp(1.25rem, 2.5vw, 2rem);
	--wbs-section-space: clamp(4rem, 8vw, 7rem);
	--wbs-section-space-compact: clamp(2.5rem, 5vw, 4rem);

	/* Layout. */
	--wbs-content-width: 75rem;
	--wbs-reading-width: 48rem;
	--wbs-compact-width: 38rem;
	--wbs-touch-target: 2.75rem;

	/* Shape and motion. */
	--wbs-radius-small: 0.25rem;
	--wbs-radius-medium: 0.5rem;
	--wbs-radius-large: 0.75rem;
	--wbs-border-width: 0.0625rem;
	--wbs-focus-width: 0.1875rem;
	--wbs-transition: 160ms ease;
	--wbs-shadow-soft: 0 0.75rem 2.5rem rgba(35, 74, 80, 0.05);
	--wbs-shadow-float: 0 1rem 3rem rgba(35, 74, 80, 0.08);
}
