@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;1,400;1,500&family=Outfit:wght@300;400;500;600&family=Great+Vibes&family=Amiri:wght@400;700&display=swap";:root{--bg-light:#181512;--bg-dark:#0a0908;--text-main:#f9f6f0;--text-light:#d1c7b8;--gold:#d4af6a;--gold-dim:#d4af6a66;--gold-glow:#d4af6a26;--gold-hi:#ebd09b;--serif:"Cormorant Garamond", serif;--sans:"Outfit", sans-serif;--script:"Great Vibes", cursive;--arabic:"Amiri", serif}*{box-sizing:border-box;-webkit-font-smoothing:antialiased;margin:0;padding:0}html{scroll-behavior:smooth}body{background-color:var(--bg-light);color:var(--text-main);font-family:var(--sans);cursor:none;overflow-x:hidden}.custom-cursor{pointer-events:none;z-index:9999;mix-blend-mode:multiply;background:radial-gradient(circle,#c5a059cc 0%,#c5a05900 70%);border-radius:50%;width:30px;height:30px;transition:width .3s,height .3s,background .3s;position:fixed;top:0;left:0;transform:translate(-50%,-50%);box-shadow:0 0 20px #c5a05966}.custom-cursor.hovering{background:radial-gradient(circle,#c5a05966 0%,#c5a05900 70%);width:60px;height:60px}::selection{background:var(--gold);color:var(--bg-light)}.grain{pointer-events:none;z-index:999;opacity:.04;mix-blend-mode:multiply;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/></filter><rect width='100%25' height='100%25' filter='url(%23n)' opacity='.6'/></svg>");position:fixed;inset:0}.bg-animation{z-index:-1;pointer-events:none;background:radial-gradient(1200px 800px at 80% -10%,#d4af6a1a,#0000 60%),radial-gradient(900px 700px at -20% 40%,#d4af6a14,#0000 60%),linear-gradient(#181512 0%,#100e0c 40%,#0a0908 100%);position:fixed;inset:0;overflow:hidden}.orb{filter:blur(60px);opacity:.8;border-radius:50%;animation:15s ease-in-out infinite alternate float;position:absolute}.orb-1{background:#c5a05940;width:50vw;height:50vw;animation-delay:0s;top:-10%;left:-10%}.orb-2{background:#dcc38c33;width:40vw;height:40vw;animation-duration:20s;animation-delay:-3s;bottom:0%;right:-10%}.orb-3{background:#c8b49626;width:30vw;height:30vw;animation-duration:25s;animation-delay:-7s;top:30%;left:40%}@keyframes float{0%{transform:translate(0)scale(1)}50%{transform:translate(5%,10%)scale(1.1)}to{transform:translate(-5%,-10%)scale(.9)}}#envelope{z-index:2000;background:radial-gradient(circle,#1e1b18 0%,#0a0908 100%);justify-content:center;align-items:center;transition:opacity .8s,visibility .8s;display:flex;position:fixed;inset:0}#envelope.gone{opacity:0;visibility:hidden;pointer-events:none}.env-wrap{aspect-ratio:3/4.2;perspective:1500px;cursor:pointer;width:min(300px,85vw);position:relative}.env-body{border:1px solid var(--gold);background:linear-gradient(135deg,#1c1814,#120f0c);border-radius:4px;flex-direction:column;justify-content:center;align-items:center;gap:1.2rem;display:flex;position:absolute;inset:0;overflow:hidden;box-shadow:0 40px 100px #000c,inset 0 0 40px #9a77371a}.env-body:before{content:"";border:1px solid var(--gold-dim);pointer-events:none;border-radius:2px;position:absolute;inset:12px}.env-body:after{content:"";pointer-events:none;border:1px dashed #9a77374d;border-radius:1px;position:absolute;inset:16px}.env-flap{clip-path:polygon(0 0,100% 0,50% 100%);transform-origin:top;border-bottom:2px solid var(--gold);z-index:3;background:linear-gradient(#241f1a,#1a1612);border-radius:4px 4px 0 0;height:45%;transition:transform 1.5s cubic-bezier(.6,0,.2,1);position:absolute;top:0;left:0;right:0}.env-wrap.open .env-flap{transform:rotateX(-180deg)}.env-seal{width:64px;height:64px;font-family:var(--arabic);color:#2a1f08;z-index:4;background:radial-gradient(circle at 35% 30%,#f3dfa1,#b08d5b 55%,#6a4f1e);border:2px solid #ffffff1a;border-radius:50%;justify-content:center;align-items:center;font-size:1.3rem;transition:transform 1.2s,opacity .6s;display:flex;position:absolute;top:44%;left:50%;transform:translate(-50%,-50%);box-shadow:0 10px 25px #0009,inset 0 -4px 8px #0006}.env-wrap.open .env-seal{opacity:0;transform:translate(-50%,-150%)scale(.5)}.env-monogram{font-family:var(--arabic);color:var(--gold);text-shadow:0 4px 15px #00000080;margin-bottom:-.5rem;font-size:2rem;line-height:1}.env-rule{background:radial-gradient(circle, var(--gold) 0%, transparent 100%);opacity:.8;width:120px;height:1px}.env-names{font-family:var(--serif);letter-spacing:.1em;color:#fff;opacity:.9;text-align:center;font-size:1.2rem;line-height:1.4}.env-date{font-family:var(--sans);letter-spacing:.3em;color:var(--gold-dim);text-transform:uppercase;font-size:.65rem}.env-cta{font-family:var(--sans);letter-spacing:.4em;color:var(--gold);opacity:.8;white-space:nowrap;text-shadow:0 2px 10px #00000080;font-size:.65rem;position:absolute;bottom:-3rem;left:50%;transform:translate(-50%)}.env-cta:before,.env-cta:after{content:"";background:var(--gold);vertical-align:middle;opacity:.6;width:30px;height:1px;margin:0 .8rem;display:inline-block}.btn{font-family:var(--sans);letter-spacing:.3em;text-transform:uppercase;cursor:pointer;border:1px solid var(--gold);color:var(--gold);background:0 0;padding:.8rem 1.8rem;font-size:.7rem;text-decoration:none;transition:all .4s;display:inline-block;position:relative;overflow:hidden}.btn:before{content:"";background:var(--gold);z-index:-1;transition:transform .4s;position:absolute;inset:0;transform:translateY(100%)}.btn:hover{color:var(--bg-dark)}.btn:hover:before{transform:translateY(0)}.mt-4{margin-top:2rem}.hidden{opacity:0;display:none}.visible{animation:1.5s forwards fadeIn;display:block}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.section{flex-direction:column;justify-content:center;align-items:center;width:100%;min-height:100vh;padding:5rem 1.5rem;display:flex;position:relative}.container{width:100%;max-width:800px;margin:0 auto}.hero{text-align:center;overflow:hidden}.hero-frame{border:1px solid var(--gold-dim);pointer-events:none;position:absolute;inset:2rem}.hero-frame:before,.hero-frame:after{content:"";border:1px solid var(--gold);width:30px;height:30px;position:absolute}.hero-frame:before{border-bottom:none;border-right:none;top:-1px;left:-1px}.hero-frame:after{border-top:none;border-left:none;bottom:-1px;right:-1px}.bismillah-translation{font-family:var(--italic);color:var(--gold);margin-top:1rem;padding:0 1rem;font-size:clamp(.9rem,3vw,1.2rem);font-style:italic}.parents-names{font-family:var(--serif);letter-spacing:.1em;color:var(--gold);text-transform:uppercase;margin-top:1rem;margin-bottom:2rem;font-size:1.1rem;line-height:1.6}.text-sm{font-family:var(--sans);letter-spacing:.15em;text-transform:uppercase;opacity:.6;font-size:.7rem;font-style:normal}.hero-gline{background:var(--gold);width:120px;height:1px;margin:2rem auto}.eyebrow{letter-spacing:.4em;color:var(--gold);text-transform:uppercase;margin:1rem 0;font-size:.65rem}.reception-title{font-family:var(--script);color:var(--gold);text-shadow:0 2px 10px #c5a05933;margin-bottom:1rem;font-size:clamp(2.2rem,9vw,3.5rem);font-weight:400}.couple-section{flex-direction:column;align-items:center;gap:1rem;margin:2rem 0 3rem;display:flex}.name{font-family:var(--serif);color:#0000;background:linear-gradient(120deg, var(--text-main), var(--gold), var(--text-main));background-size:200%;-webkit-background-clip:text;background-clip:text;font-size:clamp(1.4rem,6.5vw,3.5rem);font-weight:400;line-height:1.1;animation:5s linear infinite shine}.name.uppercase{text-transform:uppercase;letter-spacing:.05em}.family-details{font-family:var(--serif);letter-spacing:.05em;color:var(--gold);text-align:center;text-transform:uppercase;opacity:.9;max-width:90%;font-size:.75rem;line-height:1.6}.with-text{font-family:var(--serif);color:var(--gold);margin:1.5rem 0;font-size:2.2rem;font-style:italic}.hero-date,.hero-time{letter-spacing:.3em;color:var(--text-main);opacity:.8;margin-bottom:.5rem;font-size:.85rem}.scroll-hint{letter-spacing:.3em;color:var(--gold);flex-direction:column;align-items:center;gap:.5rem;font-size:.6rem;display:flex;position:absolute;bottom:2rem;left:50%;transform:translate(-50%)}.scroll-hint .line{background:linear-gradient(180deg, var(--gold), transparent);transform-origin:top;width:1px;height:40px;animation:2s ease-in-out infinite drop}.details-section{background:0 0}.blessed-occasion-header{text-align:center;margin-bottom:2rem}.eyebrow.with-lines{color:var(--gold);letter-spacing:.4em;text-transform:uppercase;justify-content:center;align-items:center;gap:1rem;font-size:.65rem;display:flex}.eyebrow.with-lines:before,.eyebrow.with-lines:after{content:"";background:var(--gold-dim);width:40px;height:1px;display:block}.join-us-title{font-family:var(--serif);flex-direction:column;align-items:center;gap:.5rem;margin-top:1.5rem;font-weight:300;line-height:1.1;display:flex}.join-us-title .line1{color:var(--text-main);font-size:clamp(2.5rem,6vw,3.5rem);font-style:italic}.join-us-title .highlight{color:#0000;background:linear-gradient(120deg, var(--gold-dim), var(--gold), var(--gold-dim));background-size:200%;-webkit-background-clip:text;background-clip:text;padding-bottom:.5rem;font-size:clamp(3rem,7vw,4.2rem);font-style:italic;animation:6s linear infinite shine}.quran-section{justify-content:center;align-items:center;min-height:auto;padding:6rem 1.5rem;display:flex}.quran-content{text-align:center;flex-direction:column;align-items:center;max-width:800px;margin:0 auto;display:flex}.arabic-verse{font-family:var(--arabic);color:var(--gold);text-shadow:0 4px 25px #d4af6a33;margin:1.5rem 0;font-size:clamp(2.5rem,8vw,4.5rem);line-height:1.6}.verse-translation{font-family:var(--serif);color:var(--text-main);opacity:.9;margin-bottom:2rem;font-size:1.5rem;font-style:italic}.verse-citation{font-family:var(--sans);letter-spacing:.4em;color:var(--gold-dim);text-transform:uppercase;padding-top:2rem;font-size:.7rem;position:relative}.verse-citation:before{content:"";background:var(--gold-dim);width:40px;height:1px;position:absolute;top:0;left:50%;transform:translate(-50%)}.glass{-webkit-backdrop-filter:blur(12px);border:1px solid var(--gold-dim);background:#14100c66;box-shadow:0 8px 32px #00000080}.event-minimal{text-align:center;flex-direction:column;align-items:center;max-width:600px;margin:0 auto;padding:0 1rem;display:flex}.event-title-minimal{font-family:var(--serif);color:var(--gold);margin-bottom:2.5rem;font-size:3rem;font-style:italic;font-weight:300}.event-date-minimal{flex-direction:column;align-items:center;margin-bottom:3rem;display:flex;position:relative}.event-date-minimal:after{content:"";background:var(--gold-dim);width:40px;height:1px;position:absolute;bottom:-1.5rem}.event-date-minimal .day{font-family:var(--serif);color:var(--text-main);font-size:4rem;line-height:1}.event-date-minimal .month-year{font-family:var(--sans);letter-spacing:.4em;color:var(--gold);margin-top:.5rem;font-size:.8rem}.event-info-grid{justify-content:space-between;align-items:center;gap:2rem;width:100%;margin-bottom:2rem;display:flex}.info-item{flex-direction:column;flex:1;align-items:center;gap:.8rem;display:flex}.info-divider{background:linear-gradient(180deg, transparent, var(--gold-dim), transparent);width:1px;height:60px}.info-label{font-family:var(--sans);letter-spacing:.3em;color:var(--gold);text-transform:uppercase;font-size:.65rem}.info-value{font-family:var(--serif);color:var(--text-light);font-size:1.3rem;line-height:1.5}.event-btns-minimal{flex-wrap:wrap;justify-content:center;gap:1.5rem;width:100%;display:flex}@media (width<=600px){.event-info-grid{flex-direction:column;gap:2rem}.info-divider{background:linear-gradient(90deg, transparent, var(--gold-dim), transparent);width:100px;height:1px}}.btn.secondary{border-color:var(--gold-dim);color:var(--text-main)}.btn.secondary:before{background:#c5a0591a}.compliments-section{background:0 0;padding:6rem 1.5rem}.compliments-header{text-align:center;flex-direction:column;align-items:center;margin-bottom:3rem;display:flex}.compliments-title{font-family:var(--serif);color:var(--text-light);margin-bottom:1rem;font-size:clamp(2.4rem,6vw,3rem);font-style:italic;font-weight:300;line-height:1.2}.compliments-from{font-family:var(--sans);letter-spacing:.4em;color:var(--gold);text-transform:uppercase;align-items:center;gap:.8rem;font-size:.58rem;display:flex}.compliments-from:before,.compliments-from:after{content:"";background:var(--gold);opacity:.6;width:30px;height:1px}.qr-minimal{flex-direction:column;align-items:center;gap:2rem;display:flex}.qr-frame-minimal{border:1px solid var(--gold-dim);background:#14100c66;border-radius:2px;padding:1.5rem;transition:transform .4s;position:relative;box-shadow:0 10px 30px #00000080}.qr-frame-minimal:before{content:"";pointer-events:none;border:1px solid #d4af6a33;position:absolute;inset:.5rem}.qr-frame-minimal:hover{transform:scale(1.02)}.qr-image-minimal{object-fit:cover;background:#fff;width:150px;height:150px;padding:.5rem;display:block}.qr-scan-text{font-family:var(--sans);letter-spacing:.4em;color:var(--gold-dim);text-transform:uppercase;font-size:.65rem}.love-section{text-align:center;padding:2rem 1.5rem 6rem}.love-container{border:1px solid var(--gold-dim);background:#14100c33;border-radius:100px 100px 10px 10px;flex-direction:column;align-items:center;gap:1.5rem;max-width:400px;margin:0 auto;padding:3rem 1rem;display:flex}.love-title{font-family:var(--serif);color:var(--gold);font-size:2.2rem;font-style:italic;font-weight:300}.love-subtitle{font-family:var(--sans);letter-spacing:.3em;text-transform:uppercase;color:var(--text-light);opacity:.8;font-size:.65rem}.heart-button{color:#b73e3e;cursor:pointer;filter:drop-shadow(0 0 15px #b73e3e66);-webkit-tap-highlight-color:transparent;background:0 0;border:none;margin:1rem 0;font-size:5rem;transition:transform .2s,filter .2s,color .3s}.heart-button:hover{color:#d74848;filter:drop-shadow(0 0 25px #d7484899);transform:scale(1.1)}.heart-button:active{transform:scale(.9)}.pulse-anim{animation:.5s cubic-bezier(.175,.885,.32,1.275) pulseHeart}@keyframes pulseHeart{0%{transform:scale(1)}50%{transform:scale(1.4)}to{transform:scale(1)}}.love-count{flex-direction:column;align-items:center;gap:.5rem;display:flex}.count-number{font-family:var(--serif);color:var(--text-main);font-size:2.5rem}.count-label{font-family:var(--sans);letter-spacing:.3em;color:var(--gold-dim);text-transform:uppercase;font-size:.65rem}.eyebrow{font-family:var(--sans);letter-spacing:.4em;color:var(--gold);text-align:center;text-transform:uppercase;justify-content:center;align-items:center;gap:.8rem;margin-bottom:1rem;font-size:.58rem;display:flex}.eyebrow:before,.eyebrow:after{content:"";background:var(--gold);opacity:.6;width:30px;height:1px}.section-title{font-family:var(--serif);color:var(--text-light);text-align:center;margin-bottom:3rem;font-size:clamp(2.4rem,6vw,3rem);font-style:italic;font-weight:300;line-height:1.2}.family-cards{flex-direction:column;gap:2rem;margin-top:3rem;display:flex}.fam-card{border:1px solid var(--gold-dim);text-align:center;background:linear-gradient(#b08d5b08,#0000);padding:3rem 1.5rem;position:relative}.fam-role{font-family:var(--sans);letter-spacing:.4em;color:var(--gold);text-transform:uppercase;margin-bottom:.8rem;font-size:.55rem}.fam-name{font-family:var(--serif);color:var(--text-light);margin-bottom:.8rem;font-size:clamp(1.6rem,7.5vw,2.5rem);font-style:italic;font-weight:300;line-height:1}.fam-rel{font-family:var(--italic);color:var(--text-light);opacity:.45;margin-bottom:.5rem;font-size:.95rem;font-style:italic}.fam-parents{font-family:var(--serif);color:var(--gold);font-size:clamp(.9rem,4.5vw,1.1rem);font-weight:400;line-height:1.5}.fam-divider{background:var(--gold);opacity:.3;width:30px;height:1px;margin:1.5rem auto}.fam-grandparents{font-family:var(--sans);letter-spacing:.1em;color:var(--text-light);opacity:.5;text-transform:uppercase;font-size:clamp(.48rem,2.8vw,.6rem);line-height:1.8}.gallery-section{padding:2rem 1.5rem}.g-frame{aspect-ratio:4/5;border:1px solid var(--gold-dim);background:linear-gradient(160deg,#b08d5b0d,#0000);width:100%;max-width:420px;margin:0 auto;padding:10px;position:relative}.g-frame:after{content:"";border:1px solid var(--gold-dim);pointer-events:none;position:absolute;inset:10px}.g-frame img{object-fit:cover;filter:sepia(.2)contrast(1.05)brightness(.9);width:100%;height:100%;display:block}.footer{text-align:center;background:0 0;padding:6rem 1.5rem 4rem}#bgmBtn{z-index:190;border:1px solid var(--gold-dim);-webkit-backdrop-filter:blur(10px);cursor:pointer;-webkit-tap-highlight-color:transparent;width:48px;height:48px;color:var(--gold);background:#14100cb3;border-radius:50%;outline:none;justify-content:center;align-items:center;padding:0;transition:all .3s;display:flex;position:fixed;bottom:25px;right:25px;box-shadow:0 4px 15px #0006}#bgmBtn:hover{border-color:var(--gold);background:#14100ce6;transform:scale(1.05)}#bgmBtn .bgm-ring{pointer-events:none;opacity:0;border:2px dashed #d4af6a99;border-radius:50%;transition:opacity .3s;animation:4s linear infinite bgmSpin;position:absolute;inset:-4px}#bgmBtn.playing .bgm-ring{opacity:1}@keyframes bgmSpin{to{transform:rotate(360deg)}}.foot-rule{background:linear-gradient(90deg, transparent, var(--gold), transparent);width:50%;max-width:200px;height:1px;margin:0 auto 2rem}.foot-names{font-family:var(--script);color:var(--gold);margin-bottom:1rem;font-size:2.5rem;font-weight:400}.foot-date{letter-spacing:.4em;opacity:.7;margin-bottom:2rem;font-size:.7rem}.foot-credit{letter-spacing:.2em;opacity:.4;text-transform:uppercase;font-size:.6rem}@keyframes shine{0%{background-position:0%}to{background-position:200%}}@keyframes drop{0%{opacity:0;transform:scaleY(0)}30%{opacity:1}to{opacity:0;transform:scaleY(1)}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(.98)}}.fade-in{opacity:0;transition:opacity 1s}.fade-in-up{opacity:0;transition:opacity 1s,transform 1s;transform:translateY(20px)}.is-visible{opacity:1!important;transform:translateY(0)!important}.delay-1{transition-delay:.2s}.delay-2{transition-delay:.4s}.delay-3{transition-delay:.6s}.delay-4{transition-delay:.8s}.delay-5{transition-delay:1s}.delay-6{transition-delay:1.2s}.delay-7{transition-delay:1.4s}.reveal{opacity:0;transition:all 1.2s cubic-bezier(.5,0,0,1);transform:translateY(40px)}.reveal.active{opacity:1;transform:translateY(0)}@media (width<=600px){.section{padding:3rem 1rem}.hero-frame{inset:.8rem}.fam-card{padding:2.5rem 1rem}.section-title{font-size:2.5rem}.event-card{padding:2rem 1.2rem}.event-num .n{font-size:2rem}.event-title{font-size:1.8rem}.event-row .v{font-size:1.1rem}.event-btns{flex-direction:column}.btn{width:100%;padding:1rem}}
