.site-loader[hidden] { display: none; }
.site-loader { position: fixed; inset: 0; z-index: 1000; display: grid; place-items: center; overflow: hidden; background: #040404; opacity: 1; transition: opacity .65s ease; isolation: isolate; }
.site-loader__content { width: 100%; padding: 24px; text-align: center; }
.site-loader__name { display: flex; justify-content: center; margin: 0 0 30px; color: #fff; font: 600 clamp(28px, 4.3vw, 64px)/1.15 'Kumbh Sans', sans-serif; letter-spacing: -.025em; text-transform: uppercase; }
.site-loader__bar { position: relative; width: clamp(140px, 18vw, 240px); height: 1.5px; margin: auto; overflow: hidden; background: rgb(37 99 235 / .18); border-radius: 3px; }
.site-loader__bar::after { content: ''; position: absolute; inset: 0; background: #2563eb; transform-origin: left; transform: scaleX(var(--progress, 0)); transition: transform .14s ease-out; box-shadow: 0 0 8px rgb(103 161 255 / .8), 0 0 20px rgb(37 99 235 / .72); animation: loader-bar-pulse 1.15s ease-in-out infinite; }
.site-loader.is-complete .site-loader__bar::after { transition: transform .5s cubic-bezier(.22,.72,.22,1); }
.site-loader.is-leaving { opacity: 0; pointer-events: none; }
@keyframes loader-bar-pulse { 0%, 100% { opacity: .78; filter: brightness(1); } 50% { opacity: 1; filter: brightness(1.45); } }
html.is-loading { overflow: hidden; }
@media (prefers-reduced-motion: no-preference) {
  html.is-revealing .site-header { animation: opening-header .8s cubic-bezier(.2,.72,.2,1) both; }
  html.is-revealing .hero__eyebrow { animation: opening-glow .8s cubic-bezier(.2,.72,.2,1) .08s both; }
  html.is-revealing .hero__title { animation: opening-title .95s cubic-bezier(.2,.72,.2,1) .16s both; }
  html.is-revealing .hero__manifesto { animation: opening-glow .9s cubic-bezier(.2,.72,.2,1) .3s both; }
  html.is-revealing .hero__details { animation: opening-glow .9s cubic-bezier(.2,.72,.2,1) .44s both; }
  html.is-revealing .hero__scroll { animation: opening-scroll .9s cubic-bezier(.2,.72,.2,1) .44s both; }
  @keyframes opening-glow { from { opacity: 0; transform: translateY(10px); filter: brightness(1.8) blur(3px); } 70% { filter: brightness(1.25) blur(.5px); } to { opacity: 1; transform: translateY(0); filter: brightness(1) blur(0); } }
  @keyframes opening-header { from { opacity: 0; filter: brightness(1.8) blur(3px); } 70% { filter: brightness(1.25) blur(.5px); } to { opacity: 1; filter: brightness(1) blur(0); } }
  @keyframes opening-scroll { from { opacity: 0; transform: translate(-50%, 10px); filter: brightness(1.8) blur(3px); } 70% { filter: brightness(1.25) blur(.5px); } to { opacity: 1; transform: translate(-50%, 0); filter: brightness(1) blur(0); } }
  @keyframes opening-title { from { opacity: 0; transform: translateY(12px); filter: brightness(1.8) blur(4px); text-shadow: 0 0 30px rgb(255 255 255 / .5), 0 0 58px rgb(210 176 111 / .35); } to { opacity: 1; transform: translateY(0); filter: brightness(1) blur(0); text-shadow: 0 0 0 transparent; } }
}
@media (prefers-reduced-motion: reduce) { .site-loader, .site-loader__bar::after { transition: none; animation: none; } }
