.session-page { background: var(--v2-white-smoke); color: var(--v2-onyx); }
.session-page .hero, .session-page .dark, .session-page .preview, .session-page .ltv2-footer { background: var(--v2-onyx); color: var(--v2-white-smoke); }
.session-page .ltv2-nav { background: var(--v2-onyx); color: var(--v2-white-smoke); }
.session-page .skip, .session-page .cw-gate__panel, .session-page #transcript-search { background: var(--v2-white-smoke); color: var(--v2-onyx); }
.session-page .ltv2-eyebrow { font-size: var(--v2-text-xs); line-height: var(--v2-leading-body); }
.session-page .dark .ltv2-eyebrow, .session-hero .ltv2-eyebrow { color: var(--v2-accent-soft); }
/* The shared web grain stays beneath portraits that carry their own texture. */
.session-page .ltv2-page-grain { position: relative; isolation: isolate; }
.session-page .ltv2-page-grain::after { position: absolute; z-index: -1; }
.session-hero { padding-block: var(--v2-space-32) var(--v2-space-48); }
.session-bench { display: grid; grid-template-columns: minmax(0,2fr) minmax(0,1fr); gap: var(--v2-space-32) var(--v2-space-48); align-items: start; }
.session-hero .hero__head { grid-column: 1 / -1; display: block; padding: 0; }
.session-hero .eyebrow { margin-bottom: var(--v2-space-16); }
.session-hero h1 { max-width: 1080px; font-size: var(--v2-h1); line-height: var(--v2-h1-lh); letter-spacing: var(--v2-tracking-h1); }
.session-hero__accent { color: var(--v2-mauve); }
.session-hero .hero__dek { max-width: 76ch; margin-top: var(--v2-space-16); font-size: var(--v2-p1); line-height: 1.5; }
.session-panel { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); column-gap: var(--v2-space-32); row-gap: var(--v2-space-16); }
.session-speaker { min-width: 0; display: grid; grid-template-rows: auto auto 1fr 32px; gap: var(--v2-space-8); }
.session-speaker__portrait { display: block; width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; object-position: center 38%; margin-bottom: var(--v2-space-8); border: 1px solid var(--v2-border-on-dark); }
.session-speaker__logo { height: 32px; display: flex; align-items: center; }
.session-speaker__logo img { display: block; width: auto; max-width: 100%; object-fit: contain; object-position: left; }
.session-speaker__logo img, .partner-outcome__logo, .conversation-quote__partner img { opacity: .85; }
.session-speaker .caption { color: var(--v2-dusk); font-family: var(--v2-font-mono); font-size: calc(var(--v2-mono-l2) * .9); line-height: 1.5; letter-spacing: var(--v2-tracking-mono); text-transform: uppercase; text-align: left; white-space: nowrap; }
.session-viewing { min-width: 0; scroll-margin-top: var(--v2-space-24); }
.session-hero .theme { grid-column: 1 / -1; padding-block: var(--v2-space-32) 0; }
.session-monitor { aspect-ratio: 16 / 9; background: var(--v2-onyx); border: 1px solid var(--v2-border-on-dark); }
mux-player { display: block; width: 100%; height: 100%; --media-accent-color: var(--v2-mauve); }
.broadcast ol { padding: 0; margin: 0; list-style: none; border-top: 1px solid var(--v2-border-on-dark); }
.broadcast button { display: flex; align-items: center; text-align: left; width: 100%; min-height: 48px; gap: var(--v2-space-24); padding: var(--v2-space-12) 0; font-size: var(--v2-p2); line-height: 1.4; color: inherit; background: none; border: 0; border-bottom: 1px solid var(--v2-border-on-dark); cursor: pointer; }
.broadcast .mono { font-size: var(--v2-mono-l2); color: var(--v2-dusk); flex-shrink: 0; }
.broadcast button:hover { color: var(--v2-mauve); }
.session-page .conversation-quotes { background: var(--v2-white-smoke); }
.conversation-quotes__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--v2-space-32); }
.conversation-quote.quote { min-width: 0; min-height: 420px; margin: 0; padding: var(--v2-space-32); border: 1px solid var(--v2-platinum); border-radius: var(--v2-radius-sm); background: var(--v2-off-white); display: flex; flex-direction: column; justify-content: space-between; gap: var(--v2-space-48); }
.conversation-quote.quote blockquote { font-size: var(--v2-s2); line-height: var(--v2-s2-lh); letter-spacing: var(--v2-tracking-display); text-wrap: pretty; }
.conversation-quote.quote blockquote::before, .conversation-quote.quote blockquote::after { color: inherit; }
.conversation-quote__by { display: flex; align-items: flex-end; gap: var(--v2-space-24); }
.conversation-quote__portrait { flex: none; display: block; width: 120px; height: 150px; object-fit: cover; border: 1px solid var(--v2-pale); }
.conversation-quote__meta { min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: var(--v2-space-16); }
.conversation-quote__identity { min-width: 0; max-width: 100%; display: grid; gap: var(--v2-space-4); }
.conversation-quote__name { font-size: var(--v2-attrib); line-height: var(--v2-attrib-lh); letter-spacing: var(--v2-tracking-display); }
.conversation-quote__role { font-size: var(--v2-p2); line-height: 1.375; color: var(--v2-text-secondary); text-wrap: balance; }
.conversation-quote__partner { display: inline-flex; align-items: center; min-height: 32px; }
.conversation-quote__partner img { display: block; max-width: 100%; height: auto; object-fit: contain; object-position: left; }
/* Platform outcome proportions, with shared baselines across each row. */
.partner-results, .session-closing { position: relative; isolation: isolate; }
.partner-results > .ltv2-field, .session-closing > .ltv2-field { position: relative; z-index: 2; }
.partner-results .dveil, .session-closing .dveil { position: absolute; inset: 0; z-index: 1; pointer-events: none; overflow: hidden; }
.partner-results .dveil canvas, .session-closing .dveil canvas { display: block; width: 100%; height: 100%; }
.partner-results .dveil--off, .session-closing .dveil--off { display: none; }
.session-closing { text-align: center; }
.session-closing h2 { max-width: 20ch; margin-inline: auto; text-wrap: balance; }
.session-closing .hero__actions { justify-content: center; }
.session-closing .ltv2-btn--secondary { background: var(--v2-onyx); }
.partner-outcomes { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--v2-space-24); }
.partner-outcome { min-width: 0; min-height: 500px; display: grid; grid-row: span 3; grid-template-rows: subgrid; row-gap: 0; border: 1px solid var(--v2-border-on-dark); border-radius: var(--v2-radius-xs); background: var(--v2-onyx); }
.partner-outcome__link { min-width: 0; display: grid; grid-row: span 3; grid-template-rows: subgrid; row-gap: var(--v2-space-32); padding: var(--v2-space-24); color: inherit; text-decoration: none; border-radius: inherit; }
.partner-outcome__head { display: flex; flex-direction: column; gap: var(--v2-space-12); }
.partner-outcome__title { margin: 0; font-weight: 400; font-size: var(--v2-s2); line-height: var(--v2-s2-lh); letter-spacing: var(--v2-tracking-display); text-wrap: balance; }
.partner-outcome__context { max-width: 28ch; font-size: var(--v2-p2); line-height: 1.375; color: var(--v2-dusk); text-wrap: pretty; }
.partner-outcome__proof { display: flex; flex-direction: column; gap: var(--v2-space-8); container-type: inline-size; }
.partner-outcome__num { font-size: clamp(64px, 26cqw, 120px); line-height: 1; letter-spacing: var(--v2-tracking-h1); color: var(--v2-mauve); font-variant-numeric: tabular-nums; white-space: nowrap; }
.partner-outcome__num--range { font-size: clamp(36px, 14cqw, 64px); line-height: 1.1; white-space: normal; }
.partner-outcome__num--range span { display: block; }
.partner-outcome__copy { font-family: var(--v2-font-body); font-size: calc(var(--v2-text-xs) * .85); line-height: 1.3; letter-spacing: var(--v2-tracking-display); text-wrap: balance; color: var(--v2-mauve); }
.js .partner-outcome.reveal { animation: session-outcome-reveal .5s cubic-bezier(.25,1,.5,1) var(--rdl,.3s) both; animation-play-state: paused; transition: none; }
.js .partner-outcome.reveal.is-visible { animation-play-state: running; }
.partner-outcome:nth-child(4n + 2) { --rdl: .42s; }
.partner-outcome:nth-child(4n + 3) { --rdl: .54s; }
.partner-outcome:nth-child(4n + 4) { --rdl: .66s; }
@keyframes session-outcome-reveal {
 from { filter: blur(.25em); opacity: 0; transform: translateY(18px); }
 to { filter: blur(0); opacity: 1; transform: translateY(0); }
}
.partner-outcome__line { display: block; white-space: nowrap; }
.partner-outcome__phrase { white-space: nowrap; }
.partner-outcome__foot { align-self: end; padding-top: var(--v2-space-16); }
.partner-outcome__by { min-height: 44px; display: flex; align-items: center; justify-content: space-between; gap: var(--v2-space-16); }
.partner-outcome__logo { width: auto; max-width: calc(100% - 32px); object-fit: contain; object-position: left center; }
.partner-outcome__logo--ochsner { width: 132px; height: auto; }
.partner-outcome__logo--sinai { width: auto; height: 24px; }
.partner-outcome__logo--yale { width: 132px; height: auto; }
.partner-outcome__logo--ucsf { width: 96px; height: auto; }
.session-speaker__logo--ochsner img { width: 116px; height: auto; }
.session-speaker__logo--sinai img { width: auto; height: 22px; }
.session-speaker__logo--yale img { width: 132px; height: auto; }
.session-speaker__logo--ucsf img { width: 78px; height: auto; }
.session-speaker__logo--latent img { width: 72px; height: auto; }
.partner-outcome__arrow { flex: none; width: 16px; height: 16px; color: var(--v2-mauve); transition: transform .5s var(--v2-ease-out); }
.partner-outcome__link:focus-visible { outline: 2px solid var(--v2-mauve); outline-offset: 4px; }
@media (hover: hover) and (pointer: fine) {
 .partner-outcome__link:hover .partner-outcome__arrow { transform: translateX(4px); }
}
@media (max-width: 1100px) {
 .partner-outcomes { grid-template-columns: repeat(2, minmax(0, 1fr)); }
 .partner-outcome:nth-child(odd) { --rdl: .3s; }
 .partner-outcome:nth-child(even) { --rdl: .42s; }
}
@media (max-width: 720px) {
 @keyframes session-outcome-reveal {
  from { opacity: 0; transform: translateY(18px); }
  to { opacity: 1; transform: translateY(0); }
 }
}
@media (max-width: 640px) {
 .partner-outcomes { grid-template-columns: minmax(0, 1fr); gap: var(--v2-space-16); }
 .partner-outcome { min-height: 420px; }
 .partner-outcome:nth-child(n) { --rdl: .3s; }
 .partner-outcome__link { padding: var(--v2-space-24); row-gap: var(--v2-space-24); }
}
@media (prefers-reduced-motion: reduce) {
 .partner-outcome__arrow { transition: none; }
 .js .partner-outcome.reveal, .js .partner-outcome.reveal.is-visible { animation: none; filter: none; opacity: 1; transform: none; }
}
#transcript-search { display: block; width: 100%; padding: 20px; margin-top: 14px; background: var(--v2-off-white); border: 1px solid var(--v2-platinum); }
#transcript-list { max-height: 740px; overflow-y: auto; margin-top: 30px; border-block: 1px solid var(--v2-platinum); }
.transcript-row { display: grid; grid-template-columns: 80px minmax(0,1fr); gap: 24px; padding: 28px 12px; border-bottom: 1px solid var(--v2-platinum); }
.transcript-row button { align-self: start; padding: 12px 0; cursor: pointer; background: none; border: 0; text-decoration: underline; }
.transcript-row h3 { font-family: var(--v2-font-mono); font-size: var(--v2-mono-l2); font-weight: var(--v2-weight); line-height: 1.5; letter-spacing: var(--v2-tracking-mono); text-transform: uppercase; margin-bottom: var(--v2-space-12); }
.transcript-row p { max-width: 68ch; font-size: 16px; line-height: 1.7; white-space: pre-wrap; }
.transcript-row p + p { margin-top: var(--v2-space-16); }
.cw-gate[hidden] { display: none; }
.cw-gate { position: fixed; inset: 0; z-index: 300; display: grid; place-items: center; padding: 24px; }
.cw-gate__veil { position: absolute; inset: 0; background: rgba(19,18,21,.85); }
.cw-gate__panel { position: relative; width: min(600px,100%); max-height: 90dvh; overflow-y: auto; padding: 52px; background: var(--v2-off-white); color: var(--v2-onyx); }
.cw-gate__close { position: absolute; right: 18px; top: 14px; background: none; border: 0; cursor: pointer; }
.cw-gate__panel h2 { margin-bottom: 22px; }
.cw-gate__panel p { line-height: 1.6; }
.cw-gate form { margin-top: 30px; }
.cw-gate input[type=email] { display: block; width: 100%; margin: 12px 0 20px; padding: 16px; border: 1px solid var(--v2-taupe); background: transparent; }
.cw-gate__err { color: var(--v2-onyx); margin-top: 12px; }
@media(max-width: 800px) {
 .session-hero { padding-top: var(--v2-space-24); }
 .session-bench { grid-template-columns: minmax(0,1fr); gap: var(--v2-space-24); }
 .session-hero .hero__head { order: 0; }
 .session-viewing { order: 1; }
 .session-panel { order: 3; grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--v2-space-24) var(--v2-space-16); }
 .broadcast { order: 2; }
 .session-hero .theme { order: 4; }
 .session-hero .hero__dek { font-size: var(--v2-p2); }
 .conversation-quotes__grid { grid-template-columns: minmax(0,1fr); gap: var(--v2-space-24); }
 .conversation-quote.quote { min-height: 0; padding: var(--v2-space-24); gap: var(--v2-space-32); }
 .conversation-quote__by { gap: var(--v2-space-16); }
 .conversation-quote__portrait { width: 80px; height: 100px; }
 .conversation-quote__name { font-size: var(--v2-p1); line-height: var(--v2-p1-lh); }
 .conversation-quote__role { font-size: var(--v2-l1); }
 .cw-gate__panel { padding: 40px 24px 28px; }
 .transcript-row { grid-template-columns: 52px minmax(0,1fr); gap: 12px; }
}

