/* Plumbing: generated by factory/theme_make.py from theme_spec.py. Structure
   lives in /t/_base/base.css; this is the palette, the type and the no-WebGL
   stand-in for the 3D object. */
:root {
  --bg: #0e1626; --bg-rgb: 14, 22, 38; --bg-2: #162036;
  --ink: #f2f5fb; --ink-2: #d8dfec; --muted: #97a2b8; --line: rgba(242, 245, 251, .12);
  --accent: #4f7cff; --accent-rgb: 79, 124, 255; --accent-hi: #9db6ff; --on-accent: #ffffff;
  --card-1: #182440; --card-2: #101a2c; --video-dim: .46;
  --display: "Barlow Condensed", "Arial Narrow", sans-serif; --display-case: uppercase; --display-weight: 700;
  --display-leading: .9; --display-tracking: 0;
  --title-size: clamp(3.4rem, 11vw, 9.8rem);
  --serif: "Barlow Condensed", sans-serif;
}
h3 { font-size: 1.6rem; letter-spacing: .01em; }
.steps span { font-size: 1.5rem; }

/* no WebGL: a soft glow in the accent where the object would be */
html.no-webgl .hero__fallback {
  right: 8vw; top: 20vh; width: 34vw; height: 48vh; border-radius: 50%;
  background: radial-gradient(circle at 35% 35%, #9db6ff, #4f7cff 45%, transparent 70%);
  filter: blur(28px); opacity: .5; animation: glow 8s ease-in-out infinite alternate;
}
@keyframes glow { to { transform: translate(-4vw, 3vh) scale(1.08); } }
@media (max-width: 760px) {
  html.no-webgl .hero__fallback { top: 70px; right: 15vw; width: 70vw; height: 30svh; }
}
