.cases-preview{aspect-ratio:1152/420;grid-template-columns:repeat(3,1fr);gap:10px;width:100%;min-height:240px;display:grid}.cases-preview__cell{border-radius:var(--radius-md);background:var(--color-background);min-height:0;animation:cases-preview-cell-enter var(--duration-base) var(--ease-out) both;animation-delay:calc(var(--cell-index) * 40ms + 80ms);position:relative;overflow:hidden}.cases-preview__cell[data-reveal]{opacity:0;transition:opacity var(--duration-base) var(--ease-out), transform var(--duration-base) var(--ease-out);transition-delay:calc(var(--cell-index) * 40ms);animation:none;transform:translateY(8px)}.cases-preview__cell[data-reveal].is-visible{opacity:1;transform:translateY(0)}.cases-preview__tile-link{width:100%;height:100%;transition:transform var(--duration-press) var(--ease-out);display:block;position:relative}.cases-preview__tile-link:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px;border-radius:var(--radius-md)}.cases-preview__tile-link:active{transform:scale(.985)}.cases-preview__image{object-fit:cover;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block}.cases-preview__video{pointer-events:none}.cases-preview__video-scrim{background:linear-gradient(to top, color-mix(in srgb, var(--color-background) 72%, transparent) 0%, color-mix(in srgb, var(--color-background) 28%, transparent) 42%, color-mix(in srgb, var(--color-background) 18%, transparent) 100%);pointer-events:none;transition:background var(--duration-fast) var(--ease-out);position:absolute;inset:0}.cases-preview__caption{z-index:1;gap:var(--spacing-xs);padding:var(--spacing-md);pointer-events:none;flex-direction:column;display:flex;position:absolute;inset:auto 0 0}.cases-preview__caption-title{font-family:var(--font-family-serif);font-size:var(--font-size-base);font-weight:var(--font-weight-normal);color:var(--color-linen);margin:0;line-height:1.3}.cases-preview__tags{gap:var(--spacing-xs) var(--spacing-sm);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.cases-preview__tag{font-family:var(--font-family-sans);font-size:var(--font-size-xs);font-weight:var(--font-weight-light);letter-spacing:.02em;color:var(--color-text-muted);line-height:1.3}.cases-preview__cell--unlocked .cases-preview__image{transition:opacity var(--duration-fast) var(--ease-out)}.cases-preview__cell--locked .cases-preview__image{filter:blur(10px)saturate(.85);pointer-events:none;transform:scale(1.06)}.cases-preview__cell-scrim{background:color-mix(in srgb, var(--color-background) 36%, transparent);pointer-events:none;position:absolute;inset:0}.cases-preview__soon{z-index:1;pointer-events:none;font-family:var(--font-family-sans);font-size:var(--font-size-sm);letter-spacing:.06em;text-transform:lowercase;color:var(--color-linen);text-shadow:0 1px 12px color-mix(in srgb, var(--color-background) 70%, transparent);justify-content:center;align-items:center;margin:0;font-weight:500;display:flex;position:absolute;inset:0}@media (hover:hover) and (pointer:fine){.cases-preview__cell--unlocked .cases-preview__tile-link:hover .cases-preview__video-scrim{background:linear-gradient(to top, color-mix(in srgb, var(--color-background) 64%, transparent) 0%, color-mix(in srgb, var(--color-background) 18%, transparent) 42%, color-mix(in srgb, var(--color-background) 8%, transparent) 100%)}.cases-preview__cell--unlocked .cases-preview__tile-link:hover .cases-preview__caption-title{color:var(--color-accent)}}@keyframes cases-preview-cell-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (width<=700px){.cases-preview{aspect-ratio:auto;grid-template-columns:1fr;gap:10px;min-height:0}.cases-preview__cell{aspect-ratio:16/10}}@media (prefers-reduced-transparency:reduce){.cases-preview__cell-scrim{background:color-mix(in srgb, var(--color-background) 58%, transparent)}.cases-preview__video-scrim{background:linear-gradient(to top, color-mix(in srgb, var(--color-background) 88%, transparent) 0%, color-mix(in srgb, var(--color-background) 48%, transparent) 50%, color-mix(in srgb, var(--color-background) 28%, transparent) 100%)}}@media (prefers-reduced-motion:reduce){.cases-preview__cell{animation:.2s both cases-preview-fade-enter}.cases-preview__cell[data-reveal]{transition:opacity .2s;animation:none;transform:none}.cases-preview__cell[data-reveal].is-visible{transform:none}}@keyframes cases-preview-fade-enter{0%{opacity:0}to{opacity:1}}
