/* Interactive project cards and click-to-play video previews */
.interactive-card { cursor:pointer; padding-bottom:0; }
.interactive-card:focus-visible { outline:2px solid #ff7465; outline-offset:3px; }
.interactive-card .card-body { padding-bottom:.96rem; }
.interactive-card .card-copy { padding-bottom:0; }
.card-grid[data-view="compact"] .interactive-card .card-copy { padding-bottom:1rem; }
.interactive-card .card-title-row h3 { flex:1 1 auto; min-width:0; }
.card-title-link { color:inherit; text-decoration:none; }
.card-title-link:hover,.card-title-link:focus-visible { color:#fff; }
.card-media-strip.interactive-video { cursor:pointer; }
.card-media-strip.interactive-video:focus-visible { outline:2px solid #ff887b; outline-offset:3px; }
.card-media-strip.interactive-video::before { transition:transform 180ms ease,background 180ms ease,box-shadow 180ms ease; }
.card-media-strip.interactive-video:hover::before,.card-media-strip.interactive-video:focus-visible::before { transform:translate(-50%,-50%) scale(1.08); background:rgba(215,38,27,.9); box-shadow:0 0 24px rgba(255,87,69,.42); }
.card-video-open { overflow:hidden; }
.card-video-modal { position:fixed; z-index:10000; inset:0; display:none; place-items:center; padding:1.25rem; }
.card-video-modal.open { display:grid; }
.card-video-modal__backdrop { position:absolute; inset:0; background:rgba(4,2,4,.88); backdrop-filter:blur(10px); }
.card-video-modal__panel { position:relative; width:min(1100px,96vw); overflow:hidden; background:#0d090d; border:1px solid #70383f; border-radius:1rem; box-shadow:0 40px 110px rgba(0,0,0,.8); }
.card-video-modal__header { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.8rem .9rem .8rem 1rem; border-bottom:1px solid var(--line); }
.card-video-modal__header h2 { margin:0; overflow:hidden; font-size:clamp(1rem,2.3vw,1.35rem); white-space:nowrap; text-overflow:ellipsis; }
.card-video-modal__close { display:grid; flex:0 0 auto; place-items:center; width:2.35rem; height:2.35rem; padding:0; color:#fff; background:rgba(42,20,25,.9); border:1px solid #754047; border-radius:50%; cursor:pointer; font:inherit; font-size:1.35rem; line-height:1; }
.card-video-modal__player { width:100%; aspect-ratio:16/9; background:#000; }
.card-video-modal__player iframe { display:block; width:100%; height:100%; border:0; }
.card-video-modal__project { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.9rem 1rem; color:#f2dfe1; background:rgba(30,13,19,.9); border-top:1px solid var(--line); font-weight:800; text-decoration:none; }
.card-video-modal__project:hover,.card-video-modal__project:focus-visible { color:#fff; background:rgba(116,30,31,.32); }
@media (max-width:600px) { .card-video-modal{padding:.6rem}.card-video-modal__panel{width:100%;border-radius:.75rem}.card-video-modal__header{padding-left:.8rem} }
