:root {
    /* Project tokens continue to map to Kadence global palette and typography controls. */
    --vs-color-background: var(--global-palette9, #ffffff);
    --vs-color-surface: var(--global-palette8, #f3f8ff);
    --vs-color-surface-soft: var(--global-palette8, #f3f8ff);
    --vs-color-text: var(--global-palette3, #06162b);
    --vs-color-text-muted: var(--global-palette5, #4e627a);
    --vs-color-border: var(--global-palette7, #dcecff);
    --vs-color-primary: var(--global-palette1, #1769e0);
    --vs-color-secondary: var(--global-palette2, #2f7bea);
    --vs-color-accent: var(--global-palette2, #2f7bea);
    --vs-color-dark-surface: var(--global-palette3, #06162b);
    --vs-color-on-dark: var(--global-palette9, #ffffff);
    --vs-color-on-dark-muted: #b9c7d9;
    --vs-color-success: #15803d;
    --vs-color-warning: #b45309;
    --vs-color-danger: #b91c1c;
    --vs-color-focus: var(--vs-color-secondary);

    --vs-service-websites-accent: #1769e0;
    --vs-service-websites-surface: #eef6ff;
    --vs-service-commerce-accent: #7557c7;
    --vs-service-commerce-surface: #f6f2ff;
    --vs-service-apps-accent: #29835a;
    --vs-service-apps-surface: #eef9f3;
    --vs-service-consulting-accent: #c56a32;
    --vs-service-consulting-surface: #fff4ec;

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

    --vs-section-space: clamp(4.5rem, 7vw, 7rem);
    --vs-section-space-compact: clamp(3.5rem, 5vw, 5rem);
    --vs-content-stack-gap: clamp(1rem, 1.5vw, 1.5rem);
    --vs-component-gap: clamp(1rem, 2vw, 1.75rem);
    --vs-card-padding: clamp(1.5rem, 2.4vw, 2rem);

    --vs-container-content: 70rem;
    --vs-container-wide: 82rem;
    --vs-measure-readable: 68ch;

    --vs-radius-sm: 0.25rem;
    --vs-radius-md: 0.5rem;
    --vs-radius-lg: 0.75rem;
    --vs-radius-pill: 999rem;

    --vs-border-width: 1px;
    --vs-border-style: solid;
    --vs-border: var(--vs-border-width) var(--vs-border-style) var(--vs-color-border);

    --vs-shadow-subtle: 0 1px 2px rgb(6 22 43 / 0.08);
    --vs-shadow-medium: 0 12px 28px rgb(6 22 43 / 0.12);

    --vs-motion-short: 150ms;
    --vs-motion-normal: 220ms;
    --vs-motion-ease: cubic-bezier(0.2, 0, 0, 1);

    --vs-focus-ring-width: 2px;
    --vs-focus-ring-offset: 3px;
    --vs-focus-ring: var(--vs-focus-ring-width) solid var(--vs-color-focus);

    --vs-button-min-height: 2.75rem;
    --vs-button-padding-inline: 1.2rem;
    --vs-button-font-size: clamp(0.94rem, 0.91rem + 0.14vw, 1rem);
    --vs-button-font-weight: 600;
    --vs-button-line-height: 1.25;

    --vs-font-body: var(--global-body-font-family, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);
    --vs-font-heading: var(--global-heading-font-family, var(--vs-font-body));

    --vs-font-size-xs: clamp(0.78rem, 0.75rem + 0.1vw, 0.84rem);
    --vs-font-size-sm: clamp(0.89rem, 0.86rem + 0.12vw, 0.96rem);
    --vs-font-size-base: clamp(1rem, 0.96rem + 0.18vw, 1.08rem);
    --vs-font-size-lg: clamp(1.13rem, 1.06rem + 0.32vw, 1.28rem);
    --vs-font-size-xl: clamp(1.35rem, 1.22rem + 0.62vw, 1.72rem);
    --vs-font-size-2xl: clamp(1.62rem, 1.42rem + 0.96vw, 2.16rem);
    --vs-font-size-3xl: clamp(1.95rem, 1.62rem + 1.48vw, 2.72rem);
    --vs-font-size-4xl: clamp(2.34rem, 1.88rem + 2.12vw, 3.42rem);

    --vs-line-height-tight: 1.15;
    --vs-line-height-heading: 1.22;
    --vs-line-height-body: 1.65;
    --vs-line-height-small: 1.5;
}
