:root { --black:#070708; --panel:#111114; --white:#f5f4ef; --acid:#c6ff00; --violet:#7c3cff; --pink:#ff2e87; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--black); color:var(--white); font-family:Montserrat,Arial,sans-serif; overflow-x:hidden; }
a { color:inherit; text-decoration:none; }
button { font:inherit; }
.site-header { position:fixed; z-index:20; top:0; left:0; width:100%; display:flex; align-items:center; justify-content:flex-end; min-height:82px; padding:14px 4vw; color:#fff; background:rgba(7,7,8,.68); border-bottom:1px solid rgba(255,255,255,.08); backdrop-filter:blur(18px); }
.site-header > .brand { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); }
.brand { display:inline-flex; flex-direction:column; align-items:center; line-height:.8; }
.brand-name { font-family:Anton,Impact,sans-serif; font-size:42px; letter-spacing:-1px; transform:skew(-4deg); }
.bolt { display:inline-block; font-size:.93em; margin:0 -1px; }
.brand-subtitle { margin-top:9px; font-size:9px; font-weight:700; letter-spacing:6px; padding-left:6px; }
.nav { position:absolute; top:70px; right:4vw; display:none; flex-direction:column; gap:4px; min-width:210px; padding:10px; border:1px solid rgba(255,255,255,.1); border-radius:14px; background:rgba(10,10,12,.94); box-shadow:0 20px 60px rgba(0,0,0,.45); backdrop-filter:blur(18px); font-size:10px; text-transform:uppercase; font-weight:700; letter-spacing:1px; }
.nav.open { display:flex; }
.nav a { padding:13px 15px; border-radius:9px; transition:background .25s,color .25s; }
.nav a:hover { background:rgba(255,255,255,.08); color:var(--acid); }
.nav a { position:relative; }
.nav a:after { content:""; position:absolute; left:0; bottom:-5px; width:100%; height:1px; background:currentColor; transform:scaleX(0); transform-origin:right; transition:transform .25s; }
.nav a:hover:after { transform:scaleX(1); transform-origin:left; }
.menu-button { position:absolute; left:4vw; top:50%; display:block; border:0; background:none; padding:10px; cursor:pointer; transform:translateY(-50%); }
.menu-button span { display:block; width:25px; height:1px; margin:6px 0; background:#fff; }
.collection { position:relative; min-height:100vh; padding:150px 4vw 18vh; background:radial-gradient(circle at 15% 0%,rgba(124,60,255,.14),transparent 30%),radial-gradient(circle at 90% 15%,rgba(255,46,135,.11),transparent 28%),var(--black); color:var(--white); overflow:hidden; }
.collection:before { content:""; position:absolute; inset:0; opacity:.025; pointer-events:none; background-image:linear-gradient(#fff 1px,transparent 1px),linear-gradient(90deg,#fff 1px,transparent 1px); background-size:48px 48px; }
.ambient { position:absolute; border-radius:50%; filter:blur(100px); opacity:.16; pointer-events:none; animation:float 11s ease-in-out infinite alternate; }
.ambient--one { width:380px; height:380px; top:12%; left:-180px; background:var(--violet); }
.ambient--two { width:320px; height:320px; top:48%; right:-180px; background:var(--pink); animation-delay:-4s; }
@keyframes float { to { transform:translate(80px,120px) scale(1.2); } }
.section-heading { position:relative; z-index:1; display:flex; align-items:flex-start; justify-content:space-between; margin-bottom:7vh; }
.catalogue-label { margin:0 0 18px 4px; color:#a5a2aa; font-size:9px; font-weight:700; letter-spacing:3px; }
h1 { margin:0; font:400 clamp(78px,12vw,185px)/.76 Anton,Impact,sans-serif; letter-spacing:-.035em; }
h1 span { color:transparent; -webkit-text-stroke:1.5px var(--white); }
.count { display:grid; place-items:center; width:64px; height:64px; border:1px solid rgba(255,255,255,.2); border-radius:50%; color:var(--acid); font-size:11px; box-shadow:0 0 35px rgba(198,255,0,.08); animation:pulse 2.5s ease-in-out infinite; }
@keyframes pulse { 50% { box-shadow:0 0 40px rgba(198,255,0,.22); border-color:rgba(198,255,0,.45); } }
.filters { position:sticky; z-index:10; top:79px; display:flex; flex-wrap:wrap; gap:8px; margin:0 0 6vh; padding:12px; width:max-content; max-width:100%; border:1px solid rgba(255,255,255,.08); border-radius:100px; background:rgba(14,14,17,.75); backdrop-filter:blur(16px); }
.filter { border:1px solid transparent; border-radius:100px; padding:13px 19px; background:transparent; color:#aaa8af; cursor:pointer; text-transform:uppercase; font-size:10px; font-weight:700; letter-spacing:1px; transition:.3s; }
.filter sup { margin-left:5px; color:#888; font-size:7px; }
.filter:hover { color:#fff; }
.filter.active { background:var(--white); border-color:var(--white); color:#09090a; box-shadow:0 8px 28px rgba(255,255,255,.12); }
.filter.active sup { color:#aaa; }
.poster-grid { position:relative; z-index:1; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:2vw; align-items:start; }
.poster-card { position:relative; border:1px solid rgba(255,255,255,.08); border-radius:14px; padding:7px; background:rgba(255,255,255,.035); cursor:zoom-in; overflow:hidden; aspect-ratio:1/1; opacity:0; transform:translateY(28px) scale(.97); animation:card-in .6s cubic-bezier(.2,.8,.2,1) forwards; transition:border-color .35s,box-shadow .35s,transform .35s; }
.poster-card:after { content:"↗"; position:absolute; right:16px; bottom:16px; display:grid; place-items:center; width:34px; height:34px; border-radius:50%; background:rgba(0,0,0,.7); color:#fff; opacity:0; transform:translateY(8px); transition:.3s; backdrop-filter:blur(8px); }
.poster-card img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .7s cubic-bezier(.2,.8,.2,1),filter .4s; }
.poster-card:hover { z-index:2; border-color:rgba(198,255,0,.55); box-shadow:0 18px 60px rgba(0,0,0,.55),0 0 35px rgba(124,60,255,.12); transform:translateY(-6px); }
.poster-card:hover img { transform:scale(1.04); filter:contrast(1.06) saturate(1.08); }
.poster-card:hover:after { opacity:1; transform:none; }
@keyframes card-in { to { opacity:1; transform:translateY(0) scale(1); } }
footer { display:flex; align-items:flex-end; justify-content:space-between; min-height:270px; padding:60px 4vw 35px; background:#080808; color:#fff; border-top:1px solid #222; }
.brand--footer .brand-name { font-size:46px; }
.brand--footer .brand-subtitle { font-size:8px; letter-spacing:5px; }
footer p,.back-top { font-size:9px; letter-spacing:1.5px; color:#999; }
.lightbox { position:fixed; z-index:99; inset:0; display:grid; grid-template-columns:70px 1fr 70px; align-items:center; background:rgba(0,0,0,.96); padding:30px; }
.lightbox[hidden] { display:none; }
.lightbox img { width:100%; height:calc(100vh - 60px); object-fit:contain; }
.lightbox-close,.lightbox-arrow { border:0; background:transparent; color:#fff; cursor:pointer; }
.lightbox-close { position:absolute; top:20px; right:25px; z-index:2; font-size:34px; font-weight:300; }
.lightbox-arrow { font-size:28px; }
body.no-scroll { overflow:hidden; }
.cursor-glow { position:fixed; z-index:0; width:320px; height:320px; border-radius:50%; background:radial-gradient(circle,rgba(124,60,255,.1),transparent 68%); pointer-events:none; transform:translate(-50%,-50%); transition:opacity .3s; }
.social-actions { position:fixed; z-index:30; right:22px; bottom:22px; display:flex; flex-direction:column; align-items:flex-end; gap:9px; }
.social-button { display:flex; align-items:center; gap:10px; min-height:48px; padding:0 17px; border:1px solid rgba(255,255,255,.18); border-radius:100px; color:#fff; font-size:9px; font-weight:800; letter-spacing:1.1px; text-transform:uppercase; box-shadow:0 10px 35px rgba(0,0,0,.3); backdrop-filter:blur(14px); transition:transform .25s,box-shadow .25s; }
.social-button svg { width:19px; height:19px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.social-icon-dot { fill:currentColor; stroke:none; }
.social-button--instagram { background:linear-gradient(120deg,rgba(124,60,255,.92),rgba(255,46,135,.92)); }
.social-button--whatsapp { background:rgba(26,190,92,.93); }
.social-button:hover { transform:translateY(-3px) scale(1.02); box-shadow:0 15px 45px rgba(0,0,0,.48); }
@media (max-width:700px) {
  .site-header { padding:18px 20px; }
  .menu-button { left:12px; }
  .site-header > .brand .brand-name { font-size:37px; }
  .site-header > .brand .brand-subtitle { font-size:8px; letter-spacing:5px; }
  .nav { position:absolute; top:75px; left:auto; right:12px; min-width:210px; padding:10px; background:rgba(8,8,8,.96); }
  .nav.open { display:flex; }
  .menu-button { display:block; }
  .collection { padding:125px 16px 100px; }
  .section-heading { margin-bottom:50px; }
  h1 { font-size:20vw; }
  .count { width:48px; height:48px; }
  .filters { top:72px; width:100%; flex-wrap:nowrap; overflow-x:auto; margin:0 0 28px; padding:7px; border-radius:14px; scrollbar-width:none; }
  .filter { flex:0 0 auto; padding:11px 13px; font-size:8px; }
  .poster-grid { grid-template-columns:repeat(3,1fr); gap:8px; }
  .poster-card { aspect-ratio:1/1; padding:4px; border-radius:9px; }
  footer { min-height:240px; flex-wrap:wrap; gap:30px; padding:50px 20px 25px; }
  .brand--footer { width:100%; align-items:flex-start; }
  .lightbox { grid-template-columns:38px 1fr 38px; padding:12px; }
  .lightbox img { height:calc(100vh - 24px); }
  .social-actions { right:12px; bottom:12px; flex-direction:row; }
  .social-button { width:49px; min-width:49px; height:49px; padding:0; justify-content:center; }
  .social-button span { display:none; }
}

@media (prefers-reduced-motion:reduce) { *,*:before,*:after { animation-duration:.01ms!important; animation-iteration-count:1!important; scroll-behavior:auto!important; } }

/* Editorial theme */
:root { --black:#11100e; --panel:#e9e5dc; --white:#f4f0e7; --acid:#ef3d25; --violet:#ef3d25; --pink:#ef3d25; }
body { background:#f4f0e7; color:#11100e; }
.site-header { min-height:86px; color:#11100e; background:rgba(244,240,231,.9); border-bottom:1px solid rgba(17,16,14,.14); backdrop-filter:blur(16px); }
.menu-button span { background:#11100e; height:2px; }
.nav { top:72px; left:4vw; right:auto; border-color:rgba(17,16,14,.14); background:rgba(244,240,231,.98); color:#11100e; box-shadow:0 22px 60px rgba(30,24,17,.14); }
.nav a:hover { background:#11100e; color:#f4f0e7; }
.nav a:after { display:none; }
.collection { padding-top:145px; background:#f4f0e7; color:#11100e; }
.collection:before { opacity:.055; background-image:linear-gradient(#111 1px,transparent 1px),linear-gradient(90deg,#111 1px,transparent 1px); background-size:72px 72px; }
.ambient,.cursor-glow { display:none; }
.catalogue-label { display:flex; align-items:center; gap:12px; color:#777168; font-size:9px; }
.catalogue-label:before { content:""; width:38px; height:2px; background:#ef3d25; }
h1 { font-family:Anton,Impact,sans-serif; font-size:clamp(72px,10.5vw,164px); line-height:.78; color:#11100e; }
h1 span { color:#ef3d25; -webkit-text-stroke:0; }
.section-heading { margin-bottom:8vh; }
.count { border-color:#11100e; color:#11100e; background:transparent; box-shadow:none; animation:none; }
.filters { top:86px; padding:6px; border-color:rgba(17,16,14,.16); border-radius:9px; background:rgba(244,240,231,.94); box-shadow:0 10px 30px rgba(30,24,17,.08); }
.filter { border-radius:6px; color:#69645d; }
.filter:hover { color:#11100e; }
.filter.active { border-color:#11100e; background:#11100e; color:#f4f0e7; box-shadow:none; }
.filter.active sup { color:#aaa49b; }
.poster-grid { gap:3.3vw 2vw; }
.poster-card { padding:0; border:0; border-radius:2px; background:#ded9cf; box-shadow:0 1px 0 rgba(17,16,14,.18); transform:translateY(22px); }
.poster-card:before { content:""; position:absolute; z-index:1; inset:0; border:1px solid rgba(17,16,14,.16); pointer-events:none; transition:inset .35s,border-color .35s; }
.poster-card:after { right:14px; bottom:14px; background:#ef3d25; color:#fff; }
.poster-card:hover { border-color:transparent; box-shadow:0 24px 60px rgba(43,35,25,.18); transform:translateY(-7px) rotate(-.35deg); }
.poster-card:hover:before { inset:9px; border-color:rgba(255,255,255,.55); }
.poster-card:hover img { transform:scale(1.025); filter:saturate(1.03); }
footer { background:#11100e; color:#f4f0e7; border-top:0; }
.lightbox { background:rgba(17,16,14,.97); }
@media (max-width:700px) {
  .site-header { min-height:76px; }
  .nav { top:68px; left:12px; right:auto; }
  .collection { padding-top:118px; }
  h1 { font-size:18vw; line-height:.82; }
  .section-heading { margin-bottom:42px; }
  .catalogue-label { font-size:7px; letter-spacing:2px; }
  .filters { top:76px; border-radius:9px; }
  .poster-grid { gap:18px 10px; }
  .poster-card { border-radius:1px; }
}

/* Minimal black gallery — active theme */
:root { --black:#090909; --panel:#f2f2f2; --white:#fff; --acid:#090909; --violet:#090909; --pink:#090909; }
body { background:#fff; color:#090909; }
.site-header { min-height:78px; color:#090909; background:rgba(255,255,255,.94); border-bottom:1px solid #dedede; }
.site-header > .brand .brand-name { font-size:38px; }
.site-header > .brand .brand-subtitle { margin-top:7px; font-size:7px; letter-spacing:5px; }
.menu-button span { width:27px; background:#090909; }
.nav { top:68px; left:4vw; border:1px solid #dedede; background:#fff; color:#090909; box-shadow:0 20px 60px rgba(0,0,0,.14); }
.nav a:hover { background:#090909; color:#fff; }
.collection { padding:105px 4vw 16vh; background:#fff; color:#090909; }
.collection:before,.ambient,.cursor-glow { display:none; }
.section-heading { align-items:center; margin-bottom:34px; padding-bottom:20px; border-bottom:1px solid #dedede; }
.catalogue-label { margin:0; color:#555; font-size:8px; letter-spacing:2.5px; }
.catalogue-label:before { width:22px; height:1px; background:#090909; }
h1 { font-family:Montserrat,Arial,sans-serif; font-size:clamp(31px,5vw,70px); line-height:1; font-weight:800; letter-spacing:-.055em; }
h1 span { color:#555; font-weight:400; -webkit-text-stroke:0; }
.count { width:auto; height:auto; padding:0; border:0; border-radius:0; color:#555; background:transparent; box-shadow:none; font-size:11px; animation:none; }
.count:before { content:"TOTAL / "; color:#999; }
.filters { top:78px; width:100%; margin-bottom:34px; padding:12px; gap:9px; border:1px solid #dedede; border-radius:14px; background:rgba(255,255,255,.97); box-shadow:0 8px 30px rgba(0,0,0,.06); }
.filter { position:relative; overflow:hidden; padding:14px 20px; border:1px solid #d3d3d3; border-radius:100px; color:#555; background:#fff; font-size:10px; transition:transform .25s,background .25s,color .25s,border-color .25s; animation:filter-in .45s both; }
.filter:nth-child(2) { animation-delay:.05s; }
.filter:nth-child(3) { animation-delay:.1s; }
.filter:nth-child(4) { animation-delay:.15s; }
.filter:nth-child(5) { animation-delay:.2s; }
.filter:nth-child(6) { animation-delay:.25s; }
.filter:hover { color:#090909; border-color:#090909; transform:translateY(-2px); }
.filter.active { border-color:#090909; background:#090909; color:#fff; box-shadow:0 7px 18px rgba(0,0,0,.2); }
.filter.active:before { content:""; position:absolute; inset:0; background:linear-gradient(110deg,transparent 25%,rgba(255,255,255,.22) 48%,transparent 70%); transform:translateX(-120%); animation:filter-shine 2.4s ease-in-out infinite; }
.filter.active:after { display:none; }
.filter.active sup { color:#aaa; }
@keyframes filter-in { from { opacity:0; transform:translateY(-10px); } to { opacity:1; transform:none; } }
@keyframes filter-shine { 0%,55% { transform:translateX(-120%); } 85%,100% { transform:translateX(120%); } }
.poster-grid { gap:8px; }
.poster-card { padding:0; border:0; border-radius:0; background:#eee; box-shadow:none; transform:translateY(18px); }
.poster-card:before { display:none; }
.poster-card:after { right:12px; bottom:12px; width:38px; height:38px; background:#090909; color:#fff; }
.poster-card:hover { border:0; box-shadow:none; transform:none; }
.poster-card:hover img { transform:scale(1.018); filter:brightness(.75); }
footer { background:#0a0a0a; color:#f7f7f5; border-top:1px solid #202020; }
.lightbox { background:rgba(0,0,0,.98); }
.social-button--instagram,.social-button--whatsapp { background:#090909; border-color:#333; }
@media (max-width:700px) {
  .site-header { min-height:72px; }
  .site-header > .brand .brand-name { font-size:34px; }
  .nav { top:64px; }
  .collection { padding:92px 10px 90px; }
  .section-heading { margin:0 6px 28px; padding-bottom:20px; }
  h1 { font-size:9.5vw; letter-spacing:-.045em; }
  .catalogue-label { font-size:7px; }
  .count { font-size:9px; }
  .filters { position:relative; top:auto; display:flex; flex-wrap:nowrap; overflow-x:auto; margin-bottom:18px; padding:9px; gap:7px; border-radius:12px; background:#fff; scrollbar-width:none; }
  .filters::-webkit-scrollbar { display:none; }
  .filter { flex:0 0 auto; padding:12px 16px; font-size:9px; }
  .poster-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
  .poster-card:after { display:none; }
}
