/* Phase 2B compositions. Loaded only by Day Echo, Math Lens, and JourneyCraft. */
.extended-case { --extended-gap: var(--space-2xl); }
.extended-case .study-section-heading h2 { max-width: 40ch; }
.extended-case .evidence-pair>* { min-width: 0; }
.extended-case .prose { min-width: 0; }
.extended-case .prose p+p { margin-top: var(--space-md); }
.extended-case .prose h3:not(:first-child) { margin-top: var(--space-lg); }
.extended-case .study-figure img { width: 100%; height: auto; }
.extended-case .study-figure a { min-height: 44px; display: inline-flex; align-items: center; }
.extended-case .study-figure figcaption { font-size: .6875rem; }
.compact-split { display: grid; grid-template-columns: 1fr 1.15fr; gap: var(--extended-gap); align-items: start; }
.compact-split>.study-section-heading { margin-bottom: 0; }
.evidence-pair { display: grid; grid-template-columns: 1.2fr 1fr; gap: var(--extended-gap); align-items: center; max-width: 1160px; margin-inline: auto; }
.extended-case .study-section .editorial-reflection { font: 1.2rem/1.5 var(--serif); color: var(--project-ink); border-left: 2px solid var(--project-accent); padding-left: var(--space-md); }
.ambient-opening { display: grid; grid-template-columns: 1.25fr 1fr; gap: var(--space-lg) var(--extended-gap); align-items: start; }
.ambient-left { min-width: 0; }
.ambient-opening h1 { font: clamp(2.75rem,4.6vw,4rem)/1.05 var(--serif); letter-spacing: -.04em; margin-top: var(--space-xs); }
.ambient-left .study-overview-media { margin-top: var(--space-lg); }
.ambient-opening .study-subtitle { max-width: 48ch; }
.ambient-intro { min-width: 0; }
.hero-problem { margin-top: var(--space-lg); padding-top: var(--space-md); }
.hero-problem .study-section-heading { margin-bottom: var(--space-md); }
.hero-problem .study-section-heading h2 { font-size: 1.6rem; }
.hero-problem p { font-size: .875rem; }
.ambient-opening .study-question { max-width: 30ch; }