.session-page .session-hero { padding-block: var(--v2-space-64) var(--v2-space-48); }
.session-page .session-bench { grid-template-columns: minmax(0, .85fr) minmax(0, 1.35fr); gap: var(--v2-space-32) var(--v2-space-64); }
.session-page .hero__head { grid-column: 1; grid-row: 1 / 3; }
.session-page .session-hero h1 { font-size: var(--v2-s1); line-height: var(--v2-s1-lh); max-width: 24ch; }
.session-page .hero__dek { font-size: var(--v2-p2); max-width: 44ch; margin-top: var(--v2-space-24); }
.session-watch { margin-top: var(--v2-space-32); }
.session-credits { margin-top: var(--v2-space-32); font-size: var(--v2-l1); line-height: 1.5; color: var(--v2-dusk); }
.session-page .session-viewing { grid-column: 2; grid-row: 1; width: 100%; }
.session-chapters { grid-column: 2; grid-row: 2; min-width: 0; border-top: 1px solid var(--v2-border-on-dark); border-bottom: 1px solid var(--v2-border-on-dark); }
.session-chapters summary { display: flex; justify-content: space-between; align-items: center; gap: var(--v2-space-16); min-height: 48px; cursor: pointer; font-family: var(--v2-font-mono); font-size: var(--v2-mono-l2); letter-spacing: var(--v2-tracking-mono); text-transform: uppercase; list-style: none; }
.session-chapters summary::-webkit-details-marker { display: none; }
.session-chapters summary span { font-size: var(--v2-p1); }
.session-chapters[open] summary span { transform: rotate(45deg); }
.session-chapters summary:focus-visible { outline: 2px solid var(--v2-mauve); outline-offset: 4px; }
.session-chapters .broadcast ol { border-top: 0; }
.session-chapters .broadcast li:last-child button { border-bottom: 0; }

