/* ==========================================================================
   SPLASH — black loading screen shown for exactly 2s on first paint, logo
   only, lit by the shine sweep. Fades out smoothly rather than cutting.
   ========================================================================== */

html.has-splash,
html.has-splash body {
  overflow: hidden;
}

.splash {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #000;
  opacity: 1;
  transition: opacity 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}

.splash__logo {
  --shine-speed: 2.6s;
  --shine-delay: 0.1s;
  width: clamp(150px, 30vw, 260px);
  transform: scale(1);
  transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}
.splash__logo img {
  display: block;
  width: 100%;
  height: auto;
  /* Dimmed only here: the logo is already near-white, so on the page
     (over the photo wall) it stays full brightness, but against flat
     black the shine needs a darker base to actually read as a highlight
     passing over it rather than just more white-on-white. */
  filter: brightness(0.55) saturate(0.85);
}

.splash.is-leaving {
  opacity: 0;
  pointer-events: none;
}
.splash.is-leaving .splash__logo {
  transform: scale(1.04);
}

.splash[hidden] { display: none; }

@media (prefers-reduced-motion: reduce) {
  .splash { transition: opacity 0.3s linear; }
  .splash__logo { transition: none; }
  .splash.is-leaving .splash__logo { transform: none; }
}
