/* Atmosphere modes — reshape the receptionist hero feel */

/* CALM (default) — quiet, less serif italic emphasis */
body[data-atmo="calm"] .hero-grid-bg { opacity: 0.5; }

/* PULSE — breathing grid + soft glow under hero */
body[data-atmo="pulse"] .hero-grid-bg {
  animation: rxPulseGrid 5.5s ease-in-out infinite;
}
body[data-atmo="pulse"] .hero::after {
  content: "";
  position: absolute; inset: auto 0 -10% 0; height: 60%;
  background: radial-gradient(60% 100% at 50% 100%, var(--blue-tint), transparent 70%);
  pointer-events: none;
  animation: rxPulseGlow 5.5s ease-in-out infinite;
}
body[data-atmo="pulse"] .pulse {
  animation: rxDot 1.2s ease-in-out infinite;
}
@keyframes rxPulseGrid {
  0%, 100% { opacity: 0.5; }
  50% { opacity: 0.9; }
}
@keyframes rxPulseGlow {
  0%, 100% { opacity: 0.6; transform: translateY(10px) scale(0.95); }
  50% { opacity: 1; transform: translateY(0) scale(1); }
}
@keyframes rxDot {
  0%, 100% { transform: scale(1); opacity: 1; }
  50% { transform: scale(1.6); opacity: 0.6; }
}

/* VIVID — saturate accents, lift cards, add halo behind transcript */
body[data-atmo="vivid"] {
  --line: #36302a;
  --line-2: #4c4439;
}
body[data-atmo="vivid"] .hero-grid-bg { opacity: 0.9; }
body[data-atmo="vivid"] .hero { background: radial-gradient(80% 60% at 20% 0%, var(--blue-tint), transparent 60%), var(--bg); }
body[data-atmo="vivid"] em.s,
body[data-atmo="vivid"] .feat-cell h4 em,
body[data-atmo="vivid"] .section-head h2 em {
  text-shadow: 0 0 24px var(--blue-tint);
}
body[data-atmo="vivid"] .transcript {
  box-shadow: 0 30px 80px -30px var(--blue-tint);
}
body[data-atmo="vivid"] .price-col.featured,
body[data-atmo="vivid"] [class*="MOST POPULAR"] {
  box-shadow: inset 0 0 0 1px var(--blue-tint);
}

/* Smooth color transitions on accent swap */
.btn-primary, em.s, em.sw, .dot, .pulse, .check, .step-num,
.transcript .who.agent, .nav-links a.active::after,
.feat-list .check {
  transition: background-color .25s ease, color .25s ease, border-color .25s ease;
}
