@font-face{
    font-family:"Sparkl Playfair";
    src:
        local("Playfair Display SemiBold"),
        local("Playfair Display"),
        url("https://fonts.gstatic.com/s/playfairdisplay/v40/nuFkD-vYSZviVYUb_rj3ij__anPXDTnogkk7.woff2") format("woff2");
    font-weight:600;
    font-style:normal;
    font-display:swap;
}

.cs-loader{
    position:fixed;
    inset:0;
    z-index:9999;
    overflow:hidden;
    display:grid;
    place-items:center;
    background:#f7f4ff;
}

.cs-loader.exit{
    animation:spLoaderOut .52s linear forwards;
}

@keyframes spLoaderOut{
    to{opacity:0;visibility:hidden}
}

.sp-ambient{position:absolute;inset:0;pointer-events:none}
.sp-orb{
    position:absolute;
    border-radius:50%;
    filter:blur(66px);
    opacity:.45;
    animation:spOrbFloat 14s ease-in-out infinite alternate;
}
.sp-orb-a{
    width:42vw;height:42vw;min-width:330px;min-height:330px;
    left:-12vw;top:-11vh;
    background:radial-gradient(circle,rgba(167,139,250,.34) 0%,rgba(167,139,250,0) 68%);
}
.sp-orb-b{
    width:34vw;height:34vw;min-width:260px;min-height:260px;
    right:-8vw;bottom:-10vh;
    background:radial-gradient(circle,rgba(139,92,246,.3) 0%,rgba(139,92,246,0) 72%);
    animation-delay:-5s;
}
.sp-orb-c{
    width:26vw;height:26vw;min-width:220px;min-height:220px;
    right:22vw;top:8vh;
    background:radial-gradient(circle,rgba(196,181,253,.26) 0%,rgba(196,181,253,0) 74%);
    animation-delay:-8s;
}
@keyframes spOrbFloat{
    0%{transform:translate(0,0) scale(1)}
    50%{transform:translate(22px,-18px) scale(1.04)}
    100%{transform:translate(-16px,14px) scale(.96)}
}

.sp-noise{
    position:absolute;
    inset:0;
    opacity:.22;
    pointer-events:none;
    mix-blend-mode:soft-light;
}

.sp-stars{
    position:absolute;
    inset:0;
    pointer-events:none;
}
.sp-star{
    position:absolute;
    border-radius:50%;
    background:rgba(140,96,247,.9);
    box-shadow:0 0 10px rgba(140,96,247,.6);
    animation:spTwinkle ease-in-out infinite;
}
@keyframes spTwinkle{
    0%,100%{opacity:.24;transform:scale(.86)}
    50%{opacity:1;transform:scale(1.15)}
}

.sp-stage{
    position:relative;
    z-index:2;
    width:min(90vw,840px);
    display:flex;
    justify-content:center;
}
.sp-wordmark-shell{
    position:relative;
    display:flex;
    flex-direction:column;
    align-items:center;
    min-width:min(90vw,560px);
    padding:1.1rem 1rem .95rem;
    transition:opacity .3s ease,transform .3s ease;
}

.sp-wordmark{
    display:flex;
    align-items:baseline;
    justify-content:center;
    gap:0;
    color:#231843;
    font-family:"Sparkl Playfair","Playfair Display","Cormorant Garamond","Times New Roman",serif;
    font-size:clamp(2.34rem,6.2vw,4.95rem);
    font-weight:600;
    letter-spacing:-.018em;
    line-height:1;
    white-space:nowrap;
    max-width:100%;
    text-rendering:optimizeLegibility;
}
.sp-gap{display:inline-block;width:.42ch}
.sp-letter{
    display:inline-block;
    opacity:0;
    transform:translateY(12px) scale(.95);
    transition:opacity .44s cubic-bezier(.22,1,.36,1),transform .44s cubic-bezier(.22,1,.36,1);
    color:#2b1f4a;
}
.sp-letter-strong{
    color:#6d28d9;
    font-weight:700;
}
.sp-letter.show{
    opacity:1;
    transform:translateY(0) scale(1);
}

