.wedding-loader{z-index:999;background:0 0;justify-content:center;align-items:center;display:flex;position:fixed;inset:0;overflow:hidden}.wedding-loader--compact{z-index:1;width:120px;height:125px;position:relative;inset:auto;overflow:visible}.wedding-loader--compact .golden-ring span{width:4px;height:4px;transform:rotate(var(--ring-angle))translateY(-78px)}.wedding-loader--compact .scene-stack{transform-origin:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(.58)}.wedding-loader--compact .tagline{display:none}.golden-ring span{opacity:0;width:6px;height:6px;transform:rotate(var(--ring-angle))translateY(-140px);background:#d4af37;border-radius:50%;animation:1.2s infinite ringForm;position:absolute;top:50%;left:50%}@keyframes ringForm{0%{opacity:0}to{opacity:1}}.scene-stack{width:180px;height:190px;position:relative}.loader-scene{position:absolute;inset:0}.wedding-scene{animation:8s ease-in-out infinite weddingScene}.birthday-scene{animation:8s ease-in-out infinite birthdayScene}.scene-stack--birthday .wedding-scene,.scene-stack--birthday .birthday-scene{animation-delay:-4s}.scene-stack--fixed .loader-scene{animation:none}.scene-stack--fixed.scene-stack--wedding .birthday-scene,.scene-stack--fixed.scene-stack--birthday .wedding-scene{display:none}@media (prefers-reduced-motion:reduce){.wedding-loader .golden-ring span{opacity:1;animation:none}.scene-stack--fixed *{animation:none!important}}.mandap-loader{justify-content:center;align-items:flex-end;width:180px;height:190px;padding-bottom:20px;display:flex}.mandap-canopy{background:linear-gradient(135deg,#8e173f,#d93f6f 55%,#ffd166);border-radius:42px 42px 10px 10px;width:132px;height:34px;position:absolute;top:24px;left:50%;transform:translate(-50%);box-shadow:0 8px 18px #6322812e}.mandap-canopy:before{content:"";background:#ffffff80;border-radius:999px;height:4px;position:absolute;inset:7px 14px auto}.mandap-canopy span{background:#ffd166;border-radius:0 0 999px 999px;width:14px;height:14px;position:absolute;bottom:-11px}.mandap-canopy span:first-child{left:22px}.mandap-canopy span:nth-child(2){left:59px}.mandap-canopy span:nth-child(3){right:22px}.mandap-pillar{background:repeating-linear-gradient(#d4af37,#d4af37 8px,#fff0b8 8px 14px);border-radius:999px;width:9px;height:88px;position:absolute;top:54px;box-shadow:0 0 0 2px #8e173f1a}.mandap-pillar.left{left:33px}.mandap-pillar.right{right:33px}.mandap-garland{opacity:.9;border:4px dotted #f59e0b;border-top:0;border-radius:0 0 999px 999px;width:42px;height:56px;animation:1.8s ease-in-out infinite alternate garlandSwing;position:absolute;top:58px}.mandap-garland.left{transform-origin:0 0;left:43px}.mandap-garland.right{transform-origin:100% 0;animation-delay:.35s;right:43px}.couple{z-index:3;width:96px;height:78px;position:absolute;bottom:54px;left:50%;transform:translate(-50%)}.person{width:42px;height:76px;position:absolute;bottom:0}.person .head{z-index:5;background:#8a4b2c;border-radius:50% 50% 46% 46%;width:17px;height:18px;position:absolute;top:15px;left:50%;transform:translate(-50%);box-shadow:inset 0 -2px #4314072e}.person .head:after{content:"";background:#431407bf;border-radius:50%;width:2px;height:2px;position:absolute;top:7px;left:4px;box-shadow:7px 0 #431407bf}.person .body{z-index:2;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.groom{left:7px}.groom .turban{z-index:6;background:linear-gradient(135deg,#fff7d6,#d4af37 60%,#9a3412);border-radius:14px 14px 5px 5px;width:31px;height:14px;position:absolute;top:5px;left:50%;transform:translate(-50%)rotate(-2deg);box-shadow:inset 0 -2px #9a341238}.groom .turban:before{content:"";background:#dc2626;border-radius:999px 999px 2px 2px;width:6px;height:10px;position:absolute;top:-5px;left:13px}.groom .turban:after{content:"";background:#7c2d12;border-radius:50%;width:5px;height:5px;position:absolute;top:2px;right:4px}.groom .shoulder{z-index:2;background:#fff7ed;border-radius:18px 18px 5px 5px;width:38px;height:17px;position:absolute;top:34px;left:50%;transform:translate(-50%)}.groom .body{background:linear-gradient(150deg,#fef3c7,#f8fafc 45%,#d4af37);border-radius:10px 10px 7px 7px;width:32px;height:42px;box-shadow:inset 0 0 0 2px #9a34121f}.groom .stole{z-index:4;background:linear-gradient(#dc2626,#f59e0b);border-radius:999px;width:8px;height:39px;position:absolute;top:34px;left:25px;transform:rotate(-15deg)}.groom .arm{z-index:4;background:#8a4b2c;border-radius:999px;width:20px;height:7px;position:absolute;bottom:18px;right:3px;transform:rotate(-24deg)}.bride{right:7px}.bride .veil{z-index:1;background:linear-gradient(#d93f6fc7,#8e173f59);border-radius:24px 24px 13px 13px;width:42px;height:64px;position:absolute;top:2px;left:50%;transform:translate(-50%)}.bride .veil:before{content:"";background:#ffd166d9;border-radius:999px;height:4px;position:absolute;inset:4px 5px auto}.bride .hair{z-index:4;background:#2f160f;border-radius:50% 50% 45% 45%;width:20px;height:21px;position:absolute;top:12px;left:50%;transform:translate(-50%)}.bride .body{background:linear-gradient(145deg,#f97316,#d93f6f 45%,#8e173f);border-radius:18px 18px 10px 10px;width:37px;height:45px;box-shadow:inset 0 0 0 2px #ffd16629}.bride .body:after{content:"";background:#ffd166bf;border-radius:999px;width:4px;height:27px;position:absolute;bottom:6px;right:7px}.bride .dupatta{z-index:4;background:#ffd166d9;border-radius:999px;width:10px;height:37px;position:absolute;top:35px;left:11px;transform:rotate(17deg)}.bride .arm{z-index:4;background:#8a4b2c;border-radius:999px;width:20px;height:7px;position:absolute;bottom:18px;left:4px;transform:rotate(24deg)}.garland{z-index:7;opacity:.95;border:3px dotted #facc15;border-top:0;border-radius:0 0 999px 999px;width:18px;height:30px;position:absolute;top:31px;left:50%;transform:translate(-50%)}.bride .garland{border-color:#fff7ad}.birthday-loader{justify-content:center;align-items:flex-end;padding-bottom:24px;display:flex}.birthday-balloons{pointer-events:none;position:absolute;inset:0;overflow:hidden}.birthday-balloons span{opacity:0;border-radius:50% 50% 45% 45%;width:22px;height:28px;animation:2.8s linear infinite birthdayBalloonRise;position:absolute;bottom:76px}.birthday-balloons span:before{content:"";background:#ffffff73;border-radius:50%;width:5px;height:7px;position:absolute;top:6px;left:5px}.birthday-balloons span:after{content:"";background:#64748bbf;width:1px;height:28px;position:absolute;bottom:-28px;left:50%}.birthday-balloons span:first-child{background:#ff6384;left:22px;transform:scale(.72)}.birthday-balloons span:nth-child(2){background:#61a8ff;animation-delay:.45s;left:57px;transform:scale(.85)}.birthday-balloons span:nth-child(3){background:#ffc83d;animation-delay:.9s;right:58px;transform:scale(.65)}.birthday-balloons span:nth-child(4){background:#5fd18b;animation-delay:1.25s;right:24px;transform:scale(.78)}.birthday-cake{width:92px;position:relative}.birthday-cake-top{background:#ffccd8;border-radius:16px 16px 8px 8px;width:92px;height:28px;box-shadow:inset 0 -5px #ff638447}.birthday-cake-body{background:#ff9eb5;border-radius:0 0 10px 10px;justify-content:space-evenly;align-items:center;width:82px;height:42px;margin:-5px auto 0;display:flex}.birthday-cake-body span{background:#ffffff73;border-radius:999px;width:7px;height:22px}.birthday-candle{background:repeating-linear-gradient(45deg,#61a8ff,#61a8ff 4px,#fff 4px 8px);width:7px;height:25px;position:absolute;top:-25px;left:50%;transform:translate(-50%)}.birthday-candle span{background:#ffc83d;border-radius:50% 50% 45% 45%;width:9px;height:14px;animation:.6s ease-in-out infinite alternate candleFlicker;position:absolute;top:-14px;left:-1px}.agni{width:48px;height:42px;position:absolute;bottom:20px;left:50%;transform:translate(-50%)}.fire-bowl{background:linear-gradient(#9a3412,#431407);border-radius:50% 50% 12px 12px;width:44px;height:13px;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.flame{transform-origin:bottom;border-radius:50% 50% 45% 45%;animation:.65s ease-in-out infinite alternate agniFlicker;position:absolute;bottom:9px;left:50%}.flame-one{background:#f97316;width:16px;height:26px;margin-left:-8px}.flame-two{background:#facc15;width:11px;height:20px;margin-left:-16px;animation-delay:.15s}.flame-three{background:#ef4444;width:11px;height:20px;margin-left:5px;animation-delay:.3s}@keyframes weddingScene{0%,44%{opacity:1}50%,94%{opacity:0}to{opacity:1}}@keyframes birthdayScene{0%,44%{opacity:0}50%,94%{opacity:1}to{opacity:0}}@keyframes birthdayBalloonRise{0%{opacity:0;translate:0 28px}18%{opacity:1}84%{opacity:1}to{opacity:0;translate:0 -86px}}@keyframes candleFlicker{0%{transform:scale(.92)rotate(-4deg)}to{transform:scale(1.12)rotate(5deg)}}@keyframes garlandSwing{0%{transform:rotate(-2deg)}to{transform:rotate(2deg)}}@keyframes agniFlicker{0%{opacity:.82;transform:scale(.9)rotate(-5deg)}to{opacity:1;transform:scale(1.12)rotate(6deg)}}.tagline{letter-spacing:.2em;color:#8b5e3c;font-size:14px;font-weight:500;position:absolute;bottom:70px}
