.case-page {
  --case-space-4: 4px;
  --case-space-8: 8px;
  --case-space-12: 12px;
  --case-space-16: 16px;
  --case-space-24: 24px;
  --case-space-32: 32px;
}
.case-page #primary { width: 100%; margin: var(--case-space-32) 0; padding: 0; }
.case-page .case-breadcrumb { margin-bottom: var(--case-space-32); }
.case-page .case-intro { margin: 0 0 var(--case-space-32); }
.case-page .case-label { color: var(--ast-global-color-0); margin-bottom: var(--case-space-12); }
.case-page .case-intro h1 { margin: 0 0 var(--case-space-16); }
.case-page .case-intro p:last-child { margin-bottom: 0; }
.case-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--case-space-24); }
.case-page.ast-separate-container .ast-article-post.case-card { padding: 0 !important; margin: 0 !important; background: var(--ast-global-color-5); overflow: hidden; }
.case-card .post-thumb { display: block; margin: 0; }
.case-card .post-thumb img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; display: block; }
.case-card-content { padding: var(--case-space-24); }
.case-page #primary .case-card h2 { margin: 0 0 var(--case-space-16); font-size: calc(var(--wp--preset--font-size--normal) * 1.5); }
.case-page .case-card p { margin-bottom: var(--case-space-16); }
.case-page .case-cover { margin-bottom: var(--case-space-32); }
.case-cover img { display: block; width: 100%; aspect-ratio: 16 / 7; object-fit: contain; background: var(--ast-global-color-5); }
.case-page .case-content { background: var(--ast-global-color-5); padding: var(--case-space-32); margin-bottom: var(--case-space-24); }
.case-page .case-content h2 { margin: var(--case-space-24) 0 var(--case-space-16); }
.case-page .case-content h2:first-child { margin-top: 0; }
.case-page .case-content p { margin-bottom: var(--case-space-16); }
.case-contact { display: flex; align-items: center; justify-content: space-between; gap: var(--case-space-24); padding: var(--case-space-32); margin-top: var(--case-space-32); background: var(--ast-global-color-5); }
.case-page .case-contact h2 { margin: 0 0 var(--case-space-12); }
.case-page .case-contact p { margin: 0; }
.case-contact .ast-button { flex-shrink: 0; padding: var(--case-space-16) var(--case-space-24); }
@media (max-width: 767px) {
  .case-grid { grid-template-columns: minmax(0, 1fr); }
  .case-contact { flex-direction: column; align-items: flex-start; }
  .case-page .case-content, .case-card-content, .case-contact { padding: var(--case-space-16); }
}
