.page-loader { background: radial-gradient(circle at 50% 50%, #fff 0, #fff7f1 45%, #ffe4d3 100%); }
.loader-content::before,.loader-content::after { content:''; position:absolute; left:50%; top:44%; width:min(390px,78vw); aspect-ratio:1; border-radius:50%; border:1px solid rgba(244,81,18,.32); transform:translate(-50%,-50%); pointer-events:none; }
.loader-content::before { animation:loader-ring 1.8s var(--ease) infinite; }.loader-content::after { width:min(290px,60vw); border-color:rgba(244,81,18,.16); animation:loader-ring 1.8s .55s var(--ease) infinite; }
.loader-content img { position:relative; z-index:1; animation:loader-logo 1.7s var(--ease) infinite alternate; }.loader-content p,.loader-line { position:relative; z-index:1; }.loader-line { width:118px; height:3px; }.loader-line::after { background:linear-gradient(90deg,#ffb27f,var(--orange),#ffb27f); }
@keyframes loader-ring { from { opacity:.75; transform:translate(-50%,-50%) scale(.68); } to { opacity:0; transform:translate(-50%,-50%) scale(1.08); } }
@keyframes loader-logo { from { transform:scale(.97); filter:brightness(0) saturate(100%) invert(28%) sepia(91%) saturate(2576%) hue-rotate(4deg) brightness(95%) contrast(95%) drop-shadow(0 0 0 rgba(244,81,18,0)); } to { transform:scale(1.035); filter:brightness(0) saturate(100%) invert(28%) sepia(91%) saturate(2576%) hue-rotate(4deg) brightness(110%) contrast(95%) drop-shadow(0 12px 18px rgba(244,81,18,.24)); } }
@media (prefers-reduced-motion: reduce) { .loader-content::before,.loader-content::after,.loader-content img { animation:none; } }
