/* ==========================================================================
   THE RECORD — career timeline, memberships, speaking, press, references
   Rows on hairlines, never cards. Year column left, substance centre.
   ========================================================================== */

/* ---------- Career timeline ---------- */
.cv { margin-top: var(--space-block); }
.cv-head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: var(--space-md); margin-bottom: var(--space-xl); }
.cv-head h3 { font-size: var(--type-subsection); }
.cv-downloads { display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--space-xs) var(--space-lg); }
.cv-downloads-label { font-size: var(--text-2xs); font-weight: 600; letter-spacing: var(--tracking-caps); text-transform: uppercase; color: var(--ink-muted); }
.cv-download { display: inline-flex; align-items: center; gap: var(--space-xs); font-size: var(--text-sm); font-weight: 600; color: var(--brand-green-accent); text-decoration: underline; text-decoration-color: var(--rule-strong); text-underline-offset: 4px; }
.cv-download:hover { color: var(--ink-primary); text-decoration-color: var(--brand-green-sage); }
.cv-download svg { width: 16px; height: 16px; }

.cv-list { list-style: none; border-top: 1px solid var(--rule-strong); }
.cv-entry { display: grid; grid-template-columns: 1fr; gap: var(--space-2xs) var(--space-4xl); padding: var(--space-xl) 0; border-bottom: 1px solid var(--rule-hairline); }
@media (min-width: 768px) { .cv-entry { grid-template-columns: 11.5rem minmax(0, 1fr); } }
.cv-years { font-size: var(--text-xs); font-weight: 600; letter-spacing: var(--tracking-caps); text-transform: uppercase; color: var(--ink-muted); font-variant-numeric: tabular-nums; padding-top: 5px; white-space: nowrap; }
.cv-role { font-family: var(--font-serif); font-size: var(--text-2xl); line-height: var(--leading-tight); letter-spacing: var(--tracking-heading); color: var(--ink-primary); }
.cv-org { display: block; margin-top: 2px; font-family: var(--font-sans); font-size: var(--text-sm); font-weight: 600; color: var(--brand-green-sage); }
.cv-note { margin-top: var(--space-xs); max-width: var(--measure); font-size: var(--text-base); color: var(--ink-secondary); }

/* ---------- Credentials band ---------- */
.credentials { background: var(--bg-white); padding: var(--space-section) 0; border-top: 1px solid var(--rule-hairline); }

.credential-grid { display: grid; grid-template-columns: 1fr; gap: var(--space-xl); list-style: none; }
@media (min-width: 768px) { .credential-grid { grid-template-columns: repeat(2, 1fr); gap: var(--space-2xl) var(--space-4xl); } }
@media (min-width: 1024px) { .credential-grid { grid-template-columns: repeat(4, 1fr); gap: var(--space-2xl); } }

.credential { display: flex; flex-direction: column; padding-top: var(--space-md); border-top: 1px solid var(--rule-strong); }
.credential-mark { height: 30px; margin-bottom: var(--space-md); display: flex; align-items: center; }
.credential-mark img { max-height: 30px; width: auto; max-width: 140px; object-fit: contain; filter: grayscale(1); mix-blend-mode: multiply; opacity: 0.8; }
.credential-mark--pair { gap: var(--space-md); }
.credential-mark--pair img { max-width: 110px; }
.credential-mark span { font-family: var(--font-sans); font-size: var(--text-lg); font-weight: 700; letter-spacing: -0.02em; color: var(--ink-secondary); }
.credential h3 { font-size: var(--text-xl); line-height: var(--leading-tight); margin-bottom: var(--space-xs); }
.credential-kind { display: block; margin-bottom: var(--space-sm); font-size: var(--text-2xs); font-weight: 600; letter-spacing: var(--tracking-caps); text-transform: uppercase; color: var(--brand-green-accent); }
.credential p { flex: 1; font-size: var(--text-sm); line-height: var(--leading-body); color: var(--ink-secondary); margin-bottom: var(--space-md); }
.credential-verify { display: inline-flex; align-items: center; gap: 6px; font-size: var(--text-sm); font-weight: 600; color: var(--brand-green-accent); transition: gap var(--motion-move) var(--ease), color var(--motion-state) var(--ease); }
.credential-verify svg { width: 15px; height: 15px; }
.credential-verify:hover { gap: var(--space-sm); color: var(--ink-primary); }

