/**
 * ParallaxGlow: карточки статичны; блик двигается через --parallax-x / --parallax-y.
 * ::before — декоративная «рамка»; ::after — внутреннее свечение (радиальный градиент).
 */

.hero-card.brand-glow,
.service-entry.service-card {
  position: relative;
  isolation: isolate;
}

/* Рамка (градиент по периметру) */
.hero-card.brand-glow::before,
.service-entry.service-card::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  padding: 1px;
  background: linear-gradient(
    145deg,
    rgba(212, 175, 55, 0.55),
    rgba(0, 200, 5, 0.35) 45%,
    rgba(212, 175, 55, 0.4)
  );
  -webkit-mask:
    linear-gradient(#fff 0 0) content-box,
    linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask:
    linear-gradient(#fff 0 0) content-box,
    linear-gradient(#fff 0 0);
  mask-composite: exclude;
  pointer-events: none;
  z-index: 1;
}

/* Внутреннее свечение — центр следует за параллаксом */
.hero-card.brand-glow::after,
.service-entry.service-card::after {
  content: "";
  position: absolute;
  inset: 1px;
  border-radius: 16px;
  background: radial-gradient(
    circle at var(--parallax-x) var(--parallax-y),
    rgba(232, 200, 74, 0.22),
    rgba(0, 150, 5, 0.14) 58%,
    transparent 78%
  );
  pointer-events: none;
  z-index: 0;
}

.service-entry.service-card::after {
  border-radius: 10px;
}

.hero-card.brand-glow > *,
.service-entry.service-card > * {
  position: relative;
  z-index: 2;
}

@media (prefers-reduced-motion: reduce) {
  .hero-card.brand-glow::after,
  .service-entry.service-card::after {
    background: radial-gradient(
      circle at 50% 50%,
      rgba(232, 200, 74, 0.18),
      rgba(0, 150, 5, 0.1) 58%,
      transparent 78%
    );
  }
}
