/* ============================================================
   LEAD CAPTURE — shared modal styles (signup + consultation)
   Used by index.html AND workspace.html. This file is the ONLY
   place these styles live — edit here, both pages update.
   Self-contained: scoped --zsm-* tokens so host-page variables
   (workspace.html redefines --ink as light text) can't bleed in.
   ============================================================ */
.notify-modal{
  /* scoped palette — matches the site's light "paper" card on dark backdrop */
  --zsm-paper:#f5f8ff; --zsm-ink:#06091c; --zsm-blue:#1E62FF;
  --zsm-cyan:#00C8FF; --zsm-bg:#06091c;
  --zsm-serif:'Marcellus','Palatino Linotype',Palatino,Georgia,serif;
  --zsm-sans:'Outfit','Segoe UI',system-ui,Arial,sans-serif;
  --zsm-mono:'JetBrains Mono',Consolas,ui-monospace,monospace;
  position:fixed;inset:0;z-index:140;display:none;
  align-items:center;justify-content:center;padding:24px;
}
.notify-modal.open{display:flex;}
.notify-backdrop{
  position:absolute;inset:0;background:rgba(3,5,16,.82);
  backdrop-filter:blur(8px);
}
.notify-card{
  position:relative;z-index:2;width:100%;max-width:460px;
  background:var(--zsm-paper);
  border:1px solid rgba(30,98,255,.28);
  box-shadow:0 30px 80px -22px rgba(6,9,28,.55);
  padding:40px 40px 44px;
  animation:notify-in .28s cubic-bezier(.2,.8,.2,1);
  max-height:90vh;overflow-y:auto;
  box-sizing:border-box;
}
.notify-card *{box-sizing:border-box;}
.notify-card.wide{max-width:600px;}
/* fully self-defined eyebrow (host pages define .eyebrow differently) */
.notify-card .eyebrow{
  display:block;font-family:var(--zsm-mono);
  font-size:11px;letter-spacing:.4em;text-transform:uppercase;
  color:var(--zsm-blue);font-weight:400;margin:0;
}
.notify-card .eyebrow::before{content:none;}
.notify-card .eyebrow .rule{
  display:inline-block;width:32px;height:1px;background:var(--zsm-blue);
  vertical-align:middle;margin-right:14px;
}
@keyframes notify-in{from{opacity:0;transform:translateY(14px) scale(.985);}to{opacity:1;transform:none;}}
@media (prefers-reduced-motion: reduce){ .notify-card{animation:none;} }
.notify-x{
  position:absolute;top:16px;right:18px;background:none;border:none;
  color:#a6b3cc;font-size:24px;line-height:1;cursor:pointer;padding:4px;
  transition:color .2s;
}
.notify-x:hover{color:var(--zsm-blue);}
.notify-card h3{
  font-family:var(--zsm-serif);font-size:30px;line-height:1.1;
  color:var(--zsm-ink);font-weight:400;margin:18px 0 12px;letter-spacing:-.005em;
}
.notify-sub{font-size:15px;line-height:1.6;color:#5a6577;margin:0 0 26px;
  font-family:var(--zsm-sans);font-weight:300;}
.notify-form{display:flex;flex-direction:column;gap:14px;}
.notify-form input[type=email]{
  width:100%;padding:15px 16px;background:#fff;
  border:1px solid rgba(10,15,44,.2);color:var(--zsm-ink);
  font-family:var(--zsm-sans);font-size:15px;font-weight:300;
  transition:border-color .2s, box-shadow .2s;
}
.notify-form input[type=email]::placeholder{color:#6b7689;}
.notify-form input[type=email]:focus{
  outline:none;border-color:var(--zsm-blue);box-shadow:0 0 0 3px rgba(30,98,255,.14);
}
.notify-submit{
  background:var(--zsm-blue);color:#fff;border:none;cursor:pointer;
  padding:15px 22px;font-family:var(--zsm-mono);
  font-size:11px;letter-spacing:.28em;text-transform:uppercase;font-weight:500;
  transition:background .2s, box-shadow .2s, transform .2s;
  width:auto;
}
.notify-submit:hover{background:var(--zsm-cyan);color:var(--zsm-bg);box-shadow:0 0 24px rgba(0,200,255,.45);transform:translateY(-1px);}
.notify-submit.full{width:100%;}
.notify-error{
  font-family:var(--zsm-mono);font-size:11px;letter-spacing:.18em;
  color:#cc3b30;text-transform:uppercase;margin:0;min-height:12px;
}
.notify-success{display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center;padding:8px 0;}
.notify-check{
  width:54px;height:54px;border-radius:50%;
  border:1.5px solid var(--zsm-blue);color:var(--zsm-blue);
  display:flex;align-items:center;justify-content:center;font-size:26px;
  box-shadow:0 0 22px rgba(30,98,255,.25);
}
.notify-success p{font-size:16px;line-height:1.55;color:var(--zsm-ink);margin:0;
  font-family:var(--zsm-sans);font-weight:300;}
.notify-success .small{font-family:var(--zsm-mono);font-size:11px;
  letter-spacing:.28em;color:#5f6a7d;text-transform:uppercase;}
.cform[hidden], .notify-form[hidden], .notify-success[hidden]{display:none;}
.notify-card .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
.cform{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.cform .full{grid-column:1 / -1;}
.cform label{display:flex;flex-direction:column;gap:7px;
  font-family:var(--zsm-mono);font-size:11px;letter-spacing:.22em;
  text-transform:uppercase;color:#5a6577;}
.cform input, .cform textarea{
  width:100%;padding:12px 14px;background:#fff;
  border:1px solid rgba(10,15,44,.2);color:var(--zsm-ink);
  font-family:var(--zsm-sans);font-size:14px;font-weight:300;
  transition:border-color .2s, box-shadow .2s;
}
.cform input:focus, .cform textarea:focus{
  outline:none;border-color:var(--zsm-blue);box-shadow:0 0 0 3px rgba(30,98,255,.14);
}
.cform textarea{resize:vertical;min-height:86px;}
.cform .chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:2px;}
.cform .chip input{position:absolute;opacity:0;width:0;height:0;}
.cform .chip span{display:inline-block;padding:8px 13px;border:1px solid rgba(10,15,44,.2);
  font-family:var(--zsm-mono);font-size:11px;letter-spacing:.18em;
  text-transform:uppercase;color:#5a6577;cursor:pointer;transition:all .18s;}
.cform .chip span:hover{border-color:var(--zsm-blue);}
.cform .chip input:checked + span{background:rgba(30,98,255,.12);border-color:var(--zsm-blue);color:var(--zsm-ink);}
.cform .chip input:focus-visible + span{box-shadow:0 0 0 3px rgba(0,200,255,.18);}
@media (max-width:520px){ .cform{grid-template-columns:1fr;} .notify-card{padding:34px 24px 36px;} }
