        body {
            background-color: #FFFFFF;
            color: #000000;
            overflow-x: hidden;
            -webkit-font-smoothing: antialiased;
        }

        /* Typography */
/* Mosaic Gallery */
.gallery-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 3rem;
  justify-items: center;
  padding: 2rem;
}
.gallery-item {
  position: relative;
  overflow: hidden;
  border-radius: 0.5rem;
  background: rgba(255,255,255,0.08);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  border: 1px solid rgba(255,255,255,0.15);
  box-shadow: 0 4px 18px rgba(0,0,0,0.06);
  width: 100%;
  max-width: 500px;
}
.gallery-item img {
  width: 100%;
  height: auto;
  aspect-ratio: 4/3;
  object-fit: cover;
  transition: transform 0.4s ease;
}
.gallery-item:hover img {
  transform: scale(1.05);
}
.gallery-item .overlay {
  position: absolute;
  inset: 0;
  background: rgba(255,223,0,0.4);
  color: #000; font-weight: bold;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity 0.3s ease;
}
.gallery-item:hover .overlay {
  opacity: 1;
}
        .text-stroke {
            -webkit-text-stroke: 2px #E87C93;
            color: transparent;
            text-shadow: 0 0 40px rgba(232, 124, 147, 0.4);
        }

        /* Glassmorphism */
        .glass {
            background: rgba(255, 255, 255, 0.5);
            backdrop-filter: blur(24px);
            -webkit-backdrop-filter: blur(24px);
            border: 1px solid rgba(255, 255, 255, 0.8);
            box-shadow: 0 8px 32px rgba(0, 0, 0, 0.05);
        }

        /* Splitting Chars for GSAP */
        .char {
            display: inline-block;
            transform: translateY(110%);
            opacity: 0;
        }

        /* GPU Acceleration */
        .gpu-accel {
            transform: translateZ(0);
            will-change: transform, opacity;
        }

        /* 3D Card Container */
        .perspective-container {
            perspective: 2000px;
            transform-style: preserve-3d;
        }
        
        .tilt-card {
            transform-style: preserve-3d;
            will-change: transform;
            transition: transform 0.1s; /* Para suavizar a interpolação do mouse */
        }

        /* Efeito de Overlay sobre o vídeo para look premium (Active Theory style) */
        .video-overlay {
            background: linear-gradient(135deg, rgba(232, 124, 147, 0.2) 0%, rgba(125, 219, 244, 0.1) 100%);
            mix-blend-mode: overlay;
        }

        /* Oculta scrollbar */
        ::-webkit-scrollbar { width: 8px; }
        ::-webkit-scrollbar-track { background: #f1f1f1; }
        ::-webkit-scrollbar-thumb { background: #E87C93; border-radius: 4px; }

/* Section 4 – Dreamy Gallery Background */
.bg-gallery {
  position: relative;
  overflow: hidden;
  /* Vibrant accentuated gradient */
  background: radial-gradient(circle at 30% 30%, rgba(232,124,147,0.7), transparent 60%),
                radial-gradient(circle at 70% 70%, rgba(125,219,244,0.7), transparent 60%),
                radial-gradient(circle at 50% 50%, rgba(255,223,0,0.5), transparent 70%),
                linear-gradient(135deg, #ffb3c6, #a0e4ff, #fff5b6);
  /* Enhanced sparkle overlay */
  background-image: url("data:image/svg+xml,%3Csvg width='200' height='200' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='100' cy='100' r='2' fill='%23FFFFFF' fill-opacity='0.7'/%3E%3C/svg%3E");
  background-size: 20px 20px;
  box-shadow: inset 0 0 80px rgba(255,255,255,0.3);
  /* Subtle sparkle overlay */
  background-image: url("data:image/svg+xml,%3Csvg width='200' height='200' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='100' cy='100' r='2' fill='%23FFFFFF' fill-opacity='0.6'/%3E%3C/svg%3E");
  background-size: 30px 30px;
  animation: floatStars 30s linear infinite;
}
@keyframes floatStars {
  0% { background-position: 0 0; }
  100% { background-position: 200px 200px; }
}
/* Header theme classes */
.header-light .logo-text,
.header-light .logo-subtext {
    color: #FFFFFF;
    transition: color 0.3s ease;
}
.header-dark .logo-text,
.header-dark .logo-subtext {
    color: #ffffff;
    transition: color 0.3s ease;
}
.logo-text,
.logo-subtext {
    color: #FFFFFF;
    transition: color 0.3s ease;
}
.bg-gallery::before {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: repeating-linear-gradient(45deg, rgba(255,255,255,0.05), rgba(255,255,255,0.05) 1px, transparent 1px, transparent 10px);
  animation: confetti 12s linear infinite;
}
@keyframes confetti {
  0% { transform: translateY(0) rotate(0deg); }
  100% { transform: translateY(-100%) rotate(360deg); }
}
