/* ===== Novumism School waitlist (Kit, provider-agnostic form) + Substack reader signup ===== */

/* Footer: Substack "read along" section */
.read-along{max-width:34rem;margin:0 auto 2.25rem;padding:0 0 2rem;border-bottom:1px solid var(--line)}
.read-along h2{font-size:1.9rem;line-height:1.15;margin:.25rem 0 .35rem}
.read-along .lede{font-style:italic;color:var(--muted);margin:0 0 1rem!important}
.substack-frame{display:block;width:100%;max-width:30rem;height:150px;margin:0 auto;border:1px solid var(--line);
  background:#fff;box-shadow:inset 0 0 0 4px var(--ivory),inset 0 0 0 5px rgba(168,135,79,.35)}
.read-along .fine{font-size:.9rem;margin-top:.6rem!important}

/* Footer: waitlist link */
.footer-waitlist{margin:0 0 1.25rem!important}
.waitlist-link{background:none;border:0;padding:0;cursor:pointer;font:inherit;color:var(--burgundy);
  font-variant:small-caps;letter-spacing:.14em;font-size:1.05rem;text-decoration:underline;
  text-decoration-color:var(--gold);text-underline-offset:4px}
.waitlist-link:hover{color:var(--burgundy-dark);text-decoration-thickness:2px}
.waitlist-link .ncs{font-size:.95rem;color:var(--gold);margin-right:.4rem;vertical-align:-1px;text-decoration:none;display:inline-block}

/* Modal */
.wl-backdrop{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:1.25rem;
  background:rgba(42,20,24,.62);opacity:0;transition:opacity .25s}
.wl-backdrop[hidden]{display:none}
.wl-backdrop.open{opacity:1}
.wl-dialog{position:relative;width:100%;max-width:29rem;max-height:calc(100vh - 2.5rem);overflow:auto;
  background:radial-gradient(ellipse at top,var(--ivory) 0%,var(--parchment) 85%);
  border:1px solid var(--gold);outline:1px solid var(--gold);outline-offset:-9px;
  padding:2.6rem 2.4rem 2.2rem;text-align:center;
  box-shadow:0 24px 60px rgba(42,20,24,.4),0 4px 12px rgba(42,20,24,.2);
  transform:translateY(12px);transition:transform .25s}
.wl-backdrop.open .wl-dialog{transform:none}
.wl-dialog:focus{outline:1px solid var(--gold)}
.wl-dialog .ornament{margin:.2rem 0 .4rem;font-size:1.9rem}
.wl-dialog .eyebrow{font-size:.9rem}
.wl-dialog h2{font-size:2.3rem;line-height:1.1;margin:.1rem 0 .9rem}
.wl-dialog p{margin:0 0 1.1rem;line-height:1.6}
.wl-close{position:absolute;top:.85rem;right:.85rem;width:2.4rem;height:2.4rem;border-radius:50%;cursor:pointer;
  display:inline-flex;align-items:center;justify-content:center;
  background:transparent;color:var(--gold);border:1px solid var(--gold);
  box-shadow:inset 0 0 0 3px var(--ivory),inset 0 0 0 4px rgba(168,135,79,.35);transition:background .2s,color .2s}
.wl-close:hover,.wl-close:focus-visible{background:linear-gradient(180deg,#d4b56a 0%,var(--gold) 48%,#8a6d35 100%);color:var(--burgundy-dark)}
.wl-close svg{display:block}

/* Waitlist form (provider-agnostic; Kit by default) */
.wl-signup form{margin:0}
.wl-hp{position:absolute;left:-5000px;width:1px;height:1px;overflow:hidden}
.wl-field{display:flex;gap:0;margin:0 0 .6rem}
.wl-field label{position:absolute;left:-9999px}
.wl-field input[type=email]{flex:1;min-width:0;padding:.75rem .9rem;font:inherit;font-size:1.05rem;color:var(--ink);
  background:#fff;border:1px solid var(--gold);border-right:0;border-radius:0}
.wl-field input[type=email]::placeholder{color:#9a8d7f;font-style:italic}
.wl-field input[type=email]:focus{outline:2px solid var(--gold);outline-offset:0}
.wl-field .btn{border-radius:0;cursor:pointer;font-family:inherit;white-space:nowrap;padding:.7rem 1.2rem}
.wl-fine{font-size:.88rem;color:var(--muted);margin:.4rem 0 0!important;line-height:1.45!important}
.wl-later{margin-top:.9rem!important}
.wl-later button{background:none;border:0;cursor:pointer;font:inherit;font-size:.95rem;color:var(--muted);
  text-decoration:underline;text-underline-offset:3px}
.wl-later button:hover{color:var(--burgundy)}
body.wl-locked{overflow:hidden}
.wl-error{margin:.2rem 0 .4rem!important;font-size:.95rem;color:var(--burgundy);font-style:italic}
.wl-error[hidden],.wl-thanks[hidden],.wl-signup[hidden],.wl-fine[hidden]{display:none}
.wl-field .btn:disabled{opacity:.7;cursor:progress}
.wl-thanks{margin:.4rem auto .6rem;padding:1.1rem 1.2rem;max-width:22rem;border-top:1px solid var(--gold);border-bottom:1px solid var(--gold)}
.wl-thanks:focus{outline:none}
.wl-thanks-msg{margin:0!important;font-size:1.2rem;font-style:italic;color:var(--burgundy-dark)}

@media (max-width:480px){
  .wl-dialog{padding:2.4rem 1.4rem 1.8rem}
  .wl-dialog h2{font-size:2rem}
  .wl-field{flex-direction:column;gap:.6rem}
  .wl-field input[type=email]{border-right:1px solid var(--gold)}
  .wl-field .btn{width:100%}
}
@media (prefers-reduced-motion:reduce){.wl-backdrop,.wl-dialog,.wl-close{transition:none}.wl-dialog{transform:none}}
