/* Dentist: 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: #0b1420; --bg-rgb: 11, 20, 32; --bg-2: #122033;
  --ink: #eef5fb; --ink-2: #d5e3ef; --muted: #8fa5ba; --line: rgba(238, 245, 251, .12);
  --accent: #5fc8ff; --accent-rgb: 95, 200, 255; --accent-hi: #b7e6ff; --on-accent: #04202e;
  --card-1: #152638; --card-2: #0d1622; --video-dim: .46;
  --display: "Sora", "Inter", sans-serif; --display-case: none; --display-weight: 600;
  --display-leading: 1; --display-tracking: -.03em;
  --title-size: clamp(2.8rem, 7.8vw, 7rem);
  --serif: "Sora", sans-serif;
}
h3 { font-size: 1.3rem; letter-spacing: -.02em; }
.steps span { font-size: 1.25rem; }

/* 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%, #b7e6ff, #5fc8ff 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; }
}
