:root {
  /* Corporate Design: content colors; approved shell keeps its existing tokens. */
  --cd-primary-dark: #243633;
  --cd-body-text: #26302e;
  --cd-secondary-text: #626467;
  --cd-gold: #d8bf5b;
  --cd-background-warm: #f8f5ed;
  --cd-background-neutral: #f2f2ef;

  /* Brand colors */
  --color-ink: #3f4854;
  --color-ink-strong: #3f4655;
  --color-ink-muted: #5f6875;
  --color-blue-gray: #3f5661;
  --color-gold: #d9be5b;
  --color-surface: #ffffff;
  --color-surface-soft: #f4f4f2;
  --color-surface-warm: #f5f2ec;

  /* Semantic color roles */
  --color-text-primary: var(--color-ink);
  --color-text-base: #364151;
  --color-text-muted: var(--color-ink-muted);
  --color-heading: var(--color-ink-strong);
  --color-accent: var(--color-gold);
  --color-accent-hover: #ffd700;
  --color-link: #222222;
  --color-surface-page: var(--color-surface);
  --color-surface-light: var(--color-surface-soft);
  --color-surface-highlight: var(--color-surface-warm);
  --color-surface-footer: #243633;

  /* Typography */
  --font-sans: "Source Sans 3", sans-serif;
  --font-body: var(--font-sans);
  --font-size-body: 1rem;
  --line-height-body: 1.72;
  --font-heading: "Newsreader", serif;
  --font-navigation: var(--font-sans);
  --font-button: var(--font-sans);
  --font-weight-regular: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;
  --type-body-family: var(--font-body);
  --type-body-size: var(--font-size-body);
  --type-body-line-height: var(--line-height-body);
  --type-heading-family: var(--font-heading);

  /* Spacing */
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.5rem;
  --space-6: 2rem;
  --space-7: 3rem;
  --space-8: 4rem;
  --space-inline-page: var(--space-4);
  --space-section-small: var(--space-6);
  --space-section-medium: var(--space-7);
  --space-section-large: var(--space-8);

  /* Layout */
  --container-content: 1150px;
  --container-site: var(--container-content);
  --container-narrow: 750px;
  --breakpoint-mobile: 767px;
  --breakpoint-navigation: 921.99px;
  --breakpoint-tablet: 1024px;

  /* Surfaces */
  --radius-small: 3px;
  --radius-medium: 12px;
  --radius-large: 20px;
  --shadow-soft: 0 10px 30px rgb(63 72 84 / 10%);
  --shadow-floating: 0 12px 35px rgb(63 72 84 / 16%);
  --radius-control: var(--radius-small);
  --radius-card: var(--radius-medium);
  --radius-panel: var(--radius-large);
  --shadow-card: var(--shadow-soft);
  --shadow-overlay: var(--shadow-floating);
}