.opening-meta { border-top: 2px solid var(--project-accent); padding-top: var(--space-md); margin-top: var(--space-lg); }
.opening-meta>p:last-child, .opening-summary { font-size: .9375rem; line-height: 1.6; margin-top: var(--space-lg); max-width: 62ch; }
.opening-meta .study-tools { margin-top: var(--space-md); }
.extended-case .recording-frame { border: 1px solid var(--project-accent); border-top-width: 3px; padding: 6px; background: var(--project-surface); }
.extended-case .recording video { height: auto; object-fit: contain; }
.case--day-echo.extended-case video { aspect-ratio: 1920 / 1080; }
.case--math-lens.extended-case video { aspect-ratio: 1312 / 928; }
.extended-case .recording-description { font-size: .75rem; }
.extended-case .recording-toggle { inline-size: 100%; max-inline-size: 100%; text-align: end; grid-column: 2; grid-row: 1; }
.extended-case .recording-toolbar { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 0 var(--space-sm); padding-inline: var(--space-sm); background: var(--project-surface); }
/* Reserve the longest playback label before enhancement and after ending. */
.extended-case .recording-toolbar::after { content: "Replay Layer Reveal"; visibility: hidden; grid-column: 2; grid-row: 1; min-height: 44px; padding: .4rem 0; font: .75rem var(--sans); text-align: end; display: flex; align-items: center; justify-content: end; }
.case--day-echo.extended-case .recording-toolbar::after { content: "Replay Day Echo"; }
.extended-case .recording figcaption .media-provenance { font-size: .6875rem; }
.diagram-note { font: .6875rem/1.5 var(--mono) !important; color: var(--muted); margin-bottom: var(--space-md); }
.agency-flow, .system-flow, .math-flow { display: grid; padding: 0; margin: 0 0 var(--space-lg); list-style: none; gap: var(--space-lg); }
.agency-flow { grid-template-columns: repeat(4,minmax(0,1fr)); }
.agency-flow li, .system-flow li, .math-flow li { border-top: 2px solid var(--project-accent); padding-top: var(--space-sm); min-width: 0; }
.agency-flow li { background: linear-gradient(var(--project-surface),transparent); padding: var(--space-sm); }
.agency-flow span { font: .6875rem var(--mono); color: var(--project-ink); display: block; margin-bottom: var(--space-sm); }
.extended-case .agency-flow p, .extended-case .system-flow p, .extended-case .math-flow p { font-size: .8125rem; line-height: 1.5; }
.system-flow { grid-template-columns: repeat(5,minmax(0,1fr)); }
.math-flow { grid-template-columns: repeat(4,minmax(0,1fr)); }
.system-flow h3, .math-flow h3 { font-size: .875rem; }
.system-evidence { grid-template-columns: 1fr 1.2fr; }
.ownership-list>div+div { border-top: 1px solid var(--rule); padding-top: var(--space-md); margin-top: var(--space-md); }
.math-opening { align-items: start; }
.math-opening .study-question { max-width: 30ch; }
.math-idea { margin-top: 0; border-top: 0; padding-top: 0; }
.math-idea .study-overview-media { margin-top: var(--space-lg); }
.math-idea .study-figure { border-top: 3px solid var(--project-accent); }
.math-idea .study-provenance { max-width: 110ch; }
.math-exploration { display: grid; grid-template-columns: 1fr 1fr; gap: var(--extended-gap); max-width: 1160px; margin-inline: auto; align-items: start; }
.control-comparison { max-width: 560px; }
.control-reasoning>.study-figure { margin-top: var(--space-lg); }
.layer-reveal { grid-template-columns: 1.25fr 1fr; }
.math-outcome { display: grid; grid-template-columns: 1fr 1fr; gap: var(--extended-gap); }
.collaboration-context { border-left: 2px solid var(--project-accent); padding-left: var(--space-lg); }
.collaboration-context p { font-size: .875rem; }
.collaboration-context p+p { margin-top: var(--space-md); }
.collaboration-context>.text-link { margin-top: var(--space-sm); }
/* Targeted JourneyCraft alignment; prose, evidence and sections are preserved. */
.case--journeycraft .study-heading { align-items: start; }
.case--journeycraft .study-overview { align-items: start; }
.case--journeycraft .journey-built { grid-template-columns: minmax(0,1fr) 272px; gap: var(--space-xl); justify-content: normal; max-width: 944px; }
.case--journeycraft .built-copy { max-width: none; }
.case--journeycraft .screen-reader.is-enhanced { max-width: 272px; justify-self: start; }
.case--journeycraft .journey-conclusion .study-section-heading h2 { max-width: 46ch; }
@media(max-width:1024px) {
  .extended-case { --extended-gap: var(--space-xl); }
  .ambient-opening { grid-template-columns: 1.1fr 1fr; }
  .system-flow { gap: var(--space-md); }
}
@media(max-width:800px) {
  .extended-case { --extended-gap: var(--space-lg); }
  .ambient-opening { grid-template-columns: 1fr 1fr; }
  .ambient-opening .study-question { font-size: 1.5rem; }
  .compact-split { grid-template-columns: 1fr 1.15fr; }
  .evidence-pair { grid-template-columns: 1fr 1fr; align-items: start; }
  .system-flow { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .system-flow li:nth-last-child(-n+2) { margin-top: var(--space-xs); }
  .math-exploration { grid-template-columns: 1.05fr 1fr; }
  .case--journeycraft .journey-built { grid-template-columns: minmax(0,1fr) 240px; gap: var(--space-lg); }
  .case--journeycraft .screen-reader.is-enhanced { max-width: 240px; }
}
@media(min-width:601px) and (max-width:1100px) {
  .ambient-opening { gap: var(--space-lg); }
  .ambient-left { grid-column: 1; grid-row: 1 / 3; }
  .ambient-intro { display: contents; }
  .ambient-intro>.study-question { grid-column: 2; grid-row: 1; }
  .ambient-intro>.opening-meta { grid-column: 2; grid-row: 2; margin-top: 0; }
  .ambient-intro>.hero-problem { grid-column: 1 / -1; grid-row: 3; display: grid; grid-template-columns: 1fr 1.15fr; gap: var(--space-lg); margin-top: 0; }
  .hero-problem .study-section-heading { margin-bottom: 0; }
  .hero-problem .study-section-heading h2 { font-size: 1.75rem; }
}
@media(max-width:600px) {
  .ambient-opening, .compact-split, .evidence-pair, .math-exploration, .math-outcome { display: grid; grid-template-columns: 1fr; gap: var(--space-lg); }
  .ambient-opening>.study-title, .ambient-intro, .ambient-recording { grid-column: 1; grid-row: auto; }
  .ambient-recording { order: 1; }
  .ambient-intro { order: 2; }
  .ambient-opening .study-question { max-width: 35ch; }
  .opening-meta { margin-top: var(--space-md); }
  .agency-flow, .math-flow { grid-template-columns: 1fr 1fr; gap: var(--space-md); }
  .system-flow { grid-template-columns: 1fr; gap: var(--space-sm); border-left: 2px solid var(--project-accent); }
  .system-flow li { border: 0; padding: 0 0 0 var(--space-md); }
  .system-flow li:nth-last-child(-n+2) { margin: 0; }
  .system-flow h3 { margin-bottom: var(--space-xs); }
  .math-idea { margin-top: var(--space-xl); }
  .math-idea .study-section-heading { margin: 0; }
  .math-opening { gap: var(--space-lg); }
  .control-comparison { width: min(100%,351px); margin-inline: auto; }
  .collaboration-context { padding-left: var(--space-md); }
  .case--journeycraft .journey-built { grid-template-columns: 1fr; }
  .case--journeycraft .screen-reader.is-enhanced { max-width: 320px; justify-self: center; }
}
/* Phase 2B.1: one opening grid removes the independent heading/overview rows. */
.case--journeycraft .study-heading--evidence { grid-template-columns: 1.2fr 1fr; gap: var(--space-lg) var(--study-gap); align-items: start; }
.case--journeycraft .study-heading--evidence>.study-title { grid-column: 1; grid-row: 1; }
.case--journeycraft .study-heading--evidence>.study-intro { grid-column: 2; grid-row: 1 / 3; }
.case--journeycraft .study-heading--evidence>.journey-opening { grid-column: 1; grid-row: 2; }
.case--journeycraft .study-intro .study-overview-copy { margin-top: var(--space-lg); }
.case--journeycraft .study-intro .study-context { border-top: 1px solid var(--project-accent); padding-top: var(--space-md); }
.case--journeycraft .study-intro .study-lead { margin-top: 0; }
/* Identity and question precede the unaltered comparison. The existing
   interpretation follows it at a quieter scale, leading into the controls. */
.case--math-lens .math-opening { grid-template-columns: 1fr 1.1fr; gap: var(--space-2xl); margin-bottom: var(--space-lg); }
.case--math-lens .math-opening .study-title { background: none; padding-block: 0; padding-left: var(--space-md); }
.case--math-lens .math-opening .study-tools { margin-top: var(--space-md); }
.case--math-lens .math-opening .study-question { max-width: 36ch; }
.math-idea .study-overview-media { margin-top: 0; }
.math-interpretation { margin-top: var(--space-lg); grid-template-columns: 1fr 1.4fr; }
.case--math-lens .math-interpretation .study-section-heading { margin-bottom: var(--space-sm); }
.case--math-lens .math-interpretation .study-section-heading h2 { font-size: 1.5rem; max-width: 28ch; }
.math-interpretation .study-subtitle { font-size: .875rem; max-width: 45ch; }
.math-interpretation .opening-summary { margin-top: 0; }
.math-interpretation .prose>p+p { margin-top: var(--space-md); }
@media(max-width:1024px) {
  .case--journeycraft .study-heading--evidence { grid-template-columns: 1.1fr 1fr; }
  .case--math-lens .math-opening { gap: var(--space-xl); }
}
@media(max-width:768px) {
  .case--journeycraft .study-heading--evidence { grid-template-columns: 1fr 1fr; column-gap: var(--space-lg); }
  .case--math-lens .math-opening { grid-template-columns: 1fr 1.15fr; gap: var(--space-lg); }
  .case--math-lens .math-opening h1 { font-size: 2.75rem; }
  .case--math-lens .math-opening .study-question { font-size: 1.5rem; }
}
@media(max-width:600px) {
  .case--journeycraft .study-heading--evidence { display: flex; flex-direction: column; gap: var(--space-lg); }
  .case--journeycraft .study-heading--evidence>.study-intro { display: contents; }
  .case--journeycraft .study-heading--evidence>.study-title { order: 0; }
  .case--journeycraft .study-heading--evidence .study-question { order: 1; }
  .case--journeycraft .study-heading--evidence>.journey-opening { order: 2; }
  .case--journeycraft .study-heading--evidence .study-overview-copy { order: 3; margin-top: 0; }
  .case--math-lens .math-opening, .math-interpretation { grid-template-columns: 1fr; }
  .case--math-lens .math-idea { margin-top: 0; }
}

/* Phase 2B.2: tighter JourneyCraft opening; lift the reader's complete image. */
.case--journeycraft .study-heading--evidence { row-gap: var(--space-md); }
.case--journeycraft .study-heading--evidence>.study-title { padding: var(--space-md) var(--space-lg); }
.case--journeycraft .journey-screen-pair { max-width: 350px; }
@media(min-width:1101px) {
  .case--journeycraft .study-heading--evidence { grid-template-columns: 400px minmax(0,1fr); max-width: 1100px; margin-inline: auto; }
}
@media(min-width:601px) {
  .case--journeycraft .journey-contribution>.study-section-heading { margin-bottom: var(--space-xl); }
  .case--journeycraft .journey-built>.screen-reader.is-enhanced { margin-top: calc(-1 * var(--space-xl)); padding-top: 0; }
  .case--journeycraft .journey-built .screen-reader-controls { margin-bottom: var(--space-xs); }
  .case--math-lens .math-opening>.study-intro { align-self: center; }
}
@media(max-width:600px) {
  .case--journeycraft .study-heading--evidence { gap: var(--space-md); }
}

/* Phase 2B.2A: use the existing provenance and align the evidence to the copy. */
@media(min-width:601px) {
  .case--journeycraft .study-heading--evidence>.study-intro { align-self: stretch; display: flex; flex-direction: column; }
  .case--journeycraft .study-intro .study-overview-copy { flex: 1; display: flex; flex-direction: column; }
  .case--journeycraft .study-intro .study-context,
  .case--journeycraft .study-intro .study-overview-copy>p:last-child { margin-top: auto; }
  .case--journeycraft .study-intro>.study-provenance { margin-top: var(--space-md); }
}
@media(min-width:801px) {
  .case--journeycraft .journey-built { position: relative; }
  .case--journeycraft .journey-built>.screen-reader.is-enhanced { position: absolute; grid-column: auto; grid-row: auto; right: 0; bottom: 0; max-width: 240px; margin-top: 0; }
}
@media(min-width:601px) and (max-width:800px) {
  .case--journeycraft .built-module+.built-module { margin-top: var(--space-md); padding-top: 12px; }
  .case--journeycraft .built-module>div+div { margin-top: var(--space-md); }
  .case--journeycraft .built-copy h3 { margin-bottom: var(--space-xs); }
  .case--journeycraft .built-copy .study-boundary { margin-top: var(--space-md); }
  .case--journeycraft .journey-built .screen-reader-controls { margin-bottom: 0; }
}
@media(max-width:600px) {
  .case--journeycraft .study-heading--evidence>.study-title { align-self: stretch; padding-block: 12px; }
  .case--journeycraft .study-heading--evidence .study-provenance { order: 3; margin-top: 0; }
  .case--journeycraft .study-heading--evidence .study-overview-copy { order: 4; }
}
