.pulse-hero {
  min-height: 590px;
  padding: 18px 16px 20px;
  text-align: center;
  background:
    radial-gradient(circle at 50% 31%, rgba(255, 244, 176, .18), transparent 17%),
    radial-gradient(circle at 18% 24%, rgba(99, 230, 184, .24), transparent 27%),
    radial-gradient(circle at 82% 30%, rgba(255, 78, 120, .25), transparent 27%),
    linear-gradient(180deg, #121026 0%, #071422 58%, #040b14 100%);
}

.pulse-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(120deg, transparent 0 42%, rgba(255,255,255,.07) 46%, transparent 50%),
    repeating-linear-gradient(90deg, rgba(255,255,255,.045) 0 1px, transparent 1px 28px);
  mix-blend-mode: screen;
  opacity: .42;
  animation: pulseSurface 9s linear infinite;
}

.pulse-stage {
  height: 318px;
  margin: 0 -8px 2px;
  overflow: visible;
}

.pulse-mesh {
  position: absolute;
  inset: 14px 8px 16px;
  border-radius: 8px;
  background:
    radial-gradient(circle at 50% 48%, rgba(255,78,120,.34), transparent 30%),
    radial-gradient(circle at 31% 38%, rgba(99,230,184,.16), transparent 23%),
    radial-gradient(circle at 69% 40%, rgba(131,199,255,.15), transparent 23%),
    linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.015));
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.08), inset 0 -42px 80px rgba(0,0,0,.28);
  transform: perspective(520px) rotateX(7deg);
}

.sync-route-chip {
  position: absolute;
  z-index: 4;
  left: 42px;
  right: 42px;
  top: 18px;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 10px;
  color: #eaf9ff;
  font-family: var(--font-number);
  font-size: 12px;
  letter-spacing: .06em;
  opacity: .86;
}

.sync-route-chip i {
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--mint), #fff2a5, var(--pink));
  box-shadow: 0 0 16px rgba(255,248,223,.46);
  animation: routeCharge 2.4s ease-in-out infinite;
}

.pulse-ecg {
  position: absolute;
  z-index: 3;
  left: 18px;
  right: 18px;
  top: 122px;
  width: calc(100% - 36px);
  height: 92px;
  opacity: .76;
  filter: drop-shadow(0 0 12px rgba(255,78,120,.38));
}

.pulse-ecg path {
  fill: none;
  stroke: url("#pulse-ecg-gradient");
  stroke-width: 5;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-dasharray: 390;
  animation: ecgFlow 2.55s cubic-bezier(.55, 0, .18, 1) infinite;
}

.pulse-hero .pulse-aura i {
  border-width: 2px;
  backdrop-filter: blur(2px);
}

.pulse-hero .pulse-pet {
  top: 88px;
  z-index: 8;
  transform: scale(.58);
  filter: drop-shadow(0 20px 22px rgba(0,0,0,.42));
}

.pulse-hero .pulse-pet.left {
  left: -8px;
  animation: petLeanLeft 4.2s ease-in-out infinite;
}

.pulse-hero .pulse-pet.right {
  right: -10px;
  animation: petLeanRight 4.2s ease-in-out infinite;
}

.pulse-hero .heart-orb {
  z-index: 7;
  width: 188px;
  height: 188px;
  padding: 0 !important;
  border: 1px solid rgba(255,255,255,.22) !important;
  border-radius: 50% !important;
  color: #fff8df !important;
  background:
    radial-gradient(circle at 42% 31%, rgba(255,255,255,.58), transparent 7%),
    radial-gradient(circle at 50% 55%, rgba(255,78,120,.84), rgba(255,78,120,.18) 45%, transparent 70%),
    conic-gradient(from var(--spin, 0deg), rgba(99,230,184,.52), rgba(255,242,165,.48), rgba(255,78,120,.58), rgba(99,230,184,.52)) !important;
  box-shadow:
    0 0 30px rgba(255,78,120,.55),
    0 0 76px rgba(99,230,184,.18),
    inset 0 0 28px rgba(255,255,255,.13) !important;
  animation: orbGlow 2.6s ease-in-out infinite;
}

.heart-gem {
  position: relative;
  z-index: 4;
  width: 118px;
  height: 110px;
  margin-top: -8px;
  overflow: visible;
  filter: drop-shadow(0 18px 24px rgba(255,78,120,.38));
}

.heart-halo {
  fill: url("#heart-gem-halo");
  transform-origin: 90px 86px;
  animation: heartHaloBreath 2.3s ease-in-out infinite;
}

.heart-fill {
  fill: url("#heart-gem-fill");
  stroke: rgba(255,255,255,.36);
  stroke-width: 2.5;
  transform-origin: 90px 86px;
  animation: heartGemBeat 1.5s ease-in-out infinite;
}

.heart-shine {
  fill: none;
  stroke: rgba(255,255,255,.72);
  stroke-width: 9;
  stroke-linecap: round;
  opacity: .8;
  filter: drop-shadow(0 0 8px rgba(255,255,255,.28));
}

.heart-spark {
  fill: rgba(255,248,223,.92);
  filter: drop-shadow(0 0 8px rgba(255,248,223,.68));
  transform-origin: center;
  animation: heartSparkBlink 1.8s ease-in-out infinite;
}

.heart-spark.b { animation-delay: -.72s; }

.heart-orb small {
  position: absolute;
  left: 50%;
  bottom: 26px;
  transform: translateX(-50%);
  color: rgba(255,255,255,.88);
  font-family: var(--font-cute);
  font-size: 12px;
  font-weight: 400;
  white-space: nowrap;
  text-shadow: 0 0 14px rgba(255,78,120,.5);
}

.pulse-hero > strong {
  margin-top: -6px;
  color: #fff6d8;
  font-size: 86px;
  line-height: .76;
  text-shadow: 0 0 18px rgba(255,248,223,.44), 0 0 44px rgba(255,78,120,.58);
}

.pulse-mini-board {
  width: min(330px, 94%);
  margin: 12px auto 0;
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 8px;
}

.pulse-mini-board span {
  min-height: 38px;
  display: grid;
  place-items: center;
  padding: 8px 10px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 8px;
  color: #dceeff;
  background: rgba(255,255,255,.075);
  font-family: var(--font-soft);
  font-size: 12px;
}

.pulse-mini-board b {
  color: #fff2a5;
  font-family: var(--font-number);
  font-size: 17px;
}
