/* ===== ZODIAC LINE-ART BACKGROUND ===== */
.zodiac-bg {
  position: absolute;
  top: 0; left: 0; width: 100%; height: 100%;
  pointer-events: none;
  opacity: 0.08;
  z-index: 0;
}
.zodiac-bg svg { width: 100%; height: 100%; }

/* ===== FLOATING 3D ELEMENTS ===== */
.floating-element {
  position: absolute;
  z-index: 10;
  animation: floatUpDown 4s ease-in-out infinite;
  pointer-events: none;
}
.floating-element.jupiter {
  width: 100px; height: 100px;
  top: 15%; right: 18%;
  border-radius: 50%;
  background: radial-gradient(ellipse at 40% 40%, #e8c070, #c4893a, #a06020, #704010);
  box-shadow: inset -15px -10px 30px rgba(0,0,0,0.4), 0 8px 32px rgba(0,0,0,0.3);
  overflow: hidden;
}
.floating-element.jupiter::before {
  content: '';
  position: absolute;
  top: 30%; left: 0; width: 100%; height: 8px;
  background: rgba(255,255,255,0.2);
  border-radius: 50%;
}
.floating-element.jupiter::after {
  content: '';
  position: absolute;
  top: 50%; left: 0; width: 100%; height: 12px;
  background: rgba(139,90,43,0.5);
  border-radius: 50%;
}
.floating-element.crystal-black {
  width: 60px; height: 80px;
  bottom: 15%; left: 30%;
  animation-delay: -1.5s;
}
.floating-element.crystal-white {
  width: 40px; height: 50px;
  top: 30%; left: 5%;
  animation-delay: -2.5s;
}
.floating-element.moon {
  width: 50px; height: 50px;
  top: 20%; right: 5%;
  border-radius: 50%;
  background: linear-gradient(135deg, #d4d4d4, #a0a0b0, #e0e0e0);
  box-shadow: inset -8px -5px 15px rgba(0,0,0,0.2), 0 4px 20px rgba(0,0,0,0.15);
  animation-delay: -3s;
}

@keyframes floatUpDown {
  0%, 100% { transform: translateY(0px); }
  50% { transform: translateY(-18px); }
}

/* ===== LOGO WITH SUNBURST ===== */
.logo {
  position: absolute !important;
  left: 50%;
  transform: translateX(-50%);
}
.logo-wrapper {
  position: relative;
  display: inline-block;
}
.logo-sunburst {
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  width: 120px; height: 120px;
  opacity: 0.15;
  z-index: -1;
}

/* ===== HERO BIGGER TEXT ===== */
.hero-big-text {
  font-size: clamp(56px, 7vw, 100px) !important;
  font-weight: 300 !important;
}

/* ===== WAVE SEPARATOR ===== */
.wave-separator {
  width: 100%;
  height: 80px;
  position: relative;
  margin-top: -40px;
  z-index: 5;
}
.wave-separator svg {
  width: 100%;
  height: 100%;
  display: block;
}

/* ===== VIDEO ARCH SHAPE ===== */
.video-section {
  margin: 0 60px;
  border-radius: 40px;
  overflow: hidden;
}

/* ===== SUNBURST BEHIND TAB IMAGE ===== */
.sunburst-rays {
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  width: 450px; height: 450px;
  z-index: 0;
}
.sunburst-rays .ray {
  position: absolute;
  top: 50%; left: 50%;
  width: 3px; height: 180px;
  background: linear-gradient(to top, rgba(100,100,100,0.3), transparent);
  transform-origin: bottom center;
  border-radius: 2px;
}
.tab-image-wrapper { position: relative; }
.tab-circle-img { position: relative; z-index: 2; }

/* ===== FOOTER ZODIAC PATTERN ===== */
.footer {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='600' height='600' viewBox='0 0 600 600' fill='none' stroke='rgba(197,168,128,0.12)' stroke-width='0.8'%3E%3Ccircle cx='300' cy='300' r='250'/%3E%3Ccircle cx='300' cy='300' r='200'/%3E%3Ccircle cx='300' cy='300' r='150'/%3E%3Ccircle cx='300' cy='300' r='100'/%3E%3Cline x1='300' y1='50' x2='300' y2='550'/%3E%3Cline x1='50' y1='300' x2='550' y2='300'/%3E%3Cline x1='123' y1='123' x2='477' y2='477'/%3E%3Cline x1='477' y1='123' x2='123' y2='477'/%3E%3Cline x1='83' y1='200' x2='517' y2='400'/%3E%3Cline x1='200' y1='83' x2='400' y2='517'/%3E%3Cline x1='517' y1='200' x2='83' y2='400'/%3E%3Cline x1='400' y1='83' x2='200' y2='517'/%3E%3Ctext x='160' y='80' font-size='14' fill='rgba(197,168,128,0.12)' stroke='none'%3EAries%3C/text%3E%3Ctext x='430' y='80' font-size='14' fill='rgba(197,168,128,0.12)' stroke='none'%3ETaurus%3C/text%3E%3Ctext x='520' y='200' font-size='14' fill='rgba(197,168,128,0.12)' stroke='none'%3EGemini%3C/text%3E%3Ctext x='520' y='420' font-size='14' fill='rgba(197,168,128,0.12)' stroke='none'%3ECancer%3C/text%3E%3Ctext x='430' y='540' font-size='14' fill='rgba(197,168,128,0.12)' stroke='none'%3ELeo%3C/text%3E%3Ctext x='160' y='540' font-size='14' fill='rgba(197,168,128,0.12)' stroke='none'%3EVirgo%3C/text%3E%3Ctext x='40' y='420' font-size='14' fill='rgba(197,168,128,0.12)' stroke='none'%3ELibra%3C/text%3E%3Ctext x='40' y='200' font-size='14' fill='rgba(197,168,128,0.12)' stroke='none'%3EScorpio%3C/text%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 600px;
}

/* ===== NAV DROPDOWN ARROWS ===== */
.nav-link-dropdown::after {
  content: '';
  display: inline-block;
  width: 6px; height: 6px;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(45deg);
  margin-left: 5px;
  vertical-align: middle;
  position: relative;
  top: -1px;
}

/* ===== SECTION ZODIAC BG OVERLAYS ===== */
.hero, .insights, .guided, .section {
  position: relative;
}

/* ===== CRYSTAL SVG SHAPES ===== */
.crystal-svg {
  position: absolute;
  pointer-events: none;
  z-index: 10;
}

/* ===== DIAMOND/GEM DECORATIVE ===== */
.gem-decoration {
  position: absolute;
  width: 60px; height: 60px;
  pointer-events: none;
  opacity: 0.15;
}

/* ===== HERO ZODIAC WHEEL BG ===== */
.hero-zodiac-left {
  position: absolute;
  left: -80px; top: 50%;
  transform: translateY(-50%);
  width: 550px; height: 550px;
  opacity: 0.08;
  pointer-events: none;
}
.hero-zodiac-right {
  position: absolute;
  right: -60px; top: 15%;
  width: 650px; height: 650px;
  opacity: 0.08;
  pointer-events: none;
}

/* ===== ANIMATED ENTRANCE ===== */
.fade-in-up {
  opacity: 0;
  transform: translateY(40px);
  transition: opacity 0.8s ease, transform 0.8s ease;
}
.fade-in-up.visible {
  opacity: 1;
  transform: translateY(0);
}
.fade-in-left {
  opacity: 0;
  transform: translateX(-40px);
  transition: opacity 0.8s ease, transform 0.8s ease;
}
.fade-in-left.visible {
  opacity: 1;
  transform: translateX(0);
}
.fade-in-right {
  opacity: 0;
  transform: translateX(40px);
  transition: opacity 0.8s ease, transform 0.8s ease;
}
.fade-in-right.visible {
  opacity: 1;
  transform: translateX(0);
}
.scale-in {
  opacity: 0;
  transform: scale(0.9);
  transition: opacity 0.6s ease, transform 0.6s ease;
}
.scale-in.visible {
  opacity: 1;
  transform: scale(1);
}

/* Stagger delays */
.delay-1 { transition-delay: 0.1s; }
.delay-2 { transition-delay: 0.2s; }
.delay-3 { transition-delay: 0.3s; }
.delay-4 { transition-delay: 0.4s; }
.delay-5 { transition-delay: 0.5s; }

/* ===== PARALLAX SUBTLE ===== */
.parallax-slow { transition: transform 0.1s linear; }

/* ===== MARQUEE ENHANCEMENTS ===== */
.marquee-strip-gold {
  background: var(--bg-light);
  padding: 14px 0;
  overflow: hidden;
  border-top: 1px solid rgba(0,0,0,0.05);
  border-bottom: 1px solid rgba(0,0,0,0.05);
}
.marquee-strip-gold .marquee-text {
  color: var(--text-dark);
  font-size: 22px;
  opacity: 0.6;
}

/* ===== HOVER EFFECTS ===== */
.btn-dotted {
  transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1) !important;
  position: relative;
  overflow: hidden;
}
.btn-dotted::before {
  content: '';
  position: absolute;
  top: 50%; left: 50%;
  width: 0; height: 0;
  background: var(--gold);
  border-radius: 50%;
  transform: translate(-50%, -50%);
  transition: width 0.5s, height 0.5s;
  z-index: -1;
}
.btn-dotted:hover::before {
  width: 300px;
  height: 300px;
}

/* Gallery hover overlay */
.gallery-item::after {
  content: '';
  position: absolute;
  top: 0; left: 0; width: 100%; height: 100%;
  background: rgba(10, 14, 26, 0);
  transition: background 0.4s;
}
.gallery-item:hover::after {
  background: rgba(10, 14, 26, 0.2);
}

/* ===== RESPONSIVE FIXES ===== */
@media (max-width: 768px) {
  .video-section { margin: 0 15px; border-radius: 20px; }
  .floating-element { display: none; }
  .hero-zodiac-left, .hero-zodiac-right { display: none; }
  .sunburst-rays { width: 300px; height: 300px; }
}
