body.is-loading{overflow:hidden}
body.is-loading> :not(#siteLoader):not(script):not(style){visibility:hidden;pointer-events:none}
body.is-loading *{animation-play-state:paused!important}
/* Render and warm Studio behind the opaque loader, without exposing its inputs. */
body.studio-world.is-loading #deskCanvas{visibility:visible;pointer-events:none!important}
body.studio-world.is-loading #deskStage,body.studio-world.is-loading #deskStage *{pointer-events:none!important}
#siteLoader{position:fixed;inset:0;z-index:10000;display:flex;flex-direction:column;justify-content:center;padding:clamp(28px,7vw,110px);color:#f2f0ea;background:#08090a;transition:opacity .4s ease,visibility .4s;--load-progress:0%}
#siteLoader[hidden]{display:none}
#siteLoader.is-done{opacity:0;visibility:hidden;pointer-events:none}
.load-brand{position:absolute;top:36px;left:clamp(28px,7vw,110px);font:800 24px/1 'Inter Tight',sans-serif;letter-spacing:-.06em}
.load-brand span{font-size:10px;letter-spacing:.12em;margin-left:12px;font-weight:600}
.load-eyebrow{font:600 10px/1.3 'Inter Tight',sans-serif;letter-spacing:.18em;text-transform:uppercase;color:#858589;margin:0 0 28px}
#siteLoader h1{font:700 clamp(42px,6.6vw,110px)/.96 'Inter Tight',sans-serif;letter-spacing:-.06em;max-width:1080px;margin:0;text-transform:uppercase}
.load-aside{font:400 clamp(15px,1.5vw,22px)/1.5 'Inter Tight',sans-serif;color:#858589;margin:24px 0 0}
.load-footer{position:absolute;bottom:clamp(32px,6vh,65px);left:clamp(28px,7vw,110px);right:clamp(28px,7vw,110px)}
.load-status-row{display:flex;justify-content:space-between;gap:24px;font:500 11px/1.5 'Inter Tight',sans-serif;letter-spacing:.06em}
.load-track{height:1px;background:#ffffff20;margin-top:18px}
.load-track span{display:block;width:var(--load-progress);height:100%;background:#f2f0ea;transition:width .18s}
#loadRetry,#loadStart{margin-top:22px;padding:12px 20px;background:#f2f0ea;color:#08090a;border:0;font:600 12px 'Inter Tight',sans-serif;cursor:pointer}
@media(max-width:700px){#siteLoader h1{font-size:clamp(36px,10vw,60px)}.load-brand{top:28px}.load-status-row{font-size:10px}.load-aside{max-width:210px}}
@media(prefers-reduced-motion:reduce){#siteLoader,.load-track span{transition:none}}
