/* =====================================================================
   VividVerse entrance threshold (Harold review #1: one cinematic entrance).
   A full-viewport first moment — wordmark + one statement + one action —
   over a soft field carrying the worlds' colors. Dismisses to reveal the
   constellation of doors; skipped for the rest of the session.
   ===================================================================== */
.vv-enter{
  position:fixed; inset:0; z-index:200; display:grid; place-items:center;
  padding:2rem; text-align:center;
  background:radial-gradient(120% 100% at 50% 28%, #16130d, #060d09 72%);
  color:var(--surface,#FAF5EA);
  transition:opacity .85s ease, visibility .85s ease;
}
.vv-enter[hidden]{ display:none; }
.vv-enter.is-leaving{ opacity:0; visibility:hidden; pointer-events:none; }

.vv-enter__field{ position:absolute; inset:0; overflow:hidden; pointer-events:none; }
.vv-enter__frag{
  position:absolute; width:22vmax; height:22vmax; border-radius:50%;
  filter:blur(64px); opacity:.26; mix-blend-mode:screen;
  animation:vvDrift 26s ease-in-out infinite alternate;
}
@keyframes vvDrift{
  from{ transform:translate(0,0) scale(1); }
  to{ transform:translate(6vw,-5vh) scale(1.28); }
}

.vv-enter__center{ position:relative; z-index:1; max-width:37rem; }
.vv-enter__eyebrow{
  font-family:var(--font-body,"Inter",sans-serif); font-size:.78rem; letter-spacing:.3em;
  text-transform:uppercase; margin:0 0 1.3rem;
  color:color-mix(in srgb,var(--surface,#FAF5EA) 68%, transparent);
}
.vv-enter__word{
  font-family:var(--font-display,"Fraunces",serif); font-weight:600; margin:0;
  font-size:clamp(3rem,11vw,7rem); line-height:1; letter-spacing:-.02em;
  color:var(--surface,#FAF5EA); text-shadow:0 6px 40px rgba(0,0,0,.5);
}
.vv-enter__sub{
  font-family:var(--font-body,"Inter",sans-serif); font-size:clamp(1.02rem,2.4vw,1.3rem);
  line-height:1.55; margin:1.15rem auto 2.3rem; max-width:29rem;
  color:color-mix(in srgb,var(--surface,#FAF5EA) 84%, transparent);
}
.vv-enter__go{
  font-family:var(--font-body,"Inter",sans-serif); font-weight:600; font-size:1.06rem;
  color:#12100c; background:var(--accent,#C9A227); border:none; cursor:pointer;
  padding:0.95rem 2.7rem; border-radius:999px; letter-spacing:.02em;
  box-shadow:0 16px 48px rgba(0,0,0,.5); transition:transform .25s, filter .25s;
}
.vv-enter__go:hover{ transform:translateY(-2px); filter:brightness(1.06); }
.vv-enter__go:focus-visible{ outline:2px solid var(--surface,#FAF5EA); outline-offset:4px; }

@media (prefers-reduced-motion:reduce){
  .vv-enter__frag{ animation:none; }
  .vv-enter{ transition:opacity .01ms; }
}
