@import "https://fonts.googleapis.com/css2?family=Exo+2:ital,wght@0,100..900;1,100..900&display=swap";html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{font-size:100%;font:inherit;vertical-align:baseline;font-optical-sizing:auto;border:0;margin:0;padding:0;font-family:"Exo 2",sans-serif}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:"";content:none}table{border-collapse:collapse;border-spacing:0}*,:before,:after{box-sizing:border-box}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#251d44;--card:#17102e;--accent:#763da3;--accentLight:#9a53d0;--text:#ffffffeb;--muted:#ffffffb8}html,body{height:100%}body{background:radial-gradient(1200px 700px at 20% 0%, var(--accent) 0%, var(--bg) 62%);color:var(--text);margin:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}#root{height:100%}.appShell{min-height:100%;position:relative}.appShell[data-loading=true]{opacity:0;visibility:hidden;pointer-events:none}.appShell[data-loading=false]{opacity:1;visibility:visible;animation:.42s ease-out both appReveal}@keyframes appReveal{0%{opacity:0}to{opacity:1}}.snapRoot{scroll-snap-type:y mandatory;scroll-behavior:smooth;scrollbar-width:none;-ms-overflow-style:none;height:100vh;overflow-y:auto}.snapRoot::-webkit-scrollbar{width:0;height:0}.dotNav{z-index:10;background:color-mix(in srgb, var(--card) 78%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:999px;flex-direction:column;gap:10px;padding:10px 8px;display:flex;position:fixed;top:50%;right:clamp(12px,2vw,22px);transform:translateY(-50%)}.fab{z-index:20;border:1px solid color-mix(in srgb, var(--accentLight) 26%, white 10%);background:linear-gradient(135deg, var(--accentLight), color-mix(in srgb, var(--accentLight) 38%, white 62%));color:#0a0612eb;cursor:pointer;width:52px;height:52px;box-shadow:0 18px 60px color-mix(in srgb, var(--accentLight) 26%, transparent), 0 10px 24px #00000073, 0 0 0 1px #ffffff1f;border-radius:999px;place-items:center;text-decoration:none;transition:transform .16s,filter .16s,box-shadow .16s;display:grid;position:fixed;bottom:clamp(14px,2.4vw,26px);right:clamp(14px,2.4vw,26px)}.fab:hover{filter:brightness(1.05);box-shadow:0 24px 72px color-mix(in srgb, var(--accentLight) 28%, transparent), 0 12px 26px #00000073, 0 0 0 1px #ffffff29;transform:translateY(-2px)}.fab:active{transform:translateY(0)}.fab:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb, var(--card) 75%, transparent), 0 0 0 6px color-mix(in srgb, var(--accentLight) 34%, transparent), 0 18px 56px #00000073;outline:none}.fabIcon{width:24px;height:24px;margin:0 auto;display:block}.modalPanel{background:linear-gradient(to bottom, color-mix(in srgb, var(--card) 62%, transparent) 0%, color-mix(in srgb, var(--card) 96%, transparent) 100%);border:1px solid color-mix(in srgb, var(--accentLight) 22%, white 10%);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:16px;flex-direction:column;width:min(720px,100%);max-height:calc(100dvh - 36px);animation:.18s cubic-bezier(.2,.9,.2,1) both modalPanelIn;display:flex;overflow:hidden;box-shadow:0 20px 80px #0009,0 0 0 1px #00000059}.modalHeader{z-index:1;background:color-mix(in srgb, var(--card) 82%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid #ffffff1a;justify-content:space-between;align-items:center;gap:12px;padding:14px 14px 10px;display:flex;position:sticky;top:0}.modalTitle{letter-spacing:-.01em;margin:0;font-size:18px}.modalBody{-webkit-overflow-scrolling:touch;flex:1;min-height:0;padding:0 14px 14px;overflow-y:auto}.modalText{color:var(--muted);line-height:1.6}.modalText :is(h3,h4){color:var(--text);letter-spacing:-.01em;margin:14px 0 8px;line-height:1.25}.modalText h3{margin-top:0;font-size:18px}.modalText h4{text-transform:uppercase;letter-spacing:.06em;color:color-mix(in srgb, var(--text) 78%, var(--muted));font-size:14px}.modalText p{margin:0 0 10px}.modalText ul{margin:0 0 10px;padding-left:18px}.modalText li{margin:4px 0}.modalText a{color:color-mix(in srgb, var(--accentLight) 80%, white 20%);text-underline-offset:3px}.modalText a:hover{color:color-mix(in srgb, var(--accentLight) 92%, white 8%)}.privacyPageRoot{box-sizing:border-box;place-items:center;min-height:100vh;padding:18px;display:grid}.privacyPagePanel{width:min(860px,100%)}.privacyBackLink{background:color-mix(in srgb, var(--card) 70%, transparent);height:36px;color:var(--text);letter-spacing:-.01em;border:1px solid #ffffff24;border-radius:999px;align-items:center;gap:8px;padding:0 12px;font-weight:650;text-decoration:none;transition:transform .14s,background-color .14s,border-color .14s;display:inline-flex}.privacyBackLink:hover{border-color:color-mix(in srgb, var(--accentLight) 40%, white 10%);transform:scale(1.02)}.privacyBackLink:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb, var(--card) 75%, transparent), 0 0 0 6px color-mix(in srgb, var(--accentLight) 28%, transparent);outline:none}@keyframes modalPanelIn{0%{opacity:0;transform:translateY(8px)scale(.99)}to{opacity:1;transform:translate(0,0)scale(1)}}.dotNavDot{border:1px solid color-mix(in srgb, var(--accentLight) 40%, white 10%);background:color-mix(in srgb, var(--accentLight) 18%, transparent);cursor:pointer;border-radius:999px;width:10px;height:10px;padding:0;transition:transform .14s,background-color .14s,border-color .14s}.dotNavDot:hover{border-color:color-mix(in srgb, var(--accentLight) 70%, white 10%);transform:scale(1.15)}.dotNavDot.isActive{background:var(--accentLight);border-color:color-mix(in srgb, var(--accentLight) 90%, white 10%);box-shadow:0 0 0 6px color-mix(in srgb, var(--accentLight) 22%, transparent)}.dotNavDot:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb, var(--card) 75%, transparent), 0 0 0 6px color-mix(in srgb, var(--accentLight) 28%, transparent);outline:none}.snapSection{scroll-snap-align:start;box-sizing:border-box;place-items:center;height:100vh;padding:clamp(18px,3vw,40px);display:grid;position:relative;overflow:hidden}.slideLogo{z-index:7;pointer-events:none;-webkit-user-select:none;user-select:none;filter:drop-shadow(0 10px 24px #0006);width:clamp(44px,6vw,64px);height:auto;position:absolute;top:clamp(10px,2.2vh,18px);left:50%;transform:translate(-50%)}.gemDecor{pointer-events:none;position:absolute;inset:0}.gem{will-change:transform, filter;filter:blur(var(--gem-blur,0px));position:absolute}.gemInner{will-change:transform, opacity;width:100%;height:100%;transform:translate(0,0)scale(1)}.gem--back{z-index:0;mix-blend-mode:screen}.gem--front{z-index:6;mix-blend-mode:screen}.gemGlow{background:radial-gradient(circle at 50% 50%, color-mix(in srgb, var(--accentLight) 36%, transparent) 0%, color-mix(in srgb, var(--accentLight) 18%, transparent) 32%, transparent 64%);filter:blur(10px);opacity:.85;border-radius:999px;position:absolute;inset:-30%;transform:rotate(12deg)}.gemImg{-webkit-user-select:none;user-select:none;width:100%;height:auto;filter:drop-shadow(0 18px 34px #0000008c) drop-shadow(0 0 26px color-mix(in srgb, var(--accentLight) 22%, transparent));display:block}.sectionImage{object-fit:contain;object-position:50% 50%;-webkit-user-select:none;user-select:none;z-index:1;width:100%;height:100%;position:absolute;top:0;left:0}.snapSection[data-active=false] .slideLogo,.snapSection[data-active=false] .sectionImage,.snapSection[data-active=false] .animCard,.snapSection[data-active=false] .animTitle,.snapSection[data-active=false] .animDescription{opacity:0}.snapSection[data-active=true]{--enterOffset:64px}.snapSection[data-active=true][data-scroll-dir=up]{--enterOffset:-64px}.snapSection[data-active=true] .sectionImage{opacity:0;transform:translate3d(0, var(--enterOffset), 0) scale(.985)}.snapSection[data-active=true] .slideLogo{opacity:0;transform:translateX(-50%) translateY(calc(var(--enterOffset) * -.25)) scale(.96)}.snapSection[data-active=true] .animCard{opacity:0;transform:translate3d(-50%, var(--enterOffset), 0)}.snapSection[data-active=true] .animTitle,.snapSection[data-active=true] .animDescription{opacity:0;transform:translate3d(0, var(--enterOffset), 0)}.snapRoot[data-anim-ready=true] .snapSection[data-active=true] .sectionImage{animation:2s cubic-bezier(.2,.9,.2,1) .1s both slideInFade}.snapRoot[data-anim-ready=true] .snapSection[data-active=true] .slideLogo{animation:1.25s cubic-bezier(.2,.9,.2,1) 50ms both slideLogoIn}.snapRoot[data-anim-ready=true] .snapSection[data-active=true] .animCard{animation:1.6s cubic-bezier(.2,.9,.2,1) .25s both slideInFadeCenteredCard}.snapRoot[data-anim-ready=true] .snapSection[data-active=true] .animTitle{animation:1.5s cubic-bezier(.2,.9,.2,1) .4s both slideInFade}.snapRoot[data-anim-ready=true] .snapSection[data-active=true] .animDescription{animation:1.5s cubic-bezier(.2,.9,.2,1) .6s both slideInFade}.snapRoot[data-anim-ready=true] .snapSection[data-active=true] .animCta{animation:1.4s cubic-bezier(.2,.9,.2,1) .78s both slideInFadeCta}.snapSection[data-active=true] .gemInner{opacity:0;transform:translateY(10px)scale(.94)}.snapRoot[data-anim-ready=true] .snapSection[data-active=true] .gemInner{animation:9.9s cubic-bezier(.2,.9,.2,1) .2s both gemPopIn}@keyframes gemPopIn{0%{opacity:0;transform:translateY(60px)scale(.84)}to{opacity:1;transform:translate(0,0)scale(1)}}@keyframes slideInFadeCta{0%{opacity:0;transform:translateX(-50%) translateY(var(--enterOffset))}to{opacity:1;transform:translate(-50%)translateY(0)}}@keyframes slideLogoIn{0%{opacity:0;transform:translateX(-50%) translateY(calc(var(--enterOffset) * -.25)) scale(.96)}to{opacity:1;transform:translate(-50%)translateY(0)scale(1)}}@keyframes slideInFade{0%{opacity:0;transform:translate3d(0, var(--enterOffset), 0)}to{opacity:1;transform:translate(0,0)}}@keyframes slideInFadeCenteredCard{0%{opacity:0;transform:translate3d(-50%, var(--enterOffset), 0)}to{opacity:1;transform:translate(-50%)}}.sectionText{text-align:center;background:linear-gradient(to bottom, color-mix(in srgb, var(--card) 58%, transparent) 0%, color-mix(in srgb, var(--card) 92%, transparent) 100%);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:5;border-radius:14px;width:min(980px,100% - 2*clamp(18px,3vw,40px));padding:14px 16px 28px;position:absolute;bottom:clamp(18px,3.5vh,44px);left:50%;transform:translate(-50%)}.sectionCta{cursor:pointer;background:linear-gradient(135deg, var(--accentLight), color-mix(in srgb, var(--accentLight) 45%, white 55%));box-shadow:0 16px 46px color-mix(in srgb, var(--accentLight) 24%, transparent), 0 10px 26px #00000073, 0 0 0 1px #ffffff24;border:0;border-radius:999px;padding:0;transition:transform .16s,box-shadow .16s,filter .16s;position:absolute;bottom:-18px;left:50%;transform:translate(-50%)}.sectionCtaInner{letter-spacing:.02em;color:#0a0612eb;text-transform:uppercase;min-width:180px;padding:12px 18px;font-size:14px;font-weight:700;display:block}.sectionCta:hover{filter:brightness(1.05);box-shadow:0 22px 60px color-mix(in srgb, var(--accentLight) 28%, transparent), 0 12px 28px #00000073, 0 0 0 1px #ffffff2e;transform:translate(-50%)translateY(-2px)}.sectionCta:active{transform:translate(-50%)translateY(0)}.sectionCta:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb, var(--card) 75%, transparent), 0 0 0 6px color-mix(in srgb, var(--accentLight) 34%, transparent), 0 18px 56px #00000073;outline:none}.sectionTitle{letter-spacing:-.02em;margin:0;font-size:clamp(32px,4vw,56px);line-height:1.05}.sectionDescription{color:var(--muted);margin:16px 0 12px;font-size:clamp(15px,1.5vw,18px);line-height:1.6}.loadingOverlay{z-index:1000;background:radial-gradient(1200px 700px at 20% 0%, var(--accent) 0%, var(--bg) 62%);place-items:center;padding:22px;animation:.36s ease-out both loadingOverlayIn;display:grid;position:fixed;inset:0}.loadingOverlay.isExit{pointer-events:none;animation:.52s ease-in both loadingOverlayOut}.loadingCard{text-align:center;background:linear-gradient(to bottom, color-mix(in srgb, var(--card) 64%, transparent) 0%, color-mix(in srgb, var(--card) 92%, transparent) 100%);border:1px solid color-mix(in srgb, var(--accentLight) 22%, white 10%);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:18px;grid-template-columns:1fr;justify-items:center;gap:clamp(10px,2.2vw,16px);width:min(920px,100%);padding:clamp(16px,3vw,26px);display:grid;box-shadow:0 16px 60px #00000085,0 0 0 1px #0000004d}.loadingLogo{filter:drop-shadow(0 10px 24px #0006);-webkit-user-select:none;user-select:none;width:clamp(72px,12vw,118px);height:auto;display:block}.loadingText{justify-items:center;gap:10px;display:grid}.loadingSubtitle{color:color-mix(in srgb, var(--muted) 92%, white 8%);letter-spacing:.01em;font-size:clamp(14px,1.6vw,18px)}.fillTitleWrap{padding-bottom:.1em;line-height:1.25;display:inline-block;position:relative}.fillTitleBase,.fillTitleFill{letter-spacing:-.03em;font-size:clamp(38px,5vw,68px);font-weight:800;display:block}.fillTitleBase{color:#ffffff24;text-shadow:0 0 .5px #ffffff38,0 10px 40px #0006}.fillTitleFill{color:#fffffff5;clip-path:inset(0 100% 0 0);text-shadow:0 0 .5px #ffffff38,0 10px 40px #0000004d;position:absolute;inset:0}.fillTitleWrap.isRunning .fillTitleFill{animation:1.6s ease-in-out .3s both fillLeftToRight}@keyframes fillLeftToRight{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0% 0 0)}}@keyframes loadingOverlayIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translate(0,0)}}@keyframes loadingOverlayOut{0%{opacity:1}to{opacity:0}}@media (prefers-reduced-motion:reduce){.snapRoot{scroll-behavior:auto}.snapSection[data-active=true] .slideLogo,.snapSection[data-active=true] .sectionImage,.snapSection[data-active=true] .animTitle,.snapSection[data-active=true] .animDescription{opacity:1;animation:none;transform:none}.snapSection[data-active=true] .animCard,.snapSection[data-active=true] .animCta{opacity:1;animation:none;transform:translate(-50%)}.snapSection[data-active=true] .gemInner{opacity:1;animation:none;transform:none}.loadingOverlay,.loadingOverlay.isExit,.fillTitleFill{animation:none!important}.fillTitleFill{clip-path:inset(0 0% 0 0)}}
