/* Aura Page Loader — premium responsive front-end */
#aura-page-loader {
  --aura-bg: #08141b;
  --aura-accent: #244454;
  --aura-text: #ffffff;
  --aura-muted: #a7bbc5;
  position: fixed;
  inset: 0;
  z-index: 2147483000;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  height: 100dvh;
  min-height: 100%;
  overflow: hidden;
  box-sizing: border-box;
  padding: max(18px, env(safe-area-inset-top)) 18px max(18px, env(safe-area-inset-bottom));
  background: var(--aura-bg);
  color: var(--aura-text);
  opacity: 1;
  visibility: visible;
  isolation: isolate;
  transition: opacity .62s cubic-bezier(.22,.75,.25,1), visibility .62s ease;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overscroll-behavior: none;
  contain: layout paint;
}
#aura-page-loader *,
#aura-page-loader *::before,
#aura-page-loader *::after { box-sizing: border-box; }
#aura-page-loader.aura-loader-hidden {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
#aura-page-loader .aura-loader-backdrop {
  position: absolute;
  inset: 0;
  z-index: -3;
  background:
    radial-gradient(ellipse at 50% 42%, color-mix(in srgb, var(--aura-accent) 38%, transparent) 0%, transparent 48%),
    radial-gradient(ellipse at 0% 100%, color-mix(in srgb, var(--aura-accent) 22%, transparent) 0%, transparent 43%),
    radial-gradient(ellipse at 100% 0%, color-mix(in srgb, var(--aura-accent) 16%, transparent) 0%, transparent 38%),
    var(--aura-bg);
}
#aura-page-loader .aura-loader-backdrop::before {
  content: "";
  position: absolute;
  inset: -25%;
  opacity: .18;
  background-image: radial-gradient(color-mix(in srgb, var(--aura-text) 72%, transparent) .65px, transparent .8px);
  background-size: 22px 22px;
  mask-image: linear-gradient(to bottom, transparent, #000 20%, #000 80%, transparent);
  animation: aura-star-drift 24s linear infinite;
}
#aura-page-loader .aura-loader-backdrop::after {
  content: "";
  position: absolute;
  width: min(94vw, 900px);
  aspect-ratio: 1;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  border: 1px solid color-mix(in srgb, var(--aura-text) 7%, transparent);
  border-radius: 50%;
  box-shadow: 0 0 0 44px color-mix(in srgb, var(--aura-text) 2%, transparent),
              0 0 0 90px color-mix(in srgb, var(--aura-text) 2%, transparent);
}
#aura-page-loader .aura-loader-content {
  width: min(100%, 510px);
  max-height: 100%;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 24px 8px;
  margin: auto;
  animation: aura-content-enter .8s cubic-bezier(.16,1,.3,1) both;
}
#aura-page-loader .aura-loader-brand {
  display: flex;
  align-items: center;
  justify-content: center;
  max-width: 100%;
  min-height: 0;
  margin: 0 0 clamp(18px, 3vh, 30px);
}
#aura-page-loader .aura-loader-brand:empty { display: none; }
#aura-page-loader .aura-loader-brand img {
  display: block;
  width: auto;
  height: auto;
  max-width: min(62vw, 220px);
  max-height: clamp(42px, 8vh, 76px);
  object-fit: contain;
  filter: drop-shadow(0 5px 22px color-mix(in srgb, var(--aura-accent) 32%, transparent));
}
#aura-page-loader .aura-loader-visual {
  position: relative;
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  width: clamp(94px, 20vw, 128px);
  height: clamp(94px, 20vw, 128px);
  margin: 0 0 clamp(22px, 4vh, 34px);
  filter: drop-shadow(0 0 28px color-mix(in srgb, var(--aura-accent) 24%, transparent));
}
#aura-page-loader .aura-orbit {
  position: absolute;
  inset: 0;
  display: block;
  border: 1px solid color-mix(in srgb, var(--aura-accent) 78%, white 22%);
  border-radius: 50%;
  will-change: transform;
  animation: aura-orbit-spin 3.2s linear infinite;
}
#aura-page-loader .aura-orbit-one {
  border-right-color: transparent;
  border-bottom-color: transparent;
  box-shadow: inset 0 0 20px color-mix(in srgb, var(--aura-accent) 15%, transparent);
}
#aura-page-loader .aura-orbit-two {
  inset: 10%;
  border-color: color-mix(in srgb, var(--aura-text) 23%, transparent);
  border-left-color: var(--aura-accent);
  border-top-color: transparent;
  animation-duration: 2.2s;
  animation-direction: reverse;
}
#aura-page-loader .aura-orbit-three {
  inset: 23%;
  border-style: dashed;
  border-color: color-mix(in srgb, var(--aura-accent) 88%, white 12%);
  animation-duration: 8s;
}
#aura-page-loader .aura-loader-core {
  position: relative;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--aura-text);
  box-shadow: 0 0 12px var(--aura-text), 0 0 30px var(--aura-accent), 0 0 58px color-mix(in srgb, var(--aura-accent) 75%, transparent);
  animation: aura-core-pulse 1.7s ease-in-out infinite;
}
#aura-page-loader .aura-loader-copy { width: 100%; min-width: 0; }
#aura-page-loader .aura-loader-eyebrow {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin: 0 0 13px;
  color: var(--aura-muted);
  font-family: inherit;
  font-size: 10px;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: .28em;
  text-transform: uppercase;
}
#aura-page-loader .aura-eyebrow-line {
  display: block;
  flex: 0 0 20px;
  height: 1px;
  background: var(--aura-accent);
  opacity: .9;
}
#aura-page-loader .aura-loader-title {
  display: block;
  max-width: 100%;
  margin: 0 !important;
  padding: 0 0 10px !important;
  color: var(--aura-text) !important;
  font-family: inherit;
  font-size: clamp(30px, 5.8vw, 48px) !important;
  font-weight: 500 !important;
  line-height: 1.12 !important;
  letter-spacing: -.045em;
  text-wrap: balance;
  overflow-wrap: anywhere;
  word-break: normal;
  text-shadow: 0 4px 28px color-mix(in srgb, var(--aura-accent) 25%, transparent);
}
#aura-page-loader .aura-loader-subtitle {
  max-width: 34ch;
  margin: 0 auto !important;
  padding: 0 !important;
  color: var(--aura-muted) !important;
  font-family: inherit;
  font-size: clamp(11px, 2.5vw, 13px) !important;
  font-weight: 400;
  line-height: 1.65 !important;
  letter-spacing: .045em;
  text-wrap: balance;
}
#aura-page-loader .aura-loader-subtitle[hidden] { display: none !important; }
#aura-page-loader .aura-loader-progress {
  position: relative;
  width: min(230px, 70vw);
  height: 2px;
  margin: clamp(24px, 4vh, 34px) auto 0;
  overflow: hidden;
  border-radius: 999px;
  background: color-mix(in srgb, var(--aura-text) 13%, transparent);
}
#aura-page-loader .aura-loader-progress[hidden] { display: none !important; }
#aura-page-loader .aura-loader-progress span {
  display: block;
  width: 38%;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, transparent, var(--aura-accent), var(--aura-text), var(--aura-accent), transparent);
  box-shadow: 0 0 14px var(--aura-accent);
  transform: translateX(-130%);
  animation: aura-progress-sweep 1.65s cubic-bezier(.65,0,.35,1) infinite;
}
#aura-page-loader .aura-loader-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  width: min(230px, 70vw);
  margin: 12px auto 0;
  color: var(--aura-muted);
  font-family: inherit;
  font-size: 9px;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: .16em;
}
#aura-page-loader .aura-loader-spark {
  color: var(--aura-accent);
  font-size: 14px;
  animation: aura-core-pulse 1.7s ease-in-out infinite;
}
#aura-page-loader .aura-loader-bottom [data-aura-counter] { font-variant-numeric: tabular-nums; }

