/* De mockups/portafolio.html (mismo CSS). */
.feat{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:clamp(20px,3vw,48px);align-items:end;margin-bottom:clamp(60px,7vw,110px)}
.feat .m{position:relative;overflow:hidden;aspect-ratio:16/9;cursor:none}
.feat .m img{width:100%;height:100%;object-fit:cover;transition:transform 1.6s var(--e)}
.feat .m:hover img{transform:scale(1.05)}
.feat .m .play{position:absolute;left:24px;bottom:24px;display:flex;align-items:center;gap:14px}
.feat .m .play span{width:64px;height:64px;border-radius:50%;background:var(--red);display:grid;place-items:center}
.feat .info .lbl{color:var(--red)}
.feat h2{font-family:var(--wide);font-stretch:125%;font-weight:800;text-transform:uppercase;font-size:clamp(34px,4.4vw,78px);line-height:.88;letter-spacing:-.04em;margin:14px 0 18px}
.feat p{color:var(--paper-2);max-width:40ch}
.feat h2.long{font-size:clamp(28px,3vw,52px)}
.feat .acts{display:flex;gap:10px;flex-wrap:wrap;margin-top:26px}
.bar{position:sticky;top:70px;z-index:50;background:rgba(7,7,7,.86);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-block:1px solid var(--line);margin-bottom:clamp(30px,4vw,50px)}
.bar .wrap{display:flex;justify-content:space-between;align-items:center;gap:20px;height:72px}
.filters{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding-block:4px}
.filters::-webkit-scrollbar{display:none}
.count{color:var(--dim);white-space:nowrap}
.empty{grid-column:1/-1;padding:80px 0;text-align:center;color:var(--dim)}
.yt{display:flex;justify-content:center;margin-top:clamp(60px,7vw,100px)}
@media (max-width:860px){.feat{grid-template-columns:1fr}.count{display:none}.bar{top:70px}}

/* Filtro del servidor: las tarjetas ocultas no ocupan lugar. */
.pc[hidden]{display:none}
