/* Fixed pixel units keep this intro independent of the Figma page scale. */
#home-loader { display:none; }
html[data-home-loading] { overflow:hidden; }
html[data-home-loading] #home-loader,
#home-loader.is-leaving { display:flex; }
#home-loader { position:fixed; inset:0; z-index:1000; flex-direction:column; align-items:center; justify-content:center; background:#e5eafa; color:#080c2d; font:400 16px/1.4 Belanosima, sans-serif; }
#home-loader.is-leaving { pointer-events:none; animation:loader-exit 720ms cubic-bezier(.76,0,.24,1) both; }
html[data-home-entering] .page { animation:loader-page-enter 720ms cubic-bezier(.2,.7,.2,1) both; }
.loader-scene { position:relative; width:min(360px, 76vw); aspect-ratio:1; }
.loader-morph { position:absolute; inset:0; display:block; width:100%; height:100%; fill:#273be2; animation:loader-roll 5s linear infinite; }
.loader-logo { position:absolute; inset:36%; display:grid; place-items:center; z-index:2; }
.loader-logo img { display:block; width:82%; height:auto; }
.loader-base { position:absolute; bottom:max(40px, env(safe-area-inset-bottom)); text-align:center; font-variant-numeric:tabular-nums; font-size:24px; }
@keyframes loader-roll { to { transform:rotate(360deg); } }
@keyframes loader-exit { to { transform:translateY(-100%); } }
@keyframes loader-page-enter { from { translate:0 32px; } to { translate:0 0; } }
@media(max-height:540px) { .loader-scene { width:180px; } .loader-base { bottom:12px; } }
@media(prefers-reduced-motion:reduce) { #home-loader { display:none !important; } .loader-morph,html[data-home-entering] .page { animation:none; } html[data-home-loading] { overflow:auto; } }
