/* Vemtri website tokens (v12). Values come from brand.css, generated from brand/tokens.
   The old names stay as aliases so the existing stylesheets keep working. Built by brand/migrate/apply_brand.py. */
:root{
  /* Type: Satoshi everywhere. Rules that ask for tabular numbers keep them. */
  --font-display:var(--font-family-sans);--font-sans:var(--font-family-sans);--font-mono:var(--font-family-sans);
  --step--1:clamp(.83rem,.8rem + .15vw,.9rem);
  --step-0:clamp(1rem,.96rem + .2vw,1.1rem);
  --step-1:clamp(1.2rem,1.1rem + .45vw,1.45rem);
  --step-2:clamp(1.5rem,1.3rem + .9vw,2rem);
  --step-3:clamp(2rem,1.6rem + 1.8vw,3rem);
  --step-4:clamp(2.6rem,1.9rem + 3.4vw,4.75rem);
  --leading-tight:1.05;--leading-body:1.6;--tracking-tight:-.025em;--tracking-caps:.12em;
  /* Space: the site's own scale, kept so v11's layout doesn't move. These names override the brand's
     --space-* inside the website until the Phase 5 redesign moves the site onto the brand scale. */
  --space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;
  --space-6:2rem;--space-7:3rem;--space-8:4rem;--space-9:6rem;--space-10:9rem;
  /* Radius: buttons and inputs take the brand's 8px (--radius-sm from brand.css), cards 12, large panels 24. */
  --container:72rem;--radius:12px;--radius-lg:24px;
  /* Motion: unchanged. */
  --dur-fast:160ms;--dur-base:450ms;--dur-slow:700ms;
  --ease-out:cubic-bezier(.2,.7,.2,1);--ease-spring:cubic-bezier(.34,1.4,.64,1);
  --stagger:80ms;--reveal-distance:16px;--magnet-max:5px;--parallax-max:24px;
  /* Colour: the old names, pointed at the brand's semantic tokens, so Light and Dark both follow brand.css. */
  --navy-900:var(--color-neutral-950);--navy-800:var(--color-neutral-900);
  --royal-600:var(--color-green-700);--royal-500:var(--color-green-500);
  --lime-400:var(--color-green-400);--lime-300:var(--color-green-300);
  --bg:var(--color-bg-canvas);--surface:var(--color-bg-surface);--surface-2:var(--color-bg-subtle);
  --ink:var(--color-text-primary);--ink-2:var(--color-text-secondary);--ink-3:var(--color-text-tertiary);
  --line:var(--color-border-subtle);
  --accent:var(--color-text-link);--accent-ink:var(--color-text-inverse);--accent-soft:var(--color-status-success-bg);
  --primary:var(--color-action-primary-bg);--primary-ink:var(--color-action-primary-fg);
  --highlight:var(--color-action-accent-bg);--highlight-ink:var(--color-action-accent-fg);
  --ok:var(--color-status-success-fg);--warn:var(--color-status-warning-fg);--focus:var(--color-focus-ring);
  --shadow:0 1px 2px rgb(11 18 32/.05),0 16px 44px -16px rgb(11 18 32/.18);
  --shadow-rest:0 1px 2px rgb(11 18 32/0),0 16px 44px -16px rgb(11 18 32/0);
}
[data-theme="dark"]{--shadow:0 1px 2px rgb(0 0 0/.3),0 24px 60px -24px rgb(0 0 0/.7);--shadow-rest:0 1px 2px rgb(0 0 0/0),0 24px 60px -24px rgb(0 0 0/0)}
@media (prefers-reduced-motion:reduce){
  :root{--dur-fast:0ms;--dur-base:0ms;--dur-slow:0ms;--stagger:0ms;--reveal-distance:0px;--magnet-max:0px;--parallax-max:0px}
}
:root{--ease-expo:cubic-bezier(.16,1,.3,1);--ease-mask:cubic-bezier(.625,.05,0,1);--ease-hover:cubic-bezier(.32,.72,0,1);--dur-reveal:800ms;--dur-hover:180ms;--stagger:70ms}
@media (prefers-reduced-motion:reduce){:root{--dur-reveal:0ms;--dur-hover:0ms;--stagger:0ms}}
