.project-card .mock{isolation:isolate;transition:transform .65s cubic-bezier(.2,.75,.25,1),box-shadow .65s ease}
.project-card__media-shell{position:absolute;inset:0;z-index:1;overflow:hidden;border-radius:inherit;background:var(--media-bg,#111315);pointer-events:none}
.project-card__media-shell:after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(145deg,rgba(255,255,255,.08),transparent 45%,rgba(0,0,0,.12));pointer-events:none}
.project-card__media-backdrop{position:absolute;inset:-8%;width:116%;height:116%;object-fit:cover;object-position:var(--media-position,center);filter:blur(28px) saturate(.82);transform:scale(1.04);opacity:0;transition:opacity .55s ease}
.project-card.poster-ready .project-card__media-backdrop{opacity:.52}
.project-card__media-stage{position:absolute;z-index:2;left:clamp(14px,2.2vw,30px);right:clamp(14px,2.2vw,30px);top:50%;aspect-ratio:var(--media-ratio,16 / 9);max-height:calc(100% - clamp(28px,4.4vw,60px));overflow:hidden;transform:translateY(-50%);border:1px solid rgba(255,255,255,.3);border-radius:clamp(14px,2vw,24px);background:var(--media-surface,rgba(12,14,16,.84));box-shadow:0 24px 70px rgba(0,0,0,.2),inset 0 1px rgba(255,255,255,.14)}
.project-card__poster,.project-card__video{position:absolute;inset:0;z-index:1;width:100%;height:100%;object-fit:var(--media-fit,contain);object-position:var(--media-position,center);background:transparent;pointer-events:none}
.project-card__poster{opacity:0;transition:opacity .55s ease}
.project-card.poster-ready .project-card__poster{opacity:1}
.project-card__video{z-index:2;opacity:0;transition:opacity .55s ease}
.project-card.video-ready .project-card__video{opacity:1}
.project-card .mock-top,.project-card .mock-word,.project-card .mock-grid{z-index:3;transition:opacity .4s ease,transform .65s cubic-bezier(.2,.75,.25,1)}
.project-card.poster-ready .mock-word,.project-card.poster-ready .mock-grid{opacity:0}
.project-card.video-ready .mock-grid{opacity:0}
.project-card.video-playing .mock-word{opacity:0;transform:translateY(14px)}
.project-card:hover .mock{transform:perspective(1200px) rotateX(.7deg) translateY(-4px);box-shadow:0 28px 70px rgba(0,0,0,.2)}
.shelf{scroll-snap-type:x proximity;user-select:none;-webkit-user-select:none;overscroll-behavior-inline:contain}
.shelf img{-webkit-user-drag:none;user-select:none}
.shelf.is-dragging,.shelf.is-gliding{scroll-snap-type:none;scroll-behavior:auto}
.shelf.is-dragging .project-card:hover .mock{transform:none;box-shadow:none}
@media(hover:hover) and (pointer:fine){.shelf,.shelf .project-card{cursor:grab}.shelf .project-card :is(a,button,[role="button"]){cursor:pointer}.shelf .project-card :is(input,textarea,select,[contenteditable="true"]){cursor:auto}.shelf.is-dragging,.shelf.is-dragging *{cursor:grabbing!important}}
.case-media{position:relative;isolation:isolate;width:100%;aspect-ratio:16/9;margin:60px 0 80px;overflow:hidden;border:1px solid rgba(255,255,255,.75);border-radius:clamp(22px,3vw,38px);background:#dfe9ed;box-shadow:0 28px 80px rgba(20,24,26,.12)}
.case-poster,.case-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;background:#070707}
.case-poster{z-index:2;opacity:0;transition:opacity .45s ease}
.case-media.poster-ready .case-poster{opacity:1}
.case-video{z-index:3;opacity:0;transition:opacity .65s ease}
.case-media.video-ready .case-video{opacity:1}
.case-fallback{position:absolute!important;inset:0;z-index:1;height:auto!important;margin:0!important;border-radius:0!important}
.case-media.video-ready .case-fallback{opacity:0;visibility:hidden}
.case-video-control{position:absolute;z-index:4;right:20px;bottom:20px;border:1px solid rgba(255,255,255,.7);border-radius:14px;padding:11px 15px;background:rgba(247,247,245,.72);backdrop-filter:blur(16px);font-size:11px;transition:background .25s ease,transform .25s ease}
.case-video-control:hover{background:#fff;transform:translateY(-2px)}
.case-media.no-video .case-video-control,.case-media.video-error .case-video-control{display:none}
.case-lead{max-width:900px;font-size:clamp(20px,3vw,34px)!important;color:#111!important}
.case-copy-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(30px,8vw,110px);padding:70px 0;border-top:1px solid var(--line)}
.case-copy-grid h2{margin:20px 0 0;font-size:clamp(28px,4vw,52px);font-weight:500;line-height:1.08;letter-spacing:-.04em}
.case-copy-grid>p{align-self:end;margin:0;font-size:16px}
@media(max-width:800px){.project-card__media-stage{left:10px;right:10px;max-height:calc(100% - 20px);border-radius:14px}.project-card__media-backdrop{filter:blur(22px) saturate(.8)}.project-card__video{display:none}.case-media{margin:40px 0 60px;aspect-ratio:4/3}.case-video{object-fit:cover}.case-video-control{right:12px;bottom:12px}}
@media(max-width:800px){.case-copy-grid{grid-template-columns:1fr;padding:45px 0}}
@media(prefers-reduced-motion:reduce){.project-card__video{display:none}.case-video{display:none}.case-video-control{display:none}}
