.case-page { padding-inline: var(--panel-gutter); }
.case-container { width: min(100%, var(--container)); margin-inline: auto; }
.case-panel { padding-inline: var(--section-y); background: hsl(var(--background)); color: hsl(var(--foreground)); border: 1px solid hsl(var(--border)); border-radius: var(--radius-panel); }
.case-hero, .case-index-hero { padding-block: var(--section-y-lg); }
.case-hero h1, .case-index-hero h1 { max-width: var(--measure-headline); margin: var(--space-12) 0 var(--space-6); font-size: var(--text-h1); line-height: 1.05; letter-spacing: -0.03em; text-wrap: balance; }
.case-index-hero p { max-width: var(--measure-lede); margin: 0; color: hsl(var(--muted-foreground)); font-size: var(--text-lg); }
.case-hero__meta, .case-share, .case-filters, .case-chip-cloud { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2); }
.case-hero__meta { margin-top: var(--space-8); color: hsl(var(--muted-foreground)); }
.case-filters button, .case-chip-cloud a { display: inline-flex; align-items: center; min-height: 2rem; padding: var(--space-1) var(--space-3); border: 1px solid hsl(var(--border)); border-radius: var(--radius-pill); font-size: var(--text-xs); font-weight: 600; letter-spacing: 0.06em; line-height: 1.2; text-decoration: none; text-transform: uppercase; }
.case-share button, .case-share a, .case-filters button { padding: var(--space-2) var(--space-4); background: transparent; border: 1px solid hsl(var(--border)); border-radius: var(--radius-pill); color: hsl(var(--foreground)); font-size: var(--text-sm); font-weight: 600; text-decoration: none; cursor: pointer; }
.case-filters button[aria-pressed="true"] { background: hsl(var(--foreground)); color: hsl(var(--background)); }
.case-hero-image { margin-block: var(--panel-gutter) var(--section-y); }
.case-hero-image img, .case-gallery img { width: 100%; object-fit: cover; border-radius: var(--radius-card); }
.case-story-layout { display: grid; gap: var(--space-12); padding-block: var(--section-y); }
.case-facts { align-self: start; padding: var(--space-6); background: hsl(var(--card)); border: 1px solid hsl(var(--border)); border-radius: var(--radius-card); }
.case-facts dl, .case-facts ul { margin: 0; padding: 0; }
.case-facts dl > div + div { padding-top: var(--space-5); margin-top: var(--space-5); border-top: 1px solid hsl(var(--border)); }
.case-facts dt { margin-bottom: var(--space-1); color: hsl(var(--muted-foreground)); font-size: var(--text-sm); }
.case-facts dd { margin: 0; }
.case-facts li { margin-left: var(--space-5); }
.case-story { max-width: var(--measure-prose); }
.case-story section + section { margin-top: var(--section-y); }
.case-story h2, .case-results h2, .case-testimonial h2, .case-related h2, .case-featured-wrap h2, .case-catalogue h2, .case-trades h2, .case-common h2 { margin: 0 0 var(--space-8); font-size: var(--text-3xl); line-height: 1.15; letter-spacing: -0.02em; text-wrap: balance; }
.case-story h3, .case-trade-group h3, .case-common h3 { margin: var(--space-8) 0 var(--space-3); font-size: var(--text-xl); }
.case-story p, .case-common p { line-height: 1.6; text-wrap: pretty; }
.case-findings > div { padding-block: var(--space-5); border-bottom: 1px solid hsl(var(--border)); }
.case-gallery { display: grid; gap: var(--space-5); padding-block: var(--section-y); }
.case-gallery figure { margin: 0; }
.case-gallery figcaption { margin-top: var(--space-2); color: hsl(var(--muted-foreground)); font-size: var(--text-sm); }
.case-results, .case-featured-wrap { padding-block: var(--section-y); margin-block: var(--section-y); }
.case-results__grid, .case-stats-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 9rem), 1fr)); min-width: 0; gap: var(--space-6); }
.case-results__grid > *, .case-stats-grid > * { min-width: 0; }
.case-testimonial, .case-related, .case-index-stats, .case-logo-wall, .case-catalogue, .case-trades, .case-common { padding-block: var(--section-y); }
.case-testimonial blockquote { max-width: var(--measure-prose); margin: 0; font-size: var(--text-xl); line-height: 1.5; }
.case-testimonial footer { margin-top: var(--space-5); color: hsl(var(--muted-foreground)); font-size: var(--text-sm); }
.case-inline-cta { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--space-5); padding-block: var(--space-12); }
.case-section-head, .case-filter-head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: var(--space-4); }
.case-grid { display: grid; gap: var(--space-5); }
.case-logo-wall { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4); }
.case-logo-wall a { display: grid; place-items: center; min-height: 7rem; padding: var(--space-4); background: hsl(var(--card)); border: 1px solid hsl(var(--border)); border-radius: var(--radius-tile); }
.case-logo-wall img { width: 8rem; height: 4rem; object-fit: contain; filter: grayscale(1); opacity: 0.72; }
.case-wordmark { display: grid; width: 10rem; height: 5rem; place-items: center; background: hsl(var(--background)); color: hsl(var(--foreground)); font-family: "Geist", "Geist Fallback", system-ui, sans-serif; font-size: var(--text-lg); font-weight: 600; line-height: 1.1; text-align: center; filter: none; }
.case-logo-wall .case-wordmark { width: 8rem; height: 4rem; }
.case-catalogue .case-grid, .case-filters { margin-top: var(--space-8); }
.case-trade-group + .case-trade-group, .case-common article + article { padding-top: var(--space-8); margin-top: var(--space-8); border-top: 1px solid hsl(var(--border)); }
.case-trade-group h3, .case-common h3 { margin-top: 0; }
.case-trades__contact { display: inline-block; margin-top: var(--space-8); }

@media (max-width: 767px) {
	.case-panel { padding-inline: var(--space-6); }
}

@media (min-width: 768px) {
	.case-gallery, .case-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.case-logo-wall { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

@media (min-width: 1024px) {
	.case-story-layout { grid-template-columns: minmax(14rem, 1fr) minmax(0, 3fr); }
	.case-facts { position: sticky; top: var(--space-24); }
	.case-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.case-logo-wall { grid-template-columns: repeat(6, minmax(0, 1fr)); }
}

@media (hover: hover) and (pointer: fine) {
	.case-featured .case-card:hover { box-shadow: var(--shadow-feature-hover); }
	.case-logo-wall a:hover img, .case-logo-wall a:focus-visible img { filter: grayscale(0); opacity: 1; }
}

@media (prefers-reduced-motion: no-preference) {
	html.js .case-results__grid.is-settling { animation: case-results-settle 400ms var(--ease-out) both; }
}

@keyframes case-results-settle {
	from { clip-path: inset(0 100% 0 0); }
	to { clip-path: inset(0 0 0 0); }
}
