#phaze-splash {
  position: fixed;
  inset: 0;
  z-index: 2147483647;
  overflow: hidden;
  background: #ffffff;
  opacity: 1;
  transition: opacity .6s ease;
  --green: #1B4B33;
  --green2: #245C3E;
  --white: #ffffff;
  --ease-reveal: cubic-bezier(0.8, 0, 0.2, 1);
  --logoW: clamp(260px, 60vw, 740px);
  font-family: system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
}
#phaze-splash.phaze-hidden { opacity: 0; pointer-events: none; }

@keyframes phzWaveRise {
  from { height: 0; border-top-left-radius: 55% 100%; border-top-right-radius: 55% 100%; }
  to   { height: 112%; border-top-left-radius: 0%; border-top-right-radius: 0%; }
}
@keyframes phzWaveRiseBack {
  from { height: 0; border-top-left-radius: 62% 100%; border-top-right-radius: 62% 100%; }
  to   { height: 118%; border-top-left-radius: 0%; border-top-right-radius: 0%; }
}

#phaze-splash .phz-wave-back {
  position: absolute; left: -6%; right: -6%; bottom: 0; height: 0;
  background: var(--green2);
  animation: phzWaveRiseBack .92s cubic-bezier(.35, 0, .2, 1) 0s both;
}
#phaze-splash .phz-wave-front {
  position: absolute; left: -6%; right: -6%; bottom: 0; height: 0; overflow: hidden;
  background: var(--green);
  animation: phzWaveRise .82s cubic-bezier(.3, 0, .12, 1) .1s both;
}
#phaze-splash .phz-noise {
  position: absolute; inset: 0; opacity: .06; mix-blend-mode: soft-light;
  background: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22140%22%20height=%22140%22%3E%3Cfilter%20id=%22n%22%3E%3CfeTurbulence%20type=%22fractalNoise%22%20baseFrequency=%220.85%22%20numOctaves=%222%22%20stitchTiles=%22stitch%22/%3E%3CfeColorMatrix%20type=%22saturate%22%20values=%220%22/%3E%3C/filter%3E%3Crect%20width=%22100%25%22%20height=%22100%25%22%20filter=%22url(%23n)%22/%3E%3C/svg%3E") repeat;
}
#phaze-splash .phz-logo-wrap {
  position: absolute; inset: 0; display: flex; align-items: center; justify-content: center;
}
#phaze-splash .phz-logo {
  width: var(--logoW);
  aspect-ratio: 702 / 205;
  background: var(--white);
  opacity: 0;
  clip-path: inset(0 77% 0 0);
  transform: translateX(calc(var(--logoW) * 0.382));
  transition: clip-path .72s var(--ease-reveal), transform .72s var(--ease-reveal), opacity .42s ease;
  -webkit-mask: url("phaze-logo.svg") center / contain no-repeat;
          mask: url("phaze-logo.svg") center / contain no-repeat;
}
/* phase: P fades in (still collapsed) */
#phaze-splash .phz-logo.phz-p { opacity: 1; }
/* phase: expand to full PHAZE wordmark */
#phaze-splash .phz-logo.phz-word {
  opacity: 1;
  clip-path: inset(0 0 0 0);
  transform: translateX(0);
}

@media (prefers-reduced-motion: reduce) {
  #phaze-splash .phz-wave-back,
  #phaze-splash .phz-wave-front { animation: none; height: 120%; }
  #phaze-splash .phz-logo { transition: opacity .4s ease; }
}
