.cases-page .container { max-width: 1168px; }
.cs-disclosure { color: #64748b; font-size: .9rem; line-height: 1.8; margin: 0 0 28px; }
.cs-search { display: grid; grid-template-columns: minmax(0, 1fr) 190px 190px 84px; gap: 14px; align-items: end; margin-bottom: 28px; }
.cs-search label { display: block; font-size: .85rem; font-weight: 600; color: #334155; margin-bottom: 8px; }
.cs-search input, .cs-search select { width: 100%; min-width: 0; height: 46px; padding: 10px 12px; border: 1px solid #cbd5e1; border-radius: 4px; background: #fff; color: #172033; font-size: .95rem; }
.cs-search .btn { min-height: 46px; }
.cs-results { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; align-items: center; margin-bottom: 18px; font-size: .9rem; color: #64748b; }
.cs-results p { margin: 0; }
.cs-results strong { color: #172033; }
.cs-results a, .cs-card__read { color: #0369a1; }
.cases-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.cases-grid .cs-card { display: flex; min-width: 0; text-decoration: none; color: #172033; border: 1px solid #dce3eb; border-radius: 5px; background: #fff; }
.cases-grid .cs-card:hover { border-color: #6489a2; }
.cs-card:focus-visible, .cs-search :focus-visible { outline: 3px solid #38bdf8; outline-offset: 3px; }
.cs-card__body { display: flex; flex-direction: column; width: 100%; padding: 24px; }
.cs-card__industry { margin-bottom: 12px; font-size: .8rem; color: #64748b; }
.cases-grid .cs-card__title { font-size: 1.18rem; line-height: 1.6; font-weight: 700; margin: 0 0 14px; word-break: keep-all; overflow-wrap: anywhere; }
.cs-card__summary { margin: 0 0 24px; color: #475569; font-size: .92rem; line-height: 1.8; word-break: keep-all; overflow-wrap: anywhere; }
.cs-card__meta { margin-top: auto; color: #64748b; font-size: .8rem; line-height: 1.8; overflow-wrap: anywhere; }
.cs-card__read { display: flex; justify-content: space-between; margin-top: 16px; padding-top: 15px; border-top: 1px solid #e7ecf1; font-size: .85rem; }
.cs-list-cta { display: flex; align-items: center; justify-content: space-between; gap: 24px; border-top: 1px solid #dce3eb; margin-top: 44px; padding-top: 28px; }
.cs-list-cta p { margin: 0; line-height: 1.8; }
.cs-list-cta .btn { flex-shrink: 0; }
.cs-detail-hero { background: #fff; color: #172033; padding: 56px 0 32px; border-bottom: 1px solid #e2e8f0; }
.cs-detail-hero .container, .cs-section .container, .cs-cta .container { max-width: 928px; }
.cs-detail-hero h1 { font-size: clamp(1.65rem, 3.5vw, 2.35rem); line-height: 1.5; font-weight: 700; word-break: keep-all; overflow-wrap: anywhere; }
.cs-summary { color: #475569; line-height: 1.85; }
.cs-meta-bar { display: flex; flex-wrap: wrap; gap: 8px 24px; margin-top: 24px; font-size: .85rem; color: #64748b; }
.cs-section { padding: 30px 0; }
.cs-section h2 { font-size: 1.35rem; line-height: 1.6; font-weight: 700; margin-bottom: 16px; }
.cs-tech-badge { display: inline-block; padding: 5px 10px; margin: 0 6px 6px 0; border: 1px solid #dce3eb; border-radius: 3px; font-size: .85rem; color: #475569; }
.cs-content { font-size: 1rem; line-height: 1.95; color: #334155; overflow-wrap: anywhere; }
.cs-content :where(h2, h3) { margin: 36px 0 16px; color: #172033; font-weight: 700; }
.cs-content > :first-child { margin-top: 0; }
.cs-content li { margin: 8px 0; }
.cs-content table { width: 100%; table-layout: fixed; border-collapse: collapse; margin: 20px 0 30px; font-size: .95rem; }
.cs-content th, .cs-content td { padding: 12px 16px; border-bottom: 1px solid #dce3eb; text-align: left; vertical-align: top; }
.cs-content th { background: #f6f8fa; color: #172033; }
.cs-content img, .cs-gallery img { max-width: 100%; height: auto; }
.cs-content pre { overflow: auto; padding: 16px; background: #f6f8fa; }
.cs-related-card { display: block; height: 100%; padding: 18px; border: 1px solid #dce3eb; border-radius: 4px; text-decoration: none; color: #172033; }
.cs-related-card:hover { border-color: #6489a2; }
.cs-cta { background: #fff; padding: 36px 0 48px; border-top: 1px solid #e2e8f0; }
.cs-cta h2 { font-size: 1.4rem; }
.cs-preview-banner { background: #fff3cd; color: #664d03; border-bottom: 1px solid #ffe69c; padding: 10px 0; text-align: center; font-weight: 600; }
@media (max-width: 991px) {
  .cases-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cs-search { grid-template-columns: minmax(0, 1fr) 160px 160px 76px; gap: 10px; }
}
@media (max-width: 767px) {
  .cs-search { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 12px; }
  .cs-search input, .cs-search select { font-size: 16px; }
  .cs-search__query, .cs-search .btn { grid-column: 1 / -1; }
  .cs-list-cta { align-items: flex-start; flex-direction: column; gap: 16px; }
}
@media (max-width: 575px) {
  .cases-grid { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .cs-card__body { padding: 22px; }
  .cs-detail-hero { padding: 36px 0 28px; }
  .cs-section { padding: 24px 0; }
  .cs-content th, .cs-content td { padding: 8px 10px; }
}
