/* CTA v8 — double-ring glow frame */

.cta-v8::before {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: radial-gradient(ellipse 70% 50% at 50% 0%, color-mix(in srgb, var(--cta-accent) 12%, transparent), transparent 50%);
}

.cta-v8 .cta-v8__frame {
  position: relative;
  z-index: 1;
  max-width: 38rem;
  margin: 0 auto;
  padding: 3px;
  border-radius: clamp(18px, 3vw, 24px);
  background: linear-gradient(
    135deg,
    color-mix(in srgb, var(--cta-accent) 55%, transparent),
    color-mix(in srgb, var(--cta-accent) 15%, transparent) 50%,
    color-mix(in srgb, var(--cta-accent) 40%, transparent)
  );
  box-shadow:
    0 0 0 1px color-mix(in srgb, var(--cta-accent) 20%, transparent),
    0 20px 56px rgba(0, 0, 0, 0.25),
    0 0 48px color-mix(in srgb, var(--cta-accent) 12%, transparent);
}

.cta-v8 .cta-v8__panel {
  padding: clamp(1.5rem, 4vw, 2.25rem);
  border-radius: calc(clamp(18px, 3vw, 24px) - 3px);
  background: linear-gradient(175deg, rgba(255, 255, 255, 0.08) 0%, rgba(255, 255, 255, 0.02) 100%);
  text-align: center;
  border: 1px solid rgba(255, 255, 255, 0.06);
}

.cta-v8 .cta-v8__title {
  margin: 0 0 0.6rem;
  font-size: clamp(1.35rem, 3.5vw, 1.85rem);
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1.2;
}

.cta-v8 .cta-v8__sub {
  margin: 0 0 1.35rem;
  font-size: clamp(0.9rem, 2vw, 1.02rem);
  line-height: 1.5;
  opacity: 0.88;
}

.cta-v8 .cta-v8__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  justify-content: center;
}
