.case-page { color: #334155; }
.case-page a { overflow-wrap: anywhere; }
.case-hero { padding: 32px 16px 36px; }
.case-hero-grid { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: 36px; align-items: center; margin-top: 24px; }
.case-image { position: relative; aspect-ratio: 4 / 3; background: #eff6ff; border-radius: 18px; overflow: hidden; display: grid; place-items: center; }
.case-image img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; background: #f8fafc; }
.case-image-fallback { font-size: 64px; color: #bfdbfe; }
.case-eyebrow { color: #2563eb; font-size: .85rem; font-weight: 600; }
.case-heading { min-width: 0; }
.case-heading h1 { font-size: clamp(2rem, 4vw, 3rem); line-height: 1.12; color: #0f172a; margin: 12px 0 16px; overflow-wrap: anywhere; }
.case-extended { font-size: 1.2rem; font-weight: 600; line-height: 1.45; margin: 0 0 18px; color: #334155; }
.case-summary { line-height: 1.75; margin: 0; color: #64748b; }
.case-facts { display: grid; grid-template-columns: .7fr 1fr 1.3fr; gap: 24px; padding: 26px 0 0; margin: 30px 0 0; border-top: 1px solid #e2e8f0; }
.case-facts dt { font-size: .85rem; color: #64748b; margin-bottom: 8px; }
.case-facts dd { margin: 0; line-height: 1.5; font-weight: 600; overflow-wrap: anywhere; }
.case-section { padding: 32px 16px; }
.case-section h2 { font-size: 1.65rem; color: #0f172a; margin: 0 0 22px; }
.case-contributions { width: 100%; border-collapse: collapse; table-layout: fixed; line-height: 1.65; font-size: .94rem; }
.case-contributions th, .case-contributions td { text-align: left; vertical-align: top; padding: 22px; border: 1px solid #e2e8f0; overflow-wrap: anywhere; }
.case-contributions thead th { background: #f8fafc; font-weight: 600; }
.case-contributions th:first-child { width: 28%; }
.case-contributions tbody th { font-weight: 500; }
.case-contributions ul { padding-left: 18px; font-size: .88rem; font-weight: 400; margin-bottom: 0; }
.case-contributions li + li { margin-top: 7px; }
.case-result + .case-result { margin-top: 18px; }
.case-result p { margin: 0; }
.case-metric { display: block; color: #2563eb; font-size: 1.65rem; margin-bottom: 8px; }
.case-metric small { font-size: .9rem; }
.case-tags { display: flex; flex-wrap: wrap; gap: 10px; list-style: none; padding: 0; margin: 0; }
.case-tags li { padding: 10px 15px; border: 1px solid #e2e8f0; border-radius: 9px; background: #f8fafc; line-height: 1.45; max-width: 100%; overflow-wrap: anywhere; }
.case-publications { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.case-reviews { display: grid; gap: 20px; }
.case-card { margin: 0; padding: 26px; border: 1px solid #e2e8f0; border-radius: 14px; background: #fff; line-height: 1.7; overflow-wrap: anywhere; min-width: 0; }
.case-card h3 { margin: 10px 0; font-size: 1.1rem; }
.case-card p { color: #64748b; }
.case-card blockquote { margin: 0 0 22px; }
.case-card figcaption { display: grid; gap: 4px; font-size: .9rem; }
.case-card figcaption span, .case-card time { color: #64748b; }
.case-demo { display: block; border-left: 3px solid #d97706; background: #fffbeb; padding: 9px 12px; color: #92400e; font-size: .78rem; line-height: 1.5; font-weight: 600; margin-bottom: 14px; }
.case-bottom { padding: 30px 16px 50px; }
@media (max-width: 760px) {
    .case-hero, .case-bottom { padding-left: 14px; padding-right: 14px; }
    .case-hero-grid { grid-template-columns: minmax(0, 1fr); gap: 24px; }
    .case-image { aspect-ratio: 16 / 9; }
    .case-facts { grid-template-columns: minmax(0, 1fr); gap: 20px; }
    .case-section { padding: 24px 14px; }
    .case-section h2 { font-size: 1.4rem; }
    .case-contributions, .case-contributions tbody { display: block; width: 100%; }
    .case-contributions thead { display: none; }
    .case-contributions tr { display: block; border: 1px solid #e2e8f0; border-radius: 12px; overflow: hidden; margin-bottom: 18px; }
    .case-contributions th, .case-contributions td, .case-contributions th:first-child { display: block; width: auto; border: 0; padding: 18px; }
    .case-contributions td { border-top: 1px solid #e2e8f0; }
    .case-contributions [data-label]::before { content: attr(data-label); display: block; font-size: .78rem; color: #64748b; margin-bottom: 10px; font-weight: 600; }
    .case-publications { grid-template-columns: minmax(0, 1fr); }
    .case-card { padding: 20px; }
}
