:root{--gold:#c9a84c;--deep-gold:#8b6914;--rose-red:#8b1a1a;--crimson:#dc143c;--mehndi-green:#2d6a4f;--mehndi-yellow:#f4a460;--barat-red:#6b0f1a;--walima-white:#fff8f0;--cream:linen;--deep-navy:#0a0a1a;--midnight:#050510;--pastel-rose:#f7cac9;--font-serif:"Cormorant Garamond", Georgia, serif;--font-script:"Great Vibes", cursive;--font-display:"Cinzel", serif;--font-urdu:"Noto Nastaliq Urdu", serif}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;overflow-x:hidden}body{background:var(--midnight);color:var(--cream);font-family:var(--font-serif);cursor:none;overflow-x:hidden}#cursor{border:1.5px solid var(--gold);pointer-events:none;z-index:99999;mix-blend-mode:screen;border-radius:50%;width:20px;height:20px;transition:width .3s,height .3s,background .3s,border-color .3s;position:fixed;top:0;left:0;transform:translate(-50%,-50%)}#cursor-dot{background:var(--gold);pointer-events:none;z-index:99999;border-radius:50%;width:4px;height:4px;position:fixed;top:0;left:0;transform:translate(-50%,-50%)}@media (max-width:1024px){#cursor,#cursor-dot{display:none!important}body{cursor:auto!important}}body:hover #cursor{border-color:var(--crimson);background:#c9a84c1a;width:40px;height:40px}::-webkit-scrollbar{width:3px}::-webkit-scrollbar-track{background:var(--midnight)}::-webkit-scrollbar-thumb{background:var(--gold);border-radius:2px}#preloader{background:var(--midnight);z-index:10000;flex-direction:column;justify-content:center;align-items:center;gap:30px;display:flex;position:fixed;inset:0}.preloader-mandala{width:120px;height:120px;animation:4s linear infinite mandalaSpin;position:relative}@keyframes mandalaSpin{to{transform:rotate(360deg)}}.preloader-text{font-family:var(--font-script);background:linear-gradient(135deg, var(--gold), var(--mehndi-yellow), var(--gold));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:clamp(2rem,5vw,3.5rem);animation:2s ease-in-out infinite shimmer}@keyframes shimmer{0%,to{opacity:.7}50%{opacity:1}}.preloader-tagline{font-family:var(--font-serif);letter-spacing:4px;color:#c9a84c80;text-transform:uppercase;font-size:.8rem;animation:1s 1s both fadeInUp}.preloader-bar{background:#c9a84c33;border-radius:1px;width:200px;height:1px;overflow:hidden}.preloader-bar-fill{background:linear-gradient(90deg, var(--gold), var(--mehndi-yellow));width:0%;height:100%;transition:width .1s}.open-btn{opacity:0;border:1px solid var(--gold);color:var(--gold);font-family:var(--font-display);letter-spacing:5px;text-transform:uppercase;cursor:pointer;background:0 0;margin-top:20px;padding:18px 50px;font-size:.75rem;transition:color .4s;position:relative;overflow:hidden}.open-btn:before{content:"";background:var(--gold);z-index:-1;transition:transform .4s;position:absolute;inset:0;transform:translate(-101%)}.open-btn:hover:before{transform:translate(0)}.open-btn:hover{color:var(--midnight)}.wax-seal-container{opacity:0;justify-content:center;align-items:center;margin-top:15px;display:flex}.wax-seal{background:radial-gradient(circle at 40% 35%, #c0392b, var(--barat-red));cursor:pointer;border-radius:50%;justify-content:center;align-items:center;width:70px;height:70px;transition:transform .3s,box-shadow .3s;animation:2s ease-in-out infinite sealPulse;display:flex;position:relative;box-shadow:0 8px 30px #6b0f1a99,inset 0 2px 10px #ffffff1a}.wax-seal:hover{transform:scale(1.1);box-shadow:0 12px 40px #dc143c80,inset 0 2px 10px #ffffff26}.wax-seal svg{width:35px;height:35px;fill:var(--gold);opacity:.9}@keyframes sealPulse{0%,to{box-shadow:0 8px 30px #6b0f1a99,0 0 #dc143c4d}50%{box-shadow:0 8px 30px #6b0f1a99,0 0 0 12px #dc143c00}}#envelope-overlay{z-index:9000;background:radial-gradient(ellipse at center, #0a0a1ae6, var(--midnight));justify-content:center;align-items:center;display:none;position:fixed;inset:0}.envelope-wrap{perspective:1200px;width:min(400px,90vw);height:min(280px,65vw);position:relative}.envelope-body{background:linear-gradient(145deg,#1a0a0a,#2d0f0f);border:1px solid #c9a84c4d;border-radius:4px;width:100%;height:100%;position:relative;overflow:visible;box-shadow:0 40px 80px #0009}.envelope-flap{clip-path:polygon(0 0,100% 0,50% 100%);transform-origin:top;height:52%;transform-style:preserve-3d;z-index:10;background:linear-gradient(160deg,#200a0a,#3d1010);border:1px solid #c9a84c33;border-bottom:none;transition:transform 1.2s cubic-bezier(.4,0,.2,1);position:absolute;top:-1px;left:-1px;right:-1px}.envelope-flap.open{transform:rotateX(-180deg)}.envelope-line-left{clip-path:polygon(0 100%,100% 0,0 0);background:linear-gradient(135deg,#200a0a,#2d1010);border:1px solid #c9a84c26;width:51%;height:51%;position:absolute;bottom:0;left:-1px}.envelope-line-right{clip-path:polygon(0 0,100% 0,100% 100%);background:linear-gradient(225deg,#200a0a,#2d1010);border:1px solid #c9a84c26;width:51%;height:51%;position:absolute;bottom:0;right:-1px}.envelope-seal-center{z-index:11;width:50px;height:50px;font-family:var(--font-script);color:var(--gold);background:radial-gradient(circle,#8b1a1a,#5a0f0f);border-radius:50%;justify-content:center;align-items:center;font-size:1.5rem;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 4px 20px #8b1a1a80}.envelope-card{text-align:center;width:90%;height:85%;color:var(--barat-red);background:linear-gradient(145deg,linen,#f5e6d0);border-radius:3px;flex-direction:column;justify-content:center;align-items:center;padding:20px;transition:bottom 1.4s cubic-bezier(.4,0,.2,1) .5s;display:flex;position:absolute;bottom:-90%;left:5%;box-shadow:0 -10px 40px #0000004d}.envelope-card.revealed{bottom:5%}.envelope-card-title{font-family:var(--font-script);color:var(--barat-red);margin-bottom:5px;font-size:clamp(1.5rem,4vw,2rem)}.envelope-card-sub{font-family:var(--font-serif);letter-spacing:3px;text-transform:uppercase;color:var(--deep-gold);font-size:.65rem}.envelope-card-divider{background:var(--gold);width:60px;height:1px;margin:10px auto}.envelope-skip{font-family:var(--font-serif);letter-spacing:3px;text-transform:uppercase;color:#c9a84c66;cursor:pointer;background:0 0;border:none;font-size:.7rem;transition:color .3s;position:absolute;bottom:30px;right:30px}.envelope-skip:hover{color:var(--gold)}#three-canvas{z-index:0;pointer-events:none;opacity:.4;position:fixed;inset:0}#petal-canvas{z-index:1;pointer-events:none;opacity:.4;position:fixed;inset:0}#main-content{z-index:2;opacity:0;position:relative}section{justify-content:center;align-items:center;min-height:100vh;padding:80px 20px;display:flex;position:relative;overflow:hidden}.gold-border-top{background:linear-gradient(90deg, transparent, var(--gold), transparent);height:2px;position:absolute;top:0;left:0;right:0}.gold-border-bottom{background:linear-gradient(90deg, transparent, var(--gold), transparent);height:2px;position:absolute;bottom:0;left:0;right:0}#hero{text-align:center;background:radial-gradient(at 50% 60%,#8b1a1a14,#0000 70%);flex-direction:column;min-height:100vh}.hero-bismillah{font-family:var(--font-urdu);color:var(--gold);opacity:0;margin-bottom:30px;font-size:clamp(1.5rem,4vw,2.5rem);line-height:1.6;animation:1.2s .5s both fadeInDown}.hero-eyebrow{font-family:var(--font-display);letter-spacing:8px;text-transform:uppercase;color:var(--gold);opacity:0;margin-bottom:20px;font-size:clamp(.5rem,1.5vw,.7rem)}.hero-names{margin-bottom:30px;position:relative}.hero-bride,.hero-groom{font-family:var(--font-script);opacity:0;font-size:clamp(3.5rem,10vw,7rem);line-height:1.1;display:inline-block;position:relative}.hero-bride{background:linear-gradient(135deg, gold, var(--gold), orange);-webkit-text-fill-color:transparent;filter:drop-shadow(0 0 30px #c9a84c66);-webkit-background-clip:text;background-clip:text;animation:3s ease-in-out infinite nameGlow}.hero-groom{background:linear-gradient(135deg, var(--crimson), #ff6b6b, var(--rose-red));-webkit-text-fill-color:transparent;filter:drop-shadow(0 0 30px #dc143c4d);-webkit-background-clip:text;background-clip:text;animation:3s ease-in-out 1.5s infinite nameGlow2}@keyframes nameGlow{0%,to{filter:drop-shadow(0 0 20px #c9a84c4d)}50%{filter:drop-shadow(0 0 50px #c9a84cb3)}}@keyframes nameGlow2{0%,to{filter:drop-shadow(0 0 20px #dc143c33)}50%{filter:drop-shadow(0 0 40px #dc143c80)}}.hero-ampersand{font-family:var(--font-script);color:var(--gold);opacity:0;font-size:clamp(2rem,5vw,3.5rem);line-height:1;display:block}.hero-urdu-names{font-family:var(--font-urdu);color:#c9a84cb3;opacity:0;direction:rtl;unicode-bidi:bidi-override;margin-bottom:40px;font-size:clamp(1.2rem,3vw,1.8rem)}.hero-date-strip{opacity:0;flex-wrap:wrap;justify-content:center;align-items:center;gap:20px;margin-bottom:50px;display:flex}.hero-date-strip span{font-family:var(--font-display);letter-spacing:4px;text-transform:uppercase;color:#c9a84c99;font-size:clamp(.5rem,1.5vw,.65rem)}.date-dot{background:var(--gold);opacity:.4;border-radius:50%;width:4px;height:4px}.scroll-indicator{opacity:0;flex-direction:column;align-items:center;gap:8px;animation:2s ease-in-out infinite scrollBob;display:flex;position:absolute;bottom:40px;left:50%;transform:translate(-50%)}.scroll-line{background:linear-gradient(to bottom, var(--gold), transparent);width:1px;height:50px}.scroll-text{font-family:var(--font-display);letter-spacing:4px;text-transform:uppercase;color:#c9a84c66;font-size:.5rem}@keyframes scrollBob{0%,to{transform:translate(-50%)translateY(0)}50%{transform:translate(-50%)translateY(8px)}}.section-label{font-family:var(--font-display);letter-spacing:8px;text-transform:uppercase;color:var(--gold);opacity:0;margin-bottom:25px;font-size:clamp(.5rem,1.5vw,.65rem)}.section-title{font-family:var(--font-script);opacity:0;margin-bottom:20px;font-size:clamp(2.5rem,6vw,4.5rem);line-height:1.1}.section-divider{background:linear-gradient(90deg, transparent, var(--gold), transparent);opacity:0;width:80px;height:1px;margin:0 auto 40px}#invitation{background:radial-gradient(at 30%,#2d6a4f0d,#0000 60%),radial-gradient(at 70%,#8b1a1a0d,#0000 60%);flex-direction:column}.card-3d-container{perspective:1500px;cursor:pointer;width:min(500px,90vw);height:min(680px,130vw);margin:0 auto}.card-3d{width:100%;height:100%;transform-style:preserve-3d;transition:transform 1.2s cubic-bezier(.4,0,.2,1);position:relative}.card-3d.flipped{transform:rotateY(-180deg)}.card-front,.card-back{backface-visibility:hidden;border-radius:8px;position:absolute;inset:0;overflow:hidden}.card-front{text-align:center;background:linear-gradient(160deg,#1a0505 0%,#2d0b0b 40%,#1a0a00 100%);border:1px solid #c9a84c4d;flex-direction:column;justify-content:center;align-items:center;padding:40px 30px;display:flex;position:relative;box-shadow:0 40px 80px #00000080,inset 0 0 0 1px #c9a84c1a}.card-front-corner{width:60px;height:60px;position:absolute}.card-front-corner.tl{border-top:1px solid var(--gold);border-left:1px solid var(--gold);top:15px;left:15px}.card-front-corner.tr{border-top:1px solid var(--gold);border-right:1px solid var(--gold);top:15px;right:15px}.card-front-corner.bl{border-bottom:1px solid var(--gold);border-left:1px solid var(--gold);bottom:15px;left:15px}.card-front-corner.br{border-bottom:1px solid var(--gold);border-right:1px solid var(--gold);bottom:15px;right:15px}.card-front-bismillah{font-family:var(--font-urdu);color:var(--gold);opacity:.8;margin-bottom:20px;font-size:1.4rem}.card-front-floral{filter:sepia()saturate(2)hue-rotate(330deg);margin-bottom:15px;font-size:2rem}.card-front-title{font-family:var(--font-display);letter-spacing:6px;text-transform:uppercase;color:#c9a84c99;margin-bottom:15px;font-size:clamp(.5rem,2vw,.65rem)}.card-front-names{font-family:var(--font-script);background:linear-gradient(135deg, var(--gold), var(--mehndi-yellow), var(--gold));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:10px;font-size:clamp(2rem,6vw,3rem);line-height:1.2}.card-front-amp{color:#c9a84c80;-webkit-text-fill-color:#c9a84c80;font-size:.6em;display:block}.card-front-tagline{font-family:var(--font-serif);letter-spacing:2px;color:#c9a84c66;text-transform:uppercase;margin:15px 0;font-size:.7rem}.card-front-click{font-family:var(--font-display);letter-spacing:4px;text-transform:uppercase;color:#c9a84c59;margin-top:20px;font-size:.55rem;animation:2s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:.35}50%{opacity:.7}}.card-front-glow{pointer-events:none;background:radial-gradient(at 50% 30%,#c9a84c0f,#0000 70%);position:absolute;inset:0}.card-back{text-align:center;color:var(--barat-red);background:linear-gradient(160deg,linen 0%,#f5e8d0 50%,linen 100%);border:1px solid #8b69144d;flex-direction:column;justify-content:center;align-items:center;padding:35px 25px;display:flex;position:relative;overflow-y:auto;transform:rotateY(180deg);box-shadow:0 40px 80px #00000080}.card-back-pattern{pointer-events:none;background-image:repeating-linear-gradient(45deg,#8b691408 0 1px,#0000 1px 20px);position:absolute;inset:0}.card-back-corner{width:50px;height:50px;position:absolute}.card-back-corner.tl{border-top:1px solid var(--deep-gold);border-left:1px solid var(--deep-gold);top:12px;left:12px}.card-back-corner.tr{border-top:1px solid var(--deep-gold);border-right:1px solid var(--deep-gold);top:12px;right:12px}.card-back-corner.bl{border-bottom:1px solid var(--deep-gold);border-left:1px solid var(--deep-gold);bottom:12px;left:12px}.card-back-corner.br{border-bottom:1px solid var(--deep-gold);border-right:1px solid var(--deep-gold);bottom:12px;right:12px}.card-back-bismillah{font-family:var(--font-urdu);color:var(--deep-gold);margin-bottom:8px;font-size:1.2rem}.card-back-header{font-family:var(--font-script);color:var(--barat-red);margin-bottom:5px;font-size:clamp(1.8rem,5vw,2.5rem);line-height:1}.card-back-sub{font-family:var(--font-serif);letter-spacing:3px;text-transform:uppercase;color:var(--deep-gold);margin-bottom:15px;font-size:.65rem}.card-divider{background:linear-gradient(90deg, transparent, var(--deep-gold), transparent);width:100%;height:1px;margin:10px 0}.card-event{width:100%;padding:10px 0}.card-event-name{font-family:var(--font-display);letter-spacing:5px;text-transform:uppercase;color:var(--deep-gold);margin-bottom:4px;font-size:clamp(.55rem,1.5vw,.65rem)}.card-event-urdu{font-family:var(--font-urdu);color:var(--barat-red);direction:rtl;margin-bottom:3px;font-size:.9rem}.card-event-date{font-family:var(--font-serif);color:var(--rose-red);font-size:clamp(.75rem,2vw,.9rem);font-weight:600}.card-event-venue{font-family:var(--font-serif);color:var(--deep-gold);font-size:.65rem;font-style:italic}#timeline{background:radial-gradient(at 50% 0,#c9a84c0d,#0000 60%);flex-direction:column}.timeline-container{width:min(800px,95vw);margin-top:40px;position:relative}.timeline-line{background:linear-gradient(to bottom, transparent, var(--gold), var(--gold), transparent);width:1px;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}@media (max-width:600px){.timeline-line{left:20px}}.timeline-event{opacity:0;align-items:flex-start;gap:30px;margin-bottom:60px;display:flex;transform:translateY(30px)}.timeline-event:nth-child(odd){flex-direction:row;padding-right:calc(50% + 40px)}.timeline-event:nth-child(2n){flex-direction:row-reverse;padding-left:calc(50% + 40px)}@media (max-width:600px){.timeline-event:nth-child(odd),.timeline-event:nth-child(2n){flex-direction:row;padding-left:60px;padding-right:0}}.timeline-dot{background:var(--midnight);border:2px solid var(--gold);z-index:2;border-radius:50%;width:20px;height:20px;transition:background .3s;position:absolute;left:50%;transform:translate(-50%)}.timeline-dot:before{content:"";background:var(--gold);opacity:0;border-radius:50%;transition:opacity .3s;position:absolute;inset:3px}.timeline-event:hover .timeline-dot:before{opacity:1}@media (max-width:600px){.timeline-dot{left:20px}}.timeline-content{text-align:right;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(145deg,#140a0acc,#2d0f0f80);border:1px solid #c9a84c26;border-radius:12px;flex:1;padding:30px;transition:transform .4s,border-color .4s,box-shadow .4s;box-shadow:0 10px 30px #0006}.timeline-event:hover .timeline-content{border-color:#c9a84c66;transform:translateY(-5px);box-shadow:0 15px 40px #0009,0 0 20px #c9a84c1a}.timeline-event:nth-child(2n) .timeline-content{text-align:left}@media (max-width:600px){.timeline-content,.timeline-event:nth-child(2n) .timeline-content{text-align:left}}.timeline-event-icon{margin-bottom:8px;font-size:2rem;display:block}.timeline-event-name{font-family:var(--font-display);letter-spacing:5px;text-transform:uppercase;color:var(--gold);margin-bottom:5px;font-size:clamp(.75rem,2.5vw,1rem)}.timeline-event-urdu{font-family:var(--font-urdu);color:#c9a84ccc;direction:rtl;margin-bottom:8px;font-size:1.3rem;display:block}.timeline-event-date{font-family:var(--font-serif);color:var(--cream);margin-bottom:5px;font-size:clamp(1.2rem,3vw,1.5rem);font-weight:600}.timeline-event-venue{font-family:var(--font-serif);color:#faf0e6b3;font-size:1rem;font-style:italic}.timeline-event-venue a{color:var(--gold);text-decoration:none;transition:color .3s,text-shadow .3s}.timeline-event-venue a:hover{color:var(--cream);text-shadow:0 0 8px #c9a84c80;text-decoration:underline}.timeline-event-pill{font-family:var(--font-display);letter-spacing:4px;text-transform:uppercase;color:var(--gold);border:1px solid #c9a84c66;border-radius:20px;margin-top:12px;padding:6px 16px;font-size:.65rem;display:inline-block}#gallery{background:radial-gradient(at 50% 100%,#8b1a1a14,#0000 60%);flex-direction:column}.gallery-grid{grid-template-columns:repeat(2,1fr);justify-content:center;gap:20px;width:min(800px,95vw);margin:40px auto 0;display:grid}@media (max-width:600px){.gallery-grid{grid-template-columns:1fr;gap:20px;max-width:400px;margin-left:auto;margin-right:auto}}.gallery-item{cursor:pointer;opacity:0;aspect-ratio:4/5;border-radius:8px;transition:transform .4s,box-shadow .4s;position:relative;overflow:hidden;transform:scale(.95)}.gallery-item:hover{z-index:5;transform:scale(1.03);box-shadow:0 20px 60px #00000080,0 0 0 1px #c9a84c33}.gallery-placeholder{background:linear-gradient(135deg,#1a0505,#2d1010,#1a1005);border:1px solid #c9a84c26;flex-direction:column;justify-content:center;align-items:center;gap:10px;width:100%;height:100%;transition:border-color .4s;display:flex}.gallery-item:hover .gallery-placeholder{border-color:#c9a84c59}.gallery-placeholder-icon{opacity:.4;font-size:2rem}.gallery-placeholder-text{font-family:var(--font-serif);letter-spacing:2px;text-transform:uppercase;color:#c9a84c4d;text-align:center;padding:0 10px;font-size:.6rem}.gallery-overlay{opacity:0;background:linear-gradient(#0000,#0009);align-items:flex-end;padding:15px;transition:opacity .3s;display:flex;position:absolute;inset:0}.gallery-item:hover .gallery-overlay{opacity:1}.gallery-overlay-text{font-family:var(--font-script);color:var(--gold);font-size:1rem}.gallery-floating-sticker{pointer-events:none;opacity:.7;z-index:10;font-size:1.5rem;animation:4s ease-in-out infinite floatSticker;position:absolute}@keyframes floatSticker{0%,to{transform:translateY(0)rotate(0)}33%{transform:translateY(-15px)rotate(5deg)}66%{transform:translateY(-8px)rotate(-3deg)}}#scratch-section{flex-direction:column;min-height:70vh}.scratch-container{width:min(400px,90vw);margin:30px auto;position:relative}.scratch-label{font-family:var(--font-display);letter-spacing:4px;text-transform:uppercase;color:#c9a84c80;text-align:center;margin-bottom:15px;font-size:.6rem}.scratch-canvas-wrap{cursor:crosshair;border-radius:8px;position:relative;overflow:hidden}#scratch-canvas{z-index:2;cursor:crosshair;border-radius:8px;position:absolute;inset:0}.scratch-reveal{text-align:center;background:linear-gradient(135deg,#1a0505,#2d0b0b);border:1px solid #c9a84c4d;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:10px;min-height:200px;padding:40px 30px;display:flex}.scratch-reveal-title{font-family:var(--font-script);color:var(--gold);font-size:clamp(1.5rem,5vw,2.5rem)}.scratch-reveal-content{font-family:var(--font-serif);color:#c9a84cb3;font-size:.8rem;line-height:1.8}.scratch-reset{color:#c9a84c80;font-family:var(--font-display);letter-spacing:3px;text-transform:uppercase;cursor:pointer;background:0 0;border:1px solid #c9a84c4d;margin-top:15px;padding:8px 20px;font-size:.5rem;transition:all .3s;display:none}.scratch-reset:hover{border-color:var(--gold);color:var(--gold)}#name-reveal{text-align:center;flex-direction:column;min-height:60vh}.name-reveal-wrap{flex-direction:column;align-items:center;gap:20px;display:flex}.letter-reveal-name{flex-wrap:wrap;justify-content:center;gap:clamp(3px,1vw,8px);display:flex}.letter-char{font-family:var(--font-script);opacity:0;color:#0000;-webkit-text-stroke:1px var(--gold);font-size:clamp(2.5rem,7vw,5rem);display:inline-block;position:relative;transform:translateY(30px)}.letter-char.filled{color:#0000;background:linear-gradient(135deg, gold, var(--gold), orange);-webkit-text-fill-color:transparent;-webkit-text-stroke:0;-webkit-background-clip:text;background-clip:text}.letter-char.filled-red{color:#0000;background:linear-gradient(135deg, var(--crimson), #ff6b6b);-webkit-text-fill-color:transparent;-webkit-text-stroke:0;-webkit-background-clip:text;background-clip:text}.name-reveal-urdu{font-family:var(--font-urdu);color:#c9a84c99;opacity:0;direction:rtl;font-size:clamp(1.5rem,4vw,2.5rem)}.name-reveal-divider{font-family:var(--font-script);color:#c9a84c4d;opacity:0;font-size:clamp(1.5rem,4vw,2.5rem)}#lanterns{flex-direction:column;min-height:60vh;position:relative;overflow:hidden}.lantern-canvas{pointer-events:none;position:absolute;inset:0}.lantern-text{z-index:2;text-align:center;position:relative}.lantern-quote{font-family:var(--font-urdu);color:#c9a84cb3;direction:rtl;max-width:500px;margin-top:20px;font-size:clamp(1.2rem,3vw,1.8rem);line-height:2}#fireworks-canvas{z-index:9000;pointer-events:none;position:fixed;inset:0}#ending{text-align:center;background:radial-gradient(#8b1a1a0f,#0000 70%);flex-direction:column;min-height:80vh}.ending-dua{font-family:var(--font-urdu);color:var(--gold);opacity:0;direction:rtl;margin-bottom:30px;font-size:clamp(1.5rem,4vw,2.5rem);line-height:2}.ending-quote{font-family:var(--font-serif);color:#faf0e680;opacity:0;max-width:500px;margin-bottom:40px;font-size:clamp(.8rem,2vw,1rem);font-style:italic;line-height:2}.ending-names{font-family:var(--font-script);background:linear-gradient(135deg, var(--gold), var(--mehndi-yellow), var(--gold));-webkit-text-fill-color:transparent;opacity:0;-webkit-background-clip:text;background-clip:text;margin-bottom:20px;font-size:clamp(2rem,6vw,4rem)}.ending-date{font-family:var(--font-display);letter-spacing:6px;text-transform:uppercase;color:#c9a84c66;opacity:0;font-size:.65rem}.ending-hearts{pointer-events:none;position:absolute;inset:0;overflow:hidden}#music-toggle{cursor:pointer;z-index:1000;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0a0a1acc;border:1px solid #c9a84c4d;border-radius:50%;justify-content:center;align-items:center;width:50px;height:50px;transition:border-color .3s,background .3s;display:flex;position:fixed;bottom:30px;right:30px}#music-toggle:hover{border-color:var(--gold);background:#c9a84c1a}#music-toggle svg{width:20px;height:20px;fill:var(--gold)}.music-wave{align-items:center;gap:2px;display:none}.music-bar{background:var(--gold);border-radius:2px;width:3px;animation:.8s ease-in-out infinite musicBar}.music-bar:first-child{height:8px;animation-delay:0s}.music-bar:nth-child(2){height:16px;animation-delay:.15s}.music-bar:nth-child(3){height:12px;animation-delay:.3s}.music-bar:nth-child(4){height:20px;animation-delay:.1s}.music-bar:nth-child(5){height:10px;animation-delay:.25s}@keyframes musicBar{0%,to{transform:scaleY(.5)}50%{transform:scaleY(1.2)}}#nav{z-index:500;-webkit-backdrop-filter:blur();backdrop-filter:blur();opacity:0;justify-content:space-between;align-items:center;padding:20px 40px;transition:-webkit-backdrop-filter .5s,backdrop-filter .5s,background .5s;display:flex;position:fixed;top:0;left:0;right:0}#nav.scrolled{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#050510b3;border-bottom:1px solid #c9a84c1a}.nav-logo{font-family:var(--font-script);background:linear-gradient(135deg, var(--gold), var(--mehndi-yellow));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:1.5rem}.nav-links{gap:30px;margin:0;padding:0;list-style:none;display:flex}@media (max-width:992px){#nav{-webkit-backdrop-filter:blur(15px)!important;backdrop-filter:blur(15px)!important;background:#050510fa!important;border-bottom:1px solid #c9a84c26!important;flex-direction:column!important;justify-content:center!important;align-items:center!important;gap:12px!important;height:auto!important;min-height:80px!important;padding:20px 10px!important}#nav .nav-logo{text-align:center!important;width:100%!important;margin:0!important;padding:0!important;font-size:1.4rem!important}.nav-links{width:100%!important;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background:0 0!important;border:none!important;border-radius:0!important;justify-content:center!important;align-items:center!important;gap:30px!important;margin:0!important;padding:0!important;display:flex!important;position:static!important;transform:none!important}.nav-links li{display:block!important}.nav-links li a{letter-spacing:3px!important;color:#c9a84ccc!important;padding:5px 0!important;font-size:.55rem!important;display:block!important}}.nav-links a{font-family:var(--font-display);letter-spacing:4px;text-transform:uppercase;color:#c9a84c80;font-size:.5rem;text-decoration:none;transition:color .3s}.nav-links a:hover{color:var(--gold)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.text-center{text-align:center}#confetti-canvas{z-index:8999;pointer-events:none;position:fixed;inset:0}.stamp-container{text-align:center;opacity:0;margin:30px 0}.stamp{border:3px solid var(--barat-red);cursor:pointer;background:#6b0f1a1a;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:120px;height:120px;transition:all .3s;display:inline-flex;position:relative}.stamp:hover{border-color:var(--gold);transform:rotate(5deg)scale(1.05)}.stamp-text{font-family:var(--font-display);letter-spacing:3px;text-transform:uppercase;color:var(--barat-red);font-size:.45rem}.stamp-emoji{font-size:2rem}.stamp-border{border:1px dashed #8b1a1a66;border-radius:50%;position:absolute;inset:-6px}.stamp-message{font-family:var(--font-serif);color:#c9a84cb3;max-width:350px;margin-top:15px;margin-left:auto;margin-right:auto;font-size:.9rem;font-style:italic;line-height:1.8;display:none}.stamp-message.visible{animation:.6s fadeInUp;display:block}.timeline-map-container{border:1px solid #c9a84c33;border-radius:8px;width:100%;height:180px;margin-top:15px;transition:border-color .3s,box-shadow .3s;overflow:hidden}.timeline-map-container:hover{border-color:#c9a84c80;box-shadow:0 5px 20px #00000080}.timeline-map-container iframe{filter:invert(90%)hue-rotate(180deg)brightness(90%)contrast(85%);border:0;width:100%;height:100%}.pin-overlay{z-index:999999;background:linear-gradient(135deg,#050510,#1a0505);justify-content:center;align-items:center;transition:opacity 1s,visibility 1s;display:flex;position:fixed;inset:0}.pin-overlay.unlocked{opacity:0;visibility:hidden;pointer-events:none}.pin-form{text-align:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#140a0acc;border:1px solid #c9a84c4d;border-radius:12px;width:90%;max-width:450px;padding:50px 40px;box-shadow:0 10px 40px #000c}.pin-input{width:150px;color:var(--gold);letter-spacing:15px;text-align:center;background:#0000004d;border:1px solid #c9a84c80;border-radius:8px;outline:none;margin-bottom:20px;padding:10px 0;font-family:monospace;font-size:2rem;transition:border-color .3s,box-shadow .3s}.pin-input:focus{border-color:var(--cream);box-shadow:0 0 15px #c9a84c4d}.pin-input.error{border-color:var(--barat-red);animation:.4s shake}.pin-submit{background:var(--gold);color:var(--midnight);font-family:var(--font-display);letter-spacing:3px;text-transform:uppercase;cursor:pointer;border:none;border-radius:30px;width:100%;margin-top:10px;padding:12px 30px;font-size:.8rem;font-weight:700;transition:transform .3s,box-shadow .3s}.pin-submit:hover{transform:translateY(-2px);box-shadow:0 5px 15px #c9a84c66}.pin-error{color:var(--barat-red);font-family:var(--font-serif);height:20px;margin-top:5px;font-size:.8rem;font-style:italic}.pin-bismillah{font-family:var(--font-urdu);color:var(--gold);margin-bottom:10px;font-size:2rem}.pin-title{font-family:var(--font-display);color:var(--cream);letter-spacing:4px;text-transform:uppercase;margin-bottom:30px;font-size:1.2rem}.pin-sub{font-family:var(--font-serif);color:#faf0e6b3;margin-bottom:20px;font-size:.9rem;font-style:italic}.hero-content{text-align:center;max-width:800px;padding:0 20px}.section-content{text-align:center;max-width:600px;padding:0 20px}.timeline-wide{max-width:900px}.gallery-wide{max-width:1000px}.scratch-wide{max-width:500px}.ending-wide{z-index:2;flex-direction:column;align-items:center;max-width:600px;display:flex}@media (max-width:768px){.pin-bismillah{font-size:1.5rem}.pin-title{margin-bottom:20px;font-size:1rem}.pin-sub{font-size:.8rem}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-10px)}50%{transform:translate(10px)}75%{transform:translate(-10px)}}.book-section{perspective:2000px;background:radial-gradient(circle,#c9a84c0d,#0000 70%);flex-direction:column;align-items:center;width:100%;padding:80px 20px;display:flex}.book-container{width:min(550px,90vw);height:750px;transform-style:preserve-3d;margin:40px auto;position:relative}.book-page{transform-origin:0;backface-visibility:hidden;z-index:10;color:#2d1e1e;background-color:#fdfcf3;background-image:radial-gradient(circle,#00000005 0%,#0000 100%),url(\"https://www.transparenttextures.com/patterns/felt.png\");background-position:0 0;background-repeat:repeat;background-size:auto;background-attachment:scroll;background-origin:padding-box;background-clip:border-box;border:1px solid #0000001a;border-radius:2px 15px 15px 2px;flex-direction:column;width:100%;height:100%;padding:40px;transition:transform .6s cubic-bezier(.4,0,.2,1),opacity .4s;display:flex;position:absolute;top:0;left:0;overflow:hidden;box-shadow:10px 10px 40px #00000080,inset -5px 0 20px #0000000d}.book-page:before{content:\"\";z-index:5;background:linear-gradient(90deg,#0003 0%,#0000001a 10%,#0000000d 50%,#0000 100%);width:40px;position:absolute;top:0;bottom:0;left:0}.book-page.flipping{opacity:0;transform:rotateY(-90deg)}.book-controls{z-index:20;gap:20px;margin-top:20px;display:flex}.book-btn{border:1px solid var(--gold);color:var(--gold);cursor:pointer;font-family:var(--font-display);letter-spacing:2px;text-transform:uppercase;background:#c9a84c1a;border-radius:4px;padding:12px 30px;font-size:.75rem;transition:all .3s cubic-bezier(.175,.885,.32,1.275)}.book-btn:hover:not(:disabled){background:var(--gold);color:var(--midnight);transform:translateY(-2px);box-shadow:0 5px 15px #c9a84c4d}.book-btn:disabled{opacity:.2;cursor:not-allowed;filter:grayscale()}.book-page-content{z-index:2;flex-direction:column;flex:1;justify-content:center;align-items:center;display:flex;position:relative}.book-page .timeline-event-icon{filter:drop-shadow(0 2px 5px #0000001a);margin-bottom:20px;font-size:3rem}.book-page .timeline-event-name{font-family:var(--font-display);text-shadow:none;margin-bottom:5px;color:#5d1010!important;font-size:1.8rem!important}.book-page .timeline-event-urdu{font-family:var(--font-urdu);opacity:.8;margin-bottom:15px;color:#8b1a1a!important;font-size:2rem!important}.book-page .timeline-event-date{font-family:var(--font-serif);letter-spacing:1px;margin-bottom:20px;font-weight:700;color:#2d1e1e!important}.book-page .timeline-event-venue a{font-size:.9rem;font-weight:600;text-decoration:underline;color:#8b1a1a!important}.book-page .timeline-map-container{border:4px solid #fff;border-radius:8px;width:100%;height:250px;margin-top:25px;overflow:hidden;box-shadow:0 5px 15px #0000001a}.book-page .timeline-map-container iframe{filter:sepia(.3)contrast(1.1)}@media (max-width:768px){section{padding:60px 15px}.hero-names{margin-bottom:20px}.hero-date-strip{gap:10px;margin-bottom:30px;padding:0 10px}.hero-date-strip span{letter-spacing:2px;font-size:.55rem}.date-dot{display:none}.hero-date-strip{flex-direction:column;gap:5px}.pin-form{padding:30px 20px}.pin-input{letter-spacing:10px;width:120px;font-size:1.5rem}.envelope-wrap{width:95vw;height:65vw}.envelope-card-title{font-size:1.2rem}.card-3d-container{aspect-ratio:5/7;width:100%;height:auto}.card-front,.card-back{padding:25px 15px}.card-front-names{font-size:1.8rem}.timeline-map-container{height:150px}.timeline-content{padding:20px}.timeline-event-urdu{font-size:1.1rem}.timeline-event-name{letter-spacing:3px;font-size:.8rem}.gallery-grid{grid-template-columns:1fr}.ending-dua{font-size:1.2rem}.ending-names{font-size:2.5rem}}@media (max-width:380px){.hero-bride,.hero-groom{font-size:3rem}.hero-ampersand{font-size:1.5rem}.section-title{font-size:2rem}}
