:root{
  --primary:#0E7490; --secondary:#14B8A6; --accent:#F59E0B; --dark:#082F49;
  --ink:#1E293B; --muted:#64748B; --line:#E2E8F0; --panel:#F8FAFC; --bg:#EEF2F5;
  --ok:#0F766E; --warn:#B45309; --bad:#B91C1C;
  --radius:12px;
}

*{box-sizing:border-box; margin:0; padding:0}
html{-webkit-text-size-adjust:100%}
body{
  background:var(--bg); color:var(--ink); line-height:1.55; font-size:16px;
  font-family:"Segoe UI",-apple-system,BlinkMacSystemFont,Helvetica,Arial,sans-serif;
  display:flex; flex-direction:column; min-height:100vh;
}

.wrap{width:100%; max-width:820px; margin:0 auto; padding:0 20px}
.wrap.wide{max-width:1240px}

header.site{background:#fff; border-bottom:3px solid var(--primary)}
header.site .wrap{display:flex; align-items:center; gap:14px; padding-block:16px; flex-wrap:wrap}
header.site .logo{height:46px; width:auto; display:block}
header.site .logo-text{font-weight:700; font-size:18px; color:var(--dark)}
header.site .ticker{margin-left:auto; font-size:11px; letter-spacing:.16em;
  text-transform:uppercase; color:var(--muted); white-space:nowrap}

main.wrap{padding-block:28px 40px; flex:1}

footer.site{background:#fff; border-top:1px solid var(--line); padding-block:22px}
footer.site .subs{color:var(--primary); font-weight:700; font-size:12px; margin-bottom:6px}
footer.site .muted{font-size:12px; line-height:1.6}

h1{font-size:26px; line-height:1.2; color:var(--dark); margin-bottom:10px; letter-spacing:-.01em}
h2{font-size:18px; color:var(--dark); margin:26px 0 10px}
h3{font-size:13px; color:var(--primary); margin:18px 0 8px;
  text-transform:uppercase; letter-spacing:.08em}
p{margin-bottom:12px}
a{color:var(--primary)}
.muted{color:var(--muted); font-size:14px}
.error{color:var(--bad); font-weight:600}
.success{color:var(--ok); font-weight:600}

.card{background:#fff; border:1px solid var(--line); border-radius:var(--radius);
  padding:24px 26px; margin-bottom:20px}
.card.narrow{max-width:420px; margin-inline:auto}
.card.tight{padding:16px 18px}

.notice{border-left:4px solid var(--accent); background:#FFFBEB;
  border-radius:8px; padding:12px 16px; margin-bottom:18px; font-size:14px}
.notice.bad{border-left-color:var(--bad); background:#FEF2F2}
.notice.good{border-left-color:var(--ok); background:#F0FDFA}

label{display:block; margin-bottom:14px; font-size:14px; font-weight:600; color:var(--dark)}
input[type=text], input[type=email], input[type=tel], input[type=password],
input[type=number], select, textarea{
  display:block; width:100%; margin-top:5px; padding:11px 13px; font:inherit;
  font-weight:400; color:var(--ink); background:#fff;
  border:1px solid #CBD5E1; border-radius:8px;
}
input:focus, select:focus, textarea:focus{
  outline:2px solid var(--secondary); outline-offset:1px; border-color:var(--secondary)}
textarea{min-height:110px; resize:vertical}

button, .btn{
  display:inline-block; padding:12px 24px; font:inherit; font-weight:700;
  color:#fff; background:var(--primary); border:0; border-radius:8px;
  cursor:pointer; text-decoration:none; text-align:center;
}
button:hover, .btn:hover{background:#0b5f76}
button.ghost, .btn.ghost{background:#fff; color:var(--primary); border:1px solid var(--primary)}
button.ghost:hover, .btn.ghost:hover{background:var(--panel)}
button.small, .btn.small{padding:7px 13px; font-size:13px}
button:disabled{opacity:.5; cursor:not-allowed}

.radio-row{display:flex; gap:10px; flex-wrap:wrap; margin:5px 0 16px}
.radio-row label{display:flex; align-items:center; gap:7px; margin:0; font-weight:600;
  border:1px solid #CBD5E1; border-radius:8px; padding:9px 14px; cursor:pointer;
  background:#fff}
.radio-row input{margin:0}

.toolbar{display:flex; gap:10px; flex-wrap:wrap; align-items:center; margin-bottom:18px}
.toolbar .spacer{margin-left:auto}

.funnel{display:grid; grid-template-columns:repeat(auto-fit,minmax(120px,1fr));
  gap:10px; margin-bottom:22px}
.funnel .stage{background:#fff; border:1px solid var(--line); border-radius:var(--radius);
  padding:14px 12px; text-align:center; text-decoration:none; color:inherit;
  border-top:3px solid var(--line)}
.funnel .stage:hover{border-top-color:var(--secondary)}
.funnel .stage.active{border-top-color:var(--primary); background:var(--panel)}
.funnel .n{display:block; font-size:26px; font-weight:800; color:var(--dark); line-height:1.1}
.funnel .l{display:block; font-size:11px; letter-spacing:.1em; text-transform:uppercase;
  color:var(--muted); margin-top:3px}
.funnel .r{display:block; font-size:12px; color:var(--primary); font-weight:700; margin-top:4px}

.priority{list-style:none; counter-reset:pq}
.priority li{counter-increment:pq; position:relative; display:flex; flex-direction:column;
  gap:2px; padding:12px 58px 12px 40px; border-bottom:1px solid var(--line)}
.priority li:last-child{border-bottom:0}
.priority li::before{content:counter(pq); position:absolute; left:0; top:12px;
  font-weight:800; color:var(--secondary); font-size:18px}
.priority .why{font-size:13px; color:var(--muted)}
.priority .score{position:absolute; right:0; top:12px; font-weight:800;
  color:var(--primary); font-size:18px}

/* ---- tables ---- */
.table-scroll{overflow-x:auto; -webkit-overflow-scrolling:touch;
  border:1px solid var(--line); border-radius:var(--radius); background:#fff}
table.data{width:100%; border-collapse:collapse; font-size:14px; min-width:760px}
table.data th{background:var(--dark); color:#fff; text-align:left; font-size:11px;
  letter-spacing:.08em; text-transform:uppercase; padding:10px 12px; white-space:nowrap}
table.data td{padding:10px 12px; border-bottom:1px solid var(--line); vertical-align:top}
table.data tr:last-child td{border-bottom:0}
table.data tr:hover td{background:var(--panel)}
table.data .nowrap{white-space:nowrap}

.pill{display:inline-block; font-size:11px; font-weight:700; padding:3px 9px;
  border-radius:999px; background:var(--panel); color:var(--muted);
  border:1px solid var(--line); white-space:nowrap}
.pill.sent{background:#F1F5F9; color:#475569}
.pill.signed{background:#F0FDFA; color:var(--ok); border-color:#99F6E4}
.pill.meeting{background:#EFF6FF; color:#1D4ED8; border-color:#BFDBFE}
.pill.committed{background:#FFFBEB; color:var(--warn); border-color:#FDE68A}
.pill.invested{background:#0E7490; color:#fff; border-color:#0E7490}
.pill.passed{background:#F8FAFC; color:#94A3B8}
.pill.flag{background:#FEF2F2; color:var(--bad); border-color:#FECACA}
.pill.cold{background:#F1F5F9; color:#64748B}
.pill.warm{background:#FFF7ED; color:#C2410C; border-color:#FED7AA}

/* ---- deal room ---- */
.docs{display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:14px}
.doc{display:block; background:#fff; border:1px solid var(--line);
  border-left:4px solid var(--primary); border-radius:var(--radius);
  padding:18px 20px; text-decoration:none; color:inherit}
.doc:hover{border-left-color:var(--secondary); background:var(--panel)}
.doc b{display:block; font-size:16px; color:var(--dark); margin-bottom:4px}
.doc span{font-size:13px; color:var(--muted)}

/* ---- messaging ---- */
.thread{display:flex; flex-direction:column; gap:12px; margin-bottom:18px}
.msg{max-width:82%; padding:11px 15px; border-radius:14px; font-size:15px; line-height:1.5}
.msg .meta{display:block; font-size:11px; opacity:.75; margin-top:5px}
.msg.investor{align-self:flex-start; background:#fff; border:1px solid var(--line);
  border-bottom-left-radius:4px}
.msg.rep{align-self:flex-end; background:var(--primary); color:#fff;
  border-bottom-right-radius:4px}
.msg.rep a{color:#fff}

/* ---- the agreement, on screen ---- */
.nda{background:#fff; border:1px solid var(--line); border-radius:var(--radius);
  padding:28px 32px; max-height:62vh; overflow-y:auto; font-size:14.5px; line-height:1.6}
.nda h1.nda-title{font-size:20px; text-align:center; margin-bottom:16px}
.nda .nda-ticker{text-align:center; font-size:11px; letter-spacing:.18em;
  text-transform:uppercase; color:var(--muted); margin-bottom:8px}
.nda h2{font-size:13px; color:var(--primary); text-transform:uppercase;
  letter-spacing:.07em; margin:20px 0 7px}
.nda p{text-align:justify}
.nda .blank{display:inline-block; min-width:190px; border-bottom:1px solid var(--ink)}
.nda .nda-witness{margin-top:20px; font-weight:700}

/* ---- signature pad ---- */
.sigpad-wrap{position:relative; background:#fff; border:2px dashed #94A3B8;
  border-radius:var(--radius); touch-action:none; overflow:hidden}
.sigpad-wrap.signed{border-style:solid; border-color:var(--secondary)}
.sigpad{display:block; width:100%; height:190px; cursor:crosshair}
.sigpad-hint{position:absolute; inset:0; display:flex; align-items:center;
  justify-content:center; pointer-events:none; color:#94A3B8; font-size:15px}
.sigpad-wrap.signed .sigpad-hint{display:none}
.sigpad-actions{display:flex; align-items:center; gap:12px; margin-top:10px}

.consent{display:flex; gap:10px; align-items:flex-start; font-weight:400;
  font-size:14px; line-height:1.5; margin:18px 0}
.consent input{margin-top:4px; flex:none; width:18px; height:18px}

/* ---- utility ---- */
.grid2{display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:0 18px}
.stack-sm > * + *{margin-top:8px}
.right{text-align:right}
.center{text-align:center}
.hide{display:none}

@media (max-width:640px){
  h1{font-size:22px}
  .card{padding:20px 18px}
  .nda{padding:20px 18px; max-height:none}
  .msg{max-width:94%}
}

@media print{
  header.site, footer.site, .toolbar, .no-print{display:none}
  body{background:#fff}
  .nda{max-height:none; overflow:visible; border:0; padding:0}
}
