/* Med Spa: 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: #140f13; --bg-rgb: 20, 15, 19; --bg-2: #1d151b;
  --ink: #f8eef1; --ink-2: #e9d6dd; --muted: #b59aa6; --line: rgba(248, 238, 241, .12);
  --accent: #e8a5b8; --accent-rgb: 232, 165, 184; --accent-hi: #f7cdd8; --on-accent: #2a1218;
  --card-1: #251a20; --card-2: #150f13; --video-dim: .46;
  --display: "Cormorant Garamond", "Playfair Display", Georgia, serif; --display-case: none; --display-weight: 500;
  --display-leading: .96; --display-tracking: -.01em;
  --title-size: clamp(3.1rem, 9vw, 8.6rem);
  --serif: "Cormorant Garamond", Georgia, serif;
}
h3 { font-size: 1.8rem; letter-spacing: 0; }
.steps span { font-size: 1.6rem; }

/* 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%, #f7cdd8, #e8a5b8 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; }
}
