.loader-root{--loader-bg: var(--white);--loader-exit-duration: .6s;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;background-color:var(--loader-bg);gap:1.5rem}.loader-inline{min-height:30vw;width:100%}.loader-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9998}.loader-blob-wrapper{width:clamp(100px,16vw,160px);height:clamp(100px,16vw,160px);animation:blobFloat 3s ease-in-out infinite;transition:transform var(--loader-exit-duration) cubic-bezier(.4,0,0,1),opacity var(--loader-exit-duration) cubic-bezier(.4,0,0,1)}.loader-blob{width:100%;height:100%;background:linear-gradient(135deg,#1a1a1a,#3a3a3a 40%,#1a1a1a);border-radius:40% 60% 60% 40%/60% 30% 70% 40%;animation:blobMorph 6s ease-in-out infinite,blobRotate 10s linear infinite}.loader-letters{display:flex;align-items:center;gap:.08em}.loader-letter{display:inline-block;font-family:Gill Sans,Gill Sans MT,Calibri,Trebuchet MS,sans-serif;font-weight:700;font-size:clamp(2rem,5vw,4rem);color:var(--black);opacity:0;transform:translateY(100%) scaleY(.6);clip-path:inset(0 0 100% 0);animation:letterReveal .5s cubic-bezier(.22,1,.36,1) forwards;animation-delay:calc(var(--i) * 80ms)}.loader-letter-space{width:.3em;animation:none;clip-path:none;opacity:1}.loader-letters .loader-letter{animation:letterReveal .5s cubic-bezier(.22,1,.36,1) forwards,letterBreathe 2.5s ease-in-out infinite;animation-delay:calc(var(--i) * 80ms),calc(var(--i) * 80ms + .8s)}.loader-text{position:relative;z-index:2;font-family:Gill Sans,Gill Sans MT,Calibri,Trebuchet MS,sans-serif;font-weight:500;font-size:clamp(.7rem,1.2vw,.9rem);letter-spacing:.35em;text-transform:uppercase;color:var(--black);opacity:0;animation:textFadeIn .5s ease forwards,textPulse 2.5s ease-in-out infinite;animation-delay:.6s,1.1s;pointer-events:none}.loader-exiting .loader-blob-wrapper{transform:scale(1.8);opacity:0}.loader-exiting .loader-letter{animation:letterExit .35s cubic-bezier(.55,0,1,.45) forwards;animation-delay:calc((6 - var(--i)) * 40ms)}.loader-exiting .loader-text{animation:none;opacity:0;transform:translateY(8px);transition:opacity calc(var(--loader-exit-duration) * .4) ease,transform calc(var(--loader-exit-duration) * .4) ease}.loader-exiting{transition:opacity var(--loader-exit-duration) ease;opacity:0;transition-delay:calc(var(--loader-exit-duration) * .5)}@keyframes blobMorph{0%,to{border-radius:40% 60% 60% 40%/60% 30% 70% 40%}25%{border-radius:40% 60% 30% 70%/50% 60% 40%}50%{border-radius:60% 40%/40% 50% 60%}75%{border-radius:30% 70% 50% 50%/60% 40% 50% 60%}}@keyframes blobFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes blobRotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes textFadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:.35;transform:translateY(0)}}@keyframes textPulse{0%,to{opacity:.3}50%{opacity:.6}}@keyframes letterReveal{0%{opacity:0;transform:translateY(100%) scaleY(.6);clip-path:inset(0 0 100% 0)}60%{opacity:1;transform:translateY(-8%) scaleY(1.02);clip-path:inset(0 0 0% 0)}to{opacity:1;transform:translateY(0) scaleY(1);clip-path:inset(0 0 0% 0)}}@keyframes letterBreathe{0%,to{opacity:.85;transform:translateY(0) scale(1)}50%{opacity:1;transform:translateY(-2px) scale(1.02)}}@keyframes letterExit{0%{opacity:1;transform:translateY(0) scaleY(1);clip-path:inset(0 0 0% 0)}to{opacity:0;transform:translateY(60%) scaleY(.7);clip-path:inset(100% 0 0 0)}}@media (prefers-reduced-motion: reduce){.loader-blob-wrapper{animation:none}.loader-blob{animation:none;border-radius:40% 60% 60% 40%/60% 30% 70% 40%}.loader-letter{animation:none!important;opacity:1;transform:none;clip-path:none}.loader-text{animation:none;opacity:.4}.loader-exiting .loader-blob-wrapper{transform:none;opacity:0;transition:opacity .3s ease}.loader-exiting .loader-letter{animation:none!important;opacity:0;transition:opacity .3s ease}.loader-exiting .loader-text{opacity:0;transform:none;transition:opacity .3s ease}.loader-exiting{opacity:0;transition:opacity .3s ease}}
