/* Body Zen research articles. Scoped to .research; loaded only by /research/ pages. */
.research .research-head { padding-bottom: 32px; }
.research .kicker { color: var(--cyan); font-size: .82rem; letter-spacing: .08em; text-transform: uppercase; margin: 0 0 10px; }
.research h1 { font-family: var(--serif); font-weight: 400; color: #fff; font-size: clamp(1.9rem, 4.6vw, 3rem); line-height: 1.12; letter-spacing: -.02em; margin: 0 0 12px; text-wrap: balance; }
.research .standfirst { font-size: 1.08rem; color: var(--ink); margin: 0 0 14px; max-width: 62ch; }
.research .byline { color: var(--muted); font-size: .9rem; margin: 0 0 22px; }
.research .lead { font-size: 1.15rem; color: var(--ink); }
.research .quote { margin: 22px 0; padding: 0 0 0 16px; border-left: 2px solid var(--cyan-deep); }
.research .quote blockquote { margin: 0; }
.research .quote blockquote p { color: var(--ink); margin: 0 0 8px; }
.research .quote figcaption { color: var(--muted); font-size: .9rem; }
.research .s ul { margin: 0 0 14px; padding-left: 1.2em; }
.research .s li { margin: 6px 0; }
.research .figure { margin: 22px 0; }
.research .figure img { width: 100%; height: auto; border-radius: 16px; border: 1px solid var(--card-line); }
.research .figure figcaption { color: var(--muted); font-size: .88rem; margin-top: 8px; }
.research .lookup { display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px; min-width: 0; margin: 18px 0; padding: 18px; background: var(--card); border: 1px solid var(--card-line); border-radius: 18px; }
.research .lookup label { color: var(--muted); font-size: .9rem; }
.research .lookup select { width: 100%; max-width: 100%; background: var(--pill); color: #fff; border: 1px solid var(--card-line); border-radius: 12px; padding: 12px; font: inherit; }
.research .lookup output { color: var(--ink); }
.research .lookup output strong { font-size: 2rem; color: #fff; display: block; line-height: 1.1; }
.research .chart { margin: 18px 0; }
.research .chart svg { width: 100%; height: auto; display: block; }
.research .chart text { font-family: var(--sans, sans-serif); }
.research .table-wrap { overflow-x: auto; margin: 18px 0; }
.research table { width: 100%; border-collapse: collapse; font-variant-numeric: tabular-nums; font-size: .92rem; }
.research caption { text-align: left; color: var(--muted); font-size: .88rem; padding-bottom: 8px; }
.research th, .research td { text-align: left; padding: 8px; border-bottom: 1px solid var(--card-line); }
.research th { color: var(--muted); font-weight: 500; }
.research td:nth-child(n+3):not(:last-child), .research th:nth-child(n+3):not(:last-child) { text-align: right; }
.research table.compact td:nth-child(n+2), .research table.compact th:nth-child(n+2) { text-align: right; }
.research tr.is-selected td { color: #fff; background: rgba(56, 189, 248, .08); }
.research .cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin: 18px 0; }
.research .cards > div { background: var(--card); border: 1px solid var(--card-line); border-radius: 18px; padding: 18px; }
.research .cards dt { color: var(--muted); font-size: .85rem; }
.research .cards dd { margin: 6px 0 0; color: #fff; font-size: 1.8rem; font-weight: 600; font-variant-numeric: tabular-nums; }
.research .cards dd.sub { font-size: .85rem; font-weight: 400; color: var(--muted); }
.research .downloads a { color: var(--cyan); }
.research details { margin: 12px 0; }
.research summary { cursor: pointer; color: var(--cyan); }
.research pre { white-space: pre-wrap; background: var(--pill); border: 1px solid var(--card-line); border-radius: 12px; padding: 12px; font-size: .8rem; }
@media (max-width: 760px) {
  .research .cards { grid-template-columns: 1fr; }
  .research th, .research td { padding: 6px 4px; font-size: .82rem; }
}
.research .table-wrap { max-width: 100%; }

/* embed card */
.research .embed-card { display: grid; grid-template-columns: minmax(0, 220px) minmax(0, 1fr); gap: 20px; align-items: start; margin: 18px 0; padding: 18px; background: var(--card); border: 1px solid var(--card-line); border-radius: 20px; }
.research .embed-thumb { width: 100%; height: auto; border-radius: 12px; border: 1px solid var(--card-line); }
.research .embed-body h3 { margin: 0 0 4px; font-family: var(--serif); font-weight: 400; font-size: 1.2rem; color: #fff; }
.research .embed-body > p { margin: 0 0 12px; color: var(--muted); font-size: .92rem; }
.research .embed-toggle { display: inline-flex; gap: 4px; padding: 4px; margin-bottom: 10px; background: var(--pill); border: 1px solid var(--card-line); border-radius: 999px; }
.research .embed-toggle button { font: inherit; font-size: .85rem; color: var(--ink-2); background: none; border: 0; border-radius: 999px; padding: 6px 14px; cursor: pointer; }
.research .embed-toggle button.is-on { background: var(--cyan-deep); color: #fff; }
.research .embed-code { margin: 0; white-space: pre; overflow-x: auto; background: #070a10; border: 1px solid var(--card-line); border-radius: 12px; padding: 14px; font-size: .78rem; line-height: 1.55; color: #cbd5e1; }
.research .embed-copy { margin-top: 10px; font: inherit; font-size: .9rem; color: #fff; background: var(--cyan-deep); border: 0; border-radius: 999px; padding: 9px 18px; cursor: pointer; }
.research .embed-copy.is-done { background: #15803d; }
@media (max-width: 640px) { .research .embed-card { grid-template-columns: 1fr; } .research .embed-thumb { max-width: 260px; } }
.research .embed-body { min-width: 0; }
.research .embed-code { white-space: pre-wrap; overflow-wrap: anywhere; }
