/* SECTION HEADERS */
.section-wrap{max-width:1200px;margin:0 auto;padding:0 clamp(12px,4vw,40px) 60px;}
.section-hdr{text-align:center;margin-bottom:28px;padding-top: 28px;}
.s-badge{
  display:inline-block;font-family:'Oswald',sans-serif;font-size:.75rem;
  letter-spacing:4px;text-transform:uppercase;padding:5px 18px;border-radius:20px;margin-bottom:10px;
}
.s-h{font-family:'Bangers',Impact,'Arial Black',sans-serif;font-size:clamp(1.8rem,5vw,3rem);letter-spacing:3px;color:#fff;}
.s-p{color:rgba(255,255,255,.4);font-size:.88rem;margin-top:4px;}

/* REVEAL — CSS-only, no depende de IntersectionObserver */
.reveal{
  opacity:0;
  transform:translateY(30px);
  transition:opacity .7s ease, transform .7s ease;
}
.reveal.visible{
  opacity:1;
  transform:translateY(0);
}
/* FALLBACK: si JS no dispara, mostrar todo visible después de 1s */
@media(max-width:900px){
  .reveal{
    opacity:1 !important;
    transform:none !important;
    transition:none !important;
  }
}

/* DIVIDER */
.divider{height:2px;background:linear-gradient(90deg,transparent,var(--orange),transparent);}

/* Lightbox — Common UI component */
.glightbox{
  position:fixed;inset:0;z-index:9999;
  background:rgba(0,0,0,.92);
  display:flex;align-items:center;justify-content:center;
  padding:20px;
  opacity:0;pointer-events:none;transition:opacity .25s;
}
.glightbox.open{opacity:1;pointer-events:all;}
.glightbox img{
  max-width:min(900px,95vw);max-height:90vh;
  object-fit:contain;border-radius:12px;
  box-shadow:0 0 80px rgba(0,0,0,.8);
}
.glightbox-close{
  position:fixed;top:20px;right:24px;
  font-size:2rem;color:rgba(255,255,255,.7);cursor:pointer;
  background:rgba(0,0,0,.5);border:none;border-radius:50%;
  width:44px;height:44px;display:flex;align-items:center;justify-content:center;
  transition:all .2s;z-index:10000;
}
.glightbox-close:hover{color:#fff;background:rgba(255,107,26,.5);}
.glightbox-caption{
  position:fixed;bottom:24px;left:50%;transform:translateX(-50%);
  font-family:'Bangers',Impact,'Arial Black',sans-serif;
  font-size:1.4rem;letter-spacing:3px;color:rgba(255,255,255,.8);
  background:rgba(0,0,0,.5);padding:8px 24px;border-radius:30px;
  backdrop-filter:blur(10px);pointer-events:none;
}
