/* Case studies: capabilities, business workflows, and engineering decisions. */
.case-facts { grid-template-columns: 1fr 1fr 1.2fr; }
.case-hero .case-status { max-width: 900px; margin-top: 28px; padding: 18px 22px; border-left: 2px solid var(--acid); background: #142737; font-size: .9375rem; line-height: 1.8; color: #b7ccdc; }
.case-status strong { display: block; color: #edf5fb; }
.case-navigation { display: flex; flex-wrap: wrap; gap: 4px 30px; margin-top: 35px; padding-top: 20px; border-top: 1px solid var(--line); }
.case-navigation a { display: inline-flex; align-items: center; min-height: 44px; font-size: .875rem; color: var(--acid); text-decoration: underline; text-underline-offset: 6px; }
.case-navigation a:hover { color: white; }
.case-section-intro { display: grid; grid-template-columns: 1.1fr 1fr; gap: 65px; align-items: end; margin-bottom: 40px; }
.case-section-intro h2, .case-section-title { font-size: clamp(32px, 3.5vw, 49px); line-height: 1.15; margin-top: 22px; }
.case-section-intro > p { font-size: 1rem; line-height: 1.9; color: var(--muted); max-width: 570px; }
.case-workflow { background: #101e2b; --muted: #b0c5d5; }
.case-workflow .eyebrow { color: var(--acid); }
.workflow-map { margin: 0; }
.workflow-steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; list-style: none; padding: 0; margin: 0; }
.workflow-steps li { position: relative; padding: 24px; border: 1px solid #4c687e; background: #192f42; }
.workflow-steps li:not(:last-child)::after { content: '→'; position: absolute; right: -22px; top: 24px; color: #a6d6ff; }
.workflow-number { display: block; margin-bottom: 24px; font: .75rem/1.7 var(--mono); color: #a6d6ff; }
.workflow-steps h3 { font-size: 24px; line-height: 1.2; color: #edf5fb; }
.workflow-steps p { margin-top: 14px; font-size: .9375rem; line-height: 1.8; color: #b7ccdc; }
.workflow-map figcaption { margin-top: 20px; font-size: .8125rem; line-height: 1.8; color: #a7bfd1; }
.case-delivery-expanded { padding-top: 88px; }
.case-delivery-expanded .delivery-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 40px; }
.case-evolution { background: #dfe8ed; color: #163348; --muted: #4b687e; --focus: #245f83; }
.case-timeline { list-style: none; padding: 0; margin: 0; }
.case-timeline > li { display: grid; grid-template-columns: .7fr 1.5fr; gap: 55px; padding: 30px 0; border-top: 1px solid #a6bece; }
.case-timeline > li:last-child { padding-bottom: 0; }
.timeline-period { font: .875rem/1.8 var(--mono); color: #375c76; }
.case-timeline h3 { font-size: 28px; line-height: 1.2; }
.case-timeline div > p { font-size: 1rem; line-height: 1.9; color: #4b687e; margin-top: 15px; max-width: 760px; }
.case-engineering { background: #102b3e; --muted: #b0c5d5; }
.case-engineering .eyebrow { color: #a6d6ff; }
.case-verification { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px 65px; margin: 0; }
.case-verification > div { padding-top: 22px; border-top: 1px solid #4b677b; }
.case-verification dt { font-size: 23px; letter-spacing: -.025em; line-height: 1.3; }
.case-verification dd { font-size: 1rem; line-height: 1.9; color: #b0c5d5; margin: 12px 0 0; }
.case-outcomes { max-width: 860px; margin: 28px 0 0; padding-left: 21px; color: #31566f; }
.case-outcomes li { padding: 7px 0 7px 6px; font-size: 1rem; line-height: 1.8; }
.case-outcomes li::marker { color: #507b9a; }

@media (max-width: 1100px) {
  .case-section-intro { gap: 40px; }
  .workflow-steps { grid-template-columns: 1fr; gap: 24px; }
  .workflow-steps li:not(:last-child)::after { content: '↓'; right: auto; left: 24px; top: auto; bottom: -23px; }
  .workflow-number { margin-bottom: 12px; }
}
@media (max-width: 820px) {
  .case-section-intro { grid-template-columns: 1fr; gap: 24px; }
  .case-section-intro > p { max-width: 690px; }
  .case-timeline > li { grid-template-columns: .7fr 1.2fr; gap: 30px; }
  .case-verification { gap: 30px; }
}
@media (max-width: 540px) {
  .case-facts { grid-template-columns: 1fr; }
  .case-navigation { column-gap: 22px; }
  .case-delivery-expanded { padding-top: 58px; }
  .case-delivery-expanded .delivery-grid { grid-template-columns: 1fr; }
  .case-timeline > li { grid-template-columns: 1fr; gap: 13px; }
  .case-timeline h3 { font-size: 26px; }
  .case-verification { grid-template-columns: 1fr; }
}
