.cs-loader{
    position:fixed;inset:0;z-index:9999;
    display:flex;align-items:center;justify-content:center;
    overflow:hidden;
    isolation:isolate;
    contain:layout paint style;
    transform:translateZ(0);
    height:100vh;height:100dvh;
    color:#eef3f7;
    font-family:'Space Grotesk',system-ui,-apple-system,sans-serif;

    --gold-l:#f1c279;
    --gold-d:#aa7e3b;
    --gold-x:#fde9bf;
    --blue-l:#61a9c7;
    --blue-d:#346987;
    --silver:#d3d9d9;
    --olive:#8aa67a;

    --bg-stack:
        radial-gradient(ellipse 90% 60% at 50% 18%, rgba(241,194,121,.10), transparent 65%),
        radial-gradient(ellipse 100% 75% at 50% 100%, rgba(36,82,112,.42), transparent 60%),
        radial-gradient(ellipse 100% 100% at 50% 50%, #0a1c30 0%, #051323 55%, #020a14 100%);

    --cloud-1:rgba(60,90,120,.42);
    --cloud-2:rgba(50,80,110,.36);
    --cloud-3:rgba(40,70,100,.42);
    --cloud-4:rgba(55,85,115,.32);

    --fog-color:rgba(20,40,60,.55);
    --rays-color-a:rgba(241,194,121,.10);
    --rays-color-b:rgba(255,250,235,.06);

    --bolt-stroke:#ffffff;
    --bolt-shadow-1:rgba(255,255,255,.95);
    --bolt-shadow-2:rgba(255,236,190,.85);
    --bolt-shadow-3:rgba(241,194,121,.65);
    --bolt-shadow-4:rgba(97,169,199,.45);

    --burst-grad:radial-gradient(ellipse 50% 35% at 50% 50%,
        rgba(255,250,220,.55) 0%,
        rgba(241,194,121,.32) 35%,
        rgba(97,169,199,.18) 60%,
        transparent 80%);

    --flash-warm:rgba(255,248,220,.32);
    --flash-cool:rgba(180,210,240,.10);

    --vignette:radial-gradient(ellipse 100% 80% at 50% 50%, transparent 55%, rgba(0,0,0,.55) 100%);

    --star-1:rgba(255,255,255,.85);
    --star-2:rgba(241,194,121,.65);
    --star-3:rgba(180,210,240,.55);

    --gold-text-grad:linear-gradient(180deg,#fde9bf 0%,#f1c279 30%,#aa7e3b 65%,#c89a55 100%);
    --silver-text-grad:linear-gradient(180deg,#ffffff 0%,#e9f1f6 35%,#b8c8d4 100%);
    --gold-text-glow:rgba(241,194,121,.20);
    --silver-text-glow:rgba(97,169,199,.30);

    --ornament-line:rgba(241,194,121,.55);
    --ornament-dot:linear-gradient(135deg,#f1c279,#aa7e3b);
    --ornament-glow:rgba(241,194,121,.6);

    --tagline-color:rgba(211,217,217,.55);
    --tagline-line:rgba(241,194,121,.45);

    --prog-track:rgba(211,217,217,.10);
    --prog-glow:rgba(241,194,121,.55);

    --spark-gold-shadow:rgba(241,194,121,.65);
    --spark-blue-shadow:rgba(97,169,199,.65);
    --spark-olive-shadow:rgba(138,166,122,.55);
}

html:not(.dark) .cs-loader{
    color:#1f2a37;
    --bg-stack:
        radial-gradient(ellipse 90% 60% at 50% 18%, rgba(241,194,121,.18), transparent 65%),
        radial-gradient(ellipse 100% 70% at 50% 100%, rgba(97,169,199,.22), transparent 60%),
        radial-gradient(ellipse 100% 100% at 50% 50%, #f3ecdc 0%, #e2dccd 50%, #cdd5dc 100%);

    --cloud-1:rgba(180,200,220,.55);
    --cloud-2:rgba(200,212,225,.50);
    --cloud-3:rgba(190,205,220,.55);
    --cloud-4:rgba(210,220,230,.45);

    --fog-color:rgba(220,210,190,.55);
    --rays-color-a:rgba(170,126,59,.10);
    --rays-color-b:rgba(52,105,135,.06);

    --bolt-stroke:#5b4118;
    --bolt-shadow-1:rgba(91,65,24,.95);
    --bolt-shadow-2:rgba(170,126,59,.80);
    --bolt-shadow-3:rgba(241,194,121,.55);
    --bolt-shadow-4:rgba(52,105,135,.40);

    --burst-grad:radial-gradient(ellipse 50% 35% at 50% 50%,
        rgba(255,238,195,.65) 0%,
        rgba(170,126,59,.32) 35%,
        rgba(52,105,135,.18) 60%,
        transparent 80%);

    --flash-warm:rgba(255,238,195,.45);
    --flash-cool:rgba(120,160,200,.18);

    --vignette:radial-gradient(ellipse 100% 80% at 50% 50%, transparent 50%, rgba(70,55,30,.30) 100%);

    --star-1:rgba(91,65,24,.55);
    --star-2:rgba(170,126,59,.50);
    --star-3:rgba(52,105,135,.40);

    --gold-text-grad:linear-gradient(180deg,#aa7e3b 0%,#7a5a2a 50%,#aa7e3b 100%);
    --silver-text-grad:linear-gradient(180deg,#1f3a55 0%,#26425e 50%,#34516d 100%);
    --gold-text-glow:rgba(170,126,59,.18);
    --silver-text-glow:rgba(52,105,135,.18);

    --ornament-line:rgba(170,126,59,.65);
    --ornament-dot:linear-gradient(135deg,#aa7e3b,#7a5b2a);
    --ornament-glow:rgba(170,126,59,.45);

    --tagline-color:rgba(50,65,80,.65);
    --tagline-line:rgba(170,126,59,.55);

    --prog-track:rgba(50,65,80,.12);
    --prog-glow:rgba(170,126,59,.55);

    --spark-gold-shadow:rgba(170,126,59,.55);
    --spark-blue-shadow:rgba(52,105,135,.45);
    --spark-olive-shadow:rgba(107,142,94,.45);
}

.cs-loader{background:var(--bg-stack)}

.cs-loader.exit{animation:goExit .55s ease-out forwards}
@keyframes goExit{
    0%  {opacity:1;transform:translate3d(0,0,0) scale(1)}
    100%{opacity:0;transform:translate3d(0,0,0) scale(1.015); visibility:hidden}
}

.cs-loader.exit .go-clouds,
.cs-loader.exit .go-mist,
.cs-loader.exit .go-storm,
.cs-loader.exit .go-flash,
.cs-loader.exit .go-stars,
.cs-loader.exit .go-rays,
.cs-loader.exit .go-flowers,
.cs-loader.exit .go-flowers-top{
    display:none !important;
}

html:not(.dark) .cs-loader .go-storm,
html:not(.dark) .cs-loader .go-flash{
    display:none !important;
}

.cs-loader .go-exit-flash{
    position:absolute;inset:0;z-index:10;pointer-events:none;
    background:radial-gradient(ellipse 100% 100% at 50% 50%,
        rgba(255,250,220,.95) 0%,
        rgba(255,236,190,.7) 30%,
        rgba(241,194,121,.35) 55%,
        transparent 85%);
    opacity:0;
    will-change:opacity;
    animation:goExitFlash .55s ease-out forwards;
}
@keyframes goExitFlash{
    0%   {opacity:0}
    18%  {opacity:1}
    100% {opacity:0}
}

.cs-loader .go-stars-bg{
    position:absolute;inset:0;pointer-events:none;z-index:0;
    background-image:
        radial-gradient(1px 1px at 14% 22%, var(--star-1), transparent 60%),
        radial-gradient(1.4px 1.4px at 28% 8%,  var(--star-2), transparent 60%),
        radial-gradient(1px 1px at 41% 18%,    var(--star-1), transparent 60%),
        radial-gradient(1px 1px at 56% 31%,    var(--star-3), transparent 60%),
        radial-gradient(1.6px 1.6px at 67% 12%, var(--star-1), transparent 60%),
        radial-gradient(1px 1px at 82% 24%,    var(--star-2), transparent 60%),
        radial-gradient(1.2px 1.2px at 92% 9%,  var(--star-1), transparent 60%),
        radial-gradient(1px 1px at 9% 71%,     var(--star-1), transparent 60%),
        radial-gradient(1.4px 1.4px at 22% 86%, var(--star-2), transparent 60%),
        radial-gradient(1px 1px at 37% 78%,    var(--star-3), transparent 60%),
        radial-gradient(1px 1px at 51% 92%,    var(--star-1), transparent 60%),
        radial-gradient(1.2px 1.2px at 64% 81%, var(--star-1), transparent 60%),
        radial-gradient(1px 1px at 78% 89%,    var(--star-2), transparent 60%),
        radial-gradient(1.4px 1.4px at 88% 74%, var(--star-1), transparent 60%),
        radial-gradient(1px 1px at 4% 45%,     var(--star-3), transparent 60%),
        radial-gradient(1px 1px at 96% 53%,    var(--star-1), transparent 60%);
    animation:goStarTwinkle 6s ease-in-out infinite alternate;
}
@keyframes goStarTwinkle{
    from{opacity:.7}
    to  {opacity:1}
}

.cs-loader .go-clouds{
    position:absolute;inset:-15%;
    pointer-events:none;z-index:0;
    background:
        radial-gradient(ellipse 42% 30% at 14% 22%, var(--cloud-1) 0%, rgba(241,194,121,.06) 38%, transparent 72%),
        radial-gradient(ellipse 48% 34% at 86% 18%, var(--cloud-2) 0%, rgba(97,169,199,.06) 38%, transparent 72%),
        radial-gradient(ellipse 36% 26% at 50% 8%,  var(--cloud-3) 0%, transparent 70%),
        radial-gradient(ellipse 55% 36% at 28% 76%, var(--cloud-3) 0%, rgba(52,105,135,.10) 40%, transparent 75%),
        radial-gradient(ellipse 48% 32% at 74% 82%, var(--cloud-4) 0%, rgba(241,194,121,.05) 40%, transparent 72%),
        radial-gradient(ellipse 32% 22% at 50% 52%, var(--cloud-2) 0%, transparent 70%);
    filter:blur(28px);
    opacity:.9;
}

.cs-loader .go-mist{
    position:absolute;inset:-12%;
    pointer-events:none;z-index:0;
    background:
        radial-gradient(ellipse 32% 24% at 24% 38%, rgba(180,210,240,.10), transparent 60%),
        radial-gradient(ellipse 38% 28% at 76% 64%, rgba(241,194,121,.08), transparent 60%),
        radial-gradient(ellipse 42% 30% at 50% 82%, rgba(180,210,240,.06), transparent 60%),
        radial-gradient(ellipse 30% 22% at 12% 72%, rgba(241,194,121,.07), transparent 60%);
    background-size:240% 240%;
    opacity:.75;
    will-change:background-position;
    animation:goMistDrift 80s linear infinite alternate;
}
@keyframes goMistDrift{
    from{background-position:0% 0%}
    to  {background-position:100% 100%}
}

.cs-loader .go-fog{
    position:absolute;inset:0;pointer-events:none;z-index:0;
    background:linear-gradient(180deg, var(--fog-color) 0%, transparent 22%, transparent 78%, var(--fog-color) 100%);
    opacity:.75;
}

.cs-loader .go-rays{
    position:absolute;left:50%;top:-8%;
    width:130vw;height:80vh;
    transform:translate3d(-50%,0,0);
    pointer-events:none;z-index:0;opacity:.55;
    background:conic-gradient(from 268deg at 50% 100%,
        transparent 0deg,
        var(--rays-color-a) 6deg,
        transparent 14deg,
        var(--rays-color-b) 26deg,
        transparent 38deg,
        var(--rays-color-a) 56deg,
        transparent 72deg,
        var(--rays-color-b) 96deg,
        transparent 116deg,
        var(--rays-color-a) 138deg,
        transparent 156deg,
        var(--rays-color-b) 178deg,
        transparent 200deg);
    -webkit-mask-image:radial-gradient(ellipse 60% 90% at 50% 0%, #000 30%, transparent 78%);
            mask-image:radial-gradient(ellipse 60% 90% at 50% 0%, #000 30%, transparent 78%);
}

.cs-loader .go-storm{
    position:absolute;inset:0;pointer-events:none;z-index:1;
    overflow:hidden;
}

.cs-loader .go-bolt-wrap{
    position:absolute;
    pointer-events:none;
    transform-origin:50% 0%;
}

.cs-loader .go-burst{
    position:absolute;
    left:50%;top:0;
    width:280%;height:60%;
    transform:translate3d(-50%,-25%,0);
    background:var(--burst-grad);
    opacity:0;
    will-change:opacity;
    animation:goBurstStrike var(--bolt-cycle, 8s) steps(1, end) infinite;
    animation-delay:var(--bolt-delay, 0s);
}
@keyframes goBurstStrike{
    0%      {opacity:1}
    1%      {opacity:.55}
    2%      {opacity:.95}
    3%      {opacity:.4}
    5%      {opacity:.18}
    8%, 100%{opacity:0}
}

.cs-loader .go-bolt-svg{
    position:absolute;inset:0;
    width:100%;height:100%;
    overflow:visible;
    opacity:0;
    will-change:opacity;
    animation:goBoltStrike var(--bolt-cycle, 8s) steps(1, end) infinite;
    animation-delay:var(--bolt-delay, 0s);
}
@keyframes goBoltStrike{
    0%      {opacity:1}
    0.5%    {opacity:.25}
    1%      {opacity:1}
    1.5%    {opacity:.35}
    2%      {opacity:.95}
    2.5%    {opacity:.20}
    4%      {opacity:.06}
    8%, 100%{opacity:0}
}

.cs-loader .go-bolt-g1,
.cs-loader .go-bolt-g2,
.cs-loader .go-bolt-g3,
.cs-loader .go-bolt-halo,
.cs-loader .go-bolt-line{
    fill:none;
    stroke-linecap:round;
    stroke-linejoin:round;
}
.cs-loader .go-bolt-g1{stroke:var(--bolt-shadow-3);stroke-width:42;opacity:.045}
.cs-loader .go-bolt-g2{stroke:var(--bolt-shadow-3);stroke-width:24;opacity:.10}
.cs-loader .go-bolt-g3{stroke:var(--bolt-shadow-2);stroke-width:12;opacity:.22}
.cs-loader .go-bolt-halo{stroke:var(--bolt-shadow-1);stroke-width:5;opacity:.6}
.cs-loader .go-bolt-line{stroke:var(--bolt-stroke);stroke-width:1.4;opacity:1}

.cs-loader .go-bolt-g1.branch{stroke-width:24;opacity:.025}
.cs-loader .go-bolt-g2.branch{stroke-width:14;opacity:.07}
.cs-loader .go-bolt-g3.branch{stroke-width:7; opacity:.16}
.cs-loader .go-bolt-halo.branch{stroke-width:3;opacity:.45}
.cs-loader .go-bolt-line.branch{stroke-width:.9}

.cs-loader .go-flash{
    position:absolute;inset:0;pointer-events:none;z-index:2;
    background:
        radial-gradient(ellipse 70% 55% at 50% 22%, var(--flash-warm), transparent 65%),
        radial-gradient(ellipse 100% 100% at 50% 50%, var(--flash-cool), transparent 70%);
    opacity:0;
    will-change:opacity;
    animation:goScreenFlash 2s steps(1, end) infinite;
}
@keyframes goScreenFlash{
    0%      {opacity:.85}
    1%      {opacity:.20}
    2%      {opacity:.65}
    4%      {opacity:.12}
    8%, 100%{opacity:0}
}

.cs-loader .go-stars{
    position:absolute;inset:0;pointer-events:none;z-index:3;overflow:hidden;
}
.cs-loader .go-spark{
    position:absolute;border-radius:50%;
    background:var(--gold-l);
    box-shadow:0 0 6px var(--spark-gold-shadow);
    opacity:0;
    will-change:transform,opacity;
    animation:goSparkle ease-in-out infinite;
}
.cs-loader .go-spark.alt-blue{
    background:var(--blue-l);
    box-shadow:0 0 6px var(--spark-blue-shadow);
}
.cs-loader .go-spark.alt-olive{
    background:var(--olive);
    box-shadow:0 0 6px var(--spark-olive-shadow);
}
.cs-loader .go-spark.big{
    box-shadow:0 0 12px var(--spark-gold-shadow);
}
@keyframes goSparkle{
    0%,100%{opacity:0;transform:translate3d(0,0,0) scale(.4)}
    50%    {opacity:.85;transform:translate3d(0,-12px,0) scale(1)}
}

.cs-loader .go-vignette{
    position:absolute;inset:0;pointer-events:none;z-index:4;
    background:var(--vignette);
}

.cs-loader .go-flowers{
    position:absolute;left:0;right:0;bottom:0;
    width:100%;
    pointer-events:none;
    z-index:4;
    display:block;
    user-select:none;
    opacity:0;
    transform:translate3d(0,18px,0);
    will-change:opacity,transform;
    animation:goFlowersIn 1.4s cubic-bezier(.22,1,.36,1) .9s forwards;
}
.cs-loader .go-flowers-top{
    top:0;bottom:auto;
    transform:translate3d(0,-18px,0) scaleY(-1);
    opacity:0;
    animation:goFlowersInTop 1.4s cubic-bezier(.22,1,.36,1) 1.05s forwards;
}
@keyframes goFlowersIn{
    to{opacity:1;transform:translate3d(0,0,0)}
}
@keyframes goFlowersInTop{
    to{opacity:.55;transform:translate3d(0,0,0) scaleY(-1)}
}

html.dark .cs-loader .go-flowers{filter:brightness(.85) saturate(.9)}
html.dark .cs-loader .go-flowers-top{filter:brightness(.78) saturate(.85)}

.cs-loader .go-stage{
    position:relative;z-index:5;
    display:flex;flex-direction:column;align-items:center;
    gap:1.5rem;
    padding:2rem 1.5rem;
}

.cs-loader .go-ornament{
    display:flex;align-items:center;justify-content:center;
    gap:.9rem;width:min(440px,72vw);
    opacity:0;transform:translateY(-6px);
    animation:goFadeDown .9s cubic-bezier(.22,1,.36,1) .3s forwards;
}
@keyframes goFadeDown{ to{opacity:1;transform:translateY(0)} }
.cs-loader .go-ornament-line{
    flex:1;height:1px;
    background:linear-gradient(90deg,transparent,var(--ornament-line),transparent);
}
.cs-loader .go-ornament-dot{
    width:6px;height:6px;
    transform:rotate(45deg);
    background:var(--ornament-dot);
    box-shadow:0 0 12px var(--ornament-glow);
}

.cs-loader .go-title{
    margin:0;
    font-family:'Cinzel','Trajan Pro','Cormorant Garamond',serif;
    font-weight:500;
    text-transform:uppercase;
    font-size:clamp(2.1rem,7vw,5.4rem);
    line-height:1;letter-spacing:.16em;
    display:flex;align-items:baseline;justify-content:center;
    gap:.85em;
    white-space:nowrap;overflow:visible;
    padding:.1em .15em .15em;
}
.cs-loader .go-title-word{display:inline-flex;overflow:visible}
.cs-loader .go-letter{
    display:inline-block;
    opacity:0;
    transform:translate3d(0,28px,0);
    will-change:opacity,transform;
    animation:goLetterIn 900ms cubic-bezier(.22,1,.36,1) forwards;
    padding:0 .01em;
}
@keyframes goLetterIn{
    to{opacity:1;transform:translate3d(0,0,0)}
}

.cs-loader .go-w-gods .go-letter{
    background:var(--gold-text-grad);
    -webkit-background-clip:text;background-clip:text;
    -webkit-text-fill-color:transparent;color:transparent;
    text-shadow:0 0 30px var(--gold-text-glow);
}

.cs-loader .go-w-olympus .go-letter{
    background:var(--silver-text-grad);
    -webkit-background-clip:text;background-clip:text;
    -webkit-text-fill-color:transparent;color:transparent;
    text-shadow:0 0 28px var(--silver-text-glow);
}

.cs-loader .go-tagline{
    font-size:.66rem;font-weight:500;
    letter-spacing:.6em;text-transform:uppercase;
    color:var(--tagline-color);
    opacity:0;transform:translateY(8px);
    animation:goFadeUp .8s cubic-bezier(.22,1,.36,1) 1.7s forwards;
    display:flex;align-items:center;gap:.85rem;padding-left:.6em;
}
@keyframes goFadeUp{ to{opacity:1;transform:translateY(0)} }
.cs-loader .go-tagline::before,
.cs-loader .go-tagline::after{
    content:'';width:26px;height:1px;
    background:linear-gradient(90deg,transparent,var(--tagline-line),transparent);
}

.cs-loader .go-progress{
    position:relative;
    width:min(300px,68vw);
    height:1px;
    background:var(--prog-track);
    overflow:hidden;border-radius:1px;
    margin-top:.4rem;
    opacity:0;transform:translateY(6px);
    animation:goFadeUp .8s cubic-bezier(.22,1,.36,1) 1.95s forwards;
}
.cs-loader .go-progress-fill{
    position:absolute;left:0;top:0;height:100%;
    width:0%;
    background:linear-gradient(90deg,
        var(--blue-d) 0%,
        var(--blue-l) 30%,
        var(--olive)  55%,
        var(--gold-l) 78%,
        var(--gold-d) 100%);
    background-size:200% 100%;
    box-shadow:0 0 10px var(--prog-glow);
    transition:width .5s cubic-bezier(.4,0,.2,1);
    animation:goProgShift 4s linear infinite;
}
@keyframes goProgShift{
    from{background-position:0% 50%}
    to  {background-position:200% 50%}
}

@media(max-width:768px){
    .cs-loader .go-stage{gap:1.3rem;padding:1.4rem 1rem}
    .cs-loader .go-title{font-size:clamp(2.2rem,9vw,3.8rem);letter-spacing:.14em;gap:.7em}
    .cs-loader .go-ornament{width:min(360px,80vw)}
    .cs-loader .go-flowers-top{opacity:.4}
    html.dark .cs-loader .go-flowers-top{opacity:.32}
}
@media(max-width:560px){
    .cs-loader .go-stage{gap:1rem;padding:1rem .6rem;max-width:100vw}
    .cs-loader .go-title{
        flex-direction:column;
        align-items:center;
        gap:.04em;
        font-size:clamp(2.4rem,12vw,3.6rem);
        letter-spacing:.18em;
        max-width:100%;
    }
    .cs-loader .go-title-word{justify-content:center;max-width:100%}
    .cs-loader .go-tagline{font-size:.58rem;letter-spacing:.46em;gap:.6rem;margin-top:.3rem}
    .cs-loader .go-tagline::before,
    .cs-loader .go-tagline::after{width:20px}
    .cs-loader .go-progress{width:min(220px,72vw)}
    .cs-loader .go-ornament{width:min(280px,82vw)}
    .cs-loader .go-flowers-top{display:none}
}
@media(max-width:380px){
    .cs-loader .go-title{
        font-size:clamp(2rem,11.5vw,3rem);
        letter-spacing:.16em;
    }
    .cs-loader .go-ornament{width:min(220px,84vw)}
}
@media(orientation:landscape) and (max-height:520px){
    .cs-loader .go-stage{gap:.7rem;padding:.6rem}
    .cs-loader .go-title{
        flex-direction:row;
        align-items:baseline;
        font-size:clamp(1.7rem,5.5vw,2.4rem);
        letter-spacing:.12em;
        gap:.55em;
    }
    .cs-loader .go-flowers{max-height:38vh;object-fit:cover;object-position:center bottom}
    .cs-loader .go-flowers-top{display:none}
}

@media(prefers-reduced-motion:reduce){
    .cs-loader *,
    .cs-loader *::before,
    .cs-loader *::after{
        animation:none !important;transition:none !important;
    }
    .cs-loader .go-letter,
    .cs-loader .go-ornament,
    .cs-loader .go-tagline,
    .cs-loader .go-progress{opacity:1;transform:none;filter:none}
    .cs-loader .go-bolt-svg{opacity:0}
}
