/* The original logo and the same mint / yellow accents used throughout the LP. */
html.lp-loading, .lp-loading body { overflow: hidden; }
.site-loader[hidden] { display: none; }
.site-loader {
  position: fixed; inset: 0; z-index: 1000; display: grid; place-items: center;
  overflow: hidden; background: #e1faf7; color: #008f89;
  opacity: 1; transition: opacity .48s ease;
}
.site-loader.is-leaving { opacity: 0; }
.site-loader.is-reduced { transition-duration: .12s; }
.site-loader.is-reduced *, .site-loader.is-reduced *::after { animation: none !important; }
.loader-scene { position: relative; width: min(560px, 92vw); aspect-ratio: 1.35; display: grid; place-items: center; }
.loader-blob { position: absolute; pointer-events: none; }
.loader-blob--back {
  width: 77%; height: 80%; left: 13%; top: 9%; background: #73d8ce;
  border-radius: 48% 52% 39% 61% / 45% 42% 58% 55%;
  transform: rotate(-14deg); animation: loader-drift 4s ease-in-out infinite;
}
.loader-blob--front {
  inset: 10% 5% 8%; background: #fff;
  border-radius: 53% 47% 49% 51% / 52% 57% 43% 48%;
  transform: rotate(-5deg); animation: loader-breathe 3.8s ease-in-out infinite;
}
.loader-orbit {
  position: absolute; width: 58px; height: 58px; left: 1%; bottom: 13%; background: #c9f2ee;
  border-radius: 43% 57% 53% 47% / 57% 46% 54% 43%;
  animation: loader-drift 3s ease-in-out -.6s infinite;
}
.loader-orbit::after { content: ''; position: absolute; inset: -5px 5px 5px -5px; border: 2px solid #fff; border-radius: inherit; }
.loader-content { position: relative; width: 66%; padding-top: 8px; text-align: center; }
.loader-logo { display: block; width: 100%; height: auto; animation: loader-logo-in .7s cubic-bezier(.22,1,.36,1) both; }
.loader-track { display: block; width: 94px; height: 5px; margin: 29px auto 16px; overflow: hidden; border-radius: 9px; background: #e1faf7; }
.loader-track::after { content: ''; display: block; width: 100%; height: 100%; border-radius: inherit; background: #ffe249; transform-origin: left center; animation: loader-line 1.35s ease-in-out infinite; }
.loader-caption { margin: 0; font: 500 11px/1.6 system-ui,sans-serif; letter-spacing: .16em; color: #008f89; }
.lp-load-error { min-height: 100svh; display: grid; place-content: center; gap: 16px; padding: 32px; background: #e1faf7; text-align: center; font: 16px/1.8 system-ui,sans-serif; }
.lp-load-error p { margin: 0; }.lp-load-error a { color: #008f89; text-underline-offset: 4px; }
@keyframes loader-logo-in { from { opacity: 0; transform: translateY(9px); } to { opacity: 1; transform: translateY(0); } }
@keyframes loader-line { 0% { transform: scaleX(0); opacity: 1; } 65%, 80% { transform: scaleX(1); opacity: 1; } 100% { transform: scaleX(1); opacity: 0; } }
@keyframes loader-drift { 0%, 100% { translate: 0 0; rotate: -3deg; } 50% { translate: 7px -7px; rotate: 4deg; } }
@keyframes loader-breathe { 0%, 100% { scale: 1; } 50% { scale: 1.025 .975; } }
@media (max-width: 767px) {
  .loader-orbit { width: 40px; height: 40px; }
  .loader-track { width: 76px; height: 4px; margin: 22px auto 13px; }
}
@media (prefers-reduced-motion: reduce) {
  .site-loader { transition-duration: .12s; }
  .site-loader *, .site-loader *::after { animation: none !important; }
}
@media print { .site-loader { display: none !important; } }
