/* blz_lead_split — .lead-grid + .portrait-card ported verbatim from
   build-practice.py PRACTICE_CSS (flip from build-pages2.py) with design
   tokens swapped to --blz-*. */

.lead-grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: 60px; align-items: start; }
@media (max-width: 900px) { .lead-grid { grid-template-columns: 1fr; gap: 36px; } }
.lead-grid.flip { grid-template-columns: .85fr 1.15fr; }
@media (max-width: 900px) { .lead-grid.flip { grid-template-columns: 1fr; } }
/* flip swaps VISUAL order only — DOM stays prose-first (the design swapped
   DOM order; order: on the children reproduces it without rtl tricks) */
.lead-grid.flip > :first-child { order: 2; }
.lead-grid.flip > :last-child { order: 1; }

.portrait-card { background: var(--blz-card-bg); border: 1px solid var(--blz-line); border-radius: var(--blz-radius); overflow: hidden; box-shadow: var(--blz-shadow); max-width: 320px; }
.portrait-card img { width: 100%; aspect-ratio: 3/4; object-fit: cover; object-position: center top; }
.portrait-card .cap { padding: 16px 20px; }
.portrait-card .cap b { font-size: 14.5px; display: block; }
.portrait-card .cap span { font-size: 12px; color: var(--blz-mute); }

/* second column trails the first slightly (design .rv.d1) */
.lead-grid > .blz-rv.d1 { transition-delay: .08s; }

/* shared prose treatment (same block ships with band-text; values match) */
.blz-prose { font-size: 15.5px; line-height: 1.8; color: var(--blz-ink-soft); }
.blz-prose p { margin-top: 12px; }
.blz-prose p:first-child { margin-top: 0; }
.blz-prose a:where(:not(.blz-btn)) { color: var(--blz-accent-2); font-weight: 700; }
.blz-band--dark .blz-prose { color: var(--blz-on-dark-soft); }
.blz-band--dark .blz-prose b, .blz-band--dark .blz-prose strong { color: var(--blz-on-dark-strong); }
.blz-band--dark .blz-prose a:where(:not(.blz-btn)) { color: var(--blz-accent-3); }
.blz-prose-cta { margin-top: 28px; }

/* inline bio header (header_style=inline) — ported from build-pages2.py
   .bio-role/.bio-name/.bio-body */
.blz-lead-split .ls-role { font-size: 12px; font-weight: 700; letter-spacing: .22em; text-transform: uppercase; color: var(--blz-accent-2); }
.blz-lead-split .ls-name { font-family: var(--blz-head-face, var(--blz-serif)); font-weight: var(--blz-head-weight, 380); font-size: clamp(30px, 3.6vw, 48px); letter-spacing: -.02em; margin-top: 10px; }
.blz-lead-split .ls-name + p, .blz-lead-split .ls-name ~ p { margin-top: 14px; font-size: 15px; color: var(--blz-ink-soft); line-height: 1.75; }

/* Facts list (facts field) — label/value rows under the prose. */
.blz-lead-split .blz-facts { display: grid; gap: 14px; margin: 34px 0 0; padding-top: 26px; border-top: 1px solid var(--blz-line); }
.blz-lead-split .blz-facts > div { display: grid; grid-template-columns: 150px 1fr; gap: 18px; font-size: 15px; }
.blz-lead-split .blz-facts dt { font-weight: 600; letter-spacing: .1em; text-transform: uppercase; font-size: 11.5px; color: var(--blz-mute); padding-top: 3px; }
.blz-lead-split .blz-facts dd { margin: 0; color: var(--blz-ink-soft); }

/* Optional seal glyph pinned to the portrait corner. */
.blz-lead-split .portrait-card { position: relative; }
.blz-lead-split .portrait-seal { position: absolute; top: 18px; right: 18px; }
