/* R1/R2: one authoritative token block per theme. Shared aliases retain existing layout contracts.
   Dark is the safe no-JS default; agency-preferences.js resolves System before body paint. */
:root,html[data-theme="dark"]{
 color-scheme:dark;
 --brand-black:#0B0B0F;
 --brand-white:#FFFFFF;
 --brand-cyan:#00BBFE;
 --brand-purple:#7028FC;
 --surface:#0B0B0F;
 --surface-raised:#17171D;
 --ink:#FFFFFF;
 --muted:#B4B4C0;
 --line:#2A2A33;
 --accent:#00BBFE;
 --on-accent:#0B0B0F;
 --accent-2:#7028FC;
 --card-glow:rgba(0,187,254,.40);--spot:rgba(0,187,254,.17);--sweep:#fff;
 --card-bg:#17171D;
 --card-ink:#FFFFFF;
 --card-muted:#B4B4C0;
 --card-line:#2A2A33;
 --card-shadow:none;
 --surface-inverse:#FFFFFF;
 --ink-inverse:#0B0B0F;
 --radius:4px;
 --motion-duration:160ms;
 --motion-ease:cubic-bezier(0.23,1,0.32,1);
 --menu-duration:240ms;
 --brand-bg:var(--surface);
 --brand-raised:var(--surface-raised);
 --brand-ink:var(--ink);
 --brand-muted:var(--muted);
 --brand-line:var(--line);
 --brand-accent:var(--accent);
 --brand-on-accent:var(--on-accent);
 --ink-muted:var(--muted);
 --paper:var(--surface);
 --soft:var(--surface-raised);
 --card:var(--surface-raised);
 --blue:var(--accent);
 --accent-ink:var(--on-accent);
 --enquiry-soft:var(--surface-raised);
 --nav-bg:var(--surface);
 --nav-raised:var(--surface-raised);
 --nav-ink:var(--ink);
 --nav-muted:var(--muted);
 --nav-line:var(--line);
 --nav-accent:var(--accent);
 --nav-on-accent:var(--on-accent);
 --pg-surface:var(--surface);
 --pg-surface-raised:var(--surface-raised);
 --pg-surface-inverse:var(--surface-inverse);
 --pg-text:var(--ink);
 --pg-text-muted:var(--muted);
 --pg-text-inverse:var(--ink-inverse);
 --pg-link:var(--accent);
 --pg-accent-text:var(--accent);
 --pg-spark:var(--accent);
 --pg-signal:var(--accent);
 --pg-halo:var(--accent);
 --pg-paper:var(--surface);
 --pg-mist:var(--surface-raised);
 --pg-navy:var(--surface);
 --pg-navy-raised:var(--surface-raised);
 --pg-ink:var(--ink);
 --pg-line:var(--line);
 --pg-line-dark:var(--line);
 --pg-line-light:var(--line);
 --pg-muted-dark:var(--muted);
 --pg-muted-light:var(--muted);
 --pg-link-light:var(--accent);
 --pg-on-spark:var(--on-accent);
 --pg-gradient-glow:var(--accent);
 --pg-radius-sm:var(--radius);
 --pg-radius-md:var(--radius);
 --pg-radius-lg:var(--radius);
 --pg-radius-full:var(--radius);
 --pg-ease-out:var(--motion-ease);
 --pg-duration-hover:var(--motion-duration);
 --pg-duration-press:var(--motion-duration);
 --pg-shadow-card:none;
 --pg-shadow-glow:none;
 --pg-outline-glow:none;
 --pg-control-glow:none;
 --pg-glow:none;
 --pg-font-sans:'Barlow',Arial,sans-serif;
 --pg-font-mono:'Barlow',Arial,sans-serif;
 --pg-space-1:4px;
 --pg-space-2:8px;
 --pg-space-3:12px;
 --pg-space-4:16px;
 --pg-space-6:24px;
 --pg-space-8:32px;
 --pg-space-12:48px;
 --pg-space-16:64px;
 --pg-duration-reveal:400ms;
 --pg-duration-draw:600ms;
 --pg-duration-glow:800ms;
 --pg-stagger:80ms;
 --pg-rise:16px;
}
html[data-theme="light"]{
 color-scheme:light;
 --surface:#FFFFFF;
 --surface-raised:#F7F6FA;
 --ink:#0B0B0F;
 --muted:#5A5E6C;
 --line:#E4E3EC;
 --accent:#7028FC;
 --on-accent:#FFFFFF;
 --accent-2:#00BBFE;
 --card-glow:rgba(28,10,84,.45);--spot:rgba(112,40,252,.11);--sweep:var(--accent-2);
 --card-bg:#F7F6FA;
 --card-ink:#0B0B0F;
 --card-muted:#5A5E6C;
 --card-line:#E4E3EC;
 --card-shadow:0 28px 60px -28px rgba(28,10,84,.35);
 --surface-inverse:#0B0B0F;
 --ink-inverse:#FFFFFF;
}
