.application-cases { background: var(--paper); }
.application-cases .section-header h2, .case-gallery-section h2 { font-size: 2rem; line-height: 1.2; text-transform: none; }
.case-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.case-card { min-width: 0; border: 1px solid var(--line); border-radius: 8px; overflow: hidden; background: var(--paper); }
.case-card-image { display: block; aspect-ratio: 4 / 3; border-bottom: 1px solid var(--line); }
.case-card-image img { width: 100%; height: 100%; padding: 16px; object-fit: contain; }
.case-card-copy { padding: 24px; }
.case-card h3 { font-size: 1.3rem; line-height: 1.3; }
.case-card p { color: var(--muted); font-size: .95rem; }
.case-card a:focus-visible { outline: 3px solid var(--red); outline-offset: 3px; }
.case-heading { padding: 112px 0 28px; background: var(--canvas); }
.case-heading .breadcrumbs { margin-bottom: 24px; color: var(--muted); }
.case-heading .breadcrumbs a:hover { color: var(--blue-dark); text-decoration: underline; }
.case-heading .eyebrow { margin-bottom: 16px; }
.case-heading h1 { max-width: 940px; font-size: 2.6rem; line-height: 1.15; }
.case-summary { max-width: 76ch; font-size: 1.05rem; color: var(--muted); }
.application-case-feature { background: var(--paper); padding: 24px 0; }
.application-case-feature figure { margin-block: 0; }
.application-case-feature img { width: 100%; height: 460px; object-fit: contain; }
.application-case-feature figcaption { max-width: 80ch; margin: 20px auto 0; font-size: .88rem; color: var(--muted); text-align: center; }
.application-case-body .rich-text h2 { font-size: 1.8rem; line-height: 1.2; text-transform: none; }
.application-case-body .rich-text h3 { font-size: 1.25rem; line-height: 1.3; }
.application-case-body .rich-text > div > h2:first-child { margin-top: 0; }
.application-case-body .rich-text a { text-decoration: underline; text-underline-offset: 3px; }
.case-project-brief { align-self: start; }
.case-project-brief h2 { font-size: 1.45rem; line-height: 1.25; }
.case-project-brief li { margin-bottom: 12px; }
.case-project-brief .button { width: 100%; white-space: normal; }
.case-project-brief .text-link { margin-top: 24px; }
.case-gallery-section { background: var(--fog); }
.case-gallery { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.case-gallery figure { min-width: 0; margin: 0; }
.case-gallery img { width: 100%; aspect-ratio: 1; height: auto; object-fit: contain; background: var(--paper); }
.case-gallery figcaption { padding-top: 16px; color: var(--muted); font-size: .95rem; }
@media (max-width: 1000px) {
  .case-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .case-heading h1 { font-size: 2.2rem; }
  .case-gallery { gap: 16px; }
}
@media (max-width: 640px) {
  .case-grid, .case-gallery { grid-template-columns: minmax(0, 1fr); }
  .case-heading { padding-top: 94px; }
  .case-heading h1 { font-size: 1.8rem; }
  .case-summary { font-size: 1rem; }
  .application-case-feature img { height: 310px; }
  .application-cases .section-header h2, .case-gallery-section h2, .application-case-body .rich-text h2 { font-size: 1.55rem; }
  .case-card-copy { padding: 20px; }
  .case-gallery { gap: 32px; }
}
