.label{padding:clamp(80px,14vh,160px) var(--pad);background:transparent;border-top:1px solid var(--line)}
.label .top{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:46px;flex-wrap:wrap}
.label h2{font-size:clamp(56px,10vw,170px);font-weight:900;font-variation-settings:'wdth' 72;line-height:.8;text-transform:uppercase}
.label .soon{max-width:40ch;color:#cfcbc3;line-height:1.5}
.lgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.rel{position:relative}
.rel .cv{aspect-ratio:1;border-radius:8px;overflow:hidden;position:relative}
.rel .cv img{width:100%;height:100%;object-fit:cover;transition:transform .7s}
.rel:hover .cv img{transform:scale(1.05)}
.rel .play{position:absolute;right:12px;bottom:12px;width:46px;height:46px;border-radius:50%;background:var(--fg);color:var(--bg);display:grid;place-items:center;transform:scale(.8);opacity:0;transition:.35s}
.rel:hover .play{transform:none;opacity:1}
.rel h4{margin-top:12px;font-size:19px;font-weight:700}
.rel .kick{margin-top:4px;display:block}
.tag{display:inline-block;padding:5px 10px;border:1px solid var(--line);border-radius:99px;font-family:var(--mono);font-size:10.5px;text-transform:uppercase;color:var(--mute)}
@media (max-width:1000px){
.lgrid{grid-template-columns:repeat(2,1fr)}
}
/* --- antes injetado pelo app.js --- */
.vrow{display:flex;justify-content:center;align-items:center;gap:clamp(12px,2vw,26px);flex-wrap:wrap;padding:20px 0}
.vcard{position:relative;width:clamp(170px,17vw,240px);padding:10px 10px 14px;border-radius:14px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);text-align:center;cursor:pointer;opacity:.6;transform:scale(.88);transition:transform .7s cubic-bezier(.16,1,.3,1),opacity .6s,background .4s;contain:layout paint;box-shadow:0 20px 50px rgba(0,0,0,.35)}
.vcard.on,.vcard:hover{opacity:1;transform:scale(1);background:rgba(255,255,255,.11)}
.vbox{position:relative;aspect-ratio:1.12;border-radius:9px;overflow:hidden;display:grid;place-items:center;background:#111}
.vbox .vbg{position:absolute;inset:-12%;width:124%;height:124%;object-fit:cover;filter:brightness(.62) saturate(1.2)}
.vmini{position:relative;width:58%;aspect-ratio:1;transform:translateX(-12%)}
.vmini .vcov{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:5px;z-index:2;box-shadow:6px 8px 22px rgba(0,0,0,.5)}
.vmini .vdisc{position:absolute;top:5%;left:22%;width:90%;height:90%;z-index:1;transition:left .8s cubic-bezier(.16,1,.3,1);animation:vspin 3.2s linear infinite}
.vcard.on .vdisc,.vcard:hover .vdisc{left:44%}
@keyframes vspin{to{transform:rotate(360deg)}}
.vcard:not(.on){background:rgba(16,16,22,.55)}
.vcard.on{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.vmini .vdisc{animation-play-state:paused;will-change:transform}
.vcard.on .vdisc,.vcard:hover .vdisc{animation-play-state:running}
.lab-off .vdisc{animation-play-state:paused!important}
.vcard .vt{margin-top:12px;font-size:clamp(14px,1.05vw,17px);font-weight:700;line-height:1.15}
.vcard .va{margin-top:4px;font-size:12.5px;color:rgba(255,255,255,.72)}
.vcard .vtag{position:absolute;top:18px;left:18px;z-index:3;font-family:var(--mono);font-size:9.5px;text-transform:uppercase;padding:3px 7px;border-radius:99px;background:rgba(0,0,0,.45);border:1px solid rgba(255,255,255,.2)}
.label .lgrid{display:block}
.label .top .soon{display:none}
.label .top{margin-bottom:clamp(26px,4vh,46px)}
.ldesc{align-self:center}
.ldesc p{font-size:clamp(17px,1.5vw,23px);line-height:1.5;color:#e6e2da;max-width:34ch;margin:0}
.ldesc p::before{content:'';display:block;width:42px;height:3px;border-radius:2px;background:var(--accent);margin-bottom:20px}
.vcard .vplay{position:absolute;top:14px;right:14px;z-index:3;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:rgba(0,0,0,.5);border:1px solid rgba(255,255,255,.25);color:#fff;font-style:normal;cursor:pointer}
.vcard .vplay svg{width:12px;height:12px}
.vcard.pl .vplay{background:var(--accent);border-color:var(--accent)}
.lwrap{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,2.25fr);gap:clamp(24px,4vw,70px);align-items:center}
.lwrap .vrow{flex-wrap:nowrap;justify-content:flex-end}.lwrap .vcard{width:auto;flex:1 1 0;max-width:270px}
@media (max-width:900px){.lwrap{grid-template-columns:1fr}}
@media (max-width:700px){.lwrap .vrow{overflow-x:auto;margin:0 calc(-1*var(--pad));padding:14px var(--pad);justify-content:flex-start;scroll-snap-type:x mandatory}.lwrap .vcard{flex:0 0 66%;max-width:none;scroll-snap-align:center}}
@media (max-width:700px){.vrow{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;scroll-snap-type:x mandatory;padding:20px 4px;margin:0 calc(-1*var(--pad))}.vcard{flex:0 0 62%;scroll-snap-align:center}}
/* --- correções de layout e acessibilidade (label) --- */
/* o reset global img{max-width:100%} impedia o fundo desfocado de cobrir o card (faixa escura à direita) */
.vbox .vbg{max-width:none}
.vcard .vplay{padding:0;font:inherit;-webkit-appearance:none;appearance:none}
.vcard .vplay::before{content:'';position:absolute;inset:-7px;border-radius:50%}
.vcard .vlink{color:inherit;text-decoration:none}
.vcard .vplay:focus-visible,.vcard .vlink:focus-visible{outline:2px solid #fff;outline-offset:3px}
.vcard .vlink:focus-visible{border-radius:3px}
/* no toque, o :hover "gruda" depois do toque: mantém o card parado (o vinil gira só enquanto toca) */
@media (hover:none){.label .vcard:hover{transform:none!important;background:rgba(255,255,255,.07)!important}.label .vcard:hover:not(.pl) .vdisc{left:22%!important;animation-play-state:paused!important}}
