*{box-sizing:border-box;margin:0;padding:0}
:root{
  --bg:#080808;
  --surface:#111;
  --border:#222;
  --red:#800000;
  --gold:#FFD700;
  --text:#E8E8E8;
  --muted:#666;
}
html{overflow-x:hidden}
body{background:var(--bg);color:var(--text);font-family:'Outfit',sans-serif;min-height:100vh}

/* ── HERO ── */
.hero{padding:3rem 1.5rem 2.5rem;border-bottom:1px solid var(--border);position:relative}
.hero-bg{position:absolute;inset:0;background:radial-gradient(ellipse 80% 60% at 80% 50%,rgba(128,0,0,.12),transparent);pointer-events:none}
.hero-inner{max-width:80rem;margin:0 auto;position:relative;z-index:1}
.hero-crumb{display:flex;align-items:center;gap:.4rem;margin-bottom:1.5rem;flex-wrap:wrap}
.hero-crumb a{font-family:'Outfit',sans-serif;font-size:.7rem;color:var(--muted);text-decoration:none;letter-spacing:.08em;text-transform:uppercase;transition:color .15s}
.hero-crumb a:hover{color:var(--gold)}
.hero-crumb span{color:var(--border);font-size:.6rem}
.hero-title{font-family:'Bebas Neue',sans-serif;font-size:clamp(4rem,10vw,10rem);line-height:.85;letter-spacing:.02em;margin-bottom:.6rem;display:flex;flex-direction:column}
.hero-title .t1{color:var(--text)}
.hero-title .t2{color:var(--red);-webkit-text-stroke:1px var(--red);text-shadow:0 0 40px rgba(128,0,0,.3)}
.hero-meta{display:flex;flex-wrap:wrap;gap:1rem;align-items:center}
.hero-pill{display:flex;align-items:center;gap:.4rem;font-family:'Outfit',sans-serif;font-size:.72rem;color:var(--muted);letter-spacing:.06em}
.hero-pill strong{color:var(--text)}

