/* Scenes 2–4 only. Scene 1's source stylesheet and its reveal variables are frozen. */
.landing-story {background:#080808; position:relative; color:#f5f5f5}
.story-stage {position:relative; padding:96px 4vw}
.story-scene {margin:0 0 96px}
.story-scene h2 {font-size:clamp(42px,4.55vw,82px); font-weight:310; line-height:1.04; letter-spacing:-.042em; margin:0; max-width:620px; text-wrap:balance}
.story-illustration {display:none}
.story-note {font-size:11px; color:#a3a3a3; letter-spacing:.025em}
.story-workspace {--story-line:#242424; --story-muted:#a3a3a3; background:#080808; max-width:1600px; margin:auto}
.story-workspace-heading {display:flex; align-items:flex-end; justify-content:space-between; gap:24px; padding-bottom:24px; border-bottom:1px solid var(--story-line)}
.story-kicker {font-size:11px; letter-spacing:.12em; text-transform:uppercase; font-weight:450; color:var(--story-muted); margin:0 0 12px}
.story-workspace-heading h2 {font-size:30px; line-height:1.1; font-weight:400; letter-spacing:-.035em; margin:0}
.story-sample {font-size:12px; line-height:1.5; color:var(--story-muted); max-width:280px; margin:0; text-align:right}
.story-workspace-grid {display:grid; grid-template-columns:minmax(0,1.55fr) minmax(0,1fr); gap:48px; padding-top:24px}
.story-breadth, .story-detail {min-width:0}
.story-list-heading {display:grid; grid-template-columns:1.1fr 1fr 1.05fr; gap:16px; color:var(--story-muted); font-size:11px; padding:16px 16px 16px 40px; border-bottom:1px solid var(--story-line)}
.story-candidates {list-style:none; padding:0; margin:0}
.story-row {font:inherit; display:grid; grid-template-columns:24px 1.1fr 1fr 1.05fr; gap:16px; align-items:center; width:100%; min-height:68px; padding:16px; border:0; border-bottom:1px solid var(--story-line); border-left:2px solid transparent; background:transparent; color:var(--text); text-align:left; cursor:pointer}
.story-row strong {font-size:14px; font-weight:450}
.story-row span:not(.story-row-anchor) {font-size:12px; color:var(--story-muted); line-height:1.4}
.story-row[aria-pressed="true"] {border-left-color:rgb(76 111 255 / var(--story-selection,1)); background:rgb(17 22 34 / var(--story-selection,1))}
.story-row:hover {background:#151515}
.story-row:focus-visible, .story-evidence summary:focus-visible {outline:2px solid #8da3ff; outline-offset:-2px}
.story-row-anchor {display:block; width:20px; height:24px}
.story-list-note {color:var(--story-muted); font-size:12px; line-height:1.5; margin:24px 0 0}
.story-detail {border-left:1px solid var(--story-line); padding-left:32px}
.story-detail h3 {font-size:26px; font-weight:450; letter-spacing:-.035em; margin:0 0 8px}
.story-role {font-size:13px; color:var(--story-muted); margin:0 0 20px}
.story-detail-block {border-top:1px solid var(--story-line); padding-top:18px; margin-top:18px}
.story-detail-block h4 {font-size:12px; font-weight:450; color:#d0d0d0; margin:0 0 12px}
.story-detail-block p, .story-detail-block li {font-size:13px; line-height:1.55; color:#b5b5b5; margin:0}
.story-detail-block ul {list-style:none; padding:0; margin:0; display:grid; gap:6px}
.story-detail-block small {display:block; font-size:11px; color:var(--story-muted); margin-top:8px}
.story-evidence summary {font-size:12px; cursor:pointer; color:#c5c5c5; padding:4px 0; list-style:none}
.story-evidence summary::after {content:' +'; color:var(--story-muted)}
.story-evidence[open] summary::after {content:' −'}
.story-evidence p {padding-top:12px; font-size:12px}
.story-continuation {height:24svh; background:#080808}

/* The original stage stays sticky across the entire hero + story travel. */
.story-ready .hero-sticky:has([data-settled="true"]) {overflow-x:clip; overflow-y:visible}
.story-holding .hero-copy {opacity:var(--story-hero-copy,1); transform:translateY(var(--story-copy-shift,0px))}
.story-holding .hero-copy[aria-hidden="true"] {pointer-events:none}
.story-holding [data-entities] {opacity:1}
.story-holding .aperture {opacity:var(--story-cosmic,1)}
.story-holding .reading-shield {opacity:var(--story-shield,1)}
.story-ready .landing-story {position:absolute; inset:0; height:100%; background:transparent; z-index:4; pointer-events:none}
.story-ready .story-stage {position:absolute; inset:0; height:var(--story-stage-height); padding:0; z-index:3; overflow:hidden; pointer-events:none}
/* A disclosed source can extend into the ordinary continuation; no nested scroll. */
.story-ready [data-settled="true"] .story-stage {overflow:visible}
.story-ready .story-scene {position:absolute; inset:0; margin:0; display:flex; align-items:center; padding:0 clamp(24px,4vw,76px); opacity:0; pointer-events:none}
.story-ready .story-scene h2 {width:39vw; max-width:620px; transform:translateY(calc(-24px + var(--story-heading-shift,0px)))}
.story-ready .story-illustration {display:block; position:absolute; inset:0; width:100%; height:100%; overflow:visible; z-index:3; pointer-events:none}
.story-annotation {fill:#c8c8c3; font-family:inherit; font-size:10.5px; font-weight:475; letter-spacing:.025em}
.story-connector {stroke:#c8c8c3; stroke-width:.6; stroke-opacity:.364; vector-effect:non-scaling-stroke}
.story-ready .story-note {position:absolute; left:clamp(24px,4vw,76px); bottom:32px; margin:0; opacity:0}
.story-ready .story-workspace {position:absolute; z-index:2; inset:112px clamp(24px,4vw,76px) auto; opacity:0; padding:32px; border:0; pointer-events:auto}
.story-ready .story-workspace[inert] {pointer-events:none}
.story-ready .story-workspace-heading, .story-ready .story-workspace-grid {opacity:var(--story-ui,0)}
.story-ready .story-row strong {opacity:var(--story-row-names,0)}
.story-ready .story-detail {opacity:var(--story-detail,0)}
.story-ready .story-workspace {background:rgb(8 8 8 / var(--story-surface,0)); border-color:rgb(42 42 42 / var(--story-surface,0))}

@media(min-width:1700px) {
  .story-ready .story-workspace {top:150px; padding:40px}
  .story-workspace-grid {gap:64px; padding-top:32px}
  .story-row {min-height:76px}
  .story-detail-block {padding-top:22px; margin-top:22px}
}
@media(min-width:768px) and (max-width:1023px) {
  .story-ready .story-scene h2 {width:43vw; font-size:48px}
  .story-ready .story-workspace {inset:116px 24px auto; padding:24px}
  .story-workspace-grid {gap:24px; grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)}
  .story-detail {padding-left:24px}
  .story-list-heading {grid-template-columns:1fr 1fr; padding-left:36px}
  .story-list-heading span:last-child {display:none}
  .story-row {grid-template-columns:16px 1fr; gap:8px 12px; min-height:78px; padding:12px 8px}
  .story-row .story-row-role {grid-column:2}
  .story-row .story-row-state {display:none}
  .story-row-anchor {grid-row:span 2}
  .story-row strong {font-size:13px}
}
@media(max-width:767px) {
  [data-story-mobile="hide"] {display:none}
  .story-stage {padding:64px 24px}
  .story-ready .story-scene {align-items:flex-start; padding:120px 24px 0}
  .story-ready .story-scene h2 {width:100%; font-size:clamp(40px,11.6vw,59px); transform:translateY(var(--story-heading-shift,0px)); max-width:470px}
  .story-annotation {font-size:10px}
  .story-ready .story-note {bottom:36px; font-size:11px}
  .story-ready .story-workspace {inset:88px 16px auto; padding:16px; border:0}
  .story-workspace-heading {display:block; padding-bottom:14px}
  .story-workspace-heading h2 {font-size:24px}
  .story-kicker {font-size:10px; margin-bottom:8px}
  .story-sample {font-size:11px; text-align:left; max-width:none; margin-top:9px}
  .story-workspace-grid {display:block; padding-top:0}
  .story-list-heading {display:none}
  .story-row {grid-template-columns:18px 1fr 1fr; gap:12px; min-height:42px; padding:8px}
  .story-row strong {font-size:12px}
  .story-row .story-row-role {font-size:11px}
  .story-row .story-row-state {display:none}
  .story-row-anchor {width:16px; height:20px}
  .story-list-note {display:none}
  .story-detail {border-left:0; padding:20px 0 0}
  .story-detail>.story-kicker {display:none}
  .story-detail h3 {font-size:21px; margin-bottom:4px}
  .story-role {font-size:11px; margin-bottom:0}
  .story-detail-block {padding-top:12px; margin-top:12px}
  .story-detail-block h4 {font-size:11px; margin-bottom:7px}
  .story-detail-block p, .story-detail-block li {font-size:12px; line-height:1.45}
  .story-detail-block ul {gap:3px}
  .story-detail-block small {font-size:10px; margin-top:4px}
  .story-evidence summary {font-size:11px}
}
@media(prefers-reduced-motion:reduce) {
  .story-ready .story-scene h2 {transform:none}
}


/* Before the shared story controller runs, only the buyer's framing may appear. */
[data-entity-id][data-semantic="market"], [data-entity-id][data-semantic="none"] {opacity:0}
.semantic-caption {visibility:hidden}
/* Scene 2 names all four dimensions, including the compact tablet layout. */
.story-ready .entity-annotation[data-annotation-concept="New regions"],
.story-ready .entity-annotation[data-annotation-concept="Emerging suppliers"] {display:block}

/* Semantic text is an editorial part of the field, not a system of leaders. */
.story-ready .entity-connector {display:none}
.story-ready .entity-annotation, .story-annotation {font-size:12px; font-weight:400; letter-spacing:.012em; fill:#e0e0dc}
.story-ready .entity-annotation text, .story-annotation {paint-order:stroke; stroke:rgb(8 8 8 / .72); stroke-width:3px; stroke-linejoin:round; transform:none}
.story-ready [data-candidate-id="candidate-04"] strong {opacity:var(--story-inherited-name,0)}
