@font-face{font-family:Poppins-fallback;src:local('Arial');size-adjust:105%;ascent-override:95%;descent-override:22%;line-gap-override:0%}@font-face{font-family:NotoSans-fallback;src:local('Arial');size-adjust:108%;ascent-override:100%;descent-override:27%;line-gap-override:0%}:root{--primary:#FFD700;--primary-soft:rgba(255, 215, 0, 0.15);--accent:#FF6B35;--accent2:#C896FF;--dark:#06061a;--dark2:#0c0c2a;--card-bg:rgba(255, 255, 255, 0.04);--card-border:rgba(255, 255, 255, 0.08);--card-hover:rgba(255, 255, 255, 0.1);--glass:rgba(255, 255, 255, 0.06);--glass-border:rgba(255, 255, 255, 0.12);--radius:20px;--radius-sm:14px;--shadow:0 8px 32px rgba(0, 0, 0, 0.4);--shadow-lg:0 20px 60px rgba(0, 0, 0, 0.5);--font:'Poppins','Poppins-fallback','Noto Sans Devanagari','NotoSans-fallback',sans-serif;--transition:cubic-bezier(0.22, 1, 0.36, 1)}*{margin:0;padding:0;box-sizing:border-box}canvas,img,video{max-width:100%;height:auto}html{scroll-behavior:smooth}body{font-family:var(--font);background:var(--dark);color:#fff;overflow-x:hidden;min-height:100vh}img{max-width:100%;height:auto}img[loading=lazy]{opacity:0;transition:opacity .4s ease}img[loading=lazy].loaded,img[loading=lazy][complete]{opacity:1}.fade-in{opacity:0;transform:translateY(30px);transition:opacity .6s var(--transition),transform .6s var(--transition)}.fade-in.visible{opacity:1;transform:translateY(0)}.navbar{position:sticky;top:0;z-index:999;background:rgba(6,6,26,.8);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-bottom:1px solid rgba(255,215,0,.08);padding:.9rem 2rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;transition:background .3s,box-shadow .3s}.navbar.scrolled{background:rgba(6,6,26,.95);box-shadow:0 4px 30px rgba(0,0,0,.3)}.navbar .logo{font-size:1.3rem;font-weight:900;color:var(--primary);text-decoration:none;letter-spacing:-.5px;display:flex;align-items:center;gap:.15rem}.navbar .logo span{color:#fff;font-weight:700}.navbar nav{display:flex;align-items:center;gap:.4rem}.navbar nav a{color:rgba(255,255,255,.65);text-decoration:none;font-size:.85rem;font-weight:500;padding:.45rem .9rem;border-radius:10px;transition:all .25s var(--transition);position:relative}.navbar nav a:hover{color:var(--primary);background:var(--primary-soft)}.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:8px;border:none;background:0 0;z-index:1001}.hamburger span{display:block;width:24px;height:2.5px;background:rgba(255,255,255,.8);border-radius:2px;transition:all .3s var(--transition)}.hamburger.active span:first-child{transform:rotate(45deg) translate(5px,5px)}.hamburger.active span:nth-child(2){opacity:0}.hamburger.active span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}.mobile-nav-overlay{display:none;position:fixed;inset:0;background:rgba(6,6,26,.98);backdrop-filter:blur(20px);z-index:1000;flex-direction:column;align-items:center;justify-content:center;gap:1.5rem;opacity:0;transition:opacity .3s}.mobile-nav-overlay.open{display:flex;opacity:1}.mobile-nav-overlay a{color:rgba(255,255,255,.8);text-decoration:none;font-size:1.3rem;font-weight:600;padding:.8rem 2rem;border-radius:14px;transition:all .25s}.mobile-nav-overlay a:hover{color:var(--primary);background:var(--primary-soft)}.breadcrumb{padding:.7rem 2rem;font-size:.8rem;color:rgba(255,255,255,.4);background:rgba(255,255,255,.02);border-bottom:1px solid rgba(255,255,255,.04)}.breadcrumb a{color:rgba(255,215,0,.6);text-decoration:none;transition:color .2s}.breadcrumb a:hover{color:var(--primary)}.breadcrumb span{margin:0 .5rem}.festival-hero{position:relative;padding:5rem 2rem 4rem;text-align:center;overflow:hidden}.festival-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 0,var(--hero-color1,#1a0533) 0,var(--dark) 70%);z-index:0}.festival-hero::after{content:'';position:absolute;bottom:0;left:0;right:0;height:120px;background:linear-gradient(to top,var(--dark),transparent);z-index:1}.festival-hero .hero-content{position:relative;z-index:2}.festival-hero .hero-emoji{font-size:clamp(4rem, 12vw, 7rem);display:block;margin-bottom:.8rem;animation:floatEmoji 3s ease-in-out infinite;filter:drop-shadow(0 10px 30px rgba(255, 215, 0, .2))}@keyframes floatEmoji{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-15px) scale(1.05)}}.festival-hero h1{font-size:clamp(2rem, 5vw, 3.5rem);font-weight:900;background:linear-gradient(135deg,var(--hero-color1,gold),var(--hero-color2,#ff6b35));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1.2;margin-bottom:.6rem}.festival-hero .hero-hi{font-size:clamp(1.2rem, 3vw, 1.8rem);color:rgba(255,255,255,.65);margin-bottom:1.2rem}.festival-hero .hero-desc{font-size:clamp(.88rem, 2vw, 1.05rem);color:rgba(255,255,255,.5);max-width:600px;margin:0 auto;line-height:1.7}.ad-slot{margin:1.5rem auto;text-align:center;max-width:728px;padding:0 1rem;min-height:100px;contain:layout style size;overflow:hidden;content-visibility:auto;contain-intrinsic-size:728px 100px}.ad-slot ins{display:block;min-height:100px}.ad-slot ins:empty,.ad-slot:empty{display:none;min-height:0}.ad-placeholder{background:rgba(255,255,255,.03);border:1px dashed rgba(255,255,255,.08);border-radius:12px;padding:1.5rem;font-size:.75rem;color:rgba(255,255,255,.15);text-align:center}.section-title{text-align:center;padding:3rem 2rem 2rem}.section-title h2{font-size:clamp(1.4rem, 4vw, 2.2rem);font-weight:900;background:linear-gradient(135deg,var(--primary),var(--accent));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:.3rem}.section-title p{color:rgba(255,255,255,.4);font-size:.9rem;margin-top:.4rem}.wishes-section{padding:0 1.5rem 2rem;max-width:1200px;margin:0 auto}.wishes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.4rem}.wish-card{background:var(--glass);border:1px solid var(--glass-border);border-radius:var(--radius);padding:1.8rem;display:flex;flex-direction:column;gap:1rem;transition:all .4s var(--transition);cursor:default;position:relative;overflow:hidden}.wish-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--hero-color1,gold),var(--hero-color2,#ff6b35));opacity:0;transition:opacity .3s}.wish-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);border-color:rgba(255,215,0,.2);background:var(--card-hover)}.wish-card:hover::before{opacity:1}.wish-card .wish-lang{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:2px;padding:.3rem .8rem;border-radius:50px;background:rgba(255,215,0,.1);color:var(--primary);width:fit-content;backdrop-filter:blur(10px)}.wish-card .wish-lang.en{background:rgba(100,200,255,.1);color:#64c8ff}.wish-card .wish-text{font-size:.95rem;line-height:1.8;color:rgba(255,255,255,.85);white-space:pre-line;flex:1}.wish-card .wish-actions{display:flex;gap:.6rem;flex-wrap:wrap}.btn-create{background:linear-gradient(135deg,var(--hero-color1,gold),var(--hero-color2,#ff6b35));color:#000;border:none;border-radius:12px;padding:.75rem 1.3rem;font-size:.88rem;font-weight:700;cursor:pointer;transition:all .25s var(--transition);font-family:var(--font);min-height:44px}.btn-create:hover{opacity:.9;transform:scale(1.03);box-shadow:0 4px 20px rgba(255,215,0,.3)}.btn-copy{background:rgba(255,255,255,.06);color:rgba(255,255,255,.7);border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:.75rem 1.1rem;font-size:.88rem;cursor:pointer;transition:all .25s var(--transition);font-family:var(--font);min-height:44px}.btn-copy:hover{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.2)}.modal-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.9);backdrop-filter:blur(10px);z-index:2000;align-items:center;justify-content:center;padding:1rem}.modal-overlay.open{display:flex}.modal-box{background:var(--dark2);border:1px solid rgba(255,215,0,.15);border-radius:24px;padding:2rem;width:100%;max-width:560px;max-height:92vh;overflow-y:auto;box-shadow:0 25px 80px rgba(0,0,0,.6)}.modal-box h3{font-size:1.15rem;color:var(--primary);margin-bottom:1.2rem;text-align:center;font-weight:700}#wishCanvas{width:100%;height:auto;border-radius:16px;display:block;margin:0 auto}.template-bar{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:center;margin:1.2rem 0}.tpl-btn{border:2px solid rgba(255,255,255,.1);background:rgba(255,255,255,.04);color:rgba(255,255,255,.6);border-radius:12px;padding:.65rem 1rem;font-size:.82rem;cursor:pointer;transition:all .25s var(--transition);font-family:var(--font);min-height:44px}.tpl-btn.active,.tpl-btn:hover{border-color:var(--primary);color:var(--primary);background:rgba(255,215,0,.08);box-shadow:0 0 20px rgba(255,215,0,.1)}.share-bar{display:flex;gap:.6rem;flex-wrap:wrap;justify-content:center;margin-top:1rem}.share-btn{display:flex;align-items:center;gap:.4rem;border:none;border-radius:12px;padding:.75rem 1.2rem;font-size:.88rem;min-height:44px;font-weight:600;cursor:pointer;transition:all .25s var(--transition);font-family:var(--font)}.share-btn:hover{opacity:.9;transform:scale(1.03)}.btn-download{background:gold;color:#000}.btn-whatsapp{background:#25d366;color:#fff}.btn-facebook{background:#1877f2;color:#fff}.btn-twitter{background:#1da1f2;color:#fff}.btn-instagram{background:linear-gradient(45deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888);color:#fff}.btn-close-modal{display:block;margin:1.2rem auto 0;background:0 0;border:1px solid rgba(255,255,255,.15);color:rgba(255,255,255,.5);border-radius:12px;padding:.5rem 1.5rem;font-size:.82rem;cursor:pointer;transition:all .2s;font-family:var(--font)}.btn-close-modal:hover{border-color:rgba(255,255,255,.3);color:rgba(255,255,255,.7)}.about-section{max-width:860px;margin:3rem auto;padding:2.5rem 2rem;background:linear-gradient(135deg,rgba(255,255,255,.04),rgba(255,215,0,.02));border:1px solid rgba(255,255,255,.06);border-radius:var(--radius);content-visibility:auto;position:relative;overflow:hidden}.about-section::before{content:'';position:absolute;top:-50%;right:-50%;width:200px;height:200px;background:radial-gradient(circle,rgba(255,215,0,.05),transparent 70%);border-radius:50%}.about-section h2{font-size:1.4rem;font-weight:800;color:var(--primary);margin-bottom:1.2rem;position:relative}.about-section p{color:rgba(255,255,255,.6);line-height:1.85;font-size:.93rem;margin-bottom:.9rem;position:relative}.related-section{max-width:1200px;margin:2.5rem auto;padding:0 2rem}.related-section h2{font-size:1.3rem;font-weight:800;color:var(--primary);margin-bottom:1.2rem}.related-grid{display:flex;gap:.8rem;flex-wrap:wrap}.related-card{background:var(--glass);border:1px solid var(--glass-border);border-radius:var(--radius-sm);padding:.9rem 1.3rem;text-decoration:none;color:rgba(255,255,255,.75);font-size:.88rem;transition:all .3s var(--transition);display:flex;align-items:center;gap:.5rem}.related-card:hover{background:rgba(255,215,0,.08);border-color:rgba(255,215,0,.25);color:var(--primary);transform:translateY(-2px)}.faq-section{max-width:860px;margin:3rem auto 4rem;padding:0 2rem;content-visibility:auto}.faq-section h2{font-size:1.4rem;font-weight:800;color:var(--primary);margin-bottom:1.5rem;text-align:center}.faq-item{border:1px solid rgba(255,255,255,.06);border-radius:var(--radius-sm);margin-bottom:.8rem;overflow:hidden;transition:border-color .3s}.faq-item:hover{border-color:rgba(255,215,0,.15)}.faq-q{padding:1.2rem 1.5rem;font-size:.93rem;font-weight:600;cursor:pointer;display:flex;justify-content:space-between;align-items:center;color:rgba(255,255,255,.85);background:rgba(255,255,255,.03);transition:all .25s}.faq-q:hover{background:rgba(255,255,255,.06)}.faq-q .arrow{transition:transform .35s var(--transition);font-size:.75rem;opacity:.5}.faq-q.open .arrow{transform:rotate(180deg);opacity:1;color:var(--primary)}.faq-a{display:none;padding:1.2rem 1.5rem;font-size:.9rem;color:rgba(255,255,255,.55);line-height:1.8;background:rgba(0,0,0,.15);border-top:1px solid rgba(255,255,255,.04)}.faq-a.open{display:block}.site-footer{background:linear-gradient(to top,rgba(255,255,255,.03),transparent);border-top:1px solid rgba(255,255,255,.05);padding:3.5rem 2rem 2rem;text-align:center}.footer-links{display:flex;flex-wrap:wrap;gap:.6rem 1.2rem;justify-content:center;margin-bottom:2rem}.footer-links a{color:rgba(255,255,255,.4);text-decoration:none;font-size:.82rem;padding:.3rem .6rem;border-radius:8px;transition:all .2s}.footer-links a:hover{color:var(--primary);background:var(--primary-soft)}.footer-copy{font-size:.78rem;color:rgba(255,255,255,.25)}.footer-copy strong{color:var(--primary)}.home-hero{min-height:auto;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:4rem 2rem 3rem;position:relative;overflow:hidden}.home-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 20% 20%,rgba(255,107,53,.12) 0,transparent 50%),radial-gradient(ellipse at 80% 80%,rgba(200,150,255,.1) 0,transparent 50%),radial-gradient(ellipse at 50% 0,#120825 0,var(--dark) 70%);z-index:0}.home-hero::after{content:'';position:absolute;bottom:0;left:0;right:0;height:100px;background:linear-gradient(to top,var(--dark),transparent);z-index:1}#particles-canvas{position:absolute;inset:0;z-index:0;pointer-events:none}.home-hero-content{position:relative;z-index:2}.home-badge{display:inline-flex;align-items:center;gap:.3rem;background:linear-gradient(135deg,rgba(255,107,53,.2),rgba(255,215,0,.2));border:1px solid rgba(255,215,0,.15);backdrop-filter:blur(10px);border-radius:50px;padding:.4rem 1.4rem;font-size:.75rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:1.5rem;color:var(--primary)}.home-hero h1{font-size:clamp(2.2rem, 7vw, 4.8rem);font-weight:900;line-height:1.1;background:linear-gradient(135deg,gold 0,#ff8c00 30%,#ff1493 60%,#8a2be2 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:1rem;background-size:200% 200%;animation:gradientShift 6s ease-in-out infinite}@keyframes gradientShift{0%,100%{background-position:0 50%}50%{background-position:100% 50%}}.home-hero p{font-size:clamp(.92rem, 2.2vw, 1.1rem);color:rgba(255,255,255,.55);max-width:560px;line-height:1.7;margin:0 auto 2.5rem}.home-stats{display:flex;gap:1.5rem;justify-content:center;flex-wrap:wrap;margin-bottom:2.8rem}.stat-item{text-align:center;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:1rem 1.5rem;min-width:100px;backdrop-filter:blur(10px);transition:all .3s var(--transition)}.stat-item:hover{border-color:rgba(255,215,0,.2);transform:translateY(-3px);background:rgba(255,215,0,.04)}.stat-num{font-size:1.6rem;font-weight:900;background:linear-gradient(135deg,var(--primary),var(--accent));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;display:block;line-height:1.2}.stat-label{font-size:.72rem;color:rgba(255,255,255,.4);text-transform:uppercase;letter-spacing:1px;margin-top:.2rem}.cat-filter{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:center;padding:1.8rem 1.5rem 1rem}.cat-btn{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);color:rgba(255,255,255,.6);border-radius:12px;padding:.55rem 1.2rem;font-size:.83rem;cursor:pointer;transition:all .3s var(--transition);font-family:var(--font);font-weight:500}.cat-btn.active,.cat-btn:hover{background:rgba(255,215,0,.1);border-color:rgba(255,215,0,.35);color:var(--primary);box-shadow:0 0 20px rgba(255,215,0,.08)}.festivals-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:1.1rem;padding:1.2rem 2rem 3rem;max-width:1280px;margin:0 auto;content-visibility:auto}.festival-card{background:var(--glass);border:1px solid var(--glass-border);border-radius:var(--radius);padding:1.8rem 1rem 1.4rem;text-align:center;text-decoration:none;color:#fff;transition:all .4s var(--transition);display:flex;flex-direction:column;align-items:center;gap:.5rem;position:relative;overflow:hidden}.festival-card::before{content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);width:50%;height:2px;background:linear-gradient(90deg,transparent,var(--primary),transparent);opacity:0;transition:opacity .4s,width .4s}.festival-card:hover{transform:translateY(-8px);box-shadow:0 20px 50px rgba(0,0,0,.4);border-color:rgba(255,215,0,.2);background:var(--card-hover)}.festival-card:hover::before{opacity:1;width:80%}.festival-card .fc-emoji{font-size:2.8rem;transition:transform .4s var(--transition);filter:drop-shadow(0 4px 12px rgba(0, 0, 0, .3))}.festival-card:hover .fc-emoji{transform:scale(1.15)}.festival-card .fc-name{font-size:.9rem;font-weight:700;color:rgba(255,255,255,.92);margin-top:.2rem}.festival-card .fc-hi{font-size:.78rem;color:rgba(255,255,255,.4)}.festival-card .fc-month{font-size:.72rem;color:rgba(255,215,0,.55);margin-top:.15rem}.festival-card .fc-count{font-size:.68rem;color:rgba(255,255,255,.25)}.festival-card .fc-tag{font-size:.62rem;padding:.2rem .65rem;border-radius:50px;font-weight:700;letter-spacing:.5px;text-transform:uppercase}.fc-tag.major{background:rgba(255,215,0,.12);color:gold}.fc-tag.national{background:rgba(255,100,0,.12);color:#ff7b35}.fc-tag.regional{background:rgba(100,200,100,.12);color:#64c864}.fc-tag.religious{background:rgba(200,150,255,.12);color:#c896ff}.fc-tag.intl{background:rgba(100,200,255,.12);color:#64c8ff}.upcoming-section{max-width:1200px;margin:0 auto;padding:0 2rem 3rem}.upcoming-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.upcoming-card{display:flex;align-items:center;gap:1rem;background:var(--glass);border:1px solid var(--glass-border);border-radius:var(--radius-sm);padding:1.2rem 1.4rem;text-decoration:none;color:#fff;transition:all .35s var(--transition);position:relative;overflow:hidden}.upcoming-card::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--uc-color,var(--primary));opacity:0;transition:opacity .3s}.upcoming-card:hover{transform:translateY(-4px);border-color:rgba(255,255,255,.15);background:var(--card-hover);box-shadow:0 12px 40px rgba(0,0,0,.3)}.upcoming-card:hover::before{opacity:1}.uc-emoji{font-size:2rem;flex-shrink:0}.uc-info{flex:1}.uc-name{font-size:.95rem;font-weight:700}.uc-date{font-size:.78rem;color:rgba(255,255,255,.4);margin-top:.15rem}.uc-countdown{font-size:.78rem;font-weight:700;padding:.35rem .9rem;border-radius:10px;white-space:nowrap;flex-shrink:0}.uc-countdown.today{background:rgba(255,215,0,.2);color:gold}.uc-countdown.soon{background:rgba(255,107,53,.2);color:#ff6b35}.uc-countdown.near{background:rgba(100,200,255,.15);color:#64c8ff}.uc-countdown.far{background:rgba(255,255,255,.06);color:rgba(255,255,255,.4)}.uc-countdown.past{background:rgba(255,255,255,.04);color:rgba(255,255,255,.25)}.toast{position:fixed;bottom:2rem;left:50%;transform:translateX(-50%) translateY(100px);background:linear-gradient(135deg,#25d366,#128c7e);color:#fff;padding:.8rem 1.8rem;border-radius:14px;font-size:.85rem;font-weight:600;z-index:9999;transition:transform .4s var(--transition);pointer-events:none;box-shadow:0 8px 30px rgba(37,211,102,.3)}.toast.show{transform:translateX(-50%) translateY(0)}.name-photo-bar{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap;padding:.8rem 0 .3rem;border-top:1px solid rgba(255,255,255,.08);margin-top:.6rem}.name-photo-bar input[type=text]{flex:1;min-width:160px;padding:.6rem 1.1rem;border-radius:12px;border:1.5px solid rgba(255,215,0,.3);background:rgba(255,255,255,.06);color:#fff;font-size:.9rem;font-family:var(--font);transition:all .25s}.name-photo-bar input[type=text]::placeholder{color:rgba(255,255,255,.3)}.name-photo-bar input[type=text]:focus{outline:0;border-color:var(--primary);box-shadow:0 0 15px rgba(255,215,0,.1)}.photo-upload-wrap{display:flex;align-items:center;gap:.4rem}.photo-upload-label{display:inline-flex;align-items:center;gap:.35rem;padding:.6rem 1.1rem;border-radius:12px;background:rgba(255,215,0,.08);border:1.5px solid rgba(255,215,0,.3);color:var(--primary);font-size:.85rem;cursor:pointer;transition:all .25s;font-family:var(--font)}.photo-upload-label:hover{background:rgba(255,215,0,.18)}#userPhotoInput{display:none}.btn-clear-photo{display:none;align-items:center;justify-content:center;background:rgba(255,70,70,.1);border:1.5px solid rgba(255,70,70,.3);color:#ff6060;border-radius:10px;padding:.5rem .8rem;cursor:pointer;font-size:.82rem;font-family:var(--font);transition:all .25s}.btn-clear-photo:hover{background:rgba(255,70,70,.22)}.blog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.4rem;padding:1rem 2rem 3rem;max-width:1200px;margin:0 auto}.blog-card{background:var(--glass);border:1px solid var(--glass-border);border-radius:var(--radius);overflow:hidden;text-decoration:none;color:#fff;transition:all .4s var(--transition)}.blog-card:hover{transform:translateY(-5px);border-color:rgba(255,215,0,.2);box-shadow:var(--shadow-lg)}.blog-card-body{padding:1.5rem}.blog-card-body h3{font-size:1rem;font-weight:700;margin-bottom:.5rem}.blog-card-body p{font-size:.85rem;color:rgba(255,255,255,.5);line-height:1.6}@media (max-width:768px){.navbar{padding:.8rem 1.2rem}.navbar nav{display:none}.hamburger{display:flex}.home-hero{padding:3rem 1.2rem 2.5rem}.home-hero h1{font-size:clamp(1.8rem, 8vw, 3rem)}.home-stats{gap:.8rem}.stat-item{padding:.8rem 1rem;min-width:80px}.stat-num{font-size:1.3rem}.festivals-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.8rem;padding:1rem 1rem 2rem}.festival-card{padding:1.3rem .8rem 1.1rem;border-radius:16px}.festival-card .fc-emoji{font-size:2.2rem}.festival-card .fc-name{font-size:.82rem}.upcoming-grid{grid-template-columns:1fr}.upcoming-section{padding:0 1rem 2rem}.wishes-grid{grid-template-columns:1fr}.wish-card{padding:1.4rem}.section-title{padding:2rem 1.2rem 1.2rem}.about-section{margin:2rem 1rem;padding:2rem 1.5rem}.faq-section{margin:2rem 1rem 3rem;padding:0}.site-footer{padding:2.5rem 1.2rem 1.5rem}.share-bar{gap:.4rem}.share-btn{font-size:.85rem;border-radius:10px}.name-photo-bar{gap:.4rem}.name-photo-bar input[type=text]{min-width:120px;font-size:.85rem}.photo-upload-label{font-size:.85rem;padding:.65rem .9rem;min-height:44px}.modal-box{padding:1.5rem;border-radius:20px}.festival-card .fc-name{font-size:.85rem}}@media (max-width:600px){.wish-card .wish-actions{gap:.5rem}.btn-copy,.btn-create,.btn-personalize{flex:1 1 auto;text-align:center;justify-content:center}.share-bar{justify-content:stretch}.share-btn{flex:1 1 auto;justify-content:center;font-size:.82rem}.template-bar{gap:.4rem}.tpl-btn{font-size:.78rem;padding:.6rem .8rem}}@media (max-width:480px){.modal-box{max-width:95vw;padding:1rem;border-radius:16px}.modal-box h3{font-size:1rem}}@media (max-width:400px){.festivals-grid{grid-template-columns:repeat(2,1fr);gap:.6rem;padding:.8rem}.festival-card{padding:1.1rem .6rem .9rem}.home-stats{gap:.5rem}.stat-item{min-width:70px;padding:.6rem .8rem}}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--dark)}::-webkit-scrollbar-thumb{background:rgba(255,215,0,.2);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:rgba(255,215,0,.35)}::selection{background:rgba(255,215,0,.3);color:#fff}.blog-grid,.festivals-grid,.home-stats,.related-grid,.upcoming-grid,.wishes-grid{perspective:1200px}.festival-card{transform-style:preserve-3d;will-change:transform;backface-visibility:hidden}.festival-card::after{content:'';position:absolute;inset:0;border-radius:var(--radius);background:linear-gradient(135deg,rgba(255,215,0,0) 0,rgba(255,215,0,.06) 50%,rgba(255,107,53,0) 100%);opacity:0;transition:opacity .5s var(--transition);pointer-events:none;z-index:1}.festival-card:hover::after{opacity:1}.festival-card:hover{transform:translateY(-10px) rotateX(4deg) rotateY(-2deg) scale(1.02);box-shadow:0 25px 50px rgba(0,0,0,.5),0 0 40px rgba(255,215,0,.08),inset 0 1px 0 rgba(255,255,255,.1);border-color:rgba(255,215,0,.25);background:rgba(255,255,255,.1)}.festival-card:hover .fc-emoji{transform:scale(1.2) translateZ(30px);filter:drop-shadow(0 8px 20px rgba(255, 215, 0, .3))}.festival-card .fc-emoji{transition:transform .5s var(--transition),filter .5s var(--transition);transform-style:preserve-3d}.festival-card .fc-name{transition:transform .4s var(--transition),color .3s}.festival-card:hover .fc-name{transform:translateZ(15px);color:#fff}.festival-card .fc-tag{transition:transform .4s var(--transition),box-shadow .3s}.festival-card:hover .fc-tag{transform:translateZ(20px);box-shadow:0 4px 15px rgba(0,0,0,.3)}.festival-card .card-glow{position:absolute;top:50%;left:50%;width:120%;height:120%;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,rgba(255,215,0,.04),transparent 70%);opacity:0;transition:opacity .5s;pointer-events:none;z-index:0}.festival-card:hover .card-glow{opacity:1}.wish-card{transform-style:preserve-3d;will-change:transform;backface-visibility:hidden;transition:all .5s var(--transition)}.wish-card::after{content:'';position:absolute;inset:0;border-radius:var(--radius);background:linear-gradient(160deg,rgba(255,255,255,.08) 0,transparent 40%,transparent 60%,rgba(255,215,0,.03) 100%);opacity:0;transition:opacity .4s;pointer-events:none}.wish-card:hover{transform:translateY(-8px) rotateX(3deg) rotateY(-1.5deg) scale(1.01);box-shadow:0 30px 60px rgba(0,0,0,.45),0 0 30px rgba(255,215,0,.06),inset 0 1px 0 rgba(255,255,255,.08);background:rgba(255,255,255,.09)}.wish-card:hover::after{opacity:1}.wish-card .wish-lang{transition:transform .4s var(--transition)}.wish-card:hover .wish-lang{transform:translateZ(15px)}.wish-card .wish-text{transition:transform .4s var(--transition)}.wish-card:hover .wish-text{transform:translateZ(8px)}.wish-card .wish-actions{transition:transform .4s var(--transition)}.wish-card:hover .wish-actions{transform:translateZ(20px)}.stat-item{transform-style:preserve-3d;will-change:transform;transition:all .4s var(--transition);position:relative;overflow:hidden}.stat-item::after{content:'';position:absolute;inset:-50%;background:conic-gradient(from 0deg,transparent,rgba(255,215,0,.06),transparent,rgba(255,107,53,.04),transparent);animation:statGlow 8s linear infinite;opacity:0;transition:opacity .5s;z-index:0}.stat-item:hover::after{opacity:1}@keyframes statGlow{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}.stat-item:hover{transform:translateY(-6px) rotateX(5deg) scale(1.05);border-color:rgba(255,215,0,.3);background:rgba(255,215,0,.06);box-shadow:0 20px 40px rgba(0,0,0,.4),0 0 25px rgba(255,215,0,.08)}.stat-item .stat-label,.stat-item .stat-num{position:relative;z-index:1}.upcoming-card{transform-style:preserve-3d;will-change:transform;transition:all .4s var(--transition)}.upcoming-card:hover{transform:translateY(-6px) rotateX(2deg) rotateY(-1deg) scale(1.01);box-shadow:0 20px 50px rgba(0,0,0,.4),0 0 20px rgba(255,215,0,.05);border-color:rgba(255,215,0,.15)}.upcoming-card .uc-emoji{transition:transform .4s var(--transition)}.upcoming-card:hover .uc-emoji{transform:scale(1.15) translateZ(20px)}.upcoming-card .uc-countdown{transition:transform .4s var(--transition),box-shadow .3s}.upcoming-card:hover .uc-countdown{transform:translateZ(15px);box-shadow:0 4px 12px rgba(0,0,0,.3)}.related-card{transform-style:preserve-3d;will-change:transform;transition:all .35s var(--transition)}.related-card:hover{transform:translateY(-4px) rotateX(3deg) scale(1.03);box-shadow:0 12px 30px rgba(0,0,0,.35)}.blog-card{transform-style:preserve-3d;will-change:transform}.blog-card:hover{transform:translateY(-8px) rotateX(3deg) rotateY(-1deg) scale(1.01);box-shadow:0 25px 50px rgba(0,0,0,.45),0 0 30px rgba(255,215,0,.06)}.faq-item{transform-style:preserve-3d;transition:all .3s var(--transition),border-color .3s}.faq-item:hover{transform:translateX(4px) scale(1.005);border-color:rgba(255,215,0,.2);box-shadow:0 8px 25px rgba(0,0,0,.2)}.cat-btn{transform-style:preserve-3d;transition:all .3s var(--transition)}.cat-btn:hover{transform:translateY(-2px) scale(1.05);box-shadow:0 8px 20px rgba(0,0,0,.3)}.cat-btn.active{transform:translateY(-2px) scale(1.05);box-shadow:0 8px 25px rgba(255,215,0,.15)}@keyframes shimmer{0%{background-position:-200% 0}100%{background-position:200% 0}}.festival-card:hover::before{background:linear-gradient(90deg,transparent,rgba(255,215,0,.4),transparent);background-size:200% 100%;animation:shimmer 2s ease-in-out}.fade-in-3d{opacity:0;transform:translateY(40px) rotateX(8deg);transition:opacity .7s var(--transition),transform .7s var(--transition)}.fade-in-3d.visible{opacity:1;transform:translateY(0) rotateX(0)}.slide-in-left{opacity:0;transform:translateX(-60px) rotateY(8deg);transition:opacity .6s var(--transition),transform .6s var(--transition)}.slide-in-left.visible{opacity:1;transform:translateX(0) rotateY(0)}.scale-in{opacity:0;transform:scale(.85) translateY(20px);transition:opacity .5s var(--transition),transform .5s var(--transition)}.scale-in.visible{opacity:1;transform:scale(1) translateY(0)}.stagger-item{opacity:0;transform:translateY(30px);transition:opacity .5s var(--transition),transform .5s var(--transition)}.stagger-item.visible{opacity:1;transform:translateY(0)}.btn-create{position:relative;overflow:hidden;transform-style:preserve-3d}.btn-create::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .5s}.btn-create:hover::before{left:100%}.btn-create:hover{transform:translateY(-2px) scale(1.05);box-shadow:0 8px 25px rgba(255,215,0,.35)}.btn-copy{position:relative;overflow:hidden}.btn-copy:hover{transform:translateY(-2px) scale(1.03);box-shadow:0 6px 20px rgba(255,255,255,.06)}.btn-personalize{background:rgba(200,150,255,.08);color:var(--accent2);border:1px solid rgba(200,150,255,.2);border-radius:12px;padding:.75rem 1.1rem;font-size:.88rem;cursor:pointer;transition:all .25s var(--transition);font-family:var(--font);min-height:44px;position:relative;overflow:hidden}.btn-personalize:hover{background:rgba(200,150,255,.15);border-color:rgba(200,150,255,.35);transform:translateY(-2px) scale(1.03);box-shadow:0 6px 20px rgba(200,150,255,.1)}.home-hero-content{animation:heroFloat 6s ease-in-out infinite}@keyframes heroFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}.home-badge{animation:badgePulse 3s ease-in-out infinite}@keyframes badgePulse{0%,100%{box-shadow:0 0 0 0 rgba(255,215,0,.15)}50%{box-shadow:0 0 20px 5px rgba(255,215,0,.08)}}.navbar{transition:background .3s,box-shadow .3s,border-color .3s}.navbar.scrolled{border-bottom-color:rgba(255,215,0,.12);box-shadow:0 4px 30px rgba(0,0,0,.3),0 1px 0 rgba(255,215,0,.05)}.section-title h2{position:relative;display:inline-block}.section-title h2::after{content:'';display:block;width:60px;height:3px;background:linear-gradient(90deg,var(--primary),var(--accent));margin:.6rem auto 0;border-radius:2px}.tilt-shine{position:absolute;inset:0;border-radius:inherit;background:radial-gradient(circle at var(--mouse-x,50%) var(--mouse-y,50%),rgba(255,255,255,.08) 0,transparent 60%);opacity:0;transition:opacity .3s;pointer-events:none;z-index:2}.festival-card:hover .tilt-shine,.stat-item:hover .tilt-shine,.upcoming-card:hover .tilt-shine,.wish-card:hover .tilt-shine{opacity:1}.modal-overlay.open{animation:modalFadeIn .3s var(--transition)}@keyframes modalFadeIn{from{opacity:0}to{opacity:1}}.modal-box{animation:modalSlideUp .4s var(--transition);transform-style:preserve-3d}@keyframes modalSlideUp{from{opacity:0;transform:translateY(40px) scale(.95) rotateX(5deg)}to{opacity:1;transform:translateY(0) scale(1) rotateX(0)}}.tpl-btn{transform-style:preserve-3d;transition:all .3s var(--transition)}.tpl-btn:hover{transform:translateY(-2px) scale(1.05)}.tpl-btn.active{transform:translateY(-2px) scale(1.05);box-shadow:0 6px 20px rgba(255,215,0,.15)}.share-btn{transform-style:preserve-3d}.share-btn:hover{transform:translateY(-3px) scale(1.05);box-shadow:0 8px 25px rgba(0,0,0,.3)}@keyframes skeletonPulse{0%,100%{opacity:.04}50%{opacity:.08}}.skeleton{background:rgba(255,255,255,.04);animation:skeletonPulse 1.5s ease-in-out infinite;border-radius:var(--radius)}@media (max-width:768px){.festival-card:hover{transform:translateY(-6px) scale(1.02)}.wish-card:hover{transform:translateY(-5px) scale(1.005)}.stat-item:hover{transform:translateY(-4px) scale(1.03)}.upcoming-card:hover{transform:translateY(-4px) scale(1.005)}.home-hero-content{animation:none}}@media (prefers-reduced-motion:reduce){*,::after,::before{animation-duration:0s!important;animation-iteration-count:1!important;transition-duration:0s!important}.festival-card:hover,.stat-item:hover,.upcoming-card:hover,.wish-card:hover{transform:none}}