@font-face{font-family:BrittanySignature;src:url(/assets/fonts/BrittanySignature.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Scriptorial;src:url(/assets/fonts/Scriptorial.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Safira-March;src:url(/assets/fonts/Safira-March.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}.lora-400{font-family:Lora,serif;font-optical-sizing:auto;font-weight:400;font-style:normal}.lora-500{font-family:Lora,serif;font-optical-sizing:auto;font-weight:500;font-style:normal}.lora-600{font-family:Lora,serif;font-optical-sizing:auto;font-weight:600;font-style:normal}.lora-700{font-family:Lora,serif;font-optical-sizing:auto;font-weight:700;font-style:normal}*{margin:0;padding:0}body{background:#fff;overflow-x:hidden;scroll-behavior:smooth}body:has(.loading-screen:not(.fade-out)) .container{opacity:0;visibility:hidden}body .container{opacity:1;visibility:visible;transition:opacity .5s ease-in-out,visibility .5s ease-in-out}.loading-screen{position:fixed;top:0;left:0;width:100%;height:100vh;background:linear-gradient(135deg,#f8f6f0,#ede7d3,#f2efea);z-index:9999;display:flex;align-items:center;justify-content:center;opacity:1;visibility:visible;transition:opacity .8s ease-out,visibility .8s ease-out}.loading-screen.fade-out{opacity:0;visibility:hidden}.loading-container{position:relative;text-align:center;width:100%;max-width:400px;padding:2rem}.loading-flowers{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.loading-flower{position:absolute;opacity:.6;animation:floralFloat 4s ease-in-out infinite}.loading-flower-1{top:10%;left:10%;width:60px;animation-delay:0s}.loading-flower-2{top:15%;right:15%;width:50px;animation-delay:1s;transform:rotate(45deg)}.loading-flower-3{bottom:20%;left:20%;width:55px;animation-delay:2s;transform:rotate(-30deg)}.loading-flower-4{bottom:15%;right:10%;width:65px;animation-delay:1.5s;transform:rotate(120deg)}@keyframes floralFloat{0%,to{transform:translateY(0) rotate(0);opacity:.6}50%{transform:translateY(-10px) rotate(5deg);opacity:.8}}.loading-content{position:relative;z-index:2;animation:contentFadeIn 1s ease-out}@keyframes contentFadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.rings-container{position:relative;margin:0 auto 2rem;width:120px;height:80px}.ring{position:absolute;width:60px;height:60px;border:4px solid #b17456;border-radius:50%;background:linear-gradient(45deg,#b174561a,#b174560d);box-shadow:0 0 20px #b174564d}.ring-1{left:0;animation:ringPulse 2s ease-in-out infinite}.ring-2{right:0;animation:ringPulse 2s ease-in-out infinite 1s}.ring-sparkle{position:absolute;top:10px;left:50%;transform:translate(-50%);width:.5rem;height:.5rem;background:#b17456;border-radius:50%;animation:sparkle 1.5s ease-in-out infinite}@keyframes ringPulse{0%,to{transform:scale(1);box-shadow:0 0 20px #b174564d}50%{transform:scale(1.1);box-shadow:0 0 30px #b1745680}}@keyframes sparkle{0%,to{opacity:0;transform:translate(-50%) scale(0)}50%{opacity:1;transform:translate(-50%) scale(1)}}.loading-names{margin-bottom:1.5rem;display:flex;align-items:center;justify-content:center;gap:1rem;flex-wrap:wrap}.loading-bride-name,.loading-groom-name{font-family:Scriptorial,serif;font-size:2.5rem;color:#b17456;font-weight:400;margin:0;animation:nameGlow 3s ease-in-out infinite}.loading-bride-name{animation-delay:0s}.loading-groom-name{animation-delay:.5s}.loading-and{font-family:Lora,serif;font-size:1.8rem;color:#b17456;font-style:italic;opacity:.8}@keyframes nameGlow{0%,to{text-shadow:0 0 10px rgba(177,116,86,.3)}50%{text-shadow:0 0 20px rgba(177,116,86,.6)}}.loading-text{font-family:Lora,serif;font-size:1rem;color:#8a6d42;margin-bottom:2rem;opacity:.8;animation:textPulse 2s ease-in-out infinite}@keyframes textPulse{0%,to{opacity:.8}50%{opacity:1}}.loading-progress{margin-bottom:2rem}.progress-bar{width:200px;height:4px;background:#b1745633;border-radius:2px;margin:0 auto 1rem;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,#b17456,#d4a574,#b17456);border-radius:2px;width:0%;animation:progressFill 3s ease-in-out infinite}@keyframes progressFill{0%{width:0%}to{width:100%}}.loading-hearts{display:flex;justify-content:center;gap:1rem}.heart{font-size:1.2rem;color:#b17456;animation:heartBeat 1s ease-in-out infinite}.heart-1{animation-delay:0s}.heart-2{animation-delay:.3s}.heart-3{animation-delay:.6s}@keyframes heartBeat{0%,70%,to{transform:scale(1);opacity:.7}35%{transform:scale(1.3);opacity:1}}.loading-bottom-decor{position:absolute;bottom:2rem;left:50%;transform:translate(-50%)}.ornament-line{width:100px;height:2px;background:linear-gradient(90deg,transparent,#b17456,transparent);position:relative;animation:lineGlow 2s ease-in-out infinite}.ornament-line:before,.ornament-line:after{content:"";position:absolute;top:-3px;width:8px;height:8px;background:#b17456;border-radius:50%}.ornament-line:before{left:-4px}.ornament-line:after{right:-4px}@keyframes lineGlow{0%,to{opacity:.6;box-shadow:0 0 10px #b174564d}50%{opacity:1;box-shadow:0 0 20px #b1745680}}@media (max-width: 480px){.loading-container{padding:1rem}.loading-bride-name,.loading-groom-name{font-size:2rem}.loading-and{font-size:1.5rem}.loading-flower{width:40px!important}.rings-container{width:100px;height:70px}.ring{width:50px;height:50px}.progress-bar{width:160px}}.container{max-width:480px;margin:auto;overflow-x:hidden}.butterfly-animation{position:absolute;bottom:0;left:24%;height:auto;z-index:99;width:21%;scale:.7;translate:134% -123%;rotate:-25deg}.section#hero{width:100%;height:100lvh;background-size:cover;background-position:center;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}.section#hero .flower-left,.section#hero .flower-right{position:relative;width:100%;z-index:3}.section#hero .flower-left{left:68%;scale:1;width:76%;rotate:86deg;scale:2;top:-18%}.section#hero .flower-right{right:-6%;scale:1;width:98%;rotate:65deg;scale:2;bottom:-6%}.hero-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,#f8f6f08c,#ede7d359,#f2efead9),url(/assets/texture2.webp);background-size:cover;border:1px solid rgba(0,0,0,.2);z-index:1}.hero-content{position:absolute;z-index:2;text-align:center;color:#fff;padding:20rem 0rem;display:flex;flex-direction:column;height:70vh;justify-content:space-evenly;gap:50%;opacity:0}.title-hero{display:flex;flex-direction:column;align-items:center;justify-content:center;color:#b17456}.hero-content h1{font-weight:400;font-family:Scriptorial,serif;font-size:4rem;color:#b17456;perspective:1000px;max-width:81vw}.hero-content h1 .char{display:inline-block;transform-style:preserve-3d}.hero-content p{font-family:Lora,serif;font-size:18px;font-weight:400;text-shadow:1px 1px 2px rgba(0,0,0,.5)}.hero-invitation{margin-top:30px;padding:20px 25px;border-radius:8px;border:2px solid rgb(245 243 214);text-align:left;max-width:200px;margin-left:auto;margin-right:auto;box-shadow:0 4px 15px #0000001a;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);-moz-backdrop-filter:blur(5px);opacity:0;position:absolute;z-index:2;bottom:6%;left:9%;background-color:#f5f3d680;min-width:64%}.dear-text{font-family:Lora,serif;font-size:14px;font-weight:400;color:#2c2520;font-style:italic;display:block;margin-bottom:5px;text-align:center}.guest-name{font-family:Lora,serif;font-size:16px;font-weight:600;color:#2c2520;margin:2px 0;line-height:1.3;text-shadow:none;text-align:center}.cover{width:300px;height:500px;background:#3f2305;background-size:cover;margin:auto;display:flex;flex-direction:column;position:absolute;z-index:2;opacity:0;scale:.8;margin-top:-15vh}.cover-open{position:absolute}.cover-open#left{left:0;top:0;height:100%;transform-origin:left}.cover-open#left .to{position:absolute;font-family:Sorts Mill Goudy;text-align:center;width:62%;margin-top:160%;font-size:12px;font-style:italic}.cover-open#left img{height:100%}.cover-open#right{right:0;bottom:0;height:65%;transform-origin:right}.cover-open#right img{backface-visibility:hidden;-webkit-backface-visibility:hidden}.cover-open#stamp{left:110px;top:49%;width:23%}.cover-open .to{position:absolute;text-align:center;width:62%;margin-top:160%;font-size:12px;font-style:italic}.cover-open .to h3{padding:0 4px;border-radius:2px;margin-left:.3rem}.open-message{background:linear-gradient(135deg,#dfd7bf,#faf7f0,#eeedec);width:90%;margin:auto;height:95%;border-radius:.3rem;box-sizing:border-box;padding:20px;text-align:center;z-index:-1;box-shadow:#0000004d 0 8px 25px,#0003 0 4px 10px;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}.hide-before-open{display:none!important}.invitation-content{position:relative;z-index:2;width:100%;height:100%;display:flex;flex-direction:column;padding:10px 0;justify-content:space-evenly}.couple-names-section{text-align:center;margin-bottom:.938rem;display:flex;align-items:center;justify-content:center;gap:6px}.couple-names-section .bride-name,.couple-names-section .groom-name,.couple-names-section .and-text{font-family:Scriptorial,serif;font-size:2.5rem;font-weight:400;color:#a14004;letter-spacing:.063rem;line-height:1.2}.couple-photo-frame{flex:1;display:flex;align-items:center;justify-content:center;padding:0 10px;max-height:18rem}.photo-placeholder{height:100%;border-radius:4px;display:flex;align-items:center;justify-content:center}.photo-placeholder span{font-family:Lora,serif;font-size:12px;color:#f4f1e8b3;text-align:center}.wedding-details{text-align:center;margin-top:2rem}.wedding-title{font-weight:400;font-family:Safira-March,serif;font-size:1.5rem;color:#a14004}.section#quran-intro{width:100%;background:linear-gradient(135deg,#f8f6f0d9,#ede7d3d9,#f2efead9),url(/pattern1.jpg);background-size:cover;background-position:center center;background-repeat:no-repeat;background-attachment:fixed;padding:80px 0;margin-top:-12lvh;display:flex;align-items:center;position:relative;overflow:hidden}.section#quran-intro:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-image:radial-gradient(circle at 20% 30%,rgba(212,196,168,.1) 0%,transparent 50%),radial-gradient(circle at 80% 70%,rgba(177,116,86,.1) 0%,transparent 50%);pointer-events:none}.section#quran-intro .container{position:relative;z-index:2}.quran-verse{text-align:center;max-width:83%;margin:0 auto;padding:40px 20px;background:#ffffffb3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;box-shadow:0 20px 40px #0000001a,0 0 0 1px #ffffff80;position:relative}.quran-verse:before{content:"❝";position:absolute;top:-5px;left:9px;font-size:60px;color:#b174564d;font-family:serif}.arabic-text{font-family:Amiri,Times New Roman,serif;font-size:1.2rem;line-height:1.8;color:#2c3e50;margin-bottom:30px;text-align:center;direction:rtl;font-weight:500;text-shadow:0 1px 2px rgba(0,0,0,.1);opacity:0;transform:translateY(30px);transition:all .8s cubic-bezier(.25,.46,.45,.94);padding-top:21px}.verse-translation{font-family:Lora,serif;font-size:.8rem;line-height:1.6;color:#555;margin-bottom:20px;font-style:italic;font-weight:400;opacity:0;transform:translateY(30px);transition:all .8s cubic-bezier(.25,.46,.45,.94) .3s}.verse-source{font-family:Lora,serif;font-size:14px;color:#b17456;font-weight:600;letter-spacing:1px;opacity:0;transform:translateY(30px);transition:all .8s cubic-bezier(.25,.46,.45,.94) .6s}.arabic-text.show,.verse-translation.show,.verse-source.show{opacity:1;transform:translateY(0)}.section#profile-couple{width:100%;padding:80px 0;background:url(/bg-profile-couple.webp);position:relative;overflow:hidden;height:80vh;background-size:cover;background-position-x:50%;background-position-y:0px}.profile-couple-content{font-family:Lora,serif;font-size:.8rem;line-height:1.7;color:#292825;font-weight:500;text-align:center;padding:1rem;max-width:76vw;margin:0 auto;opacity:0;transform:scale(.8);transition:all .5s ease-out}#cloud-image{position:absolute;top:4%;left:-9%;width:110%}.profile-couple-content.show{opacity:1;transform:scale(1)}.bride-profile{text-align:right;max-width:31.25rem;width:80%;margin:1rem auto 0;padding:1rem;background:#ffffff80;backdrop-filter:blur(.5rem);-webkit-backdrop-filter:blur(.5rem);border-radius:.75rem;border:.063rem solid rgba(255,255,255,.25);box-shadow:0 .375rem 1.563rem #0003,inset 0 .063rem #ffffff26;position:absolute;top:5svh;left:100%;opacity:0;padding-right:10vw!important}.bride-name{font-family:Safira-March,serif;font-size:1.5rem;font-weight:700;color:#292825;letter-spacing:.063rem;line-height:1.2;text-align:right}.bride-description{font-family:Lora,serif;font-size:.8rem;color:#4b5563;line-height:1.6;text-align:right}.groom-profile{text-align:left;max-width:31.25rem;width:80%;margin:1rem auto 0;padding:1rem;background:#ffffff80;backdrop-filter:blur(.5rem);-webkit-backdrop-filter:blur(.5rem);border-radius:.75rem;border:.063rem solid rgba(255,255,255,.25);box-shadow:0 .375rem 1.563rem #0003,inset 0 .063rem #ffffff26;position:absolute;bottom:15vh;right:100%;opacity:0;padding-left:10vw!important}.groom-name{font-family:Safira-March,serif;font-size:1.5rem;font-weight:700;color:#292825;letter-spacing:.063rem;line-height:1.2;text-align:left}.groom-description{font-family:Lora,serif;font-size:.8rem;color:#4b5563;line-height:1.6;text-align:left}.instagram-link{display:inline-flex;align-items:center;gap:.1rem;font-family:Lora,serif;font-size:.9rem;color:#010101;text-decoration:none;padding:8px 16px;transition:all .3s ease;text-align:left;position:absolute;top:100%;padding-left:10vw!important}.groom-profile .instagram-link{text-align:left;left:0%}.bride-profile .instagram-link{text-align:right;right:0%;padding-right:10vw!important}.instagram-link svg{flex-shrink:0;transform:scale(.7);transition:transform .3s ease}.instagram-link:hover svg{transform:scale(1)}.bride-profile,.groom-profile{margin-bottom:1.875rem}.section#save-the-date{background:linear-gradient(135deg,#dfd7bfd9,#faf7f0d9,#eeedecd9),url(/pattern1.jpg);background-size:cover;background-position:center center;background-repeat:no-repeat;background-attachment:fixed;display:flex;align-items:center;justify-content:center;padding:31px 20px;position:relative;overflow:hidden}.section#save-the-date:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 30% 70%,rgba(255,255,255,.1) 0%,transparent 50%),radial-gradient(circle at 70% 30%,rgba(255,255,255,.05) 0%,transparent 50%);pointer-events:none}.save-date-content{text-align:center;max-width:600px;color:#2c3e50;position:relative;z-index:2}.save-date-title{font-family:Scriptorial,serif;font-size:3rem;font-weight:100;color:#b17456;margin:1rem 0}.save-date-text{font-family:Lora,serif;font-size:.85rem;line-height:1.6;color:#2c3e50;max-width:500px;margin:0 auto 20px}.countdown-container{display:flex;justify-content:center;gap:20px;flex-wrap:wrap}.countdown-item{background:#ffffff26;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);border-radius:12px;padding:9px 15px;min-width:30px;box-shadow:0 6px 24px #0000001a;transition:all .3s ease;display:flex;align-items:center;justify-content:center;flex-direction:column}.countdown-item:hover{transform:translateY(-5px) scale(1.05);box-shadow:0 12px 35px #b174564d;background:#ffffff40;border-color:#b174564d}.countdown-number{font-family:Lora,serif;font-size:1.3rem;font-weight:700;color:#2c3e50;line-height:1;margin:0;text-shadow:0 1px 3px rgba(0,0,0,.2)}.countdown-label{font-family:Lora,serif;font-size:.7rem;color:#2c3e50;text-transform:capitalize;letter-spacing:1px;margin:0;white-space:nowrap}.countdown-number.updating{animation:numberFlip .3s ease-in-out}@keyframes numberFlip{0%{transform:scale(1) rotateY(0);color:#2c3e50}50%{transform:scale(1.15) rotateY(90deg);color:#b17456}to{transform:scale(1) rotateY(0);color:#2c3e50}}@keyframes fadeInUp{to{opacity:1;transform:translateY(0)}}.section#save-the-date,.section#quran-intro{background-attachment:scroll}.music-btn{display:none;position:fixed;bottom:110px;right:10px;width:2rem;height:2rem;border-radius:50%;background:#b17456e6;border:2px solid #B17456;color:#fff;cursor:pointer;align-items:center;justify-content:center;z-index:1000;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 4px 15px #0003}.music-btn:hover{background:#b17456;transform:scale(1.1);box-shadow:0 6px 20px #0000004d}.music-btn:active{transform:scale(.95)}.music-btn svg{transition:all .3s ease}.music-btn.playing .play-icon{display:none}.music-btn.playing .pause-icon{display:block!important}#open-invitation{position:absolute;bottom:-22%;opacity:0;left:50%;transform:translate(-50%);background:linear-gradient(135deg,#b17456,#8b4513);border:none;color:#fff;font-family:Lora,serif;font-size:.7rem;font-weight:400;padding:.75rem 1.563rem;border-radius:1.563rem;cursor:pointer;box-shadow:0 6px 20px #b1745666;transition:all .3s cubic-bezier(.4,0,.2,1);letter-spacing:.5px;text-transform:capitalize;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:2px solid rgba(255,255,255,.2);z-index:10;overflow:hidden}#open-invitation: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 .6s ease}#open-invitation:hover:before{left:100%}#open-invitation:hover{background:linear-gradient(135deg,#a66b52,#7a400f);transform:translate(-50%) translateY(-3px) scale(1.05);box-shadow:0 12px 30px #b1745699;border-color:#fff6;text-shadow:0 2px 8px rgba(0,0,0,.3)}#open-invitation:active{transform:translate(-50%) translateY(-1px) scale(1.02);box-shadow:0 8px 20px #b1745680}#open-invitation:focus{outline:none;box-shadow:0 0 0 3px #b174564d}@keyframes buttonPulse{0%{box-shadow:0 6px 20px #b1745666}50%{box-shadow:0 8px 25px #b1745699}to{box-shadow:0 6px 20px #b1745666}}#open-invitation{animation:buttonPulse 2s ease-in-out infinite}#open-invitation:hover{animation:none}.event-date-unified{padding:30px 20px;margin:30px 0;position:relative;background:linear-gradient(135deg,#f8f5f04d,#f0ebde66),url(/assets/schedule-bg.webp) center / cover no-repeat;border-radius:15px;box-shadow:0 8px 25px #0000001a;border:1px solid rgba(177,116,86,.1);overflow:hidden;background-position-y:39%}.event-date-unified:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 20% 20%,rgba(177,116,86,.05) 0%,transparent 50%),radial-gradient(circle at 80% 80%,rgba(177,116,86,.05) 0%,transparent 50%);pointer-events:none}.main-date{text-align:center;margin-bottom:25px}.main-date .date-main{font-family:Lora,serif;font-size:1.5rem;font-weight:700;color:#b17456;letter-spacing:5px}.date-separator{width:100%;height:40px;margin:0 auto;position:relative;display:flex;align-items:center;justify-content:center}.date-separator svg{width:200px;height:30px;fill:#b17456;opacity:.8;filter:drop-shadow(1px 1px 2px rgba(177,116,86,.2))}.events-row{display:flex;flex-direction:column;align-items:center;gap:.7rem;position:relative}.event-column{text-align:center;padding:0 10px;width:100%}.vertical-divider{width:50%;height:1px;background:linear-gradient(to right,transparent 0%,#b17456 20%,#b17456 80%,transparent 100%);margin:0 auto;position:relative}.vertical-divider:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:10px;height:10px;background:#b17456;border-radius:50%;box-shadow:0 0 6px #b174564d}.event-container{position:relative;z-index:2;text-align:center;max-width:400px;margin:0 auto;padding:20px}.event-column .event-title{font-family:Lora,serif;font-size:1rem;font-weight:700;color:#2c3e50;margin-bottom:8px;letter-spacing:.5px}.event-column .event-time{font-family:Lora,serif;font-size:.875rem;font-weight:400;color:#2c3e50}.event-date-unified:hover{transform:translateY(-3px);box-shadow:0 12px 35px #00000026;transition:all .3s ease}.event-column:hover .event-title{color:#1a252f;transform:translateY(-2px);transition:all .3s ease}.event-column:hover .event-time{color:#1a252f;transition:color .3s ease}.event-location-section{margin:1.5rem 0;padding:1.8rem 1.2rem;background:linear-gradient(135deg,#f8f5f04d,#f0ebde66),url(/assets/schedule-bg.webp) center / cover no-repeat;border-radius:1.2rem;box-shadow:0 8px 25px #b174561f,0 2px 8px #00000014;position:relative;overflow:hidden}.location-container{display:flex;flex-direction:column;align-items:center;text-align:center;gap:1.5rem;position:relative;z-index:2}.location-header{display:flex;align-items:center;background:linear-gradient(135deg,#f8f5f0f2,#f0ebdefa);border:1px solid rgba(177,116,86,.2);border-radius:2rem;padding:.4rem;box-shadow:0 4px 12px #b1745626;transition:all .3s ease}.location-header:hover{transform:translateY(-2px);box-shadow:0 6px 18px #b1745640;border-color:#b174564d}.location-icon{width:2rem;height:2rem;background:linear-gradient(135deg,#b17456,#d4a574);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 3px 10px #b1745666,inset 0 1px 2px #ffffff4d;margin-right:.5rem;flex-shrink:0;position:relative;transition:all .4s cubic-bezier(.4,0,.2,1);animation:iconPulse 3s ease-in-out infinite}@keyframes iconPulse{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}.location-icon:before{content:"";position:absolute;top:-.3rem;left:-.3rem;right:-.3rem;bottom:-.3rem;background:radial-gradient(circle,rgba(177,116,86,.3) 0%,transparent 70%);border-radius:50%;z-index:-1;animation:iconGlow 2.5s ease-in-out infinite alternate}@keyframes iconGlow{0%{opacity:.4;transform:scale(.8)}to{opacity:.8;transform:scale(1.2)}}.location-icon svg{transition:all .3s ease;animation:iconBounce 4s ease-in-out infinite}@keyframes iconBounce{0%,to{transform:translateY(0) rotate(0)}25%{transform:translateY(-2px) rotate(-3deg)}50%{transform:translateY(0) rotate(0)}75%{transform:translateY(-1px) rotate(2deg)}}.location-header:hover .location-icon{transform:scale(1.1) translateY(-2px);box-shadow:0 6px 20px #b1745699,inset 0 2px 4px #ffffff80;animation-play-state:paused}.location-header:hover .location-icon:before{opacity:1;transform:scale(1.4)}.location-header:hover .location-icon svg{transform:scale(1.2) rotate(10deg);animation-play-state:paused}.location-title{font-family:Lora,serif;font-size:1.1rem;font-weight:700;color:#b17456;margin:0;padding:0 1rem 0 .5rem;letter-spacing:.3px;white-space:nowrap;text-shadow:1px 1px 2px rgba(177,116,86,.1)}.location-content{flex:1;max-width:20rem}.location-address{font-family:Lora,serif;font-size:.95rem;color:#2c3e50;line-height:1.5;margin:0 0 1.2rem}.maps-button{background:linear-gradient(135deg,#b17456,#d4a574);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:2rem;font-family:Lora,serif;font-size:.9rem;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:.5rem;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 15px #b174564d;position:relative;overflow:hidden}.maps-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .6s ease}.maps-button:hover{transform:translateY(-.15rem) scale(1.05);box-shadow:0 6px 20px #b1745666}.maps-button:hover:before{left:100%}.maps-button:active{transform:translateY(0) scale(1.02)}.maps-button svg{width:1rem;height:1rem;transition:transform .2s ease}.maps-button:hover svg{transform:scale(1.1) rotate(5deg)}.section#gallery{height:72lvh;width:100vw;background:linear-gradient(135deg,#f8f6f08c,#ede7d359,#f2efead9),url(/assets/texture2.webp);background-size:cover;position:relative;padding:0;display:flex;align-items:center;flex-direction:column}.gallery-container{width:100%;height:80%;position:relative;display:flex}.gallery-title{font-family:Scriptorial,serif;font-size:3rem;color:#b17456;margin:1rem 0;font-weight:100;padding-top:3rem;text-align:center;z-index:5}.gallery-track{display:flex;align-items:center;height:80%;width:max-content;gap:2rem;will-change:transform;overflow-x:auto;overflow-y:hidden;padding-left:19%}.polaroid{position:relative;background:#fff;border-radius:2px;padding:1rem 1rem 3rem;transform-origin:center center;transition:all .3s ease;cursor:pointer;flex-shrink:0;width:280px;min-width:280px;transform-origin:bottom}.polaroid:hover{transform:scale(1.005) rotate(0)!important;box-shadow:0 8px 25px #00000026,0 12px 35px #0000001a;z-index:10}.polaroid-image{width:100%;height:320px;overflow:hidden;border-radius:1px;background:#f5f5f5}.polaroid-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s ease}.polaroid:hover .polaroid-image img{transform:scale(1.1)}.polaroid-caption{position:absolute;bottom:1rem;left:50%;transform:translate(-50%);font-family:Lora,serif;font-size:14px;font-weight:400;color:#5a5a5a;text-align:center;font-style:italic;width:calc(100% - 2rem)}.polaroid[data-rotation="-5"],.polaroid[data-rotation="-4"]{transform:rotate(-1deg)}.polaroid[data-rotation="-3"],.polaroid[data-rotation="-2"]{transform:rotate(-2deg)}.polaroid[data-rotation="1"]{transform:rotate(1deg)}.polaroid[data-rotation="2"]{transform:rotate(2deg)}.polaroid[data-rotation="3"]{transform:rotate(1deg)}.polaroid[data-rotation="4"]{transform:rotate(2deg)}.polaroid[data-rotation="5"]{transform:rotate(1deg)}@media (max-width: 768px){.polaroid{width:240px;min-width:240px;padding:.8rem .8rem 2.5rem}.polaroid-image{height:280px}.polaroid-caption{font-size:12px;bottom:.8rem}.gallery-track{gap:1.5rem;padding:1.5rem 1rem}}.section#love-story{background:linear-gradient(135deg,#f8f6f0,#ede7d3,#f2efea);background-size:cover;padding:80px 0;position:relative;overflow:hidden}.section#love-story:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:url(/assets/texture1.jpg);opacity:.08;z-index:1}.love-story-container{position:relative;z-index:2;max-width:480px;margin:0 auto;padding:0 20px}.love-story-title{font-family:Scriptorial,serif;font-size:3rem;color:#b17456;font-weight:400;text-align:center;margin-bottom:60px;opacity:0;position:static;z-index:10;transform:translateY(30px)}.timeline-container{position:relative;padding-left:60px}.timeline-path{position:absolute;left:25px;top:0;width:2.875rem;height:100%;z-index:0}#timeline-curve{filter:drop-shadow(0 2px 4px rgba(180,116,86,.3))}.timeline-item{position:relative;margin-bottom:80px;opacity:0;transform:translateY(50px)}.timeline-item:last-child{margin-bottom:0}.timeline-moving-dot{position:absolute;width:42px;height:42px;z-index:3;opacity:1;transition:all .3s ease;background-size:contain;background-repeat:no-repeat}@keyframes dotPulse{0%{transform:scale(.5);opacity:1}to{transform:scale(1.5);opacity:0}}.timeline-content{border-radius:15px;border:1px solid rgba(212,165,116,.2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:relative;margin-left:40px}.timeline-date{font-family:Lora,serif;font-size:1.1rem;font-weight:600;color:#b17456;margin-bottom:12px;letter-spacing:.5px}.timeline-text{font-family:Lora,serif;font-size:.95rem;line-height:1.6;color:#4a4a4a;margin-bottom:0;font-style:italic}.timeline-item:hover .timeline-content{transform:translateY(-5px);box-shadow:0 12px 30px #00000026}.timeline-item.animate-in,.love-story-title.animate-in{opacity:1;transform:translateY(0);transition:all .8s ease}@media (max-width: 768px){.section#love-story{padding:60px 0}.love-story-container{padding:0 15px}.love-story-title{font-size:3rem;margin-bottom:40px}.timeline-container{padding-left:50px}.timeline-content{padding:20px;margin-left:30px}.timeline-item{margin-bottom:60px}.timeline-text{font-size:.9rem}}.timeline-flower{position:absolute;z-index:1;opacity:0;transition:all .8s ease;pointer-events:none}.timeline-flower img{width:2.8125rem;height:auto;filter:drop-shadow(0 2px 8px rgba(177,116,86,.2));transition:transform .6s ease}.timeline-flower.animate-in{opacity:.8}.timeline-flower-top-left{top:-15px;left:270px;transform:rotate(-15deg)}.timeline-flower-top-right{top:-15px;right:-20px;transform:rotate(20deg)}.timeline-flower-bottom-left{bottom:-20px;left:-15px;transform:rotate(10deg)}.timeline-flower-bottom-right{bottom:-15px;right:-25px;transform:rotate(45deg)}.timeline-flower-center-right{top:50%;right:-15px;transform:translateY(-50%) rotate(15deg) scale(.8)}.timeline-flower-center-left{top:50%;left:-15px;transform:translateY(-50%) rotate(-15deg) scale(.8)}.timeline-flower-top-center{top:-15px;left:50%;transform:translate(-50%) rotate(30deg) scale(.8)}.timeline-flower-bottom-center{bottom:-15px;left:50%;transform:translate(-50%) rotate(-30deg) scale(.8)}.timeline-item:hover .timeline-flower img{transform:scale(1.1) rotate(5deg)}.section#wedding-gift{background:linear-gradient(135deg,#dfd7bfd9,#faf7f0d9,#eeedecd9),url(/pattern1.jpg);background-size:cover;background-position:center center;background-repeat:no-repeat;padding:4rem 0;position:relative;overflow:hidden}.section#wedding-gift:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 30% 70%,rgba(255,255,255,.1) 0%,transparent 50%),radial-gradient(circle at 70% 30%,rgba(177,116,86,.1) 0%,transparent 50%);pointer-events:none}.wedding-gift-container{max-width:480px;margin:0 auto;padding:0 20px;text-align:center;position:relative;z-index:1}.wedding-gift-title{font-family:Scriptorial,serif;font-size:3rem;color:#b17456;margin-bottom:2rem;text-shadow:0 2px 4px rgba(177,116,86,.2);font-weight:400}.wedding-gift-description{font-family:Lora,serif;font-size:1rem;color:#4b5563;line-height:1.6;margin-bottom:.5rem;opacity:.9}.payment-cards{display:flex;flex-direction:column;margin-bottom:30px;justify-content:center;align-items:center;gap:0rem}.payment-card{background:url(/assets/bg-bank.webp);border-radius:1.25rem;padding:1.1rem;box-shadow:0 8px 25px #00000026;position:relative;overflow:hidden;background-size:cover;background-position:center;width:75%}.card-header{display:flex;justify-content:flex-end;position:relative;top:.5rem;right:.5rem}.bank-logo{height:1.4rem;width:auto;object-fit:contain}.card-body{text-align:left;margin-bottom:20px;padding-top:10px}.card-chip{width:2rem;border-radius:8px;margin-bottom:0rem;position:relative;display:none}.card-number{font-family:Courier New,monospace;font-size:.8rem;font-weight:600;color:#1f2937!important;margin-bottom:10px;letter-spacing:2px;font-style:normal!important}.card-name{font-family:Lora,serif;font-size:.8rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:1px}.copy-btn{background:linear-gradient(135deg,#b17456,#d4a574);color:#fff;border:none;border-radius:1rem;padding:.5rem 1rem;font-family:Lora,serif;font-size:.8rem;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:8px;margin-left:auto;transition:all .3s ease;box-shadow:0 4px 12px #b174564d}.copy-btn:hover{background:linear-gradient(135deg,#a66b52,#c19660);transform:translateY(-2px);box-shadow:0 6px 16px #b1745666}.copy-btn:active{transform:translateY(0)}.copy-btn svg{flex-shrink:0}.physical-gift-card{background:#fffffff2;border-radius:20px;padding:30px;box-shadow:0 8px 25px #00000026;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);text-align:center}.gift-icon{width:70px;height:70px;background:linear-gradient(135deg,#b17456,#d4a574);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 20px;box-shadow:0 4px 15px #b174564d}.gift-icon svg{color:#fff}.gift-title{font-family:Lora,serif;font-size:1.4rem;font-weight:600;color:#1f2937;margin-bottom:20px}.gift-details{text-align:left}.gift-details p{font-family:Lora,serif;font-size:.95rem;color:#4b5563;margin-bottom:8px;line-height:1.5}.gift-details strong{color:#1f2937;font-weight:600}.copy-success{background:linear-gradient(135deg,#8b4513,#a66b52)!important;transform:scale(1.05)}.copy-success:after{content:"✓ Tersalin!";position:absolute;top:-35px;left:50%;transform:translate(-50%);background:#7a400f;color:#fff;padding:6px 12px;border-radius:8px;font-size:.8rem;white-space:nowrap;animation:copyFeedback 2s ease forwards}@keyframes copyFeedback{0%{opacity:0;transform:translate(-50%) translateY(10px)}20%{opacity:1;transform:translate(-50%) translateY(0)}80%{opacity:1;transform:translate(-50%) translateY(0)}to{opacity:0;transform:translate(-50%) translateY(-10px)}}.section#wedding-gift{padding:4rem 0}.wedding-gift-container{padding:0 15px}.wedding-gift-description{font-size:.9rem}.card-number{font-size:1.2rem}.physical-gift-card{padding:25px}.gift-icon{width:60px;height:60px}.gift-icon svg{width:32px;height:32px}.section#closing{background:linear-gradient(135deg,#f8f5f04d,#f0ebde66),url(/assets/bg-closing.jpg) center / cover no-repeat;background-size:cover;background-position:0% 0;padding:80px 0 40px;position:relative;overflow:hidden;min-height:95vh;display:flex;align-items:center;justify-content:center}.section#closing:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 30% 70%,rgba(255,255,255,.1) 0%,transparent 50%),radial-gradient(circle at 70% 30%,rgba(177,116,86,.1) 0%,transparent 50%);pointer-events:none}.closing-container{max-width:500px;margin:0 auto;padding:0 20px;position:relative;z-index:2}.closing-content{text-align:center;position:relative}.closing-photo-frame{width:17.5rem;height:21.875rem;margin:0 auto 30px;position:relative;background:linear-gradient(135deg,#ffffffe6,#f5f2ebf2);border-radius:20px;padding:15px;box-shadow:0 20px 40px #b1745626,0 10px 25px #0000001a,inset 0 1px #ffffff4d;border:2px solid rgba(177,116,86,.2)}.closing-couple-photo{width:100%;height:100%;object-fit:cover;border-radius:12px;box-shadow:0 8px 20px #0000001a}.closing-message{margin:1rem 0;max-width:450px;margin-left:auto;margin-right:auto;margin-top:3rem}.closing-text{font-family:Lora,serif;font-size:1rem;color:#4b5563;line-height:1.8;text-align:center;margin:0;font-style:italic;opacity:.9}.closing-names{margin:0rem 0}.closing-couple-names{font-family:Scriptorial,serif;font-size:2.8rem;color:#b17456;margin:2rem 0rem;text-shadow:0 2px 4px rgba(177,116,86,.2);font-weight:400;letter-spacing:1px}.closing-footer{margin-top:1rem;padding-top:1rem}.made-with{font-family:Lora,serif;font-size:.85rem;color:#281204;margin:0;opacity:.7}@media (max-width: 768px){.section#closing{padding:60px 0 30px;min-height:auto}.closing-container{padding:0 15px}.closing-photo-frame{width:240px;height:300px;margin-bottom:25px}.closing-text{font-size:.9rem;line-height:1.6}.closing-couple-names{font-size:2.2rem}}.gallery-flower{position:absolute;pointer-events:none;opacity:1;z-index:3;transition:all .3s ease}.gallery-flower img{width:100px;height:auto;filter:drop-shadow(0 4px 12px rgba(177,116,86,.3));transition:transform .3s ease}.gallery-flower-top-right{top:-11%;right:62%;transform:rotate(120deg)}.gallery-flower-bottom-left{bottom:-4%;left:77%;transform:rotate(-15deg)}.gallery-flower:hover img{transform:scale(1.1) rotate(5deg)}
