/* ---------- Chasing glow (js/glow.js): a quick core and a lazy halo, coloured per page ---------- */
:root { /* agency pages: soft white light */
  --gl-c1: rgba(255,255,255,.16); --gl-c2: rgba(220,220,235,.09); --gl-c3: rgba(200,200,220,.03);
  --gl-h1: rgba(210,210,230,.10); --gl-h2: rgba(160,160,190,.05);
  --gl-r1: #FFFFFF; --gl-r2: rgba(255,255,255,.55); --gl-r3: rgba(255,255,255,.18);
  --gl-t1: #FFFFFF; --gl-t2: #E9E9F2; }
:root[data-page="media"], :root[data-page="video"], :root[data-page="designs"] {
  --gl-c1: rgba(255,214,170,.32); --gl-c2: rgba(255,140,40,.20); --gl-c3: rgba(255,106,0,.08);
  --gl-h1: rgba(255,106,0,.24); --gl-h2: rgba(184,71,10,.12);
  --gl-r1: #FFF1E2; --gl-r2: rgba(255,154,61,.8); --gl-r3: rgba(255,106,0,.28);
  --gl-t1: #FFE9D2; --gl-t2: #FFB36B; }
:root[data-page="fontix"], :root[data-page="print"], :root[data-page="logos"] {
  --gl-c1: rgba(200,218,255,.30); --gl-c2: rgba(110,155,255,.20); --gl-c3: rgba(31,79,196,.08);
  --gl-h1: rgba(31,79,196,.30); --gl-h2: rgba(61,255,65,.07);
  --gl-r1: #EFFFF0; --gl-r2: rgba(61,255,65,.75); --gl-r3: rgba(110,155,255,.3);
  --gl-t1: #E6FFE7; --gl-t2: #9FB9FF; }
:root[data-page="events"] {
  --gl-c1: rgba(255,214,236,.34); --gl-c2: rgba(255,138,200,.20); --gl-c3: rgba(196,71,201,.08);
  --gl-h1: rgba(196,71,201,.26); --gl-h2: rgba(142,91,232,.12);
  --gl-r1: #FFF0F8; --gl-r2: rgba(255,138,200,.75); --gl-r3: rgba(196,71,201,.25);
  --gl-t1: #FFE3F2; --gl-t2: #F7B5D8; }

.gl-light { position: fixed; inset: 0; z-index: -1; pointer-events: none; }
.gl-light i { position: absolute; left: 0; top: 0; width: 0; height: 0; will-change: transform; }
.gl-light b { position: absolute; left: 0; top: 0; display: block; border-radius: 50%; will-change: transform, opacity; }
.gl-h b { width: 96vmax; height: 96vmax; margin: -48vmax 0 0 -48vmax; background: radial-gradient(closest-side, var(--gl-h1), var(--gl-h2) 50%, transparent 100%); }
.gl-c b { width: 44vmax; height: 44vmax; margin: -22vmax 0 0 -22vmax; background: radial-gradient(closest-side, var(--gl-c1), var(--gl-c2) 35%, var(--gl-c3) 65%, transparent 100%); }
@media (hover: none) { .gl-c { display: none; } }

/* the old lights that sat right on the pointer are replaced by this one */
.mx-light .l2, .fx-light .l2, .ev-light .l2, .ev-light .l3 { display: none; }

/* card edges catch the light: a ring that is bright only where the glow is */
.gl-rim { --gx: -999px; --gy: -999px; }
.gl-rim::after, .gl-rim-b::before { content: ""; position: absolute; inset: 0; border-radius: inherit; padding: 1.5px; pointer-events: none; z-index: 2;
  background: radial-gradient(460px circle at var(--gx) var(--gy), var(--gl-r1), var(--gl-r2) 30%, var(--gl-r3) 55%, transparent 72%);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor;
  mask: linear-gradient(#000 0 0) content-box exclude, linear-gradient(#000 0 0); }
.gl-rim-b::after { content: none; }

/* dim words warm up as the light passes over them; each keeps its own resting colour */
.gl-lit { --gx: -999px; --gy: -999px; --base: rgba(242,242,238,.85);
  background: radial-gradient(320px circle at var(--gx) var(--gy), var(--gl-t1) 0%, var(--gl-t2) 30%, var(--base) 70%);
  -webkit-background-clip: text; background-clip: text; color: transparent; }
.gl-lit.ev-dim, .gl-lit.mx-dim, .gl-lit.fx-dim { --base: rgba(242,242,238,.5); opacity: 1; }
.gl-lit.pillar-text, .gl-lit.svc-lede { --base: rgba(242,242,238,.72); opacity: 1; }
@media (prefers-reduced-motion: reduce) { .gl-rim::after, .gl-rim-b::before { display: none; } .gl-lit { background: none; color: inherit; } }
