/* Critical loader styling also works while the application bundle is downloading. */
.brand-loading{min-height:70svh;display:grid;place-items:center;background:var(--site-bg,#fff);color:var(--site-ink,#002a32)}
.brand-loading-initial{min-height:100svh}
.brand-loader-content{visibility:hidden;display:flex;flex-direction:column;align-items:center;text-align:center;padding:24px;animation:brand-loader-reveal 0s 1.5s forwards;font-family:Inter,system-ui,sans-serif}
.brand-loader-visual{position:relative;width:112px;height:112px;display:grid;place-items:center;margin-bottom:22px}
.brand-loader-visual img{width:56px;height:56px;object-fit:contain;border-radius:10px}
.brand-loader-ring{position:absolute;inset:0;width:100%;height:100%;animation:brand-loader-turn 2.8s linear infinite;transform-origin:center}
.brand-loader-ring circle{fill:none;stroke-width:2;stroke-linecap:round}.brand-loader-ring .loader-track{stroke:#002a3210}.brand-loader-ring .loader-red{stroke:var(--site-accent,#ed254e);stroke-dasharray:94 221}.brand-loader-ring .loader-teal{stroke:#0e7d8f;stroke-dasharray:55 260;stroke-dashoffset:-140}.brand-loader-ring .loader-lime{stroke:#cee834;stroke-dasharray:28 287;stroke-dashoffset:-232}
.brand-loader-name{margin:0;font-size:16px;font-weight:600;letter-spacing:-.02em;line-height:1.4}
.brand-loader-message{font-size:12px;color:#596f77;margin:8px 0 0;line-height:1.5}
@keyframes brand-loader-reveal{to{visibility:visible}}
@keyframes brand-loader-turn{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.brand-loader-ring{animation:none}}
