/* the hero title: a bold lit headline drawn from its own dots (title.js), on a soft light of its own */
.hero h1 { font-size: clamp(52px, 9.2vw, 158px); line-height: 0.95; letter-spacing: 0.01em; }
.hero-copy { isolation: isolate; }
.hero-copy::before { content: ""; position: absolute; left: -6%; top: -30%; width: 78%; height: 170%; z-index: -1; pointer-events: none;
  background: radial-gradient(50% 45% at 42% 48%, rgba(90, 120, 255, 0.22), rgba(140, 58, 255, 0.10) 45%, transparent 72%); filter: blur(10px); }
.hero-sub { margin-top: 26px; font: 900 clamp(22px, 2.5vw, 40px)/1 var(--display); color: var(--ink); letter-spacing: 0.04em; text-shadow: 0 0 14px rgba(150, 180, 255, 0.35); }
.hero-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 18px 34px; margin-top: 26px; pointer-events: auto; }
.hero-meta .hero-sub { margin: 0; }
.people { display: flex; flex-wrap: wrap; gap: 10px 22px; margin: 0; padding: 0; list-style: none; }
.people a { display: inline-flex; align-items: center; gap: 10px; font-size: 14px; color: var(--dim); transition: color .2s var(--ease); }
.people a:hover { color: var(--ink); }
.people img { width: 36px; height: 36px; border-radius: 50%; box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.18), 0 0 14px rgba(120, 150, 255, 0.35); transition: box-shadow .2s var(--ease), transform .2s var(--ease); }
.people a:hover img { box-shadow: 0 0 0 1px var(--zip), 0 0 16px rgba(60, 255, 230, 0.55); transform: translateY(-1px); }

/* section titles share the hero's lit-dot look */
#research .sec-head h2.swarmed, .pg-title.swarmed { color: transparent; text-shadow: none; }
.lit-css { background: linear-gradient(90deg, hsl(190 95% 70%), hsl(255 90% 74%) 55%, hsl(320 95% 72%)); -webkit-background-clip: text; background-clip: text; color: transparent !important; filter: drop-shadow(0 0 10px rgba(120, 150, 255, 0.45)); }
h1.swarmed, h2.swarmed { color: transparent !important; text-shadow: none !important; }