/* Animation variants */
#aura-page-loader.aura-animation-rings .aura-orbit { border-width: 2px; animation-name: aura-ring-pulse; }
#aura-page-loader.aura-animation-rings .aura-orbit-two { animation-delay: -.5s; }
#aura-page-loader.aura-animation-minimal .aura-loader-visual { width: 54px; height: 54px; }
#aura-page-loader.aura-animation-minimal .aura-orbit-one { border: 3px solid color-mix(in srgb, var(--aura-text) 13%, transparent); border-top-color: var(--aura-accent); border-right-color: var(--aura-accent); }
#aura-page-loader.aura-animation-minimal .aura-orbit-two,
#aura-page-loader.aura-animation-minimal .aura-orbit-three { display: none; }
#aura-page-loader.aura-animation-bar .aura-loader-visual { display: none; }
#aura-page-loader.aura-animation-bar .aura-loader-brand { margin-bottom: 24px; }
#aura-page-loader.aura-animation-bar .aura-loader-progress { height: 3px; }

/* Compact screens: keep the full composition centered without overflow. */
@media (max-width: 600px) {
  #aura-page-loader { padding-left: 20px; padding-right: 20px; }
  #aura-page-loader .aura-loader-content { width: 100%; padding: 18px 0; }
  #aura-page-loader .aura-loader-brand { margin-bottom: 19px; }
  #aura-page-loader .aura-loader-visual { margin-bottom: 23px; }
  #aura-page-loader .aura-loader-eyebrow { gap: 8px; margin-bottom: 11px; font-size: 9px; letter-spacing: .22em; }
  #aura-page-loader .aura-eyebrow-line { flex-basis: 15px; }
  #aura-page-loader .aura-loader-title { font-size: clamp(28px, 8vw, 38px) !important; line-height: 1.12 !important; letter-spacing: -.035em; }
  #aura-page-loader .aura-loader-subtitle { max-width: 28ch; font-size: 11px !important; letter-spacing: .025em; }
  #aura-page-loader .aura-loader-progress { margin-top: 25px; }
  #aura-page-loader .aura-loader-bottom { font-size: 8px; letter-spacing: .13em; }
  #aura-page-loader .aura-loader-backdrop::after { width: 130vw; box-shadow: 0 0 0 25px rgba(255,255,255,.012), 0 0 0 54px rgba(255,255,255,.012); }
}
@media (max-width: 360px) {
  #aura-page-loader { padding-left: 16px; padding-right: 16px; }
  #aura-page-loader .aura-loader-title { font-size: 27px !important; }
  #aura-page-loader .aura-loader-visual { width: 82px; height: 82px; }
  #aura-page-loader .aura-loader-brand img { max-width: 58vw; max-height: 54px; }
  #aura-page-loader .aura-loader-bottom { width: min(210px, 76vw); }
  #aura-page-loader .aura-loader-progress { width: min(210px, 76vw); }
}
@media (max-height: 620px) and (min-width: 601px) {
  #aura-page-loader .aura-loader-content { padding-top: 12px; padding-bottom: 12px; }
  #aura-page-loader .aura-loader-brand { margin-bottom: 12px; }
  #aura-page-loader .aura-loader-visual { width: 76px; height: 76px; margin-bottom: 14px; }
  #aura-page-loader .aura-loader-progress { margin-top: 18px; }
}
@media (max-height: 560px) {
  #aura-page-loader .aura-loader-content { padding-top: 8px; padding-bottom: 8px; }
  #aura-page-loader .aura-loader-brand { margin-bottom: 8px; }
  #aura-page-loader .aura-loader-brand img { max-height: 40px; }
  #aura-page-loader .aura-loader-visual { width: 62px; height: 62px; margin-bottom: 12px; }
  #aura-page-loader .aura-loader-eyebrow { margin-bottom: 6px; }
  #aura-page-loader .aura-loader-title { font-size: clamp(24px, 5vw, 34px) !important; padding-bottom: 5px !important; }
  #aura-page-loader .aura-loader-progress { margin-top: 14px; }
}
@keyframes aura-orbit-spin { to { transform: rotate(360deg); } }
@keyframes aura-core-pulse { 0%,100% { opacity: .65; transform: scale(.88); } 50% { opacity: 1; transform: scale(1.14); } }
@keyframes aura-progress-sweep { 0% { transform: translateX(-130%); } 100% { transform: translateX(370%); } }
@keyframes aura-ring-pulse { 0%,100% { opacity: .45; transform: scale(.94) rotate(0deg); } 50% { opacity: 1; transform: scale(1.04) rotate(180deg); } }
@keyframes aura-star-drift { from { transform: translate3d(0,0,0); } to { transform: translate3d(22px,18px,0); } }
@keyframes aura-content-enter { from { opacity: 0; transform: translateY(14px) scale(.985); } to { opacity: 1; transform: translateY(0) scale(1); } }
@media (prefers-reduced-motion: reduce) {
  #aura-page-loader *, #aura-page-loader *::before, #aura-page-loader *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
}
