/* ---- the hero dot field (2026-10-05): flat squircles at rest; the mouse leaves a wake that settles back to flat ---- */
.hero[data-bg] .hero-dots { position: absolute; z-index: -1; top: 0; bottom: 0; left: 50%; width: 100vw; margin-left: -50vw; height: 100%; display: block; pointer-events: none;
  --dots-fade: linear-gradient(to bottom, transparent 0%, rgb(0 0 0 / .5) 9%, #000 26%, #000 46%, rgb(0 0 0 / .45) 72%, transparent 100%);
  --dots-text: linear-gradient(90deg, rgb(0 0 0 / .3) 0%, rgb(0 0 0 / .5) 42%, #000 72%, #000 86%, rgb(0 0 0 / .35) 100%);
  -webkit-mask-image: var(--dots-fade), var(--dots-text); -webkit-mask-composite: source-in; mask-image: var(--dots-fade), var(--dots-text); mask-composite: intersect; }
/* no light field behind it (owner, 2026-10-05: "remove the gradients in the background"): the hero's two glow layers
   are switched off on this page, so the squircles sit on the plain page ground. hero_glows.py still writes the rules
   the other builders share; this page simply never draws them. */
html .hero[data-bg]::before, html .hero[data-bg]::after { content: none; }   /* html: this sheet loads before theme.css, which draws them */
