.case-story{background:#102f28;color:#f5f3eb;position:relative}
.case-jump{display:flex;align-items:end;gap:14px;padding:10px 3vw;background:#102f28;color:#f5f3eb;flex-shrink:0}
.case-jump-label{display:flex;flex-direction:column;gap:5px;flex:1;min-width:0;font:13px/1.3 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
.case-jump select{width:100%;min-width:0;max-width:620px;min-height:44px;padding:9px 34px 9px 12px;border:1px solid #d8c59d88;border-radius:7px;background:#173d33;color:#f5f3eb;font:14px/1.4 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;text-overflow:ellipsis}
.case-jump button{min-height:44px;padding:10px 18px;border:1px solid #d8c59d88;border-radius:24px;background:transparent;color:inherit;font:14px/1.4 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;cursor:pointer}
.case-jump button:hover{background:#d8c59d22}
.case-jump .case-jump-next{background:#d8c59d;color:#102f28;white-space:nowrap}
.case-jump-end{flex-wrap:wrap;padding:35px 5vw 42px}
.case-jump-end .case-jump-label{font-size:18px;gap:12px}
.case-jump-numbers{display:flex;flex-wrap:wrap;gap:8px;width:100%;margin-top:14px}
.case-jump-numbers button{width:44px;padding:0}
.case-jump-numbers button[aria-current=true]{background:#d8c59d;color:#102f28}
@media(max-width:760px){.case-jump{gap:8px;padding:7px 12px}.case-jump-label{font-size:12px}.case-jump select{font-size:16px}.case-jump button{padding:10px 12px}.case-jump-end{padding:26px 16px}.case-jump-numbers button{padding:0}}
.case-story-sticky{position:sticky;top:0;height:100svh;display:flex;flex-direction:column;overflow:hidden}
.case-story-bar{display:flex;align-items:center;gap:12px;min-height:58px;padding:8px 3vw;background:#102f28;z-index:2;flex-shrink:0}
.case-story-bar button,.case-story-mode{border:1px solid #d8c59d65;border-radius:24px;background:transparent;color:inherit;min-height:44px;padding:8px 17px;font:14px/1.4 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;cursor:pointer}
.case-story-bar button:hover,.case-story-mode:hover{background:#d8c59d20}
.case-story-bar button:disabled{opacity:.35;cursor:default}
.case-story-bar .case-story-status{font:13px/1.4 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;margin-right:auto}
.case-story-window{overflow:hidden;flex:1;min-height:0;position:relative}
.case-story-track{display:flex;height:100%;width:max-content;will-change:transform}
.case-story-slide{box-sizing:border-box;flex:none;height:100%;margin:0;border:0}
.case-story-copy{width:min(680px,90vw);background:#f2f3ee;color:#183c32;padding:clamp(25px,4vw,60px);overflow-y:auto;overscroll-behavior-y:auto;font:16px/1.7 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;scrollbar-width:thin}
.case-story-copy h1,.case-story-copy h2{font:400 clamp(27px,3vw,43px)/1.15 Georgia,serif;letter-spacing:-.025em;margin:0 0 22px;text-wrap:balance}
.case-story-copy h3{font-size:20px;line-height:1.3;margin-top:22px}
.case-story-copy p{margin:0 0 18px}.case-story-copy ul,.case-story-copy ol{padding-left:23px}.case-story-copy li{margin-bottom:8px}
.case-story-copy a{color:inherit;text-decoration:underline;text-underline-offset:4px}
.case-story-copy>*{max-width:65ch}
.case-story-slide:last-child{width:100vw}
.case-story-copy .eyebrow{font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:#687469;margin-bottom:18px}
.case-story-photo{width:100vw;position:relative;background:#071d19;display:flex;flex-direction:column;padding:18px 3vw 15px}
.case-story-photo img{display:block;width:100%;height:0;flex:1;min-height:0;object-fit:contain;margin:0;cursor:zoom-in}
.case-story-photo figcaption{font:14px/1.5 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:#e2e8e1;text-align:center;max-width:900px;margin:12px auto 0;flex-shrink:0}
.case-story-progress{height:3px;background:#c2b78e33;flex-shrink:0}.case-story-progress span{display:block;width:100%;height:100%;background:#d8c59d;transform:scaleX(0);transform-origin:left}
.case-story-modebar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 5vw;background:#102f28;color:#f5f3eb}
.case-story-modebar p{margin:0;font-size:14px}.case-story-modebar button{flex-shrink:0}
.case-story-zoom{padding:12px;border:1px solid #d8c59d;border-radius:8px;background:#071d19;color:#fff;max-width:96vw;max-height:96svh}
.case-story-zoom::backdrop{background:#071d19e8}.case-story-zoom img{display:block;max-width:90vw;max-height:80svh;object-fit:contain}.case-story-zoom button{display:block;margin-left:auto;min-height:44px;padding:10px 20px;background:transparent;color:#fff;border:1px solid #d8c59d;font:14px sans-serif}
.case-story[hidden],.case-story-sticky[hidden],iframe[data-case-frame][hidden]{display:none!important}
@media(max-width:760px){.case-story-bar{padding:6px 12px;gap:7px}.case-story-bar button{padding:8px 12px}.case-story-copy{width:94vw;padding:26px 24px}.case-story-copy h1,.case-story-copy h2{font-size:29px}.case-story-photo{padding:10px 10px 14px}.case-story-modebar{padding:12px 16px;align-items:flex-start}.case-story-modebar p{font-size:13px}.case-story-mode{font-size:13px;padding:8px 12px}}
@media(prefers-reduced-motion:reduce){.case-story{height:auto!important}.case-story-sticky{position:relative}.case-story-window{overflow-x:auto;scroll-snap-type:x mandatory}.case-story-slide{scroll-snap-align:start}.case-story-track{transform:none!important;will-change:auto}}
/* A stationary panel remains underneath while the next panel covers it. */
@media(prefers-reduced-motion:no-preference){
 .case-story-track{position:relative;display:block;width:100%;height:100%;transform:none!important;will-change:auto;isolation:isolate}
 .case-story-track>.case-story-slide{position:absolute;inset:0;width:100%;height:100%;border:0;box-shadow:none;will-change:auto}
 .case-story-track>.case-story-copy{padding-inline:clamp(24px,10vw,160px)}
 .case-story-copy>*{margin-left:auto;margin-right:auto}
}
.case-story-combined{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100vw;background:#071d19;gap:0;overflow:hidden}
.case-story-combined[data-count="3"]{grid-template-columns:repeat(3,minmax(0,1fr))}
.case-story-combined[data-count="4"]{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr))}
.case-story-combined>.case-story-cell{position:relative!important;inset:auto!important;transform:none!important;visibility:visible!important;width:100%!important;height:100%;min-height:0;min-width:0;margin:0;border:0;padding:18px;box-sizing:border-box}
.case-story-combined .case-story-photo{display:flex;flex-direction:column}
.case-story-combined .case-story-photo img{min-height:0;flex:1;height:0;width:100%;object-fit:contain}
.case-story-combined.has-copy{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}
.case-story-combined.has-copy[data-count="3"]{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr))}
.case-story-combined.has-copy[data-count="3"]>.case-story-copy{grid-column:2;grid-row:1/3}
.case-story-combined>.case-story-copy{padding:clamp(22px,3vw,44px);font-size:16px}
.case-story-combined .case-story-copy h1,.case-story-combined .case-story-copy h2{font-size:clamp(25px,2.4vw,34px)}
.case-story-copy h2:not(:first-child){margin-top:30px}
@media(max-width:760px){
 .case-story-combined,.case-story-combined[data-count="3"],.case-story-combined.has-copy,.case-story-combined.has-copy[data-count="3"]{grid-template-columns:1fr;grid-template-rows:repeat(2,minmax(0,1fr))}
 .case-story-combined[data-count="3"]{grid-template-rows:repeat(3,minmax(0,1fr))}
 .case-story-combined.has-copy[data-count="3"]{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:1fr 1fr}
 .case-story-combined.has-copy[data-count="3"]>.case-story-copy{grid-column:1/3;grid-row:2}
 .case-story-combined>.case-story-cell{padding:10px 12px}
 .case-story-combined>.case-story-copy{padding:18px 22px}
 .case-story-combined .case-story-photo figcaption{font-size:13px;margin-top:6px}
 .case-story-combined[data-count="4"]{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr))}
}

/* One compact control row; no instruction strip above the viewer. */
.case-story-modebar[hidden]{display:none!important}
.case-story-bar{gap:8px;padding-top:4px;padding-bottom:4px;min-height:52px}
.case-story-bar .case-story-mode{font-size:13px;padding:8px 12px}
@media(max-width:760px){.case-story-bar{gap:6px;padding-inline:10px}.case-story-bar button{font-size:12px;padding:8px 10px}.case-story-bar .case-story-mode{font-size:12px;padding:8px 10px}}

.case-story-home{display:inline-flex;align-items:center;justify-content:center;min-height:44px;box-sizing:border-box;padding:8px 12px;border:1px solid #d8c59d65;border-radius:24px;color:inherit;text-decoration:none;font:13px/1.4 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;white-space:nowrap}.case-story-home:hover{background:#d8c59d20}.case-story-home:focus-visible{outline:2px solid #d8c59d;outline-offset:3px}
@media(max-width:760px){.case-story-home{font-size:12px;padding:8px 10px}.case-story-bar{column-gap:5px}.case-story-bar .case-story-status{font-size:12px}.case-story-bar button,.case-story-bar .case-story-mode{padding-inline:8px}}

/* Mobile paging stays visible without covering photographs or captions. */
.case-story-swipe{display:none}
@media(max-width:760px){
 .case-story-swipe{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-shrink:0;padding:6px 16px max(6px,env(safe-area-inset-bottom));background:#102f28;color:#f5f3eb}
 .case-story-swipe span{font:14px/1.4 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
 .case-story-swipe button{width:48px;min-height:44px;border:1px solid #d8c59d88;border-radius:24px;background:transparent;color:#e4d3af;font-size:24px;cursor:pointer}
 .case-story-swipe button:disabled{opacity:.3;cursor:default}
 .case-story-swipe button:focus-visible{outline:2px solid #e4d3af;outline-offset:2px}
 .case-story-bar>button:not(.case-story-mode){display:none}
}

/* Native scrolling supplies touch momentum and avoids document-scroll traps. */
.case-story{height:auto!important}
.case-story .case-story-sticky{position:relative;height:100svh;min-height:420px}
.case-story .case-story-window{overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.case-story-window::-webkit-scrollbar{display:none}
.case-story .case-story-track{position:relative;display:flex;height:100%;transform:none!important;will-change:auto;isolation:isolate}
.case-story .case-story-track>.case-story-slide{position:sticky;left:0;top:auto;right:auto;bottom:auto;flex:0 0 auto;height:100%;transform:none!important;visibility:visible!important;will-change:auto;scroll-snap-align:start;scroll-snap-stop:always;border:0;box-shadow:none}
.case-story-window:focus-visible{outline:2px solid #d8c59d;outline-offset:-2px}
@media(prefers-reduced-motion:reduce){.case-story .case-story-track>.case-story-slide{position:relative;left:auto}.case-story-window{scroll-behavior:auto}}

.case-pointer-help{display:none}
@media(hover:hover) and (pointer:fine){
 .case-story-swipe{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-shrink:0;padding:6px 3vw;background:#102f28;color:#f5f3eb}
 .case-story-swipe .case-touch-help{display:none}
 .case-story-swipe .case-pointer-help{display:block;font:14px/1.4 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;text-align:center}
 .case-story-swipe button{width:48px;min-height:44px;border:1px solid #d8c59d88;border-radius:24px;background:transparent;color:#e4d3af;font-size:24px;cursor:pointer}
 .case-story-swipe button:disabled{opacity:.3}
 .case-story-window[data-pointer-direction=left]{cursor:w-resize}
 .case-story-window[data-pointer-direction=right]{cursor:e-resize}
}
