/* Proyectos agrupados en carpetas + visor de fotos */
.proj{position:relative;isolation:isolate;display:flex;transition:transform .4s var(--ease)}
.proj:hover{transform:translateY(-3px)}
.proj.multi{margin:0 12px 12px 0}
.proj.multi::before,.proj.multi::after{content:"";position:absolute;inset:0;z-index:0;background:#fff;border:1px solid var(--line2);border-radius:4px}
.proj.multi::before{transform:translate(12px,12px);opacity:.6}
.proj.multi::after{transform:translate(6px,6px)}
.proj-card{position:relative;z-index:1;display:flex;flex-direction:column;width:100%;background:#fff;border:1px solid var(--line);border-radius:4px;transition:border-color .3s}
.proj:hover .proj-card{border-color:var(--line2)}
.proj-cover{position:relative;display:block;aspect-ratio:16/10;overflow:hidden;border-radius:3px 3px 0 0;background:var(--primary)}
.proj-cover img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .9s var(--ease)}
.proj:hover .proj-cover img{transform:scale(1.05)}
.proj-count{position:absolute;left:12px;bottom:12px;background:rgba(32,55,67,.88);color:#fff;font-family:var(--hd);font-size:.75rem;font-weight:600;padding:6px 10px;border-radius:4px}
.proj .tx{display:flex;flex-direction:column;gap:6px;flex:1;padding:18px 18px 20px;border-left:2px solid transparent;transition:border-color .3s}
.proj:hover .tx{border-color:var(--accent)}
.proj h3{font-size:1.05rem}.proj p{flex:1;font-size:.9rem;color:var(--muted)}.proj .lnk{margin-top:8px}
.proj:hover .lnk{gap:14px;color:var(--accent)}
.proj-imgs{display:none}
.vsolo{max-width:860px;margin:0 auto}.vsolo .stage video{object-fit:cover}
/* visor */
html.lb-open{overflow:hidden}
dialog.lb{border:0;padding:0;margin:0;max-width:none;max-height:none;width:100%;height:100%;background:rgba(11,26,34,.97);color:#fff}
dialog.lb::backdrop{background:rgba(11,26,34,.97)}
.lb-box{display:flex;flex-direction:column;height:100%;padding:16px 20px 20px;gap:12px}
.lb-top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.lb-title{color:#fff;font-size:1.05rem;margin:0}.lb-count{font-size:.85rem;color:#b9c8d2}
.lb-x,.lb-nav{flex:none;width:44px;height:44px;border-radius:50%;border:2px solid #fff;background:var(--primary);color:#fff;font-size:1.2rem;line-height:1;cursor:pointer;display:grid;place-items:center;transition:background .2s}
.lb-x:hover,.lb-nav:hover{background:var(--accent)}
.lb-x:focus-visible,.lb-nav:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.lb-stage{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;gap:16px}
.lb-img{flex:0 1 auto;min-width:0;max-width:100%;max-height:100%;object-fit:contain;border-radius:6px;background:#0b1a22}
.lb-nav[hidden]{display:none}
.lb-cap{text-align:center;color:#dbe5ec;font-size:.95rem;min-height:1.4em;margin:0}
@media(max-width:640px){.lb-box{padding:12px}.lb-stage{position:relative;gap:0}.lb-nav{position:absolute;top:50%;margin-top:-22px;z-index:2;opacity:.92}.lb-prev{left:4px}.lb-next{right:4px}}

/* Proyecto destacado (ocupa todo el ancho de la galería) */
.proj-star{grid-column:1/-1}
.proj-star .proj-card{flex-direction:row;border-left:3px solid var(--accent)}
.proj-star .proj-cover{aspect-ratio:auto;flex:0 0 62%;min-height:380px;border-radius:3px 0 0 3px}
.proj-star .tx{justify-content:center;gap:10px;padding:36px 36px 40px;border-left:0}
.proj-star h3{font-size:1.7rem}.proj-star p{flex:0 0 auto;font-size:1rem}
.proj-logo-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.proj-badge{display:inline-block;background:var(--accent);color:#fff;font-family:var(--hd);font-size:.7rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:5px 9px;border-radius:4px}
.proj-logo{position:absolute;right:14px;top:14px;width:56px;height:56px;padding:8px;background:#fff;border-radius:50%;object-fit:contain;box-shadow:0 2px 10px rgba(11,26,34,.25)}
.proj-star .proj-cover img.proj-logo{width:56px;height:56px;transition:none}
.proj-star:hover .proj-cover img.proj-logo{transform:none}
@media(max-width:1023px){.proj-star .proj-card{flex-direction:column}.proj-star .proj-cover{flex:none;aspect-ratio:16/10;min-height:0;border-radius:3px 3px 0 0}.proj-star .tx{padding:20px 18px 22px}.proj-star h3{font-size:1.35rem}}
/* Proyectos de una sola foto: mismo tamaño que las carpetas */
.proj:not(.multi){margin:0 12px 12px 0}
