@keyframes logo-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.04)}}@keyframes shimmer{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}@keyframes dot-bounce{0%,80%,to{transform:translateY(0);opacity:.3}40%{transform:translateY(-5px);opacity:1}}#loader{position:fixed;inset:0;z-index:10000;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--black);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .6s var(--ease),visibility .6s,transform .7s var(--ease)}#loader.active{opacity:1;visibility:visible;pointer-events:auto;transform:scale(1)}#loader:not(.active){transform:scale(.96)}#loader::before{background-image:linear-gradient(rgba(107,26,43,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(107,26,43,.06) 1px,transparent 1px);background-size:72px 72px}#loader-bar::after,#loader::after,#loader::before{content:"";position:absolute;inset:0}#loader::after{background:radial-gradient(ellipse 50% 40%at 50% 50%,rgba(245,240,0,.04)0,transparent 60%);opacity:0;transition:opacity .8s}#loader.active::after{opacity:1}#loader-logo{font-family:var(--f1);font-size:clamp(2.8rem,6vw,4.5rem);letter-spacing:.06em;color:var(--neutral);animation:logo-breathe 1.6s ease-in-out infinite}#loader.loaded #loader-logo{animation:none}#loader-logo span{color:var(--yellow)}#loader-bar,#loader-dots,#loader-logo{position:relative;z-index:1}#loader-bar{width:0;height:3px;margin-top:1.2rem;overflow:hidden;transition:width .8s var(--ease);background:var(--yellow)}#loader.loaded #loader-bar{width:140px}#loader-bar::after{background:linear-gradient(90deg,transparent 0,rgba(255,255,255,.6) 50%,transparent 100%);animation:shimmer 1.2s ease-in-out infinite}#loader.loaded #loader-bar::after{opacity:0;transition:opacity .3s}#loader-dots{display:flex;gap:.35rem;margin-top:.9rem;opacity:.4}#loader-dots span{width:4px;height:4px;border-radius:50%;background:var(--neutral);animation:dot-bounce .9s ease-in-out infinite}#loader-dots span:nth-child(2){animation-delay:.15s}#loader-dots span:nth-child(3){animation-delay:.3s}