.session-panel-section { padding-block: var(--v2-space-96); background: var(--v2-onyx); color: var(--v2-off-white); border-top: 1px solid var(--v2-border-on-dark); }
.session-panel-section__head { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--v2-space-32); margin-bottom: var(--v2-space-64); }
.session-panel-section__head .ltv2-eyebrow { color: var(--v2-accent-soft); }
.session-panel-section__head > p { width: 34ch; max-width: 100%; font-size: var(--v2-p2); line-height: 1.35; color: var(--v2-dusk); }
.session-panel-section .session-panel { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: var(--v2-space-32); }
.session-panel-section .session-speaker__portrait { aspect-ratio: 4 / 5; object-position: center; border: 0; margin-bottom: var(--v2-space-16); }
.session-panel-section .session-speaker h3 { font-size: var(--v2-p1); line-height: 1.3; letter-spacing: var(--v2-tracking-display); }
.session-speaker__role { display: block; color: var(--v2-mauve); }
@media (max-width: 1100px) {
 .session-page .session-bench { column-gap: var(--v2-space-32); }
 .session-panel-section .session-panel { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
 .session-page .session-hero { padding-block: var(--v2-space-32) var(--v2-space-48); }
 .session-page .session-bench { grid-template-columns: minmax(0, 1fr); gap: var(--v2-space-24); }
 .session-page .hero__head { grid-column: 1; grid-row: 1; display: block; }
 .session-page .session-hero h1 { max-width: 30ch; font-size: var(--v2-s1); line-height: var(--v2-s1-lh); }
 .session-page .hero__dek { margin-top: var(--v2-space-16); }
 .session-page .session-watch { margin-top: var(--v2-space-24); }
 .session-page .session-credits { margin-top: var(--v2-space-16); }
 .session-page .session-viewing { grid-column: 1; grid-row: 2; }
 .session-chapters { grid-column: 1; grid-row: 3; }
 .session-panel-section { padding-block: var(--v2-space-64); }
 .session-panel-section__head { margin-bottom: var(--v2-space-48); }
}
@media (max-width: 640px) {
 .session-page .session-bench { gap: var(--v2-space-16); }
 .session-page .hero__head { display: contents; }
 .session-page .hero__head > * { grid-column: 1; margin: 0; }
 .session-page .hero__head > .eyebrow { grid-row: 1; }
 .session-page .hero__head > h1 { grid-row: 2; }
 .session-page .session-watch { grid-row: 3; justify-self: start; }
 .session-page .session-viewing { grid-row: 4; }
 .session-page .session-credits { grid-row: 5; }
 .session-page .hero__dek { grid-row: 6; }
 .session-chapters { grid-row: 7; }
 .session-panel-section .session-panel { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--v2-space-40) var(--v2-space-16); }
 .session-panel-section__head { display: block; }
 .session-panel-section__head > p { margin-top: var(--v2-space-24); }
 .session-panel-section .session-speaker h3 { font-size: var(--v2-p2); }
 .transcript-row { grid-template-columns: minmax(0, 1fr); gap: var(--v2-space-8); padding: var(--v2-space-24) 0; }
 .transcript-row button { justify-self: start; }
 #transcript-search { font-size: 16px; padding: var(--v2-space-16); }
 #transcript-list { max-height: min(70svh, 740px); }
 .session-closing .hero__actions { flex-direction: column; align-items: stretch; }
 .session-closing .ltv2-btn { justify-content: center; }
}
@media (max-width: 640px), (pointer: coarse) {
 .session-page .ltv2-cta, .session-page .ltv2-btn { min-height: 44px; }
 .transcript-row button, .cw-gate__close { min-width: 44px; min-height: 44px; }
 #transcript-search { font-size: 16px; }
 .cw-gate { padding: 0; }
 .cw-gate__panel { width: 100%; max-width: none; height: 100%; max-height: 100dvh; padding: 64px var(--v2-space-24) max(var(--v2-space-32), env(safe-area-inset-bottom)); }
 #gate-email { min-height: 48px; font-size: 16px; }
}
@media (pointer: coarse) and (min-width: 641px) and (max-height: 500px) {
 .cw-gate__panel { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-content: center; gap: var(--v2-space-8) var(--v2-space-32); padding-block: 64px var(--v2-space-24); }
 .cw-gate__panel > .eyebrow { grid-column: 1; grid-row: 1; }
 .cw-gate__panel h2 { grid-column: 1; grid-row: 2; }
 .cw-gate__panel > p:not(.eyebrow) { grid-column: 1; grid-row: 3; }
 .cw-gate form { grid-column: 2; grid-row: 1 / 4; margin-top: 0; }
}

@media (max-width: 340px) {
 .session-panel-section .session-panel { grid-template-columns: minmax(0, 1fr); }
 .session-panel-section .session-speaker { grid-template-columns: 96px minmax(0, 1fr); grid-template-rows: auto auto 32px; column-gap: var(--v2-space-16); }
 .session-panel-section .session-speaker__portrait { grid-row: 1 / 4; width: 96px; height: 120px; margin: 0; }
 .session-panel-section .session-speaker h3,
 .session-panel-section .session-speaker .caption,
 .session-panel-section .session-speaker__logo { grid-column: 2; }
}
