/* ================================================================
   splash.css — first-visit splash. B&W hand-drawn feel.
   The animation itself is driven by GSAP (see splash.js); this file
   only holds layout, the ink colour, and the pre-animation hidden
   state so there's no flash of the finished figure before GSAP runs.
   ================================================================ */

.splash {
  position: fixed;
  inset: 0;
  z-index: 9999;
  background: #ffffff;
  display: grid;
  place-items: center;
  opacity: 1;
  pointer-events: auto;
  transition: opacity 0.5s ease-out;
}
.splash.is-hiding { opacity: 0; pointer-events: none; }
.splash.is-done   { display: none; }

.splash-figure {
  width: min(620px, 86vw);
  height: auto;
  display: block;
  color: #1a1614;          /* ink — drives currentColor on stroke/fill */
}

/* === Pre-animation hidden state ================================
   GSAP overrides these with the exact path length / final values.
   The dasharray guess just keeps the outline invisible until then.
   Each wordmark letter (.ltr) starts hidden and is written on in turn. */
.splash-island-path { stroke-dasharray: 700; stroke-dashoffset: 700; }
.splash-island-dot  { opacity: 0; }
.splash-word .ltr   { opacity: 0; }

/* === Fallback (no GSAP / reduced motion): show everything at once. */
.splash.is-static .splash-island-path { stroke-dasharray: none; stroke-dashoffset: 0; fill-opacity: 0.08; }
.splash.is-static .splash-island-dot  { opacity: 1; }
.splash.is-static .splash-word .ltr   { opacity: 1; }
