/* Brand reveal; the logo stays intact and the animation respects reduced motion. */
.startup-loader{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;padding:28px;background:#fcf8f4;color:#49243f;overflow:hidden;opacity:1;visibility:visible;transition:opacity .4s ease,visibility .4s ease}
.startup-loader:before,.startup-loader:after{content:"";position:absolute;width:78vw;height:78vw;max-width:640px;max-height:640px;border-radius:50%;pointer-events:none;filter:blur(12px)}
.startup-loader:before{top:-35%;right:-30%;background:radial-gradient(circle,#e8d7e7aa,transparent 68%)}
.startup-loader:after{bottom:-36%;left:-25%;background:radial-gradient(circle,#f5d8c5bb,transparent 68%)}
.startup-loader.is-leaving{opacity:0;visibility:hidden;pointer-events:none}
.startup-card{position:relative;z-index:1;display:grid;justify-items:center;text-align:center;max-width:360px;width:100%;animation:startup-arrive .6s ease both}
.startup-emblem{position:relative;display:grid;place-items:center;width:220px;height:200px;margin:0 0 24px}
.startup-emblem img{width:220px;height:200px;object-fit:contain;filter:drop-shadow(0 14px 28px #49243f0d);animation:startup-breathe 3s ease-in-out infinite}
.startup-wordmark{margin:0;font-size:10px;line-height:1.5;font-weight:800;letter-spacing:.23em;color:#785b70}
.startup-message{margin:12px 0 0;font-family:'DM Serif Display',Georgia,serif;font-size:28px;line-height:1.2;letter-spacing:-.5px;color:#49243f}
.startup-motion{width:64px;height:64px;margin-top:20px;opacity:.85}
.startup-progress{width:100px;height:3px;overflow:hidden;border-radius:99px;background:#49243f12;margin-top:14px}
.startup-progress span{display:block;width:35%;height:100%;border-radius:inherit;background:#8b547c;animation:startup-progress 1.5s ease-in-out infinite}
@keyframes startup-arrive{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@keyframes startup-breathe{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
@keyframes startup-progress{0%{transform:translateX(-105%)}100%{transform:translateX(390%)}}
html[data-theme=dark] .startup-loader{background:#231d27;color:#f5edf3}
html[data-theme=dark] .startup-message{color:#f5edf3}
html[data-theme=dark] .startup-wordmark{color:#d6b8ce}
html[data-theme=dark] .startup-progress{background:#ffffff18}
html[data-theme=dark] .startup-progress span{background:#d2a1c5}
@media(prefers-reduced-motion:reduce){.startup-card,.startup-emblem img,.startup-progress span{animation:none}.startup-progress span{width:100%;opacity:.65}.startup-loader{transition:none}}
