/* Scenario stories: shared brand tokens, one visible journey, stable scene geometry. */
.scenario-stories{border-top:1px solid var(--line);--scene-paper:#f1ede5;--scene-navy:#253650;--scene-copper:#ad5430}
.scenario-intro{display:grid;grid-template-columns:1.15fr .85fr;gap:64px;align-items:end;margin-bottom:40px}
.scenario-intro h2{font-size:clamp(34px,3.8vw,50px);line-height:1.14;letter-spacing:-1.8px;margin:0}
.scenario-intro>p{font-size:17px;line-height:1.8;color:var(--muted);max-width:44ch;margin:0}
.scenario-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:32px}
.scenario-tabs button{padding:16px;text-align:left;min-height:88px;font:inherit;font-size:15px;line-height:1.4;background:var(--surface);color:var(--ink);border:1px solid var(--control-border);border-radius:6px;cursor:pointer}
.scenario-tabs button span{display:block;color:var(--accent-ink);font-size:11px;letter-spacing:1px;margin-bottom:10px}
.scenario-tabs button[aria-selected=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.scenario-tabs button[aria-selected=true] span{color:inherit}
.scenario-tabs button:hover:not([aria-selected=true]){border-color:var(--accent-ink);color:var(--accent-ink)}
.scenario-mobile{display:none}
.scenario-panel[hidden]{display:none!important}
.scenario-panel:focus-visible{outline:2px solid var(--accent-ink);outline-offset:6px}
.journey-scenes{display:grid}
.journey-scene{grid-area:1/1;display:grid;grid-template-columns:1.05fr 1fr;gap:64px;align-items:center;min-width:0}
/* All scenes participate in sizing; invisible scenes cannot receive focus. */
.journey-scene[hidden]{display:grid!important;visibility:hidden;pointer-events:none}
.journey-art{min-width:0;border-radius:10px;overflow:hidden;background:var(--scene-paper);border:1px solid var(--line)}
.journey-art svg{width:100%;height:auto;aspect-ratio:600/390;display:block}
.journey-art-caption{display:flex;align-items:center;gap:16px;min-height:62px;padding:16px 24px;background:var(--scene-navy);color:var(--on-brand);font-size:13px}
.journey-art-caption strong{font-size:15px;font-weight:600}.journey-art-caption>span:first-of-type{color:var(--on-brand-muted);font-size:12px;line-height:1.5}.journey-art-caption>span:last-child{margin-left:auto;white-space:nowrap;color:var(--on-brand-accent);font-size:12px}
.journey-copy{min-width:0;padding-block:16px}
.journey-kicker{font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--accent-ink);margin:0 0 20px}
.journey-copy h3{font-size:clamp(28px,2.7vw,37px);line-height:1.2;letter-spacing:-1px;font-weight:500;margin:0 0 24px}
.journey-description{font-size:17px;line-height:1.8;color:var(--muted);margin:0 0 24px;max-width:52ch}
.journey-takeaway{font-size:14px;line-height:1.7;border-left:2px solid var(--accent-ink);padding-left:16px;margin:0 0 24px;color:var(--ink)}
.journey-copy .text-link{font-size:15px;min-height:44px;margin:0}
.journey-controls{display:flex;align-items:center;gap:32px;margin-top:24px}
.journey-stages{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;flex:1;max-width:620px}
.journey-stages button{position:relative;text-align:left;min-height:62px;border:0;background:transparent;color:var(--muted);padding:0 0 12px;font:inherit;font-size:14px;line-height:1.4;cursor:pointer}
.journey-stages button>span{display:block;font-size:11px;margin-bottom:6px}
.journey-stages button::after,.journey-stages i{content:'';position:absolute;left:0;bottom:0;height:3px;width:100%;background:var(--control-border);transform-origin:left}
.journey-stages i{background:var(--accent-ink);transform:scaleX(0);z-index:1}
.journey-stages button[aria-pressed=true]{color:var(--accent-ink)}
.journey-stages button[aria-pressed=true] i{transform:scaleX(var(--journey-progress,0))}
.journey-stages button.is-done i{transform:scaleX(1)}
.journey-playback{display:flex;gap:8px;margin-left:auto;flex:none}
.journey-playback button{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--control-border);border-radius:50%;background:var(--surface);color:var(--ink);font-size:18px;cursor:pointer}
.journey-playback button:hover{color:var(--accent-ink);border-color:var(--accent-ink)}
.journey-disclaimer{font-size:12px;line-height:1.8;color:var(--muted);margin:24px 0 0;max-width:85ch}
.journey-person{transform-origin:115px 340px;animation:journey-breathe 4s ease-in-out infinite}
.journey-eyes{transform-box:fill-box;transform-origin:center;animation:journey-blink 5.3s linear infinite}
.journey-float{animation:journey-float 3.8s ease-in-out infinite}
.journey-paper{animation:journey-float 4.5s ease-in-out infinite}.journey-paper-1{animation-delay:-1.2s}.journey-paper-2{animation-delay:-2.4s}
.journey-flow{stroke-dasharray:8 7;animation:journey-connect 1.5s linear infinite}
.journey-cursor{animation:journey-point 3s ease-in-out infinite}
.scenario-stories:not(.is-running) :is(.journey-person,.journey-eyes,.journey-float,.journey-paper,.journey-flow,.journey-cursor),.journey-scene[hidden] *{animation-play-state:paused}
@keyframes journey-breathe{0%,100%{transform:scaleY(1)}50%{transform:scaleY(1.012)}}
@keyframes journey-blink{0%,43%,47%,100%{transform:scaleY(1)}45%{transform:scaleY(.1)}}
@keyframes journey-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@keyframes journey-connect{to{stroke-dashoffset:-30}}
@keyframes journey-point{0%,100%{transform:translate(0,0)}45%,65%{transform:translate(-18px,12px)}}
@media(max-width:1024px){.scenario-intro,.journey-scene{gap:32px}.scenario-tabs{gap:8px}.scenario-tabs button{padding:14px 12px;font-size:14px}.journey-description{font-size:16px}.journey-copy h3{font-size:30px}.journey-art-caption{padding:16px;gap:12px}}
@media(max-width:760px){.scenario-intro{grid-template-columns:1fr;gap:24px;margin-bottom:28px}.scenario-intro h2{font-size:34px;letter-spacing:-1px}.scenario-intro>p{font-size:16px;line-height:1.7}.scenario-tabs{display:none}.scenario-mobile{display:block;margin-bottom:24px}.scenario-mobile label{display:block;font-size:13px;font-weight:600;color:var(--ink);margin-bottom:10px}.scenario-mobile select{display:block;width:100%;min-height:52px;font-size:16px;background:var(--surface);color:var(--ink);border:1px solid var(--control-border);padding:12px 32px 12px 12px;border-radius:6px;box-sizing:border-box}.journey-scene{grid-template-columns:minmax(0,1fr);gap:24px;align-items:start}.journey-art-caption{padding:14px;min-height:62px;gap:10px}.journey-art-caption>span:first-of-type{font-size:11px}.journey-copy{padding-block:0}.journey-kicker{margin-bottom:16px;font-size:10px}.journey-copy h3{font-size:29px;margin-bottom:20px}.journey-description{font-size:16px;line-height:1.75;margin-bottom:20px}.journey-takeaway{font-size:14px;margin-bottom:20px}.journey-controls{flex-wrap:wrap;gap:20px;margin-top:24px}.journey-stages{flex-basis:100%;max-width:none;gap:12px}.journey-stages button{font-size:13px;min-height:65px}.journey-playback{margin-left:0;gap:12px}.journey-disclaimer{font-size:12px;line-height:1.8;margin-top:20px;padding-right:40px}}
@media(max-width:360px){.scenario-intro h2{font-size:31px}.journey-copy h3{font-size:27px}.journey-art-caption{gap:8px;padding-inline:12px}.journey-art-caption>span:first-of-type{max-width:18ch}.journey-art-caption strong{font-size:14px}}
@media(prefers-reduced-motion:reduce){.scenario-stories :is(.journey-person,.journey-eyes,.journey-float,.journey-paper,.journey-flow,.journey-cursor){animation:none!important}}

@media(max-width:760px){.scenario-mobile{position:sticky;top:84px;z-index:12;background:var(--paper);padding-block:12px;margin-top:-12px}.scenario-mobile label{font-size:12px}.scenario-mobile select{min-height:48px}}

.journey-scene:not([hidden]) .journey-board{animation:journey-board-in .55s cubic-bezier(.2,.7,.2,1) both;transform-origin:380px 180px}
.journey-scene:not([hidden]) .journey-copy{animation:journey-copy-in .4s ease-out both}
@keyframes journey-board-in{from{opacity:0;transform:translateY(9px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes journey-copy-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.journey-scene:not([hidden]) :is(.journey-board,.journey-copy){animation:none!important}}
