.page-loader{position:fixed;top:0;left:0;width:100%;height:100vh;background:var(--munk-void);z-index:var(--z-loader);display:flex;align-items:center;justify-content:center;flex-direction:column;overflow:hidden;-webkit-clip-path:circle(150% at 50% 50%);clip-path:circle(150% at 50% 50%)}.loader-grain{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;pointer-events:none;animation:grain .5s steps(1) infinite;background-image:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" width="300" height="300"><filter id="noise"><feTurbulence type="fractalNoise" baseFrequency="0.8" numOctaves="4" /></filter><rect width="300" height="300" fill="%23FFFDF9" filter="url(%23noise)" opacity="0.1"/></svg>');background-size:300px 300px}.loader-line{position:absolute;top:50%;left:0;width:100%;height:1px;background:var(--munk-amber);transform:scaleX(0);transform-origin:center center;z-index:1}.loader-content{position:relative;z-index:2;text-align:center;pointer-events:none}.loader-logo{display:flex;align-items:center;justify-content:center}.loader-logo-img{height:auto;width:auto;max-height:120px;max-width:180px;object-fit:contain;opacity:0}@keyframes loaderLogoFallback{to{opacity:1}}.loader-logo-img{animation:loaderLogoFallback .6s ease 1.5s forwards}.loader-tagline-line{width:0;height:1px;background:var(--munk-bark);margin:16px auto 12px}.loader-tagline{font-family:JetBrains Mono,monospace;font-size:12px;font-weight:400;color:var(--munk-sand);letter-spacing:.15em;text-transform:uppercase;opacity:0;margin:0;line-height:1.2;transform:translateY(10px)}.loader-skip{position:absolute;bottom:48px;left:50%;transform:translate(-50%);font-family:Inter,sans-serif;font-weight:300;font-size:11px;color:var(--munk-bark);opacity:0;cursor:pointer;margin:0;padding:0;user-select:none}@media (max-width: 768px){.loader-logo-img{max-height:80px;max-width:140px}.loader-tagline{font-size:10px}.loader-skip{bottom:32px;font-size:10px}}.page-loader.loader-hidden{display:none}.page-loader.loader-revealing{-webkit-clip-path:circle(150% at 50% 50%);clip-path:circle(150% at 50% 50%)}
