.splash{
  position:fixed;
  inset:0;
  z-index:1000;
  display:grid;
  place-items:center;
  min-height:100dvh;
  overflow:hidden;
  background:#050306;
  color:#fff;
  opacity:1;
  visibility:visible;
  transition:opacity .65s ease,visibility .65s ease;
}
.splash.is-leaving{opacity:0;visibility:hidden;pointer-events:none}
.splash-glow{
  position:absolute;
  width:min(80vw,620px);
  aspect-ratio:1;
  border-radius:50%;
  background:radial-gradient(circle,rgba(255,8,126,.3),rgba(255,8,126,.08) 42%,transparent 70%);
  filter:blur(12px);
  animation:splash-breathe 2.2s ease-in-out infinite;
}
.splash-content{position:relative;text-align:center;padding:2rem;animation:splash-rise .8s ease-out both}
.splash-logo{
  width:min(52vw,220px);
  height:min(52vw,220px);
  margin:0 auto 1.6rem;
  overflow:hidden;
  border:3px solid #ff2f92;
  border-radius:50%;
  background:#fff;
  box-shadow:0 0 26px rgba(255,47,146,.5),inset 0 0 25px rgba(255,47,146,.15);
}
.splash-logo img{width:100%;height:100%;object-fit:cover}
.splash-welcome{margin:0 0 .4rem;color:#d8cbd2;text-transform:uppercase;letter-spacing:.26em;font-size:.75rem;font-weight:700}
.splash h1{margin:0;font-family:"Playfair Display",serif;font-size:clamp(3.4rem,10vw,6.5rem);line-height:.95;letter-spacing:-.045em}
.splash h1 em{color:#ff2f92;font-weight:700}
.splash-tagline{margin:1.25rem 0 1.7rem;color:#c4b6be;letter-spacing:.13em;text-transform:uppercase;font-size:.78rem}
.splash-enter{min-height:46px;padding:.7rem 1.4rem;border:1px solid rgba(255,255,255,.35);border-radius:999px;background:transparent;color:#fff;font:700 .9rem "DM Sans",sans-serif;cursor:pointer;transition:background .2s ease,color .2s ease,transform .2s ease}
.splash-enter:hover,.splash-enter:focus-visible{background:#ff2f92;color:#160710;transform:translateY(-2px);outline:none}
.splash-progress{width:180px;height:2px;margin:1.5rem auto 0;overflow:hidden;background:rgba(255,255,255,.15)}
.splash-progress span{display:block;width:100%;height:100%;background:#ff2f92;transform-origin:left;animation:splash-load 2.8s linear both}
@keyframes splash-load{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes splash-rise{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
@keyframes splash-breathe{50%{transform:scale(1.12);opacity:.75}}
@media(prefers-reduced-motion:reduce){.splash-content,.splash-glow,.splash-progress span{animation:none}.splash{transition:none}}
