/* ════════════════════════════════════════
   PRIMARY CTA — silver-rimmed button. Clean.
   No halo. No competing shine. Just the rotating perimeter line.
════════════════════════════════════════ */

.cta-main {
  position: relative;
  z-index: 1;
  padding-block: clamp(1.5rem, 4vw, 3rem);
  scroll-margin-top: 80px;
}

.cta-main__wrap {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(1rem, 2vw, 1.5rem);
}

/* ── Silver shell — wraps the button so the rotating rim
   renders OUTSIDE the cream button (visible against dark bg)
   plus a soft silver glow behind for presence. ── */
.cta-shell {
  position: relative;
  display: inline-block;
  border-radius: 12px;          /* slightly larger than button */
  padding: 5px;                  /* gap between rim and button */
  isolation: isolate;
}

/* Soft silver glow behind the whole shell */
.cta-shell::after {
  content: '';
  position: absolute;
  inset: -22px;
  background: radial-gradient(ellipse at center,
    rgba(216, 216, 221, 0.18) 0%,
    rgba(216, 216, 221, 0.06) 35%,
    transparent 72%);
  filter: blur(22px);
  z-index: -2;
  pointer-events: none;
  animation: cta-shell-breathe 4.5s var(--ease-sine) infinite;
}

@keyframes cta-shell-breathe {
  0%, 100% { opacity: 0.55; transform: scale(1);    }
  50%      { opacity: 1;    transform: scale(1.06); }
}

/* Compact variant for the header CTA */
.cta-shell--sm {
  padding: 3px;
  border-radius: 8px;
}
.cta-shell--sm::after {
  inset: -12px;
  filter: blur(14px);
}

/* ── The button ── */
.cta-main__btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 1.4rem clamp(2.2rem, 5vw, 3.5rem);
  background: var(--c-text);
  color: var(--c-bg);
  font-family: var(--f-body);
  font-size: clamp(0.92rem, 1.05vw, 1.05rem);
  font-weight: 600;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  text-decoration: none;
  border-radius: 8px;
  isolation: isolate;
  overflow: visible;          /* let the silver rim show through */
  white-space: nowrap;
  transition:
    transform 0.5s var(--ease-expo),
    box-shadow 0.5s var(--ease-expo);
  box-shadow:
    inset 0 1px 0   rgba(255, 255, 255, 0.55),
    inset 0 -1px 0  rgba(0, 0, 0, 0.08),
    0 6px 18px -8px rgba(0, 0, 0, 0.4);
}

.cta-main__btn:hover {
  box-shadow:
    inset 0 1px 0   rgba(255, 255, 255, 0.7),
    inset 0 -1px 0  rgba(0, 0, 0, 0.1),
    0 8px 22px -8px rgba(0, 0, 0, 0.5),
    0 0 28px -8px   rgba(216, 216, 221, 0.35);
}

.cta-main__btn:active { transform: translateY(0) scale(0.985); transition-duration: 0.1s; }
.cta-main__btn:focus-visible { outline: 2px solid var(--silver-1); outline-offset: 4px; }

/* Kill the inherited .btn::after sweep — it escaped overflow:visible
   and was rendering outside the button as a slanted dark trapezoid. */
.cta-main__btn::after { content: none; display: none; }

.cta-main__btn-label { position: relative; z-index: 2; }

.cta-main__btn .btn__ripple { background: rgba(0, 0, 0, 0.18); }
