/* Shared waitlist modal for subpages (mirrors the homepage modal) */
.modal-overlay {
  position:fixed; inset:0; z-index:10000;
  background:rgba(26,27,58,0.55); backdrop-filter:blur(4px); -webkit-backdrop-filter:blur(4px);
  display:flex; align-items:center; justify-content:center; padding:1.25rem;
  opacity:0; transition:opacity 0.25s;
}
.modal-overlay.open { opacity:1; }
.modal-overlay[hidden] { display:none; }
.modal {
  background:var(--surface,#fff); border-radius:24px; padding:2rem; width:100%; max-width:440px;
  position:relative; box-shadow:0 24px 70px rgba(26,27,58,0.32);
  transform:translateY(12px) scale(0.98); transition:transform 0.25s; max-height:90vh; overflow-y:auto; text-align:left;
}
.modal-overlay.open .modal { transform:none; }
.modal-close {
  position:absolute; top:0.85rem; right:0.85rem; width:36px; height:36px; border:none;
  background:var(--bg,#F4F5F9); border-radius:50%; font-size:1.3rem; line-height:1; color:var(--ink-soft,#5A6080);
  cursor:pointer; display:inline-flex; align-items:center; justify-content:center;
}
.modal-close:hover { background:var(--border,#E7E4F2); }
.modal h2 { font-family:'Inter',-apple-system,sans-serif; font-size:1.6rem; font-weight:800; margin-bottom:0.4rem; color:var(--ink,#1A1B3A); }
.modal-sub { color:var(--ink-soft,#5A6080); font-size:0.95rem; line-height:1.5; margin-bottom:1.5rem; }
.modal .field { display:block; margin-bottom:1rem; }
.modal .field span { display:block; font-size:0.82rem; font-weight:600; color:var(--ink,#1A1B3A); margin-bottom:0.35rem; }
.modal .field input {
  width:100%; padding:0.8rem 1rem; border:1px solid var(--border,#E7E4F2); border-radius:12px;
  font-family:inherit; font-size:1rem; color:var(--ink,#1A1B3A); background:var(--bg,#F4F5F9); min-height:48px;
}
.modal .field input:focus { border-color:var(--primary,#6C5CE7); background:#fff; outline:none; }
.modal .check { display:flex; align-items:flex-start; gap:0.6rem; font-size:0.85rem; color:var(--ink-soft,#5A6080); line-height:1.45; margin:0.25rem 0 1.5rem; }
.modal .check input { margin-top:0.15rem; width:18px; height:18px; flex-shrink:0; accent-color:var(--primary,#6C5CE7); }
.modal .check a { color:var(--primary-dark,#4A3DB8); }
.modal-submit {
  width:100%; display:inline-flex; align-items:center; justify-content:center; gap:0.5rem;
  background:var(--primary,#6C5CE7); color:#fff; border:none; border-radius:100px; padding:0.9rem 1.5rem;
  font-family:inherit; font-weight:700; font-size:1rem; cursor:pointer; transition:background 0.2s;
}
.modal-submit:hover { background:var(--primary-hover,#5A4BD1); }
.modal-submit:disabled { opacity:0.7; cursor:default; }
.modal-error { color:#C0392B; font-size:0.85rem; margin-top:0.6rem; }
.modal-sent-state { text-align:center; }
.modal-check {
  width:64px; height:64px; margin:0 auto 1.25rem; border-radius:50%;
  background:var(--primary-soft,#EEEAFE); display:flex; align-items:center; justify-content:center; font-size:1.8rem;
}
.modal-social { list-style:none; display:flex; justify-content:center; gap:0.75rem; padding:0; margin:0 0 1.5rem; }
.modal-social a {
  width:44px; height:44px; display:inline-flex; align-items:center; justify-content:center; border-radius:50%;
  color:var(--primary,#6C5CE7); background:var(--primary-soft,#EEEAFE); transition:transform 0.2s;
}
.modal-social a:hover { transform:translateY(-2px); }
body.modal-open { overflow:hidden; }
