:root {
    --vdm-color-navy: #132634;
    --vdm-color-ink: #1b2a36;
    --vdm-color-steel: #9c9ba0;
    --vdm-color-muted: #5c6873;
    --vdm-color-brass: #a97636;
    --vdm-color-brass-dark: #8f6129;
    --vdm-color-background: #f4f3f0;
    --vdm-color-surface: #ffffff;
    --vdm-color-border: #e4e2dd;
    --vdm-color-success: #3f6b48;
    --vdm-color-success-bg: #e7f0e8;
    --vdm-color-warning: #8a5a1e;
    --vdm-color-warning-bg: #f6ecd9;
    --vdm-color-error: #8a3030;
    --vdm-color-error-bg: #f7e6e6;

    --vdm-font-display: "Oswald", sans-serif;
    --vdm-font-body: "IBM Plex Sans", sans-serif;

    --vdm-font-size-xs: 0.75rem;
    --vdm-font-size-sm: 0.875rem;
    --vdm-font-size-base: 1rem;
    --vdm-font-size-md: 1.0625rem;
    --vdm-font-size-lg: 1.25rem;
    --vdm-font-size-h3: clamp(1.35rem, 2vw, 1.65rem);
    --vdm-font-size-h2: clamp(1.85rem, 3vw, 2.5rem);
    --vdm-font-size-h1: clamp(2.5rem, 5vw, 4rem);

    --vdm-line-height-tight: 1.08;
    --vdm-line-height-heading: 1.18;
    --vdm-line-height-body: 1.65;

    --vdm-width-reading: 760px;
    --vdm-width-content: 1140px;
    --vdm-width-catalog: 1280px;

    --vdm-page-gutter: clamp(20px, 4vw, 48px);
    --vdm-section-space: clamp(56px, 8vw, 96px);

    --vdm-space-1: 0.25rem;
    --vdm-space-2: 0.5rem;
    --vdm-space-3: 1rem;
    --vdm-space-4: 1.5rem;
    --vdm-space-5: 2rem;
    --vdm-space-6: 3rem;
    --vdm-space-7: 4rem;
    --vdm-space-8: 5rem;

    --vdm-radius-sm: 3px;
    --vdm-radius-md: 6px;
    --vdm-radius-lg: 10px;

    --vdm-shadow-card: 0 12px 30px rgb(19 38 52 / 8%);
    --vdm-shadow-card-hover: 0 16px 38px rgb(19 38 52 / 14%);

    --vdm-transition: 180ms ease;
}

/*
 * Neve and Elementor palette aliases.
 * VDM tokens remain the single source of truth.
 */
:root {
    --nv-primary-accent: var(--vdm-color-brass);
    --nv-secondary-accent: var(--vdm-color-brass-dark);
    --nv-site-bg: var(--vdm-color-background);
    --nv-light-bg: var(--vdm-color-surface);
    --nv-dark-bg: var(--vdm-color-navy);
    --nv-text-color: var(--vdm-color-ink);
    --nv-text-dark-bg: var(--vdm-color-surface);
    --nv-c-1: var(--vdm-color-muted);
    --nv-c-2: var(--vdm-color-border);

    --e-global-color-nvprimaryaccent: var(--vdm-color-brass);
    --e-global-color-nvsecondaryaccent: var(--vdm-color-brass-dark);
    --e-global-color-nvsitebg: var(--vdm-color-background);
    --e-global-color-nvlightbg: var(--vdm-color-surface);
    --e-global-color-nvdarkbg: var(--vdm-color-navy);
    --e-global-color-nvtextcolor: var(--vdm-color-ink);
    --e-global-color-nvtextdarkbg: var(--vdm-color-surface);
    --e-global-color-nvc1: var(--vdm-color-muted);
    --e-global-color-nvc2: var(--vdm-color-border);

    --e-global-color-custom1: var(--vdm-color-muted);
    --e-global-color-custom2: var(--vdm-color-border);
    --e-global-color-custom3: var(--vdm-color-ink);
}
