:root{--if-bg:#050507;--if-primary:#ec4899;--if-secondary:#a855f7;--if-red:#ef4444;--if-gold:#f59e0b;}html{scroll-behavior:smooth;background-color:var(--if-bg);}body{background-color:var(--if-bg);font-family:'Plus Jakarta Sans',system-ui,-apple-system,sans-serif;overflow-x:hidden;}.font-display{font-family:'Cinzel','Playfair Display',Georgia,serif;}.glass-card{background:linear-gradient(145deg,rgba(24,16,28,0.78),rgba(10,8,14,0.92));backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,0.08);transition:transform 0.35s cubic-bezier(0.22,1,0.36,1),border-color 0.35s ease,box-shadow 0.35s ease;}.glass-card:hover{transform:translateY(-4px);border-color:rgba(236,72,153,0.45);box-shadow:0 18px 45px -12px rgba(236,72,153,0.28),0 0 24px rgba(168,85,247,0.16);}.neon-text-pink{text-shadow:0 0 22px rgba(236,72,153,0.55),0 0 44px rgba(168,85,247,0.25);}.btn-glow{position:relative;overflow:hidden;transition:transform 0.25s ease,box-shadow 0.3s ease;}.btn-glow::after{content:'';position:absolute;top:-50%;left:-60%;width:40%;height:200%;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.28),transparent);transform:skewX(-25deg);transition:left 0.65s ease;}.btn-glow:hover::after{left:130%;}.btn-glow:hover{transform:translateY(-2px) scale(1.015);box-shadow:0 10px 30px -6px rgba(236,72,153,0.55);}@keyframes fadeSlideUp{from{opacity:0;transform:translateY(22px);}to{opacity:1;transform:translateY(0);}}.animate-reveal{opacity:0;transform:translateY(22px);}.animate-reveal.is-visible{animation:fadeSlideUp 0.7s cubic-bezier(0.22,1,0.36,1) forwards;}.no-animations .animate-reveal{opacity:1 !important;transform:none !important;animation:none !important;}.floating-alpha-container{position:fixed;bottom:12px;z-index:45;pointer-events:none;transition:opacity 0.45s ease,transform 0.45s cubic-bezier(0.22,1,0.36,1);}.floating-alpha-container.pos-right{right:14px;}.floating-alpha-container.pos-left{left:14px;}.floating-alpha-inner{position:relative;pointer-events:auto;background:transparent !important;}.floating-alpha-inner video{display:block;width:100%;height:auto;background:transparent !important;filter:drop-shadow(0 12px 24px rgba(0,0,0,0.55));}.floating-alpha-close{position:absolute;top:-6px;right:-2px;width:26px;height:26px;border-radius:9999px;background:rgba(15,15,20,0.85);border:1px solid rgba(236,72,153,0.5);color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;cursor:pointer;z-index:5;transition:background 0.2s ease,transform 0.2s ease;}.floating-alpha-close:hover{background:#ec4899;transform:scale(1.1);}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto;}.animate-reveal{opacity:1 !important;transform:none !important;animation:none !important;}.btn-glow::after{display:none;}*{transition-duration:0.01ms !important;}}
/* Smart Auto-Fit Images (Sem cortes com fundo ambiente blur) */
.img-smart-wrapper{position:relative;width:100%;height:100%;overflow:hidden;display:flex;align-items:center;justify-content:center;background-color:#050507;}
.img-smart-blur{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;filter:blur(24px);transform:scale(1.25);opacity:0.42;pointer-events:none;user-select:none;z-index:1;}
.img-smart-main{position:relative;z-index:2;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;object-position:center;transition:transform 0.4s ease;}
.group:hover .img-smart-main{transform:scale(1.04);}
.img-fit-cover-top{object-fit:cover !important;object-position:center 15% !important;}
.img-fit-cover-center{object-fit:cover !important;object-position:center center !important;}
.img-fit-contain{object-fit:contain !important;object-position:center center !important;}
.gallery-masonry{column-count:2;column-gap:1rem;}
@media (min-width:768px){.gallery-masonry{column-count:3;}}
@media (min-width:1024px){.gallery-masonry{column-count:4;}}
.gallery-masonry-item{break-inside:avoid;margin-bottom:1rem;display:block;width:100%;position:relative;}
.gallery-masonry-item img{width:100%;height:auto;display:block;object-fit:cover;}
/* Fix para mobile / iOS Safari touch delegation */
html, body, a, button { cursor: pointer; -webkit-tap-highlight-color: rgba(236,72,153,0.2); }

