:root{
  --bg:#f6fafb; --ink:#0f2233; --muted:#5d6d7a;
  --brand:#0b7ea3; --brand2:#457BFF; --card:#ffffff; --line:#e1edf0;
  --radius:12px;
  font-family: -apple-system, system-ui, Segoe UI, Roboto, Inter, Arial, sans-serif;
}
*{box-sizing:border-box} body{margin:0;background:var(--bg);color:var(--ink)}
.container{max-width:1100px;margin:0 auto;padding:24px}
header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:#e9f5f7}
.brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:20px;color:var(--ink)}
nav a{margin-left:16px;text-decoration:none;color:#1a3b4d;font-weight:600}
.hero{display:grid;gap:16px;align-items:center;padding-top:40px;padding-bottom:12px}
h1{font-size:40px;line-height:1.1;margin:0 0 8px}
.lead{font-size:18px;color:var(--muted);margin:0 0 12px}
.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:16px}
.grid{display:grid;grid-template-columns:2fr 2fr 1.5fr auto;gap:10px;align-items:center}
.grid input,.grid select{padding:12px;border:1px solid var(--line);border-radius:8px;width:100%}
.grid button,.btn{background:linear-gradient(135deg,var(--brand),var(--brand2));color:#fff;border:none;padding:12px 16px;border-radius:10px;cursor:pointer;font-weight:700;text-align:center}
.btn.full {
  width: 100%;
  display: block;
  margin-top: 16px;
}

.grid button:hover,.btn:hover{opacity:.95}
.pill{display:inline-block;background:#eaf6ff;color:#0a3b7a;border:1px solid #cfe4ff;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:700;margin-bottom:8px}
.bullets{line-height:1.8}
.grid-two{
  display:grid;
  grid-template-columns:1.2fr 1fr;
  gap:16px;
  align-items:flex-start;
}

.demo .demo-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}

.demo .list{margin:0;padding-left:16px}
table.small th,
table.small td{
  padding:6px 8px;
}

.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.feature-grid .card h3{margin-top:0}
.callout{background:#f0f7f9;border:1px dashed var(--line);border-radius:14px;padding:22px;margin-top:12px}
.muted{color:var(--muted)} .tiny{font-size:12px}
.footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);margin-top:28px;color:var(--muted)}
@media (max-width:900px){
  .btn.full {
  width: 100%;
  font-size: 14px;
  padding: 12px;
}

  .grid-two{
    grid-template-columns:1fr;
    gap:12px;                 /* tighter vertical space between text + card */
  }

  #how .card.demo{
    margin-top:4px;           /* keeps the card close to the text */
  }

  .feature-grid{
    grid-template-columns:repeat(2,1fr);
  }
.btn, .grid button {
  padding: 10px 12px;
}

  .grid{
    grid-template-columns:1fr;
  }
}

/* ---- Vireva Health additions ---- */
.tagline{font-weight:800;font-size:15px;letter-spacing:.02em;color:var(--brand);margin:0 0 8px}
.cta-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:8px}
.cta-card{display:flex;flex-direction:column;gap:10px}
.cta-card h3{margin:0;font-size:20px}
.cta-card p{margin:0}
.cta-card input,.cta-card select{padding:12px;border:1px solid var(--line);border-radius:8px;width:100%;font:inherit;font-size:14px;background:#fff}
.cta-card .btn.full{margin-top:4px}
.cta-org{border-top:4px solid #0f2233}
.cta-card:not(.cta-org){border-top:4px solid var(--brand)}
.btn-dark{background:#0f2233}
.pill-org{background:#eef1f4;color:#0f2233;border-color:#d5dce2;align-self:flex-start}
.cta-card .pill{align-self:flex-start;margin-bottom:0}
a.btn{text-decoration:none;display:inline-block}
.steps{line-height:1.7}
.founder{max-width:1100px}
.founder-copy{font-size:18px;max-width:760px;line-height:1.6}
.founder-name{margin-top:16px}
.pilot-flow{font-weight:800;font-size:18px;color:var(--brand);margin:12px 0 4px}
.site-footer{display:block;margin-top:28px}
.footer-top{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:10px;color:var(--ink)}
.footer-links{display:flex;gap:18px;flex-wrap:wrap}
.footer-links a{margin:0;font-size:14px}
.legal{max-width:760px;line-height:1.7}
.legal h2{margin-top:28px}
@media (max-width:900px){
  .cta-grid{grid-template-columns:1fr}
  h1{font-size:32px}
}

/* legal pages + form notices */
.legal h2{font-size:20px;margin:28px 0 8px}
.legal h3{font-size:16px;margin:16px 0 4px}
.legal ul{padding-left:22px;margin:8px 0}
.legal li{margin:4px 0}
.legal a,.consent a{color:var(--brand)}
.phi-note{margin:0;color:var(--ink)}
.consent{margin:0}
