/* Signup popup: scoped to this page and the existing charcoal-and-gold theme. */
.pf-signup-backdrop {
  position: fixed;
  inset: 0;
  z-index: 2147483647;
  display: grid;
  place-items: center;
  padding: 24px;
  background: rgba(13, 16, 15, .72);
  -webkit-backdrop-filter: blur(9px);
  backdrop-filter: blur(9px);
  opacity: 0;
  visibility: hidden;
  transition: opacity .35s ease, visibility .35s ease;
}
.pf-signup-backdrop.is-open { opacity: 1; visibility: visible; }
.pf-signup-dialog {
  display: grid;
  grid-template-columns: minmax(220px, .82fr) minmax(320px, 1.18fr);
  width: min(790px, 100%);
  max-height: min(92vh, 760px);
  overflow: auto;
  position: relative;
  background: #fff;
  border: 1px solid rgba(240, 201, 106, .6);
  border-radius: 20px;
  box-shadow: 0 28px 100px rgba(0,0,0,.38), 0 0 0 1px rgba(255,255,255,.16);
  transform: translateY(24px) scale(.975);
  transition: transform .48s cubic-bezier(.2,.8,.2,1);
}
.pf-signup-backdrop.is-open .pf-signup-dialog { transform: translateY(0) scale(1); }
.pf-signup-close {
  position: absolute;
  z-index: 3;
  top: 14px;
  right: 14px;
  width: 38px;
  height: 38px;
  border: 1px solid rgba(26,26,26,.1);
  border-radius: 50%;
  background: rgba(255,255,255,.92);
  color: #39352d;
  font-size: 27px;
  line-height: 1;
  cursor: pointer;
  transition: background .2s, transform .2s;
}
.pf-signup-close:hover { background: #f3e8cc; transform: rotate(90deg); }
.pf-signup-art {
  min-height: 100%;
  position: relative;
  isolation: isolate;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 46px 34px;
  background: radial-gradient(ellipse at 18% 84%, rgba(212,168,67,.25), transparent 46%), linear-gradient(145deg, #25251f 0%, #171a17 60%, #223328 100%);
  color: #fff;
}
.pf-signup-art::after {
  content: '';
  position: absolute;
  z-index: -1;
  inset: -60% -120%;
  background: linear-gradient(115deg, transparent 44%, rgba(255,255,255,.08) 49%, rgba(240,201,106,.13) 50%, transparent 56%);
  transform: translateX(-45%);
  animation: pfSignupSheen 6s ease-in-out infinite;
}
.pf-signup-art-mark { color: #e8bb4a; font-size: 27px; margin-bottom: 28px; animation: pfSignupGlow 3s ease-in-out infinite; }
.pf-signup-art-mark svg { display: block; width: 36px; height: 36px; overflow: visible; transform-origin: 50% 65%; filter: drop-shadow(0 3px 6px rgba(212,168,67,.3)); animation: pfSignupBookFloat 3.2s ease-in-out infinite; }
.pf-signup-art-kicker, .pf-signup-eyebrow {
  color: #c99e3d;
  font: 600 10px/1.5 'Poppins', sans-serif;
  letter-spacing: 2px;
  text-transform: uppercase;
}
.pf-signup-art-title {
  margin-top: 16px;
  color: #fff;
  font: 600 clamp(27px, 3.4vw, 38px)/1.2 'Poppins', sans-serif;
  letter-spacing: -.8px;
}
.pf-signup-art-title em { color: #e6bd5c; font-style: normal; }
.pf-signup-art-rule { width: 42px; height: 2px; margin: 25px 0 17px; background: linear-gradient(90deg,#d4a843,#f0c96a); }
.pf-signup-art-note { max-width: 230px; color: rgba(255,255,255,.67); font: 400 12px/1.8 'Poppins', sans-serif; }
.pf-signup-art-orbit { position: absolute; z-index: -1; width: 240px; height: 240px; border: 1px solid rgba(212,168,67,.13); border-radius: 50%; right: -130px; bottom: -100px; }
.pf-signup-art-orbit-two { width: 310px; height: 310px; right: -164px; bottom: -135px; border-color: rgba(255,255,255,.07); }
.pf-signup-content { padding: 48px 42px 34px; font-family: 'Poppins', sans-serif; }
.pf-signup-content h2 { margin: 9px 40px 10px 0; color: #1a1a1a; font: 700 clamp(23px, 3vw, 30px)/1.2 'Poppins', sans-serif; letter-spacing: -.5px; }
.pf-signup-intro { margin: 0 0 22px; color: #666; font: 400 13px/1.7 'Poppins', sans-serif; }
.pf-signup-field { display: block; margin: 0 0 13px; }
.pf-signup-field > span { display: block; margin: 0 0 5px; color: #39352d; font: 600 11px/1.5 'Poppins', sans-serif; }
.pf-signup-field input {
  display: block;
  box-sizing: border-box;
  width: 100%;
  height: 43px;
  padding: 0 13px;
  border: 1px solid #dfded9;
  border-radius: 8px;
  outline: none;
  background: #fcfbf9;
  color: #25251f;
  font: 400 12px 'Poppins', sans-serif;
  transition: border-color .2s, box-shadow .2s, background .2s;
}
.pf-signup-field input:focus { border-color: #c99e3d; background: #fff; box-shadow: 0 0 0 3px rgba(212,168,67,.15); }
.pf-signup-field input[aria-invalid="true"] { border-color: #bc4848; box-shadow: 0 0 0 3px rgba(188,72,72,.1); }
.pf-signup-submit {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  min-height: 48px;
  margin-top: 8px;
  padding: 0 17px;
  border: 0;
  border-radius: 8px;
  background: linear-gradient(110deg, #d4a843 0%, #f0c96a 48%, #d4a843 100%);
  background-size: 200% 100%;
  color: #1a1a1a;
  font: 700 12px 'Poppins', sans-serif;
  cursor: pointer;
  box-shadow: 0 5px 18px rgba(212,168,67,.28);
  transition: background-position .45s, transform .2s, box-shadow .2s;
}
.pf-signup-submit:hover { background-position: 100% 0; transform: translateY(-2px); box-shadow: 0 8px 23px rgba(212,168,67,.38); }
.pf-signup-submit:disabled { cursor: wait; opacity: .72; transform: none; }
.pf-signup-submit span:last-child { font-size: 20px; line-height: 1; }
.pf-signup-privacy { margin: 11px 0 0; color: #87847e; text-align: center; font: 400 10px/1.6 'Poppins', sans-serif; }
.pf-signup-status { min-height: 0; margin: 0; font: 500 12px/1.55 'Poppins', sans-serif; }
.pf-signup-status:not(:empty) { margin: 4px 0 8px; }
.pf-signup-status.is-error { color: #a93232; }
.pf-signup-status.is-success { color: #24724e; }
.pf-signup-honeypot { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; }
@keyframes pfSignupSheen { 0%, 20% { transform: translateX(-45%); } 70%, 100% { transform: translateX(45%); } }
@keyframes pfSignupGlow { 0%,100% { text-shadow: 0 0 0 rgba(240,201,106,0); } 50% { text-shadow: 0 0 18px rgba(240,201,106,.72); } }
@keyframes pfSignupBookFloat { 0%,100% { transform: translateY(0) rotate(-1deg); } 50% { transform: translateY(-3px) rotate(1deg); } }
@media (max-width: 640px) {
  .pf-signup-backdrop { padding: 14px; }
  .pf-signup-dialog { grid-template-columns: 1fr; width: min(440px, 100%); max-height: 94vh; border-radius: 16px; }
  .pf-signup-art { min-height: auto; padding: 24px 26px 21px; }
  .pf-signup-art-mark { margin-bottom: 10px; font-size: 21px; }
  .pf-signup-art-title { margin-top: 8px; font-size: 25px; }
  .pf-signup-art-rule { margin: 13px 0 9px; }
  .pf-signup-art-note { max-width: 100%; }
  .pf-signup-content { padding: 25px 26px 23px; }
}
@media (max-width: 390px) {
  .pf-signup-art { padding-right: 21px; padding-left: 21px; }
  .pf-signup-content { padding-right: 21px; padding-left: 21px; }
}
@media (prefers-reduced-motion: reduce) {
  .pf-signup-art::after, .pf-signup-art-mark, .pf-signup-art-mark svg { animation: none; }
  .pf-signup-backdrop, .pf-signup-dialog, .pf-signup-submit { transition-duration: .01ms; }
}
