/* waitlist modal — Plume-style */
.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:rgba(20,19,15,.28);
  -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px);
}
.wl-card{
  position:relative; z-index:1; width:min(460px,100%);
  background:var(--card,#fff); border:1px solid var(--line,#e8e6df);
  border-radius:20px; padding:22px 24px 20px;
  box-shadow:0 24px 64px -24px rgba(20,19,15,.28);
}
.wl-top{
  display:flex; align-items:center; justify-content:space-between;
  margin-bottom:18px;
}
.wl-eyebrow{
  font-family:var(--mono,'JetBrains Mono',monospace);
  font-size:11px; font-weight:500; letter-spacing:.12em;
  text-transform:uppercase; color:var(--muted,#6b6860);
}
.wl-close{
  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',serif);
  font-size:clamp(26px,4vw,32px); font-weight:600;
  letter-spacing:-.03em; line-height:1.1; margin:0;
}
.wl-lead{
  margin:10px 0 0; font-size:15px; color:var(--muted,#6b6860);
  line-height:1.5; max-width:36ch;
}
.wl-form{ margin-top:22px; display:flex; flex-direction:column; gap:14px; }
.wl-field{ display:flex; flex-direction:column; gap:7px; }
.wl-label{
  font-family:var(--mono,'JetBrains Mono',monospace);
  font-size:11px; font-weight:500; letter-spacing:.08em;
  text-transform:uppercase; color:var(--muted,#6b6860);
}
.wl-label em{
  font-style:normal; text-transform:none; letter-spacing:0;
  font-family:var(--body,'Inter',sans-serif); font-size:12px;
  color:var(--muted,#6b6860); opacity:.85;
}
.wl-field input{
  width:100%; font-family:inherit; font-size:15px; padding:12px 14px;
  border:1px solid var(--line-2,#d8d6cd); border-radius:12px;
  background:var(--paper,#f6f5f1); color:var(--ink,#14130f); outline:none;
}
.wl-field input:focus{ border-color:var(--ink,#14130f); background:var(--card,#fff); }
.wl-actions{
  display:flex; align-items:center; justify-content:space-between;
  gap:12px; margin-top:6px; padding-top:4px;
}
.wl-cancel{
  font-family:inherit; font-size:14px; font-weight:500;
  color:var(--muted,#6b6860); background:none; border:none;
  cursor:pointer; padding:10px 4px;
}
.wl-cancel:hover{ color:var(--ink,#14130f); }
.wl-submit{
  flex:1; max-width:220px; margin-left:auto;
  font-family:inherit; font-size:15px; font-weight:500;
  padding:12px 20px; border:none; border-radius:12px;
  background:var(--ink,#14130f); color:#fff; cursor:pointer;
}
.wl-submit:hover{ filter:brightness(1.08); }
.wl-submit:disabled{ opacity:.6; cursor:wait; }
.wl-msg{ margin:0; font-size:14px; min-height:0; line-height:1.45; }
.wl-msg.ok{ color:#1f9d57; }
.wl-msg.err{ color:#c43d4a; }
.wl-form.is-success .wl-field,
.wl-form.is-success .wl-actions{ display:none; }

/* social proof — avatar stack */
.wl-social{
  position:relative; z-index:5;
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  margin:18px 0 0; font-size:13px; color:var(--muted,#6b6860); font-weight:450;
}
.wl-faces{
  display:inline-flex; align-items:center;
  padding-top:12px;
}
.wl-faces[hidden]{ display:none; }
.wl-face{
  position:relative; display:block;
  width:32px; height:32px; flex-shrink:0;
  margin-left:-10px;
  border-radius:50%;
  border:2px solid var(--paper,#f6f5f1);
  background:var(--line-2,#d8d6cd);
  overflow:hidden;
  box-shadow:0 1px 3px rgba(20,19,15,.08);
  transition:transform .22s cubic-bezier(.2,.8,.2,1), z-index 0s .22s;
  z-index:1;
}
.wl-face:first-child{ margin-left:0; }
.wl-face img{
  display:block; width:100%; height:100%;
  object-fit:cover; border:none; border-radius:0;
}
.wl-faces > img{
  display:block; width:32px; height:32px; flex-shrink:0;
  margin-left:-10px; border-radius:50%;
  border:2px solid var(--paper,#f6f5f1);
  object-fit:cover; background:var(--line-2,#d8d6cd);
  box-shadow:0 1px 3px rgba(20,19,15,.08);
  transition:transform .22s cubic-bezier(.2,.8,.2,1);
}
.wl-faces > img:first-child{ margin-left:0; }
@media (hover:hover){
  .wl-face:hover{
    z-index:20;
    transform:translateY(-6px);
    transition:transform .22s cubic-bezier(.2,.8,.2,1), z-index 0s 0s;
  }
  .wl-faces > img:hover{ transform:translateY(-6px); }
  .wl-face[data-tip]:not([data-tip=""])::before{
    content:attr(data-tip);
    position:absolute; left:50%; bottom:calc(100% + 8px);
    transform:translateX(-50%) translateY(4px);
    padding:5px 10px; border-radius:8px;
    background:var(--ink,#14130f); color:#fff;
    font-family:var(--mono,'JetBrains Mono',monospace);
    font-size:11px; font-weight:500; letter-spacing:.01em;
    white-space:nowrap; line-height:1;
    opacity:0; pointer-events:none;
    transition:opacity .18s ease, transform .18s ease;
    box-shadow:0 4px 14px -4px rgba(20,19,15,.35);
  }
  .wl-face[data-tip]:not([data-tip=""]):hover::before{
    opacity:1; transform:translateX(-50%) translateY(0);
  }
}
.wl-count{ margin:0; color:inherit; }
.wl-count:empty{ display:none; }
@media (prefers-reduced-motion:reduce){
  .wl-face,.wl-faces > img{ transition:none; }
  .wl-face:hover,.wl-faces > img:hover{ transform:none; }
}
