/* Shared primitives required by the transplanted legacy tail only. */
.legacy-tail,
.shape-modal {
  --ease: cubic-bezier(0.19, 1, 0.22, 1);
  --ease-ui: cubic-bezier(0.23, 1, 0.32, 1);
  --bg-base: #010202;
  --charcoal: #0b0a0d;
  --ink: #fff;
  --ink-muted: rgba(255, 255, 255, 0.86);
  --ink-soft: rgba(255, 255, 255, 0.62);
  --hairline: rgba(255, 255, 255, 0.14);
  --contrast: #d92632;
  --cta-bg: #d92632;
  --cta-text: #fff;
  --cta-spotlight: rgba(255, 110, 118, 0.3);
}
.legacy-tail { font-family: 'Hanken Grotesk', 'Helvetica Neue', Arial, sans-serif; }
.legacy-tail .btn, .shape-modal .btn {
  position: relative; display: inline-flex; align-items: center; gap: 0.65rem;
  padding: 1.05rem 4rem; border: 0; background: var(--cta-bg); color: var(--cta-text);
  font-family: 'Hanken Grotesk', sans-serif; font-size: 0.9375rem; font-weight: 600;
  letter-spacing: 0.005em; border-radius: 14px; overflow: hidden; isolation: isolate;
  cursor: pointer; box-shadow: 0 12px 28px rgba(217,38,50,.24); transition: box-shadow .22s var(--ease-ui);
}
.legacy-tail .btn__spotlight, .shape-modal .btn__spotlight {
  position: absolute; inset: 0; z-index: -1; opacity: 0; transition: opacity .3s var(--ease-ui);
  background: radial-gradient(120px 120px at var(--spot-x,50%) var(--spot-y,50%),var(--cta-spotlight),transparent 70%);
}
.legacy-tail .btn__arrow, .shape-modal .btn__arrow { transition: transform .22s var(--ease-ui); }
@media (hover:hover) and (pointer:fine) {
  .legacy-tail .btn:hover .btn__spotlight, .shape-modal .btn:hover .btn__spotlight { opacity: 1; }
  .legacy-tail .btn:hover .btn__arrow, .shape-modal .btn:hover .btn__arrow { transform: translateX(.25rem); }
}
@media (max-width:30rem) { .legacy-tail .btn, .shape-modal .btn { padding-inline: 2rem; } }
