/* The illustration moves; the foreground wave has no transform or animation. */
.bestswell-splash[hidden] { display: none; }
.splash-active .bestswell-splash {
  position: fixed; inset: 0; z-index: 2147483000; display: grid;
  place-items: center; overflow: hidden; isolation: isolate;
  background: #031924; color: #d8f4e7; opacity: 1;
  transition: opacity 180ms ease-out;
  font-family: inherit;
}
html.splash-active { overflow: hidden; }
.splash-active.splash-leaving .bestswell-splash { opacity: 0; }
.splash-ocean {
  position: absolute; inset: -6%; z-index: -3; display: block;
  animation: swell-drift 4.8s ease-in-out infinite alternate;
  will-change: transform; pointer-events: none;
}
.splash-ocean img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.splash-light {
  position: absolute; inset: -24%; z-index: -2; pointer-events: none;
  background: radial-gradient(ellipse at 24% 33%,rgba(166,240,216,.16),transparent 42%),
    radial-gradient(ellipse at 80% 72%,rgba(37,173,174,.16),transparent 44%);
  animation: swell-light 3.4s ease-in-out infinite alternate;
  will-change: transform, opacity;
}
.splash-shade {
  position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background: radial-gradient(ellipse at center,rgba(1,19,30,.18) 0,transparent 57%),
    linear-gradient(0deg,rgba(1,15,24,.56),transparent 22%,transparent 85%,rgba(1,15,24,.22));
}
.bestswell-splash .splash-logo {
  display: block; width: min(62vmin,430px); height: auto;
  max-height: 62svh; overflow: visible;
  filter: drop-shadow(0 10px 24px rgba(1,15,24,.5));
  transform: none; animation: none;
}
.bestswell-splash .splash-caption {
  position: absolute; left: 20px; right: 20px;
  bottom: max(26px,env(safe-area-inset-bottom)); margin: 0;
  color: #d8f4e7; text-align: center; font-size: 14px;
  font-weight: 500; letter-spacing: .06em; text-shadow: 0 1px 12px #031924;
}
.bestswell-splash .splash-skip {
  position: absolute; top: max(16px,env(safe-area-inset-top));
  right: max(18px,env(safe-area-inset-right));
  min-height: 44px; padding: 8px 14px;
  border: 1px solid rgba(216,244,231,.34); border-radius: 999px;
  background: rgba(3,25,36,.7); color: #d8f4e7;
  font: inherit; font-size: 13px; cursor: pointer;
}
.bestswell-splash .splash-skip:hover { background: rgba(3,25,36,.9); }
.bestswell-splash .splash-skip:focus-visible { outline: 2px solid #d8f4e7; outline-offset: 4px; }
@keyframes swell-drift {
  from { transform: translate3d(-1.4%,1.1%,0) scale(1.025) rotate(-.45deg); }
  to { transform: translate3d(1.5%,-1.3%,0) scale(1.065) rotate(.65deg); }
}
@keyframes swell-light {
  from { transform: translate3d(-6%,3%,0); opacity: .35; }
  to { transform: translate3d(6%,-3%,0); opacity: .95; }
}
@media (prefers-reduced-motion: reduce) {
  .splash-active .bestswell-splash { transition: none; }
  .splash-ocean, .splash-light { animation: none; will-change: auto; }
}
@media print { .splash-active .bestswell-splash { display: none; } html.splash-active { overflow: visible; } }
