/* opta.au — binding design tokens.
   The single source of truth for the site's ground, ink, violet ramp,
   surfaces, type stack, easing and layout metrics. Linked BEFORE the
   page's inline styles so every rule below binds to these values:
   change a knob here and the whole surface follows.
   Media-query overrides for --rail and --ring-d stay with the responsive
   rules in index.html, where their breakpoints live. */

:root{
  /* ground — near-pure black with the faintest blue-violet cast.
     0pta.com tone: the page is BLACK, and violet is the light IN it. */
  --void:#05050a;
  --void-2:#070610;
  --void-3:#0a0818;

  /* ink */
  --ink:#f5f2ff;
  --ink-2:#b8b0cd;
  --ink-3:#948cab;
  --ink-4:#837a99;

  /* violet instrument light — 0pta.com's family, anchored on #8b5cf6 */
  --v-deep:#4c1d95;
  --v-core:#8b5cf6;
  --v-mid:#a78bfa;
  --v-light:#c4b5fd;
  --v-pale:#ddd6fe;
  --v-ink:#7c3aed;      /* the deep end of the metallic ramp */

  /* surfaces */
  --line:rgba(243,238,255,.10);
  --line-2:rgba(243,238,255,.06);
  --glass:rgba(255,255,255,.028);
  --glass-2:rgba(255,255,255,.045);

  --glow-sm:0 0 8px rgba(139,92,246,.5);
  --glow-md:0 0 7px rgba(139,92,246,.7),0 0 20px rgba(76,29,149,.55),0 0 44px rgba(49,10,110,.42);

  --sans:'Plus Jakarta Sans',ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;
  --mono:'JetBrains Mono',ui-monospace,'SF Mono',Menlo,monospace;
  --ease:cubic-bezier(.22,1,.36,1);   /* ease-out-quint — decelerate, never overshoot */
  --spring:cubic-bezier(.32,.72,0,1); /* 0pta.com's spring — fast out, long settle */

  --gutter:clamp(20px,5vw,44px);
  --rail:104px;         /* spine gutter width, desktop */

  /* the hero ring: outer diameter, and the opening the hero words sit in */
  --ring-d:min(98svh,96vw);
  --ring-open:calc(var(--ring-d) * .655);
}
