:root {
  /* colour: brand */
  --vt-color-brand: #2A44D4;  --vt-color-brand-hover: #1F35AB;  --vt-color-brand-tint: #EEF2FF;
  --vt-color-ai: #6D28D9;     --vt-color-ai-tint: #F3EEFF;
  --vt-color-highlight: #FFD166;              /* demo ribbon and badge only, always with ink text */
  /* colour: neutrals */
  --vt-color-ink: #0F172A;  --vt-color-ink-muted: #475569;  --vt-color-ink-subtle: #64748B;
  --vt-color-surface: #FFFFFF;  --vt-color-surface-alt: #F5F7FB;  --vt-color-surface-dark: #0B1220;
  --vt-color-on-dark: #E5E9F2;  --vt-color-on-dark-muted: #A9B4C7;  --vt-color-link-on-dark: #9DB2FF;
  --vt-color-border: #E3E8EF;                 /* decorative only */
  --vt-color-border-strong: #6B7A90;          /* inputs and controls (≥ 3:1) */
  /* colour: status */
  --vt-color-success: #0F7B4F;  --vt-color-success-tint: #E8F6EF;
  --vt-color-danger: #B42318;   --vt-color-danger-tint: #FDECEA;
  --vt-color-warning: #8A4B00;  --vt-color-warning-tint: #FFF4E0;
  --vt-color-whatsapp: #0F7D5C;
  /* focus */
  --vt-focus-color: var(--vt-color-brand);  --vt-focus-color-on-dark: #9DB2FF;
  --vt-focus-width: 3px;  --vt-focus-offset: 2px;
  /* typography */
  --vt-font-heading: "Space Grotesk Variable", "Space Grotesk Fallback", system-ui, sans-serif;
  --vt-font-body: "Inter Variable", "Inter Fallback", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  --vt-text-xs: .8125rem;  --vt-text-sm: .875rem;  --vt-text-md: 1rem;  --vt-text-lg: 1.125rem;
  --vt-text-xl: clamp(1.25rem, 1.1rem + .6vw, 1.5rem);       /* h4 */
  --vt-text-2xl: clamp(1.5rem, 1.25rem + 1vw, 1.875rem);     /* h3 */
  --vt-text-3xl: clamp(1.875rem, 1.45rem + 1.8vw, 2.5rem);   /* h2 */
  --vt-text-4xl: clamp(2.25rem, 1.6rem + 2.8vw, 3.5rem);     /* h1 */
  --vt-weight-regular: 400;  --vt-weight-medium: 500;  --vt-weight-semibold: 600;  --vt-weight-bold: 700;
  --vt-leading-tight: 1.15;  --vt-leading-snug: 1.3;  --vt-leading-normal: 1.6;
  --vt-tracking-heading: -0.015em;  --vt-measure: 68ch;
  /* spacing (4 px base) */
  --vt-space-1: .25rem; --vt-space-2: .5rem; --vt-space-3: .75rem; --vt-space-4: 1rem; --vt-space-5: 1.5rem;
  --vt-space-6: 2rem;   --vt-space-7: 3rem;  --vt-space-8: 4rem;   --vt-space-9: 6rem;
  --vt-section-y: clamp(3rem, 2rem + 4vw, 6rem);
  /* radius */
  --vt-radius-sm: 6px;  --vt-radius-md: 10px;  --vt-radius-lg: 16px;  --vt-radius-pill: 999px;
  /* elevation */
  --vt-shadow-1: 0 1px 2px rgb(15 23 42 / .06), 0 1px 3px rgb(15 23 42 / .10);
  --vt-shadow-2: 0 4px 12px rgb(15 23 42 / .08);
  --vt-shadow-3: 0 12px 32px rgb(15 23 42 / .12);
  /* layout */
  --vt-container-max: 1200px;  --vt-header-h: 64px;  --vt-gutter: 1rem;  --vt-banner-h: 0px;
  /* motion and layers */
  --vt-duration-fast: 150ms;  --vt-duration-base: 200ms;  --vt-ease: cubic-bezier(.2, 0, .2, 1);
  --vt-z-header: 100;  --vt-z-fab: 200;  --vt-z-banner: 300;  --vt-z-dialog: 400;
}
@media (min-width: 768px) { :root { --vt-gutter: 1.5rem; } }
@media (prefers-reduced-motion: reduce) { :root { --vt-duration-fast: 0ms; --vt-duration-base: 0ms; } }
