.cases-page { background: #f4f8fa; }
.cases-stage { background: #e9f3f8; color: #23465d; padding: 76px max(32px, calc((100vw - 1272px)/2)); display: grid; grid-template-columns: .85fr 1.15fr; gap: 56px; align-items: center; }
.cases-stage .eyebrow { color: #286a76; line-height: 1.7; }
.cases-stage h1 { font-size: clamp(34px, 3.5vw, 52px); line-height: 1.3; margin: 22px 0; }
.cases-stage-copy > p:not(.eyebrow) { color: #435f72; font-size: 16px; line-height: 1.9; max-width: 490px; }
.cases-stage-button { background: #356e9b; color: #fff; margin-top: 16px; }
.cases-stage-button:hover { background: #2b5e87; }
.cases-stage-gallery { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; min-width: 0; }
.cases-stage-gallery figure { margin: 0; border: 1px solid #c6d9e5; border-radius: 10px; overflow: hidden; box-shadow: 0 14px 32px #285d7914; }
.cases-stage-gallery .cases-stage-main { grid-column: 1 / -1; }
.cases-stage-gallery img { display: block; width: 100%; height: auto; }
.cases-jump { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; max-width: 1272px; margin: auto; padding: 0 32px; }
.cases-jump a { display: grid; grid-template-columns: 36px 1fr; gap: 5px 12px; padding: 28px 20px; border-bottom: 1px solid #c9d9e3; }
.cases-jump a:hover { background: #e8f1f6; }
.cases-jump span { grid-row: 1 / 3; color: #347b88; font-size: 12px; }
.cases-jump b { font-size: 16px; color: #17374b; }
.cases-jump small { font-size: 12px; font-weight: 400; color: #567184; }
.case-story { padding: 88px max(32px, calc((100vw - 1208px)/2)); scroll-margin-top: 100px; }
.case-story-heading { display: grid; grid-template-columns: 1fr 1fr; gap: 20px 64px; margin-bottom: 36px; }
.case-story-heading .eyebrow { grid-column: 1 / -1; }
.case-story-heading h2 { margin: 0; font-size: clamp(28px, 3vw, 40px); line-height: 1.35; }
.case-story-heading .case-client-growth { grid-column: 1; margin: 0; color: #286a76; font-size: 20px; font-weight: 700; line-height: 1.5; }
.case-story-heading:has(.case-client-growth) > p:last-child { grid-column: 2; grid-row: 2 / 4; }
.case-card p.case-client-growth { margin-bottom: 14px; color: #286a76; font-size: 17px; font-weight: 700; }
.case-story-heading > p:last-child { margin: 0; color: #536b7b; font-size: 16px; line-height: 1.9; }
.case-story-visual { margin: 0; overflow: hidden; border-radius: 14px; border: 1px solid #c8d6df; box-shadow: 0 20px 55px #17374b15; }
.case-story-visual img { display: block; width: 100%; height: auto; }
.case-story-capabilities { display: grid; grid-template-columns: 180px 1fr; gap: 32px; margin-top: 34px; }
.case-story-capabilities > p { font-size: 14px; font-weight: 700; padding-top: 17px; }
.case-story-capabilities ul { display: grid; grid-template-columns: 1fr 1fr; gap: 0 32px; margin: 0; padding: 0; list-style: none; }
.case-story-capabilities li { border-top: 1px solid #c9d9e3; padding: 17px 0; font-size: 14px; line-height: 1.7; display: flex; gap: 16px; }
.case-story-capabilities li span { color: #347b88; font-size: 11px; padding-top: 3px; }
.case-story-dark { color: #23465d; background: #e4eff6; }
.case-story-dark .eyebrow, .case-story-dark .case-story-capabilities li span { color: #286a76; }
.case-story-dark .case-story-heading > p:last-child { color: #435f72; }
.case-story-dark .case-story-capabilities li, .case-story-dark .case-story-visual { border-color: #bfd2df; }
.case-story-platform { background: #eaf2f6; }
.cases-closing { margin-top: 64px; }
/* Show the entire approved landscape visual in Enterprise case cards. */
.case-showcase .case-card figure { height: auto; aspect-ratio: 16 / 9; }
.case-showcase .case-card img { object-fit: contain; object-position: center; }
@media (max-width: 980px) {
  .cases-stage { grid-template-columns: 1fr; padding: 48px 24px; gap: 32px; }
  .cases-stage-copy > p:not(.eyebrow) { max-width: 680px; }
  .cases-stage-gallery { max-width: 760px; }
  .case-story { padding: 64px 24px; scroll-margin-top: 160px; }
  .case-story-heading { gap: 20px 32px; }
  .cases-jump { padding-inline: 24px; }
  .cases-jump a { padding-inline: 10px; }
  .case-story-capabilities { grid-template-columns: 1fr; gap: 0; }
}
@media (max-width: 620px) {
  .cases-stage { padding: 40px 16px; }
  .cases-stage h1 { font-size: 34px; }
  .cases-stage-gallery { gap: 8px; }
  .cases-jump { grid-template-columns: 1fr; padding: 0 16px; }
  .cases-jump a { grid-template-columns: 30px 105px 1fr; padding: 18px 0; align-items: center; }
  .cases-jump span { grid-row: auto; }
  .cases-jump small { font-size: 11px; }
  .case-story { padding: 52px 16px; }
  .case-story-heading { grid-template-columns: 1fr; gap: 16px; margin-bottom: 24px; }
  .case-story-heading h2 { font-size: 29px; }
  .case-story-heading:has(.case-client-growth) > p:last-child { grid-column: 1; grid-row: auto; }
  .case-story-visual { border-radius: 8px; }
  .case-story-capabilities { margin-top: 20px; }
  .case-story-capabilities ul { grid-template-columns: 1fr; }
  .cases-closing { margin-top: 40px; }
}
