/* waitlist modal */
.wl-modal{ position:fixed; inset:0; z-index:200; display:grid; place-items:center; padding:24px; }
.wl-modal[hidden]{ display:none; }
.wl-backdrop{ position:absolute; inset:0; background:var(--overlay,rgba(20,19,15,.42)); -webkit-backdrop-filter:blur(4px); backdrop-filter:blur(4px); }
.wl-card{
  position:relative; z-index:1; width:min(440px,100%);
  background:var(--card,#fff); border:1px solid var(--line,#e4e2da);
  border-radius:16px; padding:28px 28px 24px;
  box-shadow:0 32px 80px -32px rgba(20,19,15,.35);
}
.wl-close{
  position:absolute; top:14px; right:14px; width:32px; height:32px;
  border:none; border-radius:8px; background:transparent; cursor:pointer;
  font-size:22px; line-height:1; color:var(--muted,#6b6860);
}
.wl-close:hover{ background:var(--paper-2,#efeee8); color:var(--ink,#14130f); }
.wl-card h2{ font-family:var(--display,'Geist',sans-serif); font-size:24px; font-weight:600; letter-spacing:-.03em; margin:0; }
.wl-card .wl-lead{ margin:10px 0 0; font-size:15px; color:var(--muted,#6b6860); line-height:1.5; }
.wl-form{ margin-top:20px; display:flex; flex-direction:column; gap:10px; }
.wl-form input{
  width:100%; font-family:inherit; font-size:15px; padding:12px 14px;
  border:1px solid var(--line-2,#d8d6cd); border-radius:10px; background:var(--paper,#f6f5f1);
  color:var(--ink,#14130f); outline:none;
}
.wl-form input:focus{ border-color:var(--ink,#14130f); }
.wl-form button{
  font-family:inherit; font-size:15px; font-weight:500; padding:12px 18px;
  border:none; border-radius:10px; background:var(--ink,#14130f); color:#fff; cursor:pointer;
}
.wl-form button:hover{ filter:brightness(1.1); }
.wl-form button:disabled{ opacity:.6; cursor:wait; }
.wl-msg{ margin:14px 0 0; font-size:14px; min-height:20px; }
.wl-msg.ok{ color:#1f9d57; }
.wl-msg.err{ color:#c43d4a; }
