/* Entry loader: sky curtain with rising balloons, lifts once the page is ready. */
.pp-boot{position:fixed;inset:0;z-index:200;display:grid;place-items:center;
  background:linear-gradient(180deg,#dcecfb 0%,#eaf4fd 38%,#f7fbff 72%,#fff 100%);
  overflow:hidden;transition:opacity 620ms cubic-bezier(.22,.61,.36,1),transform 780ms cubic-bezier(.22,.61,.36,1)}
body[data-theme=dark] .pp-boot{background:linear-gradient(180deg,#1b2b3e,#141f2c 65%,#101720)}
html.pp-booting,html.pp-booting body{overflow:hidden}

.pp-boot-sky{position:absolute;inset:-10%;pointer-events:none}
.pp-boot-sky i{position:absolute;display:block;border-radius:50%;background:#fff;opacity:.55;
  filter:blur(38px);animation:pp-boot-drift 14s linear infinite}
.pp-boot-sky i:nth-child(1){width:340px;height:150px;left:6%;top:22%;opacity:.5}
.pp-boot-sky i:nth-child(2){width:260px;height:120px;right:9%;top:34%;opacity:.38;animation-duration:19s;animation-direction:reverse}
.pp-boot-sky i:nth-child(3){width:420px;height:170px;left:34%;bottom:12%;opacity:.3;filter:blur(52px);animation-duration:24s}
@keyframes pp-boot-drift{0%{transform:translate3d(-24px,0,0)}50%{transform:translate3d(26px,-12px,0)}100%{transform:translate3d(-24px,0,0)}}

.pp-boot-balloons{position:absolute;inset:0;pointer-events:none}
.pp-boot-balloons img{position:absolute;width:var(--s,86px);height:var(--s,86px);object-fit:contain;
  bottom:-24%;left:var(--x,20%);opacity:0;
  filter:drop-shadow(0 16px 22px #1c3d5a14);
  animation:pp-boot-rise var(--d,7s) cubic-bezier(.36,.06,.3,1) var(--delay,0s) infinite}
@keyframes pp-boot-rise{
  0%{transform:translate3d(0,0,0) rotate(-5deg);opacity:0}
  12%{opacity:.9}
  70%{opacity:.75}
  100%{transform:translate3d(var(--dx,26px),-135vh,0) rotate(6deg);opacity:0}}

.pp-boot-core{position:relative;text-align:center;z-index:2}
.pp-boot-mark{width:74px;height:82px;object-fit:contain;display:block;margin:0 auto 22px;
  animation:pp-boot-bob 3.1s ease-in-out infinite;filter:drop-shadow(0 18px 24px #1c3d5a1a)}
@keyframes pp-boot-bob{0%,100%{transform:translateY(0) rotate(-1.5deg)}50%{transform:translateY(-11px) rotate(1.5deg)}}

.pp-boot-word{font:400 26px/1 Poppins,system-ui,sans-serif;letter-spacing:-1.4px;color:#10151c;margin:0 0 8px}
body[data-theme=dark] .pp-boot-word{color:#eaf3fb}
.pp-boot-sub{font:400 9px/1.6 Poppins,system-ui,sans-serif;letter-spacing:2px;text-transform:uppercase;color:#4c5a6b;margin:0 0 22px}
body[data-theme=dark] .pp-boot-sub{color:#a8bdd2}

.pp-boot-track{width:186px;height:3px;border-radius:99px;background:#1c5c8f1f;margin:0 auto;overflow:hidden}
.pp-boot-fill{display:block;height:100%;width:0%;border-radius:99px;background:linear-gradient(90deg,#7fc0f5,#2b8fe6);
  transition:width 340ms cubic-bezier(.22,.61,.36,1)}
.pp-boot-pct{font:400 8px/1 Poppins,system-ui,sans-serif;letter-spacing:1.4px;color:#4c5a6b;margin-top:12px;font-variant-numeric:tabular-nums}
body[data-theme=dark] .pp-boot-pct{color:#a8bdd2}

.pp-boot.is-done{opacity:0;transform:translateY(-4%) scale(1.015);pointer-events:none}
.pp-boot.is-done .pp-boot-balloons img{animation-duration:1.5s!important}

/* first paint of the page itself, once the curtain lifts */
html.pp-booting body>main,html.pp-booting body>header,html.pp-booting body>footer{opacity:0}
body>main,body>header,body>footer{transition:opacity 520ms ease 120ms}

@media(prefers-reduced-motion:reduce){
  .pp-boot,.pp-boot *{animation:none!important;transition:opacity 200ms linear!important}
  .pp-boot-balloons{display:none}
}
@media(max-width:600px){
  .pp-boot-mark{width:60px;height:66px}
  .pp-boot-word{font-size:22px}
  .pp-boot-balloons img{width:calc(var(--s,86px)*.72);height:calc(var(--s,86px)*.72)}
}
