:root{--bg-color:#ffe4cc;--bg-secondary:#fff5eb;--text-primary:#3b42c4;--text-secondary:#5a5a8f;--gold-primary:#d96c6c;--gold-secondary:#3b42c4;--gold-gradient:linear-gradient(135deg, #d96c6c, #ff9e9e, #d96c6c);--hero-bg:#ffe4cc;--hero-blue:#3b42c4;--hero-red:#d96c6c;--hero-text:#5a5a8f;--font-heading:"Playfair Display", serif;--font-body:"Outfit", sans-serif;--book-scale:1}@media (width<=900px){:root{--book-scale:.8}}@media (width<=768px){:root{--book-scale:.65}}@media (width<=480px){:root{--book-scale:.48}}@media (width<=380px){:root{--book-scale:.42}}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;overflow-x:hidden}body{background-color:var(--bg-color);color:var(--text-primary);font-family:var(--font-body);width:100%;max-width:100vw;overflow-x:hidden}.loader{background-color:var(--bg-color);z-index:9999;justify-content:center;align-items:center;width:100%;height:100vh;display:flex;position:fixed;top:0;left:0}.loader-text{font-family:var(--font-heading);color:var(--gold-primary);opacity:0;font-size:2rem;font-style:italic}.gate-screen{background-color:var(--bg-color);z-index:10000;justify-content:center;align-items:center;width:100%;height:100vh;display:flex;position:fixed;top:0;left:0}.gate-content{text-align:center;background:var(--bg-secondary);border-radius:20px;width:90%;max-width:400px;padding:40px;box-shadow:0 10px 40px #0000000d}.gate-title{color:var(--hero-blue);font-family:var(--font-heading);margin-bottom:20px;font-size:2rem}.gate-input{width:100%;font-family:var(--font-body);color:var(--hero-blue);border:2px solid #e0e0e0;border-radius:10px;outline:none;margin-bottom:20px;padding:15px;font-size:1.1rem;transition:border-color .3s}.gate-input:focus{border-color:var(--hero-blue)}.gate-btn{background-color:var(--hero-red);color:#fff;font-family:var(--font-body);cursor:pointer;border:none;border-radius:8px;width:100%;padding:12px 30px;font-size:1.1rem;font-weight:700;transition:transform .2s}.gate-btn:hover{transform:translateY(-2px)}.gate-error{color:#ff4d4d;font-family:var(--font-body);opacity:0;margin-top:15px;font-weight:500}.timer-content{max-width:700px;padding:50px 30px}.timer-title{color:var(--hero-blue);font-family:var(--font-heading);margin-bottom:40px;font-size:2.5rem;line-height:1.4}.countdown{justify-content:center;gap:20px;display:flex}.time-box{border:2px solid var(--hero-bg);background:#fff;border-radius:15px;flex-direction:column;align-items:center;min-width:120px;padding:20px;display:flex;box-shadow:0 10px 30px #0000000d}.time-box span:first-child{font-family:var(--font-heading);color:var(--hero-red);font-size:3.5rem;font-weight:900}.time-label{font-family:var(--font-body);color:var(--text-secondary);text-transform:uppercase;margin-top:10px;font-size:1rem;font-weight:700}@media (width<=600px){.countdown{gap:10px}.time-box{min-width:65px;padding:10px 5px}.time-box span:first-child{font-size:2rem}.time-label{font-size:.75rem}.timer-title{font-size:1.6rem}}@media (width<=380px){.countdown{gap:5px}.time-box{min-width:55px;padding:8px 4px}.time-box span:first-child{font-size:1.6rem}.time-label{font-size:.65rem}}.header{z-index:10;justify-content:center;width:100%;padding:30px 50px;display:flex;position:absolute;top:0}.nav{gap:40px;display:flex}.nav-link{color:var(--hero-blue);font-family:var(--font-body);text-transform:uppercase;font-size:1rem;font-weight:500;text-decoration:none;transition:color .3s}.nav-link:hover{color:var(--hero-red)}.hero{background-color:var(--hero-bg);background-image:none;justify-content:center;align-items:center;min-height:100vh;padding-top:80px;display:flex;position:relative;overflow:hidden}.hero:before{display:none}.hero-container{z-index:2;justify-content:space-between;align-items:center;width:100%;max-width:1200px;margin:0 auto;padding:0 20px;display:flex;position:relative}.hero-text-side{flex:1;padding-right:50px}.hero-main-title{font-family:var(--font-heading);color:var(--hero-blue);text-transform:uppercase;margin-bottom:20px;font-size:clamp(3rem,5vw,5.5rem);font-weight:900;line-height:1.1}.hero-date{font-family:var(--font-heading);color:var(--hero-red);margin-bottom:20px;font-size:1.8rem;font-weight:700}.hero-date .divider{color:var(--hero-red);font-weight:300}.hero-desc{font-family:var(--font-body);color:var(--hero-text);max-width:450px;margin-bottom:40px;font-size:1.1rem;line-height:1.6}.hero-btn{color:var(--hero-blue);font-family:var(--font-body);cursor:pointer;background-color:#f2f2f2;border:none;border-radius:8px;padding:15px 40px;font-size:1.1rem;font-weight:700;transition:transform .3s,box-shadow .3s;box-shadow:0 4px 15px #0000001a}.hero-btn:hover{transform:translateY(-3px);box-shadow:0 6px 20px #00000026}.hero-image-side{flex:1;justify-content:flex-end;display:flex}.image-wrapper{border:15px solid #fff;border-radius:250px 0 0;width:100%;max-width:500px;height:600px;position:relative;overflow:hidden;box-shadow:0 20px 40px #0000001a}.image-wrapper img{object-fit:cover;object-position:center top;width:100%;height:100%}.bg-shape{z-index:1;opacity:.4;background:#fff;border-radius:50%;position:absolute}.bg-shape-1{filter:blur(50px);background:#fff;width:400px;height:400px;top:-100px;left:-100px}.bg-shape-2{border:2px solid var(--hero-blue);opacity:.3;background:0 0;border-radius:40% 60% 70% 30%/40% 50% 60%;width:300px;height:300px;bottom:50px;right:-50px}.floral{z-index:1;opacity:.6;font-size:3rem;position:absolute}.floral-1{font-size:4rem;top:15%;left:10%}.floral-2{font-size:2rem;top:25%;right:40%}.floral-3{font-size:3.5rem;bottom:15%;left:25%}.floral-4{opacity:.3;font-size:5rem;bottom:10%;right:5%}@media (width<=900px){.hero-container{text-align:center;flex-direction:column;gap:50px}.hero-text-side{flex-direction:column;align-items:center;padding-right:0;display:flex}.image-wrapper{border-radius:100px 100px 0 0;height:400px}}.message-section{background-color:var(--bg-color);text-align:center;padding:150px 20px}.message-container{max-width:800px;margin:0 auto}.reveal-text{font-family:var(--font-heading);color:var(--text-secondary);margin-bottom:2rem;font-size:clamp(2rem,4vw,3rem);line-height:1.4}.gallery{background-color:var(--bg-secondary);text-align:center;padding:100px 20px}.gallery-title{font-family:var(--font-heading);color:var(--gold-primary);margin-bottom:20px;font-size:3rem}.swiper{width:100%;max-width:1400px;margin:0 auto;padding-top:50px;padding-bottom:50px}.swiper-slide{background-position:50%;background-size:cover;width:300px;height:400px}.swiper-button-next,.swiper-button-prev{color:var(--gold-primary)!important}.swiper-pagination-bullet-active{background:var(--gold-primary)!important}.gallery-item{border:1px solid #d96c6c33;border-radius:10px;width:100%;height:100%;position:relative;overflow:hidden;box-shadow:0 10px 30px #0000001a}.gallery-item img{object-fit:cover;filter:brightness(.8);width:100%;height:100%;transition:transform .7s}.gallery-item:hover img{filter:brightness();transform:scale(1.1)}.book-section{background-color:var(--bg-secondary);justify-content:center;align-items:center;padding:100px 20px;display:flex}.book-wrapper{perspective:1500px;width:320px;height:450px;transform:scale(var(--book-scale));transform-origin:50%;transition:transform .8s;position:relative}.book-wrapper.is-open{transform:scale(var(--book-scale)) translateX(50%)}.book-page{transform-origin:0;width:100%;height:100%;transform-style:preserve-3d;cursor:pointer;border-radius:5px 15px 15px 5px;transition:transform 1s cubic-bezier(.645,.045,.355,1);position:absolute;top:0;left:0;box-shadow:5px 5px 20px #00000026}.book-page.flipped{transform:rotateY(-180deg)}.page-front,.page-back{backface-visibility:hidden;text-align:center;border-radius:5px 15px 15px 5px;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;padding:30px;display:flex;position:absolute}.page-back{border-radius:15px 5px 5px 15px;transform:rotateY(180deg)}.page-1{z-index:3}.page-2{z-index:2}.page-3,.page-1.flipped{z-index:1}.page-2.flipped{z-index:2}.page-3.flipped{z-index:3}.book-page:before{content:"";z-index:10;background:linear-gradient(90deg,#00000026,#0000 100%);border-radius:5px 0 0 5px;width:25px;height:100%;position:absolute;top:0;left:0}.page-back:before{background:linear-gradient(270deg,#00000026,#0000 100%);border-radius:0 5px 5px 0;left:auto;right:0}.cover-front{background-image:linear-gradient(135deg, var(--hero-blue) 0%, #2a3194 100%);color:#fff;border:2px solid #fff3;box-shadow:inset 4px 0 10px #0003}.cover-front h3{font-family:var(--font-heading);text-shadow:2px 2px 4px #0000004d;font-size:2.8rem}.inside-page{color:var(--hero-text);background-color:#fffaf5;border:1px solid #e0e0e0;box-shadow:inset -4px 0 10px #0000000d}.page-back.inside-page{box-shadow:inset 4px 0 10px #0000000d}.page-title{font-family:var(--font-heading);color:var(--hero-red);margin-bottom:20px;font-size:2rem}.page-text{font-family:var(--font-body);font-size:1.1rem;line-height:1.7}.tap-hint{color:#a0a0a0;font-size:.9rem;font-family:var(--font-body);transition:color .3s;position:absolute;bottom:20px;right:20px}.book-page:hover .tap-hint{color:var(--hero-blue)}@media (width<=480px){.book-section{padding:50px 10px}}.toast-section{background:radial-gradient(circle at center, var(--bg-secondary) 0%, var(--bg-color) 100%);text-align:center;justify-content:center;align-items:center;height:80vh;padding:150px 20px;display:flex;position:relative;overflow:hidden}.final-wish{font-family:var(--font-heading);color:var(--gold-secondary);z-index:1;margin-bottom:40px;font-size:clamp(2.5rem,5vw,4rem)}.luxury-btn{color:var(--gold-primary);font-family:var(--font-body);border:2px solid var(--gold-primary);cursor:pointer;text-transform:uppercase;letter-spacing:2px;z-index:1;background:0 0;border-radius:30px;padding:15px 40px;font-size:1.2rem;transition:all .3s;position:relative;overflow:hidden}.luxury-btn:before{content:"";background:var(--gold-gradient);z-index:-1;transform-origin:100%;width:100%;height:100%;transition:transform .5s;position:absolute;top:0;left:0;transform:scaleX(0)}.luxury-btn:hover{color:var(--bg-color);box-shadow:0 0 20px #d4af3780}.luxury-btn:hover:before{transform-origin:0;transform:scaleX(1)}.toast-content{z-index:1}.cursor-dot,.cursor-outline{z-index:10001;pointer-events:none;border-radius:50%;position:fixed;top:0;left:0}.cursor-dot{background-color:var(--hero-red);width:8px;height:8px}.cursor-outline{border:2px solid #3b42c480;width:40px;height:40px;transition:width .3s,height .3s,background-color .3s,border-color .3s}.cursor-outline.hover{border-color:var(--hero-red);background-color:#d96c6c1a;width:60px;height:60px}@media (pointer:fine){body,a,button,input,.book-page,.gallery-item{cursor:none!important}}@media (pointer:coarse){.cursor-dot,.cursor-outline{display:none!important}}
