.case-page { --case-ink: #193129; --case-muted: #526158; --case-paper: #f5f2ea; --case-rule: #c9cec7; --case-pine: #173e32; --case-clay: #a34830; margin: 0; background: var(--case-paper); color: var(--case-ink); font-family: 'DM Sans', sans-serif; }
.case-page * { box-sizing: border-box; }
.case-page .case-shell { width: min(1120px, calc(100% - 40px)); margin-inline: auto; }
.case-page .case-main { padding: clamp(44px, 7vw, 82px) 0 78px; }
.case-page .case-kicker { margin: 0 0 12px; color: var(--case-clay); font-size: .72rem; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.case-page .case-main h1, .case-page .case-main h2 { color: var(--case-ink); font-family: Georgia, 'Times New Roman', serif; font-weight: 400; line-height: 1.04; letter-spacing: -.045em; }
.case-page .case-main h1 { max-width: 14ch; margin: 0 0 18px; font-size: clamp(2.6rem, 6vw, 5rem); }
.case-page .case-lead { max-width: 62ch; color: var(--case-muted); font-size: 1.15rem; }
.case-page .case-facts { display: flex; flex-wrap: wrap; gap: 10px 24px; margin: 25px 0 36px; padding: 13px 0; border-top: 1px solid var(--case-rule); border-bottom: 1px solid var(--case-rule); }
.case-page .case-facts span { color: var(--case-pine); font-size: .92rem; font-weight: 700; }
.case-page .case-facts span + span::before { content: '·'; margin-right: 24px; color: var(--case-clay); }
.case-page .site-language-menu { width: 228px; }
.case-page .site-language-menu a { white-space: normal; }
.case-page .site-language-menu a span { max-width: 175px; }
.case-page .case-gallery { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(16px, 3vw, 32px); margin-bottom: 48px; }
.case-page .case-gallery-single { grid-template-columns: 1fr; max-width: 960px; }
.case-page .case-hero { margin: 0 0 48px; }
.case-page .case-gallery .case-hero { min-width: 0; margin: 0; }
.case-page .case-gallery .case-hero img { width: 100%; height: clamp(240px, 36vw, 420px); object-fit: cover; }
.case-page .case-hero img { display: block; width: 100%; max-height: 620px; object-fit: cover; }
.case-page .case-hero figcaption { padding-top: 9px; color: var(--case-muted); font-size: .88rem; }
.case-page .case-copy { display: grid; grid-template-columns: minmax(0, 1fr) minmax(240px, .55fr); gap: 48px; align-items: start; }
.case-page .case-copy h2 { margin: 0 0 16px; font-size: clamp(1.9rem, 4vw, 3rem); }
.case-page .case-copy p { max-width: 65ch; }
.case-page .case-note { padding: 4px 0 4px 22px; border-left: 2px solid var(--case-clay); }
.case-page .case-note h2 { font-size: 1.5rem; }
.case-page .case-note a, .case-page .case-page-link { color: var(--case-pine); font-weight: 700; text-underline-offset: 4px; }
.case-page .case-cta { margin-top: 58px; padding: 28px 0; border-top: 1px solid var(--case-rule); border-bottom: 1px solid var(--case-rule); }
.case-page .case-cta h2 { margin: 0 0 10px; font-size: clamp(1.8rem, 4vw, 2.5rem); }
.case-page .case-cta p { max-width: 58ch; }
.case-page .case-cta .case-button { display: inline-flex; align-items: center; gap: .5rem; margin-top: 6px; padding: .72rem 1rem; border: 1px solid var(--case-pine); border-radius: 2px; background: var(--case-pine); color: #fff; text-decoration: none; font-weight: 700; }
.case-page .case-cta .case-button:hover { background: #0f3025; }
@media (max-width: 700px) { .case-page .case-shell { width: min(100% - 28px, 1120px); } .case-page .case-copy, .case-page .case-gallery { grid-template-columns: 1fr; gap: 26px; } .case-page .case-facts { gap: 8px 14px; } .case-page .case-facts span + span::before { display: none; } .case-page .case-gallery .case-hero img { height: auto; max-height: 490px; object-fit: cover; } .case-page .case-hero figcaption { padding-right: 4rem; } }
@media (max-width: 820px) {
  .case-page .footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .case-page .footer-grid > div:first-child { grid-column: 1 / -1; }
}
@media (max-width: 420px) {
  .case-page .footer-grid { grid-template-columns: minmax(0, 1fr); }
  .case-page .footer-grid > div:first-child { grid-column: auto; }
}
