/* ============================================================
   Módulo 5 · Proyectos (/proyectos/)
   ============================================================ */
.pr [hidden]{display:none !important}
.vid{position:relative;aspect-ratio:16/9;background:repeating-linear-gradient(0deg,rgba(255,255,255,.015) 0 2px,rgba(0,0,0,0) 2px 4px),linear-gradient(135deg,#1A1A1D,#101012);border:1px solid #2C2C30;overflow:hidden;display:flex;align-items:center;justify-content:center}
.vid .play{width:76px;height:76px;border-radius:50%;border:1px solid #FFD100;display:flex;align-items:center;justify-content:center;background:rgba(11,11,12,.6);transition:transform .3s,box-shadow .3s;cursor:pointer}
.vid:hover .play{transform:scale(1.06);box-shadow:0 0 24px rgba(255,209,0,.35)}
.vid .play svg{width:22px;height:22px;margin-left:4px;color:#FFD100}
.vid .corner{position:absolute;top:14px;left:16px;color:#EDEBE6}
.vposter{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 30%;transition:transform 6s ease}
.vid:hover .vposter{transform:scale(1.04)}
.vshade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,11,12,.5) 0%,rgba(11,11,12,.05) 30%,rgba(11,11,12,.15) 65%,rgba(11,11,12,.85) 100%)}
.vid .play{position:relative;z-index:2}
.filters{display:flex;flex-wrap:wrap;gap:8px}
.fbtn{min-height:44px;padding:0 16px;background:transparent;border:1px solid #2C2C30;color:#8E8E93;cursor:pointer;transition:all .25s}
.fbtn:hover{color:#EDEBE6;border-color:#7A6400}
.fbtn.on{color:#0B0B0C;background:#FFD100;border-color:#FFD100}
.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.pj{display:flex;flex-direction:column;gap:14px;text-decoration:none;color:#EDEBE6;animation:pjin .4s ease both}
@keyframes pjin{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.pj .ph{position:relative;aspect-ratio:16/10;border:1px solid #2C2C30;background:linear-gradient(135deg,#1A1A1D,#101012);display:flex;align-items:center;justify-content:center;color:#8E8E93;overflow:hidden;transition:border-color .3s}
.pj:hover .ph{border-color:#FFD100}
.pj .ph .st{position:absolute;left:12px;top:12px;padding:6px 10px;background:rgba(11,11,12,.8);border:1px solid #2C2C30;color:#EDEBE6}
.pj .row{display:flex;justify-content:space-between;gap:12px;padding-top:12px;border-top:1px solid #2C2C30}
@media (max-width: 1000px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fx-top{grid-template-columns:1fr auto}.fx-row{grid-column:1/-1;grid-row:2}}
@media (max-width: 600px){.tag{display:none}.grid{grid-template-columns:1fr}}
.pj{cursor:default}
.pj .ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.pj .ph .st{z-index:1}
.btn{gap:10px}
.fbtn{font:inherit;letter-spacing:inherit;text-transform:inherit}

/* --- En operación: video integrado como panel de control --- */
.op{position:relative;margin:0 0 72px;min-height:min(78vh,720px);display:flex;flex-direction:column;justify-content:space-between;padding:28px 80px 26px;overflow:hidden;isolation:isolate}
.op-v{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-3;filter:saturate(1.05) contrast(1.05)}
.op-shade{position:absolute;inset:0;z-index:-2;pointer-events:none;
  background:linear-gradient(to bottom,var(--negro) 0,rgba(11,11,12,.35) 16%,rgba(11,11,12,0) 34%,rgba(11,11,12,0) 58%,rgba(11,11,12,.75) 82%,var(--negro) 100%),
             linear-gradient(to right,rgba(11,11,12,.85) 0,rgba(11,11,12,.35) 34%,rgba(11,11,12,0) 60%)}
.op-scan{position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.35;background:repeating-linear-gradient(0deg,rgba(0,0,0,.25) 0 1px,rgba(0,0,0,0) 1px 3px)}
.op .cn{position:absolute;width:18px;height:18px;border:0 solid #FFD100}
.op .tl{top:14px;left:56px;border-width:1px 0 0 1px}.op .tr{top:14px;right:56px;border-width:1px 1px 0 0}
.op .bl{bottom:14px;left:56px;border-width:0 0 1px 1px}.op .br{bottom:14px;right:56px;border-width:0 1px 1px 0}
.op-top{display:flex;justify-content:space-between;gap:16px;font-size:11px;color:#C9C7C2}
.op-top b{color:#fff;font-weight:400}
.op-live{display:inline-flex;align-items:center;gap:10px}
.op-live .rec{width:8px;height:8px;border-radius:50%;background:#E5484D;box-shadow:0 0 10px #E5484D;animation:rec 1.2s steps(2) infinite}
@keyframes rec{50%{opacity:.25}}
.op-body{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:28px 48px;margin-top:auto}
.op-tit{display:flex;flex-direction:column;gap:14px;max-width:620px;text-shadow:0 4px 30px rgba(0,0,0,.8)}
.op-tit h1,.op-tit h2{margin:0;font-size:clamp(30px,3.6vw,54px)}
.op-meters{display:grid;grid-template-columns:repeat(3,minmax(0,auto));gap:1px;background:rgba(255,209,0,.18);border:1px solid rgba(255,209,0,.28);backdrop-filter:blur(6px)}
.op-meters .mt{display:flex;flex-direction:column;gap:8px;padding:14px 18px;background:rgba(11,11,12,.72);min-width:140px}
.op-meters .mt > span{font-size:10px;color:#8E8E93}
.op-meters b{font-weight:500;font-size:22px;color:#EDEBE6}
.op-meters b small{font-size:11px;color:#8E8E93}
.op-meters [data-op-kva]{color:#FFD100}
.op-meters .gb{display:block;height:3px;background:#2C2C30}.op-meters .gb > i{display:block;height:100%;width:0;background:#FFD100;box-shadow:0 0 10px rgba(255,209,0,.6)}
.pl3{display:flex;gap:8px;align-items:center;height:26px}
.pl3 i{width:14px;height:14px;border:1px solid #3A3A3E;border-radius:2px;transition:background .3s,box-shadow .3s,border-color .3s}
.pl3 i.on{background:#FFD100;border-color:#FFD100;box-shadow:0 0 12px rgba(255,209,0,.7)}
.op-steps{list-style:none;margin:22px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.op-steps li{padding-top:10px;border-top:2px solid rgba(255,255,255,.14);font-size:11px;color:#8E8E93;transition:color .3s,border-color .3s}
.op-steps li.on{border-color:#FFD100;color:#C9C7C2}
.op-steps li.now{color:#FFD100;text-shadow:0 0 12px rgba(255,209,0,.5)}
@media (max-width: 900px){.op{padding:24px 32px}.op .tl,.op .bl{left:16px}.op .tr,.op .br{right:16px}}
@media (max-width: 640px){
  .op{min-height:86svh;padding:22px 20px 22px;margin-bottom:48px}
  .op-shade{background:linear-gradient(to bottom,var(--negro) 0,rgba(11,11,12,.2) 18%,rgba(11,11,12,0) 38%,rgba(11,11,12,.8) 62%,var(--negro) 100%)}
  .op-v{object-position:62% 50%}
  .op-top{font-size:9px}
  .op-meters{grid-template-columns:repeat(3,minmax(0,1fr));width:100%}
  .op-meters .mt{min-width:0;padding:10px 10px}
  .op-meters b{font-size:16px}
  .op-steps li{font-size:9px}
}

@media (max-width: 1000px){.grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 760px){.grid{grid-template-columns:1fr}}

/* --- Tarjetas visuales: solo foto, sector y descripción --- */
.pj2{gap:0}
.pj2 .ph{aspect-ratio:4/3;border-color:#2C2C30;transition:border-color .3s,box-shadow .3s,transform .3s}
.pj2 .ph img{transition:transform .8s cubic-bezier(.2,.8,.2,1),filter .5s}
.pj2 .sh{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(11,11,12,.45) 0%,rgba(11,11,12,0) 30%,rgba(11,11,12,0) 50%,rgba(11,11,12,.92) 100%)}
.pj2 .st{z-index:2;left:16px;top:16px;display:inline-flex;align-items:center;gap:8px;padding:7px 12px;font-size:11px;letter-spacing:.14em;background:rgba(11,11,12,.75);border:1px solid rgba(255,209,0,.5);color:#FFD100;backdrop-filter:blur(4px)}
.pj2 .st i{width:6px;height:6px;border-radius:50%;background:#FFD100;box-shadow:0 0 8px #FFD100}
.pj2 .tt{position:absolute;left:18px;right:18px;bottom:16px;z-index:2;font-family:"Archivo",sans-serif;font-variation-settings:"wdth" 112;font-weight:700;font-size:clamp(18px,1.6vw,24px);line-height:1.2;color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.6)}
.pj2 .tt::before{content:"";display:block;width:32px;height:2px;margin-bottom:10px;background:#FFD100;transition:width .4s}
.pj2:hover .ph{border-color:#FFD100;box-shadow:0 0 0 1px rgba(255,209,0,.35),0 18px 40px rgba(0,0,0,.5)}
.pj2:hover .ph img{transform:scale(1.06)}
.pj2:hover .tt::before{width:64px}
.pj2 .vacio{color:#8E8E93;font-size:10px;z-index:2}
@media (max-width: 760px){.pj2 .ph{aspect-ratio:16/11}}

/* --- Fases del panel, más visibles --- */
.op-steps{gap:14px;margin-top:26px}
.op-steps li{position:relative;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:12px;padding-top:16px;border-top:0;font-size:13px;letter-spacing:.12em;color:#8E8E93}
.op-steps .bar{position:absolute;left:0;right:0;top:0;height:4px;background:rgba(255,255,255,.12);border-radius:2px;overflow:hidden}
.op-steps .bar i{display:block;height:100%;width:calc(var(--p,0) * 100%);background:linear-gradient(90deg,#B89400,#FFD100);box-shadow:0 0 12px rgba(255,209,0,.8)}
.op-steps .n{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid rgba(255,255,255,.18);border-radius:50%;font-size:11px;letter-spacing:0;color:#8E8E93;background:rgba(11,11,12,.6);transition:all .3s}
.op-steps li.on{color:#D9D7D2}
.op-steps li.on .n{border-color:#FFD100;color:#0B0B0C;background:#FFD100}
.op-steps li.now{color:#FFD100;text-shadow:0 0 14px rgba(255,209,0,.55)}
.op-steps li.now .n{box-shadow:0 0 0 4px rgba(255,209,0,.18),0 0 18px rgba(255,209,0,.7);animation:opn 1.2s ease-in-out infinite}
@keyframes opn{50%{box-shadow:0 0 0 8px rgba(255,209,0,.08),0 0 26px rgba(255,209,0,.9)}}
@media (max-width: 640px){.op-steps{gap:8px}.op-steps li{grid-template-columns:1fr;gap:6px;font-size:9px;letter-spacing:.04em}.op-steps .n{width:24px;height:24px;font-size:9px}.op-steps .bar{height:3px}}


/* Respaldo: imagen del concierto si el video no arranca */
.op-v{background:#0B0B0C url(../video/proyectos-concierto.webp) center/cover no-repeat}