/* ---------- Speaking ---------- */
.speaking-block { margin-top: var(--space-block); }
.speaking-block h3 { font-size: var(--type-subsection); margin-bottom: var(--space-xl); }
.speaking-list { list-style: none; border-top: 1px solid var(--rule-strong); }
.speaking-row { display: grid; grid-template-columns: 1fr; gap: var(--space-sm) var(--space-4xl); padding: var(--space-xl) 0; border-bottom: 1px solid var(--rule-hairline); align-items: start; }
@media (min-width: 900px) { .speaking-row { grid-template-columns: 9rem minmax(0, 1fr) minmax(0, 16rem); } }
.speaking-year { font-size: var(--text-xs); font-weight: 600; letter-spacing: var(--tracking-caps); text-transform: uppercase; color: var(--ink-muted); font-variant-numeric: tabular-nums; padding-top: 5px; }
.speaking-body h3 { font-size: var(--text-2xl); margin-bottom: var(--space-2xs); }
.speaking-role { font-size: var(--text-sm); font-weight: 600; color: var(--brand-green-sage); margin-bottom: var(--space-xs); }
.speaking-body p { max-width: var(--measure); font-size: var(--text-base); color: var(--ink-secondary); }
.speaking-media { border-radius: var(--radius-lg); overflow: hidden; background: var(--bg-subtle); box-shadow: var(--shadow-media); }
.speaking-media img { width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; }

/* ---------- Press ---------- */
.press { background: var(--bg-warm); padding: var(--space-section) 0; border-top: 1px solid var(--rule-hairline); }
.press-list { border-top: 1px solid var(--rule-strong); isolation: isolate; }
.press-row {
  position: relative; display: grid; grid-template-columns: 1fr auto; column-gap: var(--space-md); row-gap: var(--space-2xs);
  align-items: start; padding: var(--space-xl) 0; border-bottom: 1px solid var(--rule-hairline); color: inherit;
}
@media (min-width: 768px) { .press-row { grid-template-columns: 8rem minmax(0, 1fr) 12rem 24px; column-gap: var(--space-xl); padding: var(--space-2xl) 0; } }
.press-row::before { content: ""; position: absolute; inset: 0 calc(-1 * var(--space-md)); z-index: -1; border-radius: var(--radius-sm); background: var(--brand-green-tint); opacity: 0; transition: opacity var(--motion-state) var(--ease); }
.press-row:hover::before, .press-row:focus-visible::before { opacity: 1; }
.press-row.is-static:hover::before { opacity: 0; }
.press-kind { grid-column: 1; padding-top: 6px; font-size: var(--text-xs); font-weight: 600; letter-spacing: var(--tracking-caps); text-transform: uppercase; color: var(--brand-green-accent); }
.press-body { grid-column: 1 / -1; }
@media (min-width: 768px) { .press-body { grid-column: 2; } }
.press-body h3 { font-size: var(--text-2xl); line-height: var(--leading-tight); transition: color var(--motion-state) var(--ease); }
@media (min-width: 768px) { .press-body h3 { font-size: var(--text-3xl); } }
.press-row:hover .press-body h3 { color: var(--brand-green-accent); }
.press-outlet { grid-column: 1; font-size: var(--text-xs); font-weight: 600; letter-spacing: var(--tracking-label); text-transform: uppercase; color: var(--ink-muted); padding-top: 6px; }
@media (min-width: 768px) { .press-outlet { grid-column: 3; text-align: right; } }
.press-arrow { grid-column: 2; grid-row: 1; justify-self: end; color: var(--ink-muted); transition: transform var(--motion-move) var(--ease), color var(--motion-state) var(--ease); }
@media (min-width: 768px) { .press-arrow { grid-column: 4; padding-top: 4px; } }
.press-arrow svg { width: 20px; height: 20px; }
.press-row:hover .press-arrow { transform: translate(3px, -3px); color: var(--brand-green-accent); }

/* ---------- References ---------- */
.references { background: var(--brand-green-deep); color: var(--ink-on-dark); padding: var(--space-section) 0; }
.references .eyebrow { color: var(--brand-gold); }
.references .section-head h2 { color: var(--ink-on-dark); }
.references .section-head p { color: var(--ink-on-dark-secondary); }
.reference-list { display: grid; grid-template-columns: 1fr; gap: var(--space-block); }
@media (min-width: 900px) { .reference-list { grid-template-columns: repeat(2, 1fr); gap: var(--space-block) var(--space-4xl); } }
.reference { display: flex; flex-direction: column; padding-top: var(--space-lg); border-top: 1px solid var(--rule-on-dark-strong); }
.reference blockquote { flex: 1; margin-bottom: var(--space-lg); }
.reference blockquote p { font-family: var(--font-serif); font-size: var(--type-subsection); line-height: var(--leading-heading); letter-spacing: var(--tracking-heading); color: var(--brand-ivory); text-wrap: pretty; }
.reference blockquote p::before { content: "\201C"; }
.reference blockquote p::after { content: "\201D"; }
.reference figcaption { display: flex; flex-direction: column; gap: 2px; }
.reference-name { font-size: var(--text-sm); font-weight: 600; color: var(--ink-on-dark); }
.reference-role { font-size: var(--text-sm); color: var(--ink-on-dark-secondary); }
.reference-source { margin-top: var(--space-2xs); font-size: var(--text-2xs); letter-spacing: var(--tracking-label); text-transform: uppercase; color: var(--ink-on-dark-muted); }
