/* Compact animated gallery */
.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;max-width:1280px;margin-inline:auto}
.gallery-grid figure{position:relative;border:3px solid #050505;box-shadow:7px 7px 0 rgba(5,5,5,.22);transition:transform .25s,box-shadow .25s}
.gallery-grid .wide{grid-column:span 2;aspect-ratio:2/1}
.gallery-grid figure:hover{transform:translateY(-7px) rotate(-.4deg);box-shadow:12px 14px 0 rgba(5,5,5,.28)}
.gallery-grid figure:hover img{transform:scale(1.045);filter:saturate(1.18)}
.gallery-grid figcaption{position:absolute;left:0;right:0;bottom:0;padding:42px 18px 16px;background:linear-gradient(transparent,rgba(0,0,0,.94));color:#fff;transform:translateY(23px);transition:transform .3s}
.gallery-grid figure:hover figcaption{transform:translateY(0)}
.gallery-grid figcaption b{display:block;color:var(--acid);font:15px 'Archivo Black';letter-spacing:.03em}
.gallery-grid figcaption span{display:block;font-size:10px;line-height:1.45;margin-top:5px;opacity:0;transition:opacity .3s}
.gallery-grid figure:hover figcaption span{opacity:1}
.social-meme{max-width:540px;font-size:13px!important;line-height:1.7;font-weight:700;border-left:5px solid #050505;padding-left:17px}
.reveal{opacity:0;transform:translateY(36px);transition:opacity .75s ease,transform .75s cubic-bezier(.2,.8,.2,1)}
.reveal.visible{opacity:1;transform:translateY(0)}
.hero-copy{animation:heroIn .9s cubic-bezier(.2,.8,.2,1) both}
.hero-image img{animation:heroPulse 8s ease-in-out infinite alternate}
.brand img{animation:logoGlow 2.8s ease-in-out infinite}
.cta{position:relative;overflow:hidden}
.cta:after{content:"";position:absolute;inset:-20%;background:linear-gradient(110deg,transparent 35%,rgba(255,255,255,.65) 50%,transparent 65%);transform:translateX(-130%);animation:shine 3.5s ease-in-out infinite}
@keyframes heroIn{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
@keyframes heroPulse{from{transform:scale(1)}to{transform:scale(1.035)}}
@keyframes logoGlow{50%{filter:drop-shadow(0 0 10px var(--acid));transform:translateY(-2px)}}
@keyframes shine{55%,100%{transform:translateX(130%)}}
@media(max-width:900px){.gallery-grid{grid-template-columns:repeat(2,1fr)}.gallery-grid .wide{grid-column:1/-1;aspect-ratio:16/9}.gallery-grid figcaption{transform:none}.gallery-grid figcaption span{opacity:1}}
@media(max-width:560px){.gallery-grid{grid-template-columns:1fr}.gallery-grid .wide{grid-column:auto}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}}
