/* ============================================================
   AURA — SPLASH CSS
   ============================================================ */

@keyframes breathe {
  0%,100% { transform: scale(.5); opacity: 0; }
  50%      { transform: scale(1.5); opacity: .4; }
}
@keyframes title-in {
  from { opacity: 0; transform: translateY(30px); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes line-expand {
  from { width: 0; }
  to   { width: 100%; }
}
@keyframes fade-in {
  from { opacity: 0; }
  to   { opacity: 1; }
}
@keyframes scale-in {
  from { transform: scale(0); opacity: 0; }
  to   { transform: scale(1); opacity: 1; }
}
/* Balloon entrance */
@keyframes sb-rise-left {
  0%   { transform: translateY(130%) rotate(-8deg) scale(.65); opacity: 0; }
  60%  { opacity: 1; }
  100% { transform: translateY(0) rotate(0deg) scale(1); opacity: 1; }
}
@keyframes sb-rise-center {
  0%   { transform: translateY(150%) translateX(-50%) scale(.6); opacity: 0; }
  60%  { opacity: 1; }
  100% { transform: translateY(0) translateX(-50%) scale(1); opacity: 1; }
}
@keyframes sb-rise-right {
  0%   { transform: translateY(130%) rotate(8deg) scale(.65); opacity: 0; }
  60%  { opacity: 1; }
  100% { transform: translateY(0) rotate(0deg) scale(1); opacity: 1; }
}
/* Continuous bob */
@keyframes bob-left {
  0%,100% { transform: translateY(0)    rotate(-2deg) scale(1);    }
  40%     { transform: translateY(-30px) rotate(1.5deg) scale(1.02); }
  70%     { transform: translateY(-10px) rotate(-3deg)  scale(.99);  }
}
@keyframes bob-center {
  0%,100% { transform: translateY(0) translateX(-50%) scale(1);    }
  40%     { transform: translateY(-40px) translateX(-50%) scale(1.03); }
  75%     { transform: translateY(-15px) translateX(-50%) scale(.98); }
}
@keyframes bob-right {
  0%,100% { transform: translateY(0)    rotate(2deg)  scale(1);    }
  40%     { transform: translateY(-26px) rotate(-2deg) scale(1.02); }
  70%     { transform: translateY(-8px)  rotate(3deg)  scale(.99);  }
}
/* Sparkles */
@keyframes sparkle-rise {
  0%   { transform: translateY(0);     opacity: 0; }
  15%  { opacity: .9; }
  80%  { opacity: .3; }
  100% { transform: translateY(-130px) scale(.2); opacity: 0; }
}
/* Exit */
#splash.exit {
  opacity: 0; transform: scale(1.05); pointer-events: none;
  transition: opacity 1.5s cubic-bezier(.16,1,.3,1), transform 1.5s cubic-bezier(.16,1,.3,1);
}

/* ── Layout ─────────────────────────────────────────────── */
body { background: #080808; overflow: hidden; }

#splash {
  position: fixed; inset: 0; z-index: 9999;
  background: #080808;
  display: flex; align-items: center; justify-content: center; overflow: hidden;
}

/* Gold breathing core */
.splash-core {
  position: absolute; inset: 0;
  background: rgba(197,160,89,.4);
  border-radius: 50%; filter: blur(120px);
  animation: breathe 3.5s ease-out infinite;
}

/* Text block */
.splash-content {
  position: relative; z-index: 15;
  text-align: center; padding: 0 24px;
  margin-bottom: 26vh;
}
.splash-title {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(5rem, 18vw, 14rem);
  line-height: 1; letter-spacing: -.05em;
  background: linear-gradient(135deg, #c5a059, #f3e5ab, #c5a059);
  -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;
  text-transform: uppercase;
  opacity: 0; transform: translateY(30px);
  animation: title-in 1.2s ease .2s forwards;
}
.splash-line {
  height: 1px; background: rgba(197,160,89,.4);
  width: 0; margin: 24px auto;
  animation: line-expand 2s ease .8s forwards;
}
.splash-sub {
  display: flex; justify-content: space-between; align-items: center; padding: 0 16px;
  opacity: 0; animation: fade-in 1s ease 1.2s forwards;
}
.splash-sub span { font-size: 10px; text-transform: uppercase; letter-spacing: .5em; opacity: .5; color: #fcfbf7; }
.splash-dot {
  width: 4px; height: 4px; background: #c5a059; border-radius: 50%;
  opacity: 0; animation: scale-in 1s ease 1.5s forwards;
}
.splash-enter {
  position: absolute; bottom: 60px; z-index: 20;
  padding: 12px 32px;
  border: 1px solid rgba(197,160,89,.3);
  color: #c5a059; font-size: 10px; text-transform: uppercase; letter-spacing: .6em;
  background: transparent; cursor: pointer;
  transition: background .7s, color .7s;
  opacity: 0; animation: fade-in 1s ease 3.5s forwards;
}
.splash-enter:hover { background: #c5a059; color: #080808; }

/* ── Balloon Scene ──────────────────────────────────────── */
.splash-scene {
  position: absolute; bottom: 0; left: 0; right: 0;
  height: 78%; pointer-events: none; z-index: 6;
}
.sb {
  position: absolute; bottom: 0;
  transform-origin: bottom center;
  will-change: transform;
}
.sb img { display: block; width: 100%; height: auto; }

/* Glow under each balloon */
.sb-glow {
  position: absolute; bottom: 5%; left: 10%;
  width: 80%; height: 40%; border-radius: 50%;
  filter: blur(55px); pointer-events: none; z-index: -1;
  animation: glow-pulse 4s ease-in-out infinite;
}
/* Sparkle dots */
.sb-sparkle {
  position: absolute; width: 3px; height: 3px;
  border-radius: 50%; background: #f3e5ab; opacity: 0;
  animation: sparkle-rise var(--sd,3s) ease-in var(--ss,0s) infinite;
}

/* ── Balloon positions ──────────────────────────────────── */
.sb-far-left {
  left: -4%; width: clamp(150px, 17vw, 260px); opacity: .82;
  animation: sb-rise-left 1.7s cubic-bezier(.22,1,.36,1) .8s both,
             bob-right     6.8s ease-in-out 2.8s infinite;
}
.sb-left {
  left: 4%; width: clamp(200px, 24vw, 360px);
  animation: sb-rise-left 1.4s cubic-bezier(.22,1,.36,1) .35s both,
             bob-left      5.8s ease-in-out 2s infinite;
}
.sb-center {
  left: 50%; width: clamp(260px, 33vw, 480px); z-index: 2;
  animation: sb-rise-center 1.2s cubic-bezier(.22,1,.36,1) .1s both,
             bob-center     6.4s ease-in-out 1.8s infinite;
}
.sb-right {
  right: 4%; width: clamp(210px, 26vw, 380px);
  animation: sb-rise-right 1.5s cubic-bezier(.22,1,.36,1) .55s both,
             bob-right      5.2s ease-in-out 2.2s infinite;
}
.sb-far-right {
  right: -4%; width: clamp(160px, 19vw, 290px); opacity: .84;
  animation: sb-rise-right 1.8s cubic-bezier(.22,1,.36,1) 1s both,
             bob-left       7s ease-in-out 2.6s infinite;
}
