.signup-site .prototype-header { padding-bottom: 20px; }
.signup-site .shared-footer { color: #fff; background: var(--ink); padding-top: 10px; }
.signup-site .contact-footer__group p { color: var(--coral); }
.signup-site .site-menu h2 { text-transform: none; }
.signup-site .site-menu__primary a { text-decoration: none; }
.signup-site .signup-hero { padding-top: 85px; }
.signup-art img { transform-origin: 50% 88%; will-change: transform; }
.puppet-curtain { position: fixed; z-index: 1000; inset: 0; overflow: hidden; }
.puppet-curtain[hidden] { display: none; }
.puppet-curtain__cast { position: absolute; inset: -8%; }
.puppet-curtain__puppet { position: absolute; left: var(--x); top: var(--y); width: var(--width); height: var(--height); object-fit: contain; transform: translate3d(var(--entry-x), var(--entry-y), 0) rotate(var(--tilt)); animation: curtain-pop .78s cubic-bezier(.25,.8,.35,1) var(--delay) forwards; }
.puppet-curtain.is-leaving { pointer-events: none; }
.puppet-curtain__badge {
  position: absolute;
  z-index: 2;
  top: 50%;
  left: 50%;
  display: grid;
  place-items: center;
  width: min(510px, 78vw);
  min-height: clamp(125px, 18vw, 205px);
  padding: clamp(25px, 5vw, 55px);
  border-radius: 48% 52% 44% 56% / 48% 42% 58% 52%;
  background: var(--coral);
  box-shadow: 0 16px 40px rgba(32,32,32,.2);
  transform: translate(-50%, -50%) rotate(-4deg);
  animation: curtain-badge-in .5s ease .28s both;
}
.puppet-curtain__badge img { display: block; width: 100%; height: auto; transform: rotate(4deg); }
.puppet-curtain.is-leaving .puppet-curtain__badge { animation: curtain-badge-out .4s ease both; }
@keyframes curtain-badge-in { from { opacity: 0; transform: translate(-50%, -40%) rotate(-8deg) scale(.9); } to { opacity: 1; transform: translate(-50%, -50%) rotate(-4deg) scale(1); } }
@keyframes curtain-badge-out { from { opacity: 1; transform: translate(-50%, -50%) rotate(-4deg) scale(1); } to { opacity: 0; transform: translate(-50%, -45%) rotate(0deg) scale(.96); } }
.puppet-curtain.is-leaving .puppet-curtain__puppet { animation: curtain-fall .56s cubic-bezier(.5,0,.9,.5) var(--delay) both; }
@keyframes curtain-pop { to { transform: translateY(0) rotate(var(--tilt)); } }
@keyframes curtain-fall { from { transform: translateY(0) rotate(var(--tilt)); } to { transform: translateY(160vh) rotate(24deg); } }
@media (max-width: 620px) { .signup-site .signup-hero { padding-top: 65px; } }
@media (prefers-reduced-motion: reduce) { .puppet-curtain__puppet, .puppet-curtain__badge { animation-duration: .01s !important; animation-delay: 0s !important; } }
@media (prefers-reduced-motion: reduce) { .signup-art img { transform: none !important; will-change: auto; } }
