#loader {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}
.loader-bg {
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, #0a1628 0%, #0d1f3c 40%, #0f2447 70%, #071220 100%);
}
.loader-bg::before {
    content: '';
    position: absolute;
    width: 600px;
    height: 600px;
    background: radial-gradient(circle, rgba(100,160,255,0.12) 0%, transparent 70%);
    top: 50%; left: 50%;
    transform: translate(-50%,-50%);
    animation: loaderPulse 2.5s ease-in-out infinite;
}
.loader-bg::after {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse at 20% 80%, rgba(30,80,180,0.08) 0%, transparent 50%),
                radial-gradient(ellipse at 80% 20%, rgba(60,120,220,0.06) 0%, transparent 50%);
}
.loader-content {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
}
.loader-logo svg .loader-circle-outer { animation: dashRotate 2s linear infinite; transform-origin: center; }
.loader-logo svg .loader-circle-inner { animation: dashRotate 3s linear infinite reverse; transform-origin: center; }
.loader-logo svg .loader-leaf { animation: leafPulse 2s ease-in-out infinite; }
.loader-name {
    font-family: 'Cormorant Garamond', serif;
    font-size: 2.4rem;
    font-weight: 300;
    color: white;
    letter-spacing: 0.08em;
    display: flex;
    align-items: center;
}
.loader-name span { display: inline-block; opacity: 0; transform: translateY(20px); animation: letterReveal 0.5s forwards; }
.ln-k  { animation-delay: 0.10s; }
.ln-o  { animation-delay: 0.18s; }
.ln-n  { animation-delay: 0.26s; }
.ln-u  { animation-delay: 0.34s; }
.ln-l  { animation-delay: 0.42s; }
.ln-space { animation-delay: 0.50s; width: 12px; }
.ln-b  { animation-delay: 0.58s; }
.ln-a  { animation-delay: 0.66s; }
.ln-b2 { animation-delay: 0.74s; }
.ln-a2 { animation-delay: 0.82s; }
.ln-s  { animation-delay: 0.90s; }
.ln-z  { animation-delay: 0.98s; }
.ln-a3 { animation-delay: 1.06s; }
.ln-d  { animation-delay: 1.14s; }
.ln-e  { animation-delay: 1.22s; }
.loader-title {
    font-family: 'Jost', sans-serif;
    font-size: 0.85rem;
    font-weight: 300;
    color: rgba(255,255,255,0.5);
    letter-spacing: 0.3em;
    text-transform: uppercase;
    opacity: 0;
    animation: fadeInUp 0.6s forwards 1.5s;
}
.loader-line {
    width: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(100,160,255,0.6), transparent);
    animation: lineExpand 0.8s forwards 1.8s;
}
@keyframes loaderPulse { 0%,100%{transform:translate(-50%,-50%) scale(1);opacity:.8;} 50%{transform:translate(-50%,-50%) scale(1.2);opacity:1;} }
@keyframes dashRotate { to{stroke-dashoffset:-30;} }
@keyframes leafPulse { 0%,100%{opacity:.9;transform:scale(1);} 50%{opacity:.6;transform:scale(.92);} }
@keyframes letterReveal { to{opacity:1;transform:translateY(0);} }
@keyframes fadeInUp { from{opacity:0;transform:translateY(10px);} to{opacity:1;transform:translateY(0);} }
@keyframes lineExpand { to{width:200px;} }
#loader.hide { animation: loaderFadeOut 0.8s forwards; }
@keyframes loaderFadeOut { 0%{opacity:1;transform:scale(1);} 100%{opacity:0;transform:scale(1.05);pointer-events:none;} }
