/* Read-only photo + gradient + original institution mark. Shared by SSR/React.
   Exports are rendered from this same component; source photos are retained. */
.case-cover__composition { position: absolute; inset: 0; overflow: hidden; container-type: inline-size; }
.case-cover__composition > .case-cover { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.case-cover__gradient { position: absolute; inset: 0; background: radial-gradient(ellipse at center,rgba(255,255,255,.84),rgba(255,255,255,.68) 28%,rgba(255,255,255,.26) 58%,rgba(255,255,255,0) 85%),linear-gradient(180deg,rgba(1,22,85,.04),rgba(1,22,85,.16)); pointer-events: none; }
.case-cover__brand { position: absolute; inset: 0; width: 54%; height: 42%; max-width: 440px; max-height: 210px; margin: auto; display: grid; grid-template: minmax(0,1fr) / minmax(0,1fr); place-items: center; padding: 0; background: transparent; border: 0; border-radius: 0; box-shadow: none; }
.case-cover__brand--portrait { width: 27%; height: 64%; max-width: 210px; max-height: 290px; }
.case-cover__brand--square { width: 42%; height: 74%; max-width: 320px; max-height: 320px; }
.case-cover__brand img { display: block; min-width: 0; min-height: 0; width: 100%; height: 100%; object-fit: contain; filter: none; }
.case-institution { margin: 0; color: var(--ui-muted); font-size: 14px; line-height: 1.5; }
.case-institution strong { color: var(--color-primary); font-weight: 500; }
.case-card:has(.case-cover__composition) .case-card__visual::before { content: none; }
:is(.pf-card,.case-card) .case-cover__gradient { transition: opacity 180ms ease; }
@media (hover:hover) { :is(.pf-card,.case-card):hover .case-cover__gradient { opacity: .88; } }
@media (prefers-reduced-motion:reduce) { :is(.pf-card,.case-card) .case-cover__gradient { transition: none; } }
