/* ─── CTA · typografi + subtil cream-stjernestøv ─────────────── */

.section.section--cta.cta-section {
  padding: 0 !important;
}

.cta-section {
  --cta-glow: 255, 252, 248;
  position: relative;
  z-index: 2;
  width: 100%;
  min-height: 52vh;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--bg);
  overflow: hidden;
  isolation: isolate;
  padding: clamp(4.5rem, 12vh, 7rem) 1.25rem !important;
}

.cta-section__glow {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  background:
    radial-gradient(
      ellipse 72% 58% at 50% 48%,
      rgba(var(--cta-glow), 0.045) 0%,
      rgba(var(--cta-glow), 0.015) 42%,
      transparent 72%
    ),
    linear-gradient(
      180deg,
      var(--bg) 0%,
      transparent 22%,
      transparent 78%,
      var(--bg) 100%
    );
}

.cta-section__canvas {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  opacity: 0.92;
}

.cta-section__inner {
  position: relative;
  z-index: 1;
  width: min(30rem, 46vw);
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 0.65rem;
}

.cta-section .cta-sub {
  margin-top: 0;
}

.cta-section .cta-rule {
  margin: 0 auto;
}

.cta-section .btn-cta {
  font-size: 11px;
  letter-spacing: 0.22em;
}

.cta-section .cta-heading,
.cta-section .cta-sub,
.cta-section .cta-rule,
.cta-section .btn-cta {
  text-shadow: 0 1px 16px rgba(0, 0, 0, 0.85);
}

.cta-section .fade-up {
  opacity: 1 !important;
  transform: none !important;
}

@media (prefers-reduced-motion: reduce) {
  .cta-section__canvas {
    opacity: 0.55;
  }
}

@media (max-width: 768px) {
  .cta-section {
    min-height: auto;
    padding: clamp(3.5rem, 10vh, 5rem) 1.25rem !important;
  }
  .cta-section__inner {
    width: min(88vw, 20rem);
  }
}