.sp-sweep{
    position:absolute;
    inset:0;
    pointer-events:none;
    z-index:3;
    opacity:0;
    overflow:hidden;
}
.sp-sweep-star{
    position:absolute;
    left:0;
    top:50%;
    width:clamp(620px,88vw,1380px);
    aspect-ratio:1;
    transform:translate3d(-164%,-50%,0) rotate(-2deg) scale(.88);
    transform-origin:center;
    isolation:isolate;
    opacity:0;
    will-change:transform,opacity;
}
.sp-sweep-star::before{
    content:"";
    position:absolute;
    top:50%;
    right:50%;
    width:240vw;
    height:240vh;
    transform:translateY(-50%);
    background:linear-gradient(90deg,#f6f0ff 0%,#e5d1ff 54%,#c69eff 100%);
    opacity:.97;
    z-index:-1;
}
.sp-sweep-star svg{
    width:100%;
    height:100%;
    filter:drop-shadow(0 0 24px rgba(164,116,250,.72)) drop-shadow(0 0 128px rgba(175,136,251,.52));
}
.sp-sweep.run{
    opacity:1;
}
.sp-sweep.run .sp-sweep-star{
    animation:spSweepStar .96s linear forwards;
}
@keyframes spSweepStar{
    0%{opacity:0;transform:translate3d(-164%,-50%,0) rotate(-2deg) scale(.88)}
    8%{opacity:1}
    86%{opacity:1}
    100%{opacity:0;transform:translate3d(calc(100vw + 164%),-50%,0) rotate(2deg) scale(1.03)}
}

.sp-rule{
    width:min(100%,420px);
    margin-top:.52rem;
    height:1.5px;
    border-radius:2px;
    background:linear-gradient(90deg,rgba(139,92,246,0),rgba(139,92,246,.8),rgba(139,92,246,0));
    transform:scaleX(0);
    transform-origin:center;
    opacity:.7;
    transition:transform .52s cubic-bezier(.22,1,.36,1);
}
.sp-rule.on{transform:scaleX(1)}

.sp-sub{
    margin-top:.58rem;
    font-size:.64rem;
    letter-spacing:.1em;
    text-transform:none;
    color:rgba(49,35,82,.56);
    opacity:0;
    transform:translateY(6px);
    transition:opacity .45s ease,transform .45s cubic-bezier(.22,1,.36,1);
}
.sp-sub.show{
    opacity:1;
    transform:translateY(0);
}

.sp-progress{
    position:absolute;
    left:0;right:0;bottom:0;
    height:2px;
    background:rgba(139,92,246,.08);
}
.sp-progress-fill{
    width:0;
    height:100%;
    background:linear-gradient(90deg,#8b5cf6,#a78bfa,#ddd6fe);
    transition:width .24s ease-out;
}

.cs-loader.settle .sp-wordmark-shell{
    transform:translateY(-4px);
    transition:transform .44s ease;
}
.cs-loader.is-sweep .sp-wordmark-shell{
    animation:spCoveredHide .2s linear .42s forwards;
}
.cs-loader.is-sweep .sp-stars{
    animation:spCoveredHide .18s linear .46s forwards;
}
@keyframes spCoveredHide{
    to{opacity:0}
}

@media (max-width:640px){
    .sp-wordmark{
        font-size:clamp(2rem,11.6vw,3.18rem);
        letter-spacing:-.016em;
    }
    .sp-sub{font-size:.56rem;letter-spacing:.16em}
    .sp-wordmark-shell{padding:.9rem .8rem .8rem}
    .sp-sweep-star{width:clamp(420px,128vw,820px)}
}
@media (max-width:420px){
    .sp-wordmark{
        font-size:clamp(1.74rem,12vw,2.58rem);
        letter-spacing:-.014em;
    }
    .sp-gap{width:.34ch}
    .sp-wordmark-shell{
        min-width:min(94vw,560px);
        padding:.82rem .62rem .74rem;
    }
}

html.dark .cs-loader{
    background:radial-gradient(130% 90% at 10% 0%,#1a1231 0%,#0c0918 55%,#070611 100%);
}
html.dark .sp-noise{opacity:.3;mix-blend-mode:screen}
html.dark .sp-orb-a{background:radial-gradient(circle,rgba(139,92,246,.22) 0%,rgba(139,92,246,0) 72%)}
html.dark .sp-orb-b{background:radial-gradient(circle,rgba(124,58,237,.19) 0%,rgba(124,58,237,0) 74%)}
html.dark .sp-orb-c{background:radial-gradient(circle,rgba(167,139,250,.14) 0%,rgba(167,139,250,0) 74%)}
html.dark .sp-letter{color:#e8e2fb}
html.dark .sp-letter-strong{
    color:#bfa1ff;
    text-shadow:0 0 16px rgba(139,92,246,.35);
}
html.dark .sp-sub{color:rgba(214,202,241,.58)}
html.dark .sp-rule{
    background:linear-gradient(90deg,rgba(167,139,250,0),rgba(167,139,250,.9),rgba(167,139,250,0));
}
html.dark .sp-progress{background:rgba(139,92,246,.16)}
html.dark .sp-sweep-star::before{
    background:linear-gradient(90deg,#5b3c94 0%,#432d72 54%,#281c4a 100%);
}
html.dark .sp-sweep-star svg{
    filter:drop-shadow(0 0 30px rgba(210,189,255,.75)) drop-shadow(0 0 170px rgba(139,92,246,.42));
}
