:root,
html[data-theme='dark'],
html[data-theme='light'] {
  --azros-accent: #7C5CFF;
  --azros-accent-alt: #4F3FF0;
  --azros-glow: rgba(124, 92, 255, 0.35);
  --azros-edge-gradient: linear-gradient(135deg, #7C5CFF 0%, #4F3FF0 100%);
  --azros-edge-gradient-soft: linear-gradient(135deg, rgba(124, 92, 255, 0.55) 0%, rgba(79, 63, 240, 0.22) 100%);
  --accent-base: var(--azros-accent);
  --accent-soft: rgba(124, 92, 255, 0.12);
  --orb-accent: var(--azros-accent);
}

.edge-glow {
  border-color: transparent !important;
  background-image: linear-gradient(var(--surface-card, rgba(22, 22, 30, 0.88)), var(--surface-card, rgba(22, 22, 30, 0.88))), var(--azros-edge-gradient-soft);
  background-origin: border-box;
  background-clip: padding-box, border-box;
}

.edge-glow:hover {
  background-image: linear-gradient(var(--surface-card, rgba(22, 22, 30, 0.88)), var(--surface-card, rgba(22, 22, 30, 0.88))), var(--azros-edge-gradient);
}

.edge-hover-glow {
  transition: box-shadow 0.3s ease, transform 0.25s ease;
}

.edge-hover-glow:hover {
  box-shadow: 0 0 24px var(--azros-glow), 0 6px 18px rgba(0, 0, 0, 0.28);
}

.btn-primary,
.azp-tier .tier-cta:hover,
.azp-tier.featured .tier-cta,
.azd-tile .get:hover {
  background-image: var(--azros-edge-gradient);
}

.btn-primary:hover,
.btn-secondary:hover,
.tier-cta:hover,
.azd-tile .get:hover,
.cta-section__actions a:hover {
  box-shadow: 0 0 22px var(--azros-glow);
}

#smooth-content p a:not([class]):hover,
#smooth-content li a:not([class]):hover {
  color: var(--azros-accent);
}

.azp-tabs button.active,
.azp-cycle button.active,
.azp-currency button.active,
.az-currency-toggle button.active,
.azb-code__tabs button.active {
  background: var(--accent-soft);
  color: var(--azros-accent);
  border-color: var(--azros-accent);
}

.azc-nav a:hover,
.azc-nav a:focus-visible {
  color: var(--azros-accent);
  border-color: var(--azros-accent);
}

.reveal {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.8s ease, transform 0.8s ease;
}

.reveal.in-view {
  opacity: 1;
  transform: none;
}

@media (prefers-reduced-motion: reduce) {
  .reveal {
    opacity: 1;
    transform: none;
    transition: none;
  }
}

.hero,
.azm-hero,
.azp-hero,
.azc-hero,
.azb-hero,
.aza-hero,
.azd-hero {
  position: relative;
}

.hero::after,
.azm-hero::after,
.azp-hero::after,
.azc-hero::after,
.azb-hero::after,
.aza-hero::after,
.azd-hero::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: 0.04;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)'/%3E%3C/svg%3E");
  z-index: 0;
}

.hero > *,
.azm-hero > *,
.azp-hero > *,
.azc-hero > *,
.azb-hero > *,
.aza-hero > *,
.azd-hero > * {
  position: relative;
  z-index: 1;
}

.az-divider {
  height: 1px;
  border: none;
  margin: 0 auto;
  max-width: 1180px;
  background: linear-gradient(90deg, transparent 0%, var(--azros-glow) 50%, transparent 100%);
}

.azm-section + .azm-section,
.azb-section + .azb-section,
.aza-section + .aza-section {
  position: relative;
}

.azm-section + .azm-section::before,
.azb-section + .azb-section::before,
.aza-section + .aza-section::before {
  content: '';
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: min(1180px, 88vw);
  height: 1px;
  background: linear-gradient(90deg, transparent 0%, var(--azros-glow) 50%, transparent 100%);
}
