/* Scroll chapters: desktop reads in place; narrow or tall content stays in flow. */
.bm-scroll-story { position:relative; min-width:0; --story-paper:#f4f5f6; --story-ink:#23272b; }
.bm-story-sticky { position:relative; }
.bm-story-nav { position:relative; z-index:6; margin-bottom:0; }
.bm-story-cases .bm-story-nav { background:#23272b; }
.bm-story-industry .bm-story-nav { background:#f4f5f6; }
.bm-story-progress { display:flex; align-items:center; gap:11px; height:26px; font-size:9px; font-variant-numeric:tabular-nums; letter-spacing:.07em; }
.bm-story-cases .bm-story-progress { background:#23272b; color:#b5bec2; }
.bm-story-industry .bm-story-progress { background:#f4f5f6; color:#626d73; padding-inline:16px; }
.bm-story-current { color:#f5921e; min-width:18px; }
.bm-story-rail { height:1px; flex:1; overflow:hidden; background:#626d7350; }
.bm-story-rail>i { display:block; width:100%; height:100%; background:#f5921e; transform:scaleX(0); transform-origin:left; }
.bm-story-stage { position:relative; min-width:0; }
.bm-story-panel { scroll-margin-top:100px; }
/* Override legacy .industry-panel > div, otherwise this becomes a third grid cell. */
.bm-scroll-story .bm-story-chapter { display:none; }
.bm-scroll-story.is-pinned .bm-story-sticky { position:sticky; top:var(--story-top,20px); }
.bm-scroll-story:is(.is-pinned,.is-measuring) .bm-story-stage { display:grid; grid-template-columns:minmax(0,1fr); isolation:isolate; }
.bm-scroll-story:is(.is-pinned,.is-measuring) .bm-story-panel { grid-area:1/1; margin:0; height:auto; align-self:stretch; }
.bm-scroll-story.is-measuring .bm-story-panel { visibility:hidden; }
.bm-scroll-story:is(.is-pinned,.is-measuring) .case-panel { min-height:0; border-radius:0; }
.bm-scroll-story:is(.is-pinned,.is-measuring) .case-dossier { padding:26px 30px; }
.bm-scroll-story:is(.is-pinned,.is-measuring) .case-dossier h3 { font-size:clamp(28px,2.5vw,38px); margin-bottom:18px; }
.bm-scroll-story:is(.is-pinned,.is-measuring) .case-kicker { margin-bottom:16px; }
.bm-scroll-story:is(.is-pinned,.is-measuring) .case-numbers { margin-bottom:18px; padding-block:14px; }
.bm-scroll-story:is(.is-pinned,.is-measuring) .case-description { margin-bottom:17px; }
.bm-scroll-story:is(.is-pinned,.is-measuring) .case-insight { margin-bottom:20px; }
.bm-scroll-story:is(.is-pinned,.is-measuring) .case-tabs button { padding-block:14px; }
.bm-scroll-story:is(.is-pinned,.is-measuring) .case-tabs img { height:48px; width:64px; }
.bm-scroll-story.is-pinned .case-visual>img,
.bm-scroll-story.is-pinned .industry-photo>img { transition:none!important; will-change:transform,clip-path; }
.bm-scroll-story.is-pinned .case-dossier,
.bm-scroll-story.is-pinned .industry-copy { will-change:transform; }
.bm-scroll-story.is-pinned .bm-story-panel { will-change:opacity; }
.bm-scroll-story .bm-story-nav button:focus-visible { position:relative; z-index:7; outline:2px solid #f5921e; outline-offset:-4px; }

/* Flow mode is the accessible fallback and the deliberate mobile reading mode. */
.bm-scroll-story.is-flow .bm-story-stage { display:grid; grid-template-columns:minmax(0,1fr); gap:46px; }
.bm-scroll-story.is-flow .bm-story-nav { position:sticky; top:0; }
.bm-scroll-story.is-flow .bm-story-progress { position:sticky; top:var(--story-nav-height,64px); z-index:5; }
.bm-scroll-story.is-flow .bm-story-panel { opacity:1!important; visibility:visible!important; min-height:0; border-radius:0; }
.bm-scroll-story.is-flow .bm-story-chapter { display:flex; align-items:center; justify-content:space-between; gap:16px; grid-column:1/-1; min-height:42px; padding:12px 20px; font-size:10px; font-weight:500; background:#23272b; color:#f4f5f6; border-top:1px solid #626d73; }
.bm-story-chapter>span:first-child { color:#f5921e; font-variant-numeric:tabular-nums; white-space:nowrap; }
.bm-story-cases.is-flow .case-tabs button[aria-current="step"] { color:#fff; border-bottom-color:#f5921e; }
.bm-story-cases.is-flow .case-tabs button[aria-current="step"] img { filter:none; opacity:1; }
.bm-story-cases.is-flow .case-tabs button[aria-current="step"] .case-tab-arrow { transform:rotate(0); color:#f5921e; }
.industry-v17 .bm-story-industry.is-flow .industry-tabs button[aria-current="step"] { background:#23272b; color:#f4f5f6; border-bottom-color:#f5921e; }
.industry-v17 .bm-story-industry.is-flow .industry-tabs button[aria-current="step"]>span { color:#f5921e; }
.bm-scroll-story.is-flow .bm-story-stage { padding-top:22px; }
.bm-scroll-story.is-flow.is-story-motion .case-visual>img,
.bm-scroll-story.is-flow.is-story-motion .industry-photo>img { transition:transform 1000ms cubic-bezier(.22,.8,.2,1),opacity 800ms ease; }
.bm-scroll-story.is-flow.is-story-motion .bm-story-panel:not(.is-story-seen) .case-visual>img,
.bm-scroll-story.is-flow.is-story-motion .bm-story-panel:not(.is-story-seen) .industry-photo>img { transform:translate3d(0,14px,0) scale(1.035); opacity:.65; }
.bm-scroll-story.is-flow.is-story-motion .bm-story-panel.is-story-seen .case-visual>img,
.bm-scroll-story.is-flow.is-story-motion .bm-story-panel.is-story-seen .industry-photo>img { transform:none; opacity:1; }

@media(min-width:761px) {
  .bm-scroll-story.is-flow .industry-panel { min-height:420px; }
  .bm-scroll-story.is-flow .case-panel { min-height:580px; }
}
@media(max-width:760px) {
  .bm-story-cases .case-tabs { gap:0; border-top:1px solid #697177; }
  .bm-story-cases .case-tabs button { display:flex; align-items:center; min-height:52px; padding:8px 7px; border-bottom:2px solid #626d7350; gap:0; }
  .bm-story-cases .case-tabs button>img,.bm-story-cases .case-tab-arrow { display:none; }
  .bm-story-cases .case-tabs small { font-size:7px; margin-bottom:4px; white-space:nowrap; }
  .bm-story-cases .case-tabs b { min-height:0; font-size:9px; line-height:1.35; font-weight:500; }
  .industry-v17 .bm-scroll-story .industry-tabs button { min-height:52px; padding:8px 6px; font-size:10px; gap:3px; }
  .industry-v17 .bm-scroll-story .industry-tabs button>span { font-size:7px; }
  .bm-scroll-story.is-flow .bm-story-progress { position:relative; top:auto; height:20px; }
  .bm-scroll-story.is-flow .bm-story-stage { gap:38px; padding-top:10px; }
  .bm-scroll-story.is-flow .bm-story-chapter { padding:11px 16px; min-height:40px; font-size:10px; }
  .bm-scroll-story.is-flow .bm-story-panel { scroll-margin-top:72px; }
  .bm-scroll-story.is-flow .case-visual { height:clamp(250px,72vw,410px); }
  .bm-scroll-story.is-flow .industry-panel { display:block; }
  .bm-scroll-story.is-flow .industry-photo { height:auto; aspect-ratio:3/2; }
  .bm-scroll-story.is-flow .case-dossier { padding-top:25px; }
}
@media(max-width:370px) {
  .bm-story-cases .case-tabs b { font-size:8px; }
  .bm-story-cases .case-tabs small { font-size:6px; }
  .industry-v17 .bm-scroll-story .industry-tabs button { font-size:9px; }
}
@media(prefers-reduced-motion:reduce) {
  .bm-scroll-story * { transition:none!important; animation:none!important; }
  .bm-scroll-story .case-visual>img,.bm-scroll-story .industry-photo>img { transform:none!important; clip-path:none!important; opacity:1!important; }
}
html[data-v20-motion="off"] .bm-scroll-story * { transition:none!important; animation:none!important; }
@media print {
  .bm-scroll-story { height:auto!important; }
  .bm-story-sticky,.bm-story-nav { position:static!important; }
  .bm-story-stage { display:block!important; }
  .bm-story-panel { visibility:visible!important; opacity:1!important; break-inside:avoid; }
}
