:root{ --brand:#4c87ff; --brand-dark:#1a3a80; --muted:#6b7280; }
*{ box-sizing:border-box; } body{ font-family: ui-sans-serif,-apple-system,Segoe UI,Roboto,Inter,Helvetica Neue,Arial; color:#111; margin:0; }
.container{ max-width:1100px; margin:0 auto; padding:0 20px; }
.border-b{ border-bottom:1px solid #e5e7eb } .border-t{ border-top:1px solid #e5e7eb }
.nav a{ margin-left:18px; color:#555; text-decoration:none } .nav a:hover{ color:#111 }
.logo{ display:flex; align-items:center; gap:10px; color:inherit; text-decoration:none } .logo .brand{ font-weight:600; letter-spacing:-.2px }
.hero{ padding:56px 0 } .hero-inner{ text-align:center; max-width:720px; margin:0 auto }
.hero h1{ font-size:40px; letter-spacing:-.5px; margin:0 } .accent{ color:var(--brand) }
.hero p{ color:var(--muted); font-size:18px; margin:12px 0 20px } .cta{ display:flex; gap:12px; justify-content:center; flex-wrap:wrap }
.btn-primary{ background:#000; color:#fff; border:none; border-radius:999px; padding:12px 22px; cursor:pointer }
.btn{ border:1px solid #e5e7eb; background:#fff; border-radius:999px; padding:12px 22px; cursor:pointer }
.muted{ color:var(--muted) }
.h2{ font-size:28px; margin-bottom:12px }
.h3{ font-size:22px; margin:16px 0 }
.cards .card{ border:1px solid #e5e7eb; border-radius:16px; padding:16px }
.cards .card{ background:#fff; transition:transform 0.2s ease, box-shadow 0.2s ease; }
.cards .card:hover{ transform:translateY(-4px); box-shadow:0 12px 28px rgba(15,23,42,0.12); }
.cards .card-accent{ border-color: var(--brand); box-shadow:0 8px 24px rgba(76,135,255,0.15); background:linear-gradient(180deg, rgba(76,135,255,0.12), rgba(255,255,255,0)); }
.cards .feat{ list-style:none; padding-left:0; margin:12px 0; }
.cards .feat li{ margin:6px 0 }
.cards .price{ font-size:18px; font-weight:600; margin:8px 0 }
.card-header{ display:flex; align-items:center; justify-content:space-between; gap:12px; }
.card-eyebrow{ font-size:12px; text-transform:uppercase; letter-spacing:0.08em; color:var(--brand-dark); }
.card-badge{ background:#111827; color:#fff; font-size:12px; padding:4px 10px; border-radius:999px; }
.card-focus{ font-size:13px; margin-bottom:8px; }
.dataset-picker{ display:flex; flex-direction:column; gap:8px; margin:8px 0 12px; }
.picker-label{ font-size:12px; text-transform:uppercase; letter-spacing:0.08em; color:var(--muted); font-weight:600; }
.picker-options{ display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:8px; }
.picker-option{ display:flex; align-items:center; gap:10px; padding:8px 10px; border-radius:12px; border:1px solid #e5e7eb; background:#fff; cursor:pointer; text-align:left; box-shadow:0 4px 12px rgba(15,23,42,0.08); transition:transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease; }
.picker-option input{ accent-color:#111; }
.picker-option span{ display:flex; flex-direction:column; gap:2px; }
.picker-title{ font-weight:600; color:#0f172a; font-size:14px; }
.picker-subtitle{ font-size:12px; color:var(--muted); }
.picker-option.is-active{ border-color:#111; box-shadow:0 8px 18px rgba(15,23,42,0.18); transform:translateY(-1px); }
.picker-option:focus-within{ outline:2px solid #111; outline-offset:2px; }
@media (max-width: 640px){
  .picker-options{ grid-template-columns:1fr; }
}
.grid-3{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px }
.features{ padding:20px 0 }
.faq{ padding:24px 0 8px; }
.faq-header{ display:flex; flex-direction:column; gap:8px; margin-bottom:16px; }
.faq-grid{ display:grid; gap:12px; }
.faq-item{ border:1px solid #e5e7eb; border-radius:16px; padding:12px 16px; background:#fff; box-shadow:0 10px 24px rgba(15,23,42,0.06); }
.faq-item summary{ font-weight:600; cursor:pointer; list-style:none; display:flex; align-items:center; justify-content:space-between; gap:12px; }
.faq-item summary::-webkit-details-marker{ display:none; }
.faq-item summary::after{ content:"+"; font-size:20px; line-height:1; color:var(--brand-dark); }
.faq-item[open] summary::after{ content:"–"; }
.faq-item p{ margin:10px 0 4px; color:#1f2937; }
footer .text-muted, .muted{ color:#6b7280 }
@media (max-width: 768px){
  .grid-3{ grid-template-columns:1fr }
  .nav{ display:none }
  .hero h1{ font-size:32px }
}

/* Mobile nav */
.nav-toggle{ position:absolute; opacity:0; pointer-events:none; }
.hamburger{ display:flex; flex-direction:column; gap:4px; cursor:pointer; }
.hamburger span{ width:22px; height:2px; background:#111; display:block; transition:transform 0.2s ease, opacity 0.2s ease; }
.mobile-nav{ display:none; border-top:1px solid #e5e7eb; background:#fff; box-shadow:0 12px 24px rgba(15,23,42,0.08); }
.mobile-nav a{ color:#111; text-decoration:none; padding:6px 0; }
.mobile-nav a:hover{ color:var(--brand-dark); }
#nav-toggle:checked ~ .mobile-nav{ display:flex; flex-direction:column; padding:12px 20px; gap:8px; }
#nav-toggle:checked ~ .container .hamburger span:nth-child(1){ transform:translateY(6px) rotate(45deg); }
#nav-toggle:checked ~ .container .hamburger span:nth-child(2){ opacity:0; }
#nav-toggle:checked ~ .container .hamburger span:nth-child(3){ transform:translateY(-6px) rotate(-45deg); }
.input{ width:100%; padding:10px 12px; border:1px solid #e5e7eb; border-radius:10px; }
.input-label{ font-size:12px; text-transform:uppercase; letter-spacing:0.08em; color:var(--muted); font-weight:600; }
.input-group{ display:flex; flex-direction:column; gap:6px; }
.insight-form{ display:grid; gap:10px; margin:8px 0 12px; }
.card{ border:1px solid #e5e7eb; border-radius:16px; padding:16px; }
@media (min-width: 768px){ .md\:hidden{ display:none!important } .md\:flex{ display:flex!important } }

.blog-page{ display:flex; flex-direction:column; gap:32px; }
.blog-header{ max-width:720px; }
.blog-eyebrow{ font-size:12px; text-transform:uppercase; letter-spacing:0.16em; color:var(--brand-dark); margin:0 0 8px; }
.blog-header h1{ font-size:36px; margin:0 0 8px; }
.blog-subtitle{ font-size:16px; color:var(--muted); margin:0; }
.blog-grid{ display:grid; grid-template-columns:repeat(auto-fit, minmax(260px, 1fr)); gap:20px; }
.post-card{ border:1px solid #e5e7eb; border-radius:16px; padding:20px; background:#fff; display:flex; flex-direction:column; gap:10px; box-shadow:0 12px 24px rgba(15,23,42,0.06); transition:transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease; }
.post-card:hover{ transform:translateY(-3px); box-shadow:0 18px 36px rgba(15,23,42,0.12); border-color:#c7d2fe; }
.post-card h3{ margin:0; font-size:20px; }
.post-card a{ color:#0f172a; text-decoration:none; }
.post-card a:hover{ color:var(--brand-dark); }
.post-date{ font-size:12px; letter-spacing:0.08em; text-transform:uppercase; margin:0; }
.post-excerpt{ color:#1f2937; margin:0; }
.post-link{ font-weight:600; display:inline-flex; align-items:center; gap:6px; }


/* Desktop Nav */
.navbar {
    display: flex;
    justify-content: space-between; /* pushes left & right apart */
    align-items: center;
    padding: 0.75rem 1.5rem;
    background-color: #0f172a;
    color: white;
    border-bottom: 1px solid #1e293b;
}

.nav-left a {
    margin-right: 1rem;
    color: white;
    text-decoration: none;
}

.nav-right button {
    background-color: #2563eb;
    color: white;
    border: none;
    padding: 0.4rem 0.9rem;
    border-radius: 6px;
    cursor: pointer;
    font-weight: 500;
}

    .nav-right button:hover {
        background-color: #1d4ed8;
    }

.about-hero{ padding:40px 0; background:linear-gradient(135deg, rgba(76,135,255,0.16), rgba(255,255,255,0)); border-radius:24px; margin-bottom:32px; }
.about-hero-content{ max-width:760px; margin:0 auto; text-align:center; padding:0 20px; }
.about-eyebrow{ font-size:12px; text-transform:uppercase; letter-spacing:0.18em; color:var(--brand-dark); margin:0 0 10px; font-weight:600; }
.about-hero h1{ font-size:36px; margin:0 0 12px; }
.about-subtitle{ color:var(--muted); font-size:18px; margin:0 0 24px; }
.about-cta{ display:flex; justify-content:center; gap:12px; flex-wrap:wrap; }

.about-datasets{ display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:20px; margin-bottom:32px; }
.about-dataset{ border-radius:24px; padding:24px; border:1px solid #e2e8f0; background:#fff; box-shadow:0 18px 36px rgba(15,23,42,0.08); }
.about-dataset-eyebrow{ font-size:12px; text-transform:uppercase; letter-spacing:0.18em; font-weight:700; margin:0 0 10px; }
.about-dataset h2{ margin-top:0; font-size:22px; }
.about-dataset ul{ padding-left:18px; margin:12px 0 0; color:#1f2937; }
.about-dataset li{ margin-bottom:8px; }
.about-dataset-clinical{ border-color:rgba(59,130,246,0.35); background:linear-gradient(135deg, rgba(191,219,254,0.45), rgba(255,255,255,0)); }
.about-dataset-clinical .about-dataset-eyebrow{ color:#1d4ed8; }
.about-dataset-vc{ border-color:rgba(16,185,129,0.35); background:linear-gradient(135deg, rgba(167,243,208,0.45), rgba(255,255,255,0)); }
.about-dataset-vc .about-dataset-eyebrow{ color:#047857; }
.about-grid{ display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:20px; margin-bottom:32px; }
.about-card{ border:1px solid #e5e7eb; border-radius:20px; padding:22px; background:#fff; box-shadow:0 16px 32px rgba(15,23,42,0.08); }
.about-card h2{ margin-top:0; font-size:20px; }
.about-card ul{ padding-left:18px; margin:12px 0 0; color:#1f2937; }
.about-card li{ margin-bottom:8px; }

.about-callout{ display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:24px; align-items:center; padding:28px; border-radius:24px; border:1px solid #e5e7eb; background:linear-gradient(180deg, rgba(76,135,255,0.08), rgba(255,255,255,0)); margin-bottom:32px; }
.about-callout h2{ margin-top:0; }
.about-callout p{ color:#1f2937; }
.about-metrics{ display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:16px; text-align:center; }
.about-metric{ display:block; font-size:20px; font-weight:600; color:#0f172a; }
.about-metric-label{ font-size:12px; text-transform:uppercase; letter-spacing:0.1em; color:var(--muted); }

.about-bottom{ text-align:center; padding:24px; border-radius:20px; border:1px solid #e5e7eb; background:#fff; }
.about-bottom h2{ margin-top:0; }

@media (max-width: 900px){
  .about-datasets{ grid-template-columns:1fr; }
  .about-grid{ grid-template-columns:1fr; }
  .about-callout{ grid-template-columns:1fr; }
  .about-metrics{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px){
  .about-hero h1{ font-size:28px; }
  .about-metrics{ grid-template-columns:1fr; }
}

.audience-hero{ padding:56px 0 24px; }
.audience-hero-content{ max-width:760px; margin:0 auto; text-align:center; padding:0 20px; }
.audience-selector{ display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:24px; margin-bottom:32px; }
.audience-card{ border:1px solid #e5e7eb; border-radius:24px; padding:24px; background:#fff; box-shadow:0 18px 36px rgba(15,23,42,0.08); display:flex; flex-direction:column; gap:12px; }
.audience-card ul{ padding-left:18px; margin:0; color:#1f2937; }
.audience-card li{ margin-bottom:8px; }
.audience-card-eyebrow{ font-size:12px; text-transform:uppercase; letter-spacing:0.18em; font-weight:700; color:var(--brand-dark); margin:0; }
.audience-card-investor{ border-color:rgba(16,185,129,0.35); background:linear-gradient(135deg, rgba(167,243,208,0.35), rgba(255,255,255,0)); }
.audience-footer{ text-align:center; padding:28px; border-radius:20px; border:1px solid #e5e7eb; background:#fff; }

.audience-detail-hero{ padding:40px 0 24px; }
.audience-detail-hero h1{ margin-top:8px; }
.audience-detail-grid{ display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:24px; margin-bottom:32px; }
.audience-detail-card{ border:1px solid #e5e7eb; border-radius:20px; padding:22px; background:#fff; box-shadow:0 16px 32px rgba(15,23,42,0.08); }
.audience-detail-card h2{ margin-top:0; font-size:20px; }
.audience-detail-card ul{ padding-left:18px; margin:12px 0 0; color:#1f2937; }
.audience-detail-card li{ margin-bottom:8px; }
.audience-detail-callout{ display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:24px; align-items:center; padding:28px; border-radius:24px; border:1px solid #e5e7eb; background:linear-gradient(180deg, rgba(76,135,255,0.08), rgba(255,255,255,0)); margin-bottom:32px; }
.audience-detail-callout h2{ margin-top:0; }
.audience-detail-callout p{ color:#1f2937; }
.audience-detail-metrics{ display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:16px; text-align:center; }
.audience-detail-bottom{ text-align:center; padding:24px; border-radius:20px; border:1px solid #e5e7eb; background:#fff; }
.audience-detail-bottom h2{ margin-top:0; }

@media (max-width: 900px){
  .audience-selector{ grid-template-columns:1fr; }
  .audience-detail-grid{ grid-template-columns:1fr; }
  .audience-detail-callout{ grid-template-columns:1fr; }
}

.pricing-split{ display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:24px; margin:20px 0 32px; }
.pricing-split-card{ border:1px solid #e5e7eb; border-radius:24px; padding:24px; background:#fff; box-shadow:0 18px 36px rgba(15,23,42,0.08); }
.pricing-split-card h2{ margin-top:0; font-size:22px; }
.pricing-split-card ul{ padding-left:18px; margin:12px 0 0; color:#1f2937; }
.pricing-split-card li{ margin-bottom:8px; }
.pricing-split-eyebrow{ font-size:12px; text-transform:uppercase; letter-spacing:0.18em; font-weight:700; color:var(--brand-dark); margin:0 0 10px; }
.pricing-split-clinical{ border-color:rgba(59,130,246,0.35); background:linear-gradient(135deg, rgba(191,219,254,0.35), rgba(255,255,255,0)); }
.pricing-split-investor{ border-color:rgba(16,185,129,0.35); background:linear-gradient(135deg, rgba(167,243,208,0.35), rgba(255,255,255,0)); }

@media (max-width: 900px){
  .pricing-split{ grid-template-columns:1fr; }
}
