
:root {
  --bliss-curtain-duration:.40s;
  --bliss-curtain-ease:cubic-bezier(.76,0,.24,1);
}

.bliss-page-curtain {
  position:fixed;
  z-index:2147483000;
  inset:0;
  display:grid;
  place-items:center;
  overflow:hidden;
  pointer-events:none;
  visibility:hidden;
  contain:strict;
}

.bliss-page-curtain__panel--left {
  position:absolute;
  z-index:1;
  inset:-1px;
  width:calc(100% + 2px);
  height:calc(100% + 2px);
  background:
    radial-gradient(circle at 50% 45%,rgba(255,255,255,.82),transparent 35%),
    linear-gradient(145deg,#f5f1ff 0%,#dfd6f9 48%,#c1b1ed 100%);
  box-shadow:inset 0 0 0 1px rgba(75,50,160,.05);
  transform:translate3d(0,-101%,0);
  will-change:transform;
  backface-visibility:hidden;
  transition:transform var(--bliss-curtain-duration) var(--bliss-curtain-ease);
}

.bliss-page-curtain__panel--right { display:none; }

.bliss-page-curtain__brand {
  position:relative;
  z-index:2;
  width:clamp(165px,18vw,265px);
  opacity:0;
  transform:translate3d(0,6px,0) scale(.98);
  transition:opacity .10s ease,transform .18s cubic-bezier(.16,1,.3,1);
  will-change:opacity,transform;
  backface-visibility:hidden;
}

.bliss-page-curtain__brand img {
  display:block;
  width:100%;
  height:auto;
}

.bliss-page-curtain.is-closing,
html.bliss-curtain-arrival .bliss-page-curtain,
.bliss-page-curtain.is-opening {
  visibility:visible;
}

.bliss-page-curtain.is-closing .bliss-page-curtain__panel--left,
html.bliss-curtain-arrival .bliss-page-curtain__panel--left {
  transform:translate3d(0,0,0);
}

.bliss-page-curtain.is-closing .bliss-page-curtain__brand,
html.bliss-curtain-arrival .bliss-page-curtain__brand {
  opacity:1;
  transform:translate3d(0,0,0) scale(1);
  transition-delay:.25s;
}

/* On arrival the closed blind continues downward, revealing the page. */
.bliss-page-curtain.is-opening .bliss-page-curtain__panel--left {
  transform:translate3d(0,101%,0);
}

.bliss-page-curtain.is-opening .bliss-page-curtain__brand {
  opacity:0;
  transform:translate3d(0,-5px,0) scale(.985);
  transition-delay:0s;
}

html.bliss-curtain-locked,
html.bliss-curtain-locked body {
  overflow:hidden !important;
}

@media (max-width:760px) {
  :root { --bliss-curtain-duration:.31s; }
  .bliss-page-curtain__brand { width:clamp(145px,45vw,195px); }
  .bliss-page-curtain__panel--left {
    /* Simpler paint layer on mobile: no animated masks or filters. */
    background:linear-gradient(150deg,#f4efff 0%,#ded4f8 52%,#c5b6ee 100%);
  }
  .bliss-page-curtain.is-closing .bliss-page-curtain__brand,
  html.bliss-curtain-arrival .bliss-page-curtain__brand {
    transition-delay:.18s;
  }
}

@media (prefers-reduced-motion:reduce) {
  .bliss-page-curtain__panel--left,
  .bliss-page-curtain__brand { transition-duration:.01ms !important; }
}
