.paid-plans { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.case-teaser { align-self: center; padding: 24px 0; }
.case-teaser img { display: block; width: 112px; height: 112px; object-fit: cover; border-radius: 8px; }
.case-teaser h2 { margin: 20px 0 12px; font-size: 28px; line-height: 1.25; }
.case-teaser p { max-width: 42ch; line-height: 1.65; }
.case-page main { padding: 48px 0 72px; }
.case-page h1 { max-width: 24ch; margin: 16px 0; font-size: 40px; line-height: 1.18; }
.case-page h2 { font-size: 28px; line-height: 1.3; }
.case-page h3 { font-size: 22px; line-height: 1.35; }
.case-page p, .case-page li { line-height: 1.7; }
.case-intro { max-width: 74ch; padding-bottom: 32px; }
.case-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 12px 24px; color: #536066; font-size: 15px; }
.case-meta .case-contract-button { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 48px; padding: 12px 20px; border: 2px solid #2457d6; border-radius: 8px; background: #2457d6; color: #fff; font-size: 16px; font-weight: 700; line-height: 1.25; text-decoration: none; box-shadow: 0 5px 14px rgba(36, 87, 214, .18); }
.case-meta .case-contract-button:hover { background: #183b92; border-color: #183b92; }
.case-meta .case-contract-button:focus-visible { outline: 3px solid #2457d6; outline-offset: 4px; }
.case-contract-button svg { flex-shrink: 0; }
.case-body { max-width: 880px; }
.case-finding { border-top: 1px solid #dce3e6; padding: 28px 0; }
.case-finding h3 { margin: 0 0 20px; }
.case-finding blockquote { margin: 0 0 20px; padding: 0 0 0 20px; border-left: 3px solid #138169; }
.case-label { display: block; font-weight: 700; margin: 16px 0 4px; }
.case-note { border-top: 1px solid #dce3e6; padding-top: 24px; }
.case-page footer { border-top: 1px solid #dce3e6; padding: 24px 0; }
.case-page .nav-links { flex-wrap: wrap; }
.case-page *, .case-teaser * { overflow-wrap: anywhere; letter-spacing: 0; }
@media (max-width: 640px) {
  .case-meta .case-contract-button { width: 100%; box-sizing: border-box; margin-top: 4px; }
  .paid-plans { grid-template-columns: minmax(0, 1fr); }
  .case-page main { padding-top: 28px; }
  .case-page h1 { font-size: 30px; }
  .case-page h2, .case-teaser h2 { font-size: 24px; }
  .case-page h3 { font-size: 20px; }
}