/* ── TABS + FILTER ── */
.gallery-controls{position:sticky;top:var(--vt-header-h, 0px);z-index:50;background:var(--bg);border-bottom:1px solid var(--border)}
.controls-inner{max-width:80rem;margin:0 auto;display:flex;align-items:center;gap:0;padding:0 1.5rem}
.ctrl-tab{padding:.85rem 1.2rem;font-family:'Outfit',sans-serif;font-weight:700;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);cursor:pointer;border:none;background:transparent;border-bottom:2px solid transparent;transition:all .15s;white-space:nowrap}
.ctrl-tab.active,.ctrl-tab:hover{color:var(--text);border-bottom-color:var(--gold)}
.ctrl-sep{width:1px;height:20px;background:var(--border);margin:0 .5rem}
.ctrl-filter{display:flex;align-items:center;gap:.4rem;margin-left:auto;flex-wrap:wrap}
.ftab{padding:.3rem .7rem;font-family:'Outfit',sans-serif;font-weight:600;font-size:.65rem;letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--border);background:transparent;color:var(--muted);cursor:pointer;border-radius:3px;transition:all .15s;white-space:nowrap}
.ftab.active,.ftab:hover{background:var(--gold);color:#000;border-color:var(--gold)}

/* ── GALLERY GRID ── */
.gallery-wrap{max-width:80rem;margin:0 auto;padding:1.5rem 1.5rem 4rem}

/* PHOTO MASONRY */
.photo-grid{columns:4 200px;gap:.6rem}
@media(max-width:600px){.photo-grid{columns:2 150px}}
.photo-item{break-inside:avoid;margin-bottom:.6rem;position:relative;overflow:hidden;cursor:pointer;background:var(--surface)}
.photo-item img{width:100%;height:auto;display:block;transition:transform .4s cubic-bezier(.25,.46,.45,.94)}
.photo-item:hover img{transform:scale(1.06)}
.photo-placeholder{background:linear-gradient(135deg,var(--surface),#5E0000);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.6rem;padding:2.5rem 1rem;text-align:center}
.ph-icon{width:40px;height:40px;border-radius:50%;background:rgba(128,0,0,.3);display:flex;align-items:center;justify-content:center}
.ph-label{font-family:'Outfit',sans-serif;font-size:.68rem;color:var(--muted);line-height:1.5}
.ph-sub{font-size:.6rem;color:rgba(255,215,0,.4);margin-top:.15rem}
/* Overlay on photo */
.photo-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.8) 0%,transparent 50%);opacity:0;transition:opacity .3s}
.photo-item:hover .photo-overlay{opacity:1}
.photo-meta{position:absolute;bottom:0;left:0;right:0;padding:.8rem;transform:translateY(5px);transition:transform .3s;opacity:0}
.photo-item:hover .photo-meta{transform:translateY(0);opacity:1}
.photo-label{font-family:'Outfit',sans-serif;font-weight:700;font-size:.75rem;color:#fff;display:block}
.photo-sub-label{font-family:'Outfit',sans-serif;font-size:.62rem;color:rgba(255,255,255,.5);display:block;margin-top:.1rem}
/* IG badge */
.ig-badge{position:absolute;top:.5rem;right:.5rem;background:linear-gradient(135deg,#833AB4,#FD1D1D);color:#fff;font-family:'Outfit',sans-serif;font-weight:700;font-size:.58rem;padding:.18rem .5rem;border-radius:3px;opacity:0;transition:opacity .2s}
.photo-item:hover .ig-badge{opacity:1}

/* VIDEO GRID */
.video-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem}
.video-item{background:var(--surface);border:1px solid var(--border);overflow:hidden;transition:border-color .2s}
.video-item:hover{border-color:var(--red)}
.video-thumb{aspect-ratio:16/9;background:#2A0306;position:relative;overflow:hidden;cursor:pointer}
.video-thumb iframe{position:absolute;inset:0;width:100%;height:100%;border:none}
.video-ph{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.7rem;background:linear-gradient(135deg,#0A0000,#5E0000)}
.video-ph-num{position:absolute;left:.7rem;top:.5rem;font-family:'Bebas Neue',sans-serif;font-size:3rem;color:rgba(255,215,0,.06);line-height:1}
.play-ring{width:56px;height:56px;border-radius:50%;border:2px solid var(--gold);display:flex;align-items:center;justify-content:center;transition:background .2s}
.video-item:hover .play-ring{background:var(--gold)}
.play-ring svg{width:22px;height:22px;fill:var(--gold);margin-left:3px;transition:fill .2s}
.video-item:hover .play-ring svg{fill:#000}
.video-ph-label{font-family:'Bebas Neue',sans-serif;font-size:1rem;letter-spacing:.08em;color:rgba(255,255,255,.3);text-transform:uppercase}
.video-ph-id{font-size:.6rem;color:rgba(255,215,0,.2);letter-spacing:.06em}
.video-info{padding:.9rem 1rem}
.vi-cat{font-family:'Outfit',sans-serif;font-weight:700;font-size:.58rem;letter-spacing:.15em;text-transform:uppercase;color:var(--red);margin-bottom:.25rem}
.vi-title{font-family:'Outfit',sans-serif;font-weight:700;font-size:.88rem;color:var(--text);line-height:1.35;margin-bottom:.2rem}
.vi-date{font-family:'Outfit',sans-serif;font-size:.7rem;color:var(--muted)}
/* External link */
.vi-link{display:inline-flex;align-items:center;gap:.3rem;font-family:'Outfit',sans-serif;font-weight:700;font-size:.68rem;color:var(--red);text-decoration:none;margin-top:.5rem;transition:color .15s}
.vi-link:hover{color:var(--gold)}

/* LIGHTBOX */
.lb{position:fixed;inset:0;background:rgba(0,0,0,.95);z-index:9999;display:none;align-items:center;justify-content:center;flex-direction:column;gap:1rem;backdrop-filter:blur(8px)}
.lb.open{display:flex}
.lb-img{max-width:90vw;max-height:80vh;object-fit:contain}
.lb-caption{font-family:'Outfit',sans-serif;font-size:.82rem;color:rgba(255,255,255,.5);text-align:center}
.lb-close{position:fixed;top:1rem;right:1.2rem;background:none;border:none;color:rgba(255,255,255,.5);font-size:2rem;cursor:pointer;line-height:1;transition:color .15s}
.lb-close:hover{color:#fff}
.lb-nav{position:fixed;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.08);border:none;color:#fff;font-size:1.5rem;width:44px;height:44px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s}
.lb-nav:hover{background:rgba(255,255,255,.15)}
.lb-prev{left:.5rem}
.lb-next{right:.5rem}

/* Panels */
.panel{display:none}
.panel.active{display:block}

/* Count badge */
.count-row{font-family:'Outfit',sans-serif;font-size:.78rem;color:var(--muted);margin-bottom:1rem}
