.hero-glow.hero-glow-blue {
  top: 44%;
  right: auto;
  left: 18%;
  width: min(48vw, 620px);
  height: auto;
  aspect-ratio: 1;
  opacity: .8;
  background: radial-gradient(circle, rgba(59,130,246,.2) 0%, rgba(59,130,246,.1) 32%, transparent 71%);
  transform: translate3d(calc(-50% - var(--blue-shift-x, 0px)), calc(-50% - var(--blue-shift-y, 0px)), 0);
  will-change: transform;
}

.hero-red-glow {
  position: absolute;
  z-index: -1;
  top: 49%;
  left: 72%;
  width: clamp(390px, 52vw, 740px);
  aspect-ratio: 1;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(239,68,68,.22) 0%, rgba(239,68,68,.14) 25%, rgba(239,68,68,.06) 45%, transparent 72%);
  transform: translate3d(calc(-50% + var(--red-shift-x, 0px)), calc(-50% + var(--red-shift-y, 0px)), 0);
  pointer-events: none;
  will-change: transform;
}

.hero.repair-active .screen-center::after { animation-duration: 1.8s; }
.hero.repair-active .screen-line { animation: repair-confirm .72s ease-out; }
.service-card .service-icon svg { transition: transform .35s cubic-bezier(.2,.7,.2,1); }
.service-card:hover .service-icon svg,
.service-card.is-interacting .service-icon svg { transform: rotate(-12deg) scale(1.06); }
.catalog-card.is-interacting .catalog-symbol,
.portfolio-card.is-interacting .portfolio-number { animation: repair-pop .55s ease-out; }
.catalog-card.is-interacting .catalog-visual img,
.portfolio-card.is-interacting .portfolio-image img { transform: scale(1.025); }
.button:active,.nav-cta:active { transform: scale(.97); }

@keyframes repair-confirm {
  0% { transform: scaleX(.65); opacity: .45; }
  45% { transform: scaleX(1.2); opacity: 1; }
  100% { transform: scaleX(1); opacity: 1; }
}
@keyframes repair-pop {
  0%,100% { transform: scale(1) rotate(0); }
  45% { transform: scale(1.12) rotate(-8deg); }
}

@media(max-width: 740px) {
  .hero-glow.hero-glow-blue { top: 56%; left: 12%; width: 86vw; opacity: .55; }
  .hero-red-glow { top: 70%; left: 76%; width: 105vw; opacity: .9; }
}
@media(prefers-reduced-motion: reduce) {
  .hero-glow.hero-glow-blue,.hero-red-glow { will-change: auto; }
  .hero.repair-active .screen-center::after { animation-duration: 4.7s; }
  .hero.repair-active .screen-line,.catalog-card.is-interacting .catalog-symbol,.portfolio-card.is-interacting .portfolio-number { animation: none; }
  .service-card .service-icon svg { transition: none; }
}
