*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--black: #2c2c2c;--white: #fff;--red: #ac0000;--gold: #d4af37;--gold-light: #f1e5ac;--bg-soft: #FCFAF8;--beige: #0F4C3A;--beige-light: #D4AF37;--card-w: 440px}html,body{height:100%;width:100%;margin:0;overflow:hidden;background:var(--bg-soft);font-family:Josefin Sans,sans-serif;color:var(--beige)}body{display:flex;justify-content:center;align-items:center}#bubble-bg-container{position:fixed;top:0;left:0;width:100%;height:100%;z-index:-2;pointer-events:none;overflow:hidden;background:var(--bg-soft)}.bg-bubble{position:absolute;border-radius:50%;background:radial-gradient(circle,#d4af3726,#d4af3700 70%);will-change:transform,opacity;transform:translateZ(0)}#particle-canvas{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:-1;opacity:.5}#petal-container{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:9998;overflow:hidden}.petal{position:absolute;background:linear-gradient(135deg,pink,#fff0f5);border-radius:0 100%;box-shadow:0 2px 5px #0000000d;opacity:0;pointer-events:none;will-change:transform,opacity;transform:translateZ(0)}.music-player-wrap{position:absolute;top:0;left:0;width:100%;height:0;z-index:500;pointer-events:none;opacity:0;transition:opacity .6s ease}.music-player-wrap.visible{opacity:1}.music-player{position:absolute;top:25px;right:20px;pointer-events:auto;cursor:pointer}.music-disc{width:40px;height:40px;background:#ffffff59;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.5);border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 15px #00000014;transition:all .3s ease}.music-disc i{color:#000;font-size:16px;transition:all .3s ease}.music-player.playing .music-disc{background:#000;border-color:#ffffff4d;box-shadow:0 0 15px #0006}.music-player.playing .music-disc i{color:#fff;animation:rotateDisc 3s linear infinite}@keyframes rotateDisc{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.page{width:100%;max-width:var(--card-w);height:100%;background:#fff;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 10px 45px #00000014;position:relative;z-index:1;transform:translateZ(0);backface-visibility:hidden;perspective:1000px}.slider-wrapper{position:relative;width:100%;height:100%;overflow:hidden;perspective:2500px;transform-style:preserve-3d}.slide{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;pointer-events:none;transform-origin:left center;transform:rotateY(90deg);transition:transform 1.4s cubic-bezier(.645,.045,.355,1),opacity 1.4s cubic-bezier(.645,.045,.355,1);backface-visibility:hidden;z-index:1;background:#fff}.slide.active{opacity:1;pointer-events:auto;transform:rotateY(0);z-index:2}.slide.turned{opacity:0;pointer-events:none;transform:rotateY(-120deg);z-index:3}.hero-poster.custom-split{position:relative;width:100%;height:100%;background-color:#fdfbf7;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)' opacity='0.15'/%3E%3C/svg%3E");display:flex;flex-direction:column;overflow:hidden}.custom-top-section{display:flex;height:50%;padding-top:30px;position:relative;z-index:5}.vertical-title-area{width:25%;display:flex;align-items:center;justify-content:center;position:relative;border-right:1.5px dotted #666;margin-top:20px;margin-bottom:20px}.vertical-title{writing-mode:vertical-rl;transform:rotate(180deg);font-family:Hurricane,cursive;font-size:32px;color:#333;letter-spacing:2px;margin-right:-5px}.main-titles-area{width:75%;display:flex;flex-direction:column;justify-content:center;padding-left:20px}.custom-names{font-family:Playfair Display,serif;font-size:36px;color:#111;line-height:1.1;font-weight:500;margin-bottom:30px}.weds-text{font-family:Hurricane,cursive;font-size:26px;color:#666;margin:-10px 0;display:inline-block;padding-left:10px}.date-location-area{display:flex;flex-direction:column;gap:5px}.custom-date-row{display:flex;flex-direction:row;gap:5px;font-family:Josefin Sans,sans-serif;font-size:11px;font-weight:700;color:#444;letter-spacing:1.5px;text-transform:uppercase}.custom-location{font-family:Josefin Sans,sans-serif;font-size:10px;color:#666;font-weight:600;letter-spacing:1px}.custom-image-section{position:relative;height:50%;width:100%}.custom-image-section:before{content:"";position:absolute;top:-8px;left:-8px;right:-8px;bottom:0;border:1px solid rgba(0,0,0,.4);border-bottom:none;border-radius:258px 258px 0 0;pointer-events:none;z-index:2}.custom-hero-bg{width:100%;height:100%;background-size:cover;background-position:center top;border-radius:250px 250px 0 0}.open-btn-overlay{position:absolute;bottom:15px;right:-7px;background-color:#fdfbf7;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)' opacity='0.15'/%3E%3C/svg%3E");padding:15px 25px 15px 40px;border-radius:50px 0 0 50px;font-family:Montserrat,sans-serif;font-size:16px;font-weight:900;letter-spacing:3px;color:#000;cursor:pointer;z-index:10;display:flex;align-items:center;justify-content:center;box-shadow:-5px -5px 20px #0003;transition:all .3s ease}.open-btn-overlay:hover{background-color:#f5f3ef;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)' opacity='0.15'/%3E%3C/svg%3E");padding-right:40px}@media(max-height:700px){.vertical-title{font-size:28px}.custom-names{font-size:30px}.weds-text{font-size:22px}}.video-container{position:relative;width:100%;height:100%;background:#000;display:flex;align-items:center;justify-content:center}#wedding-video{width:100%;height:100%;object-fit:cover;display:block}.video-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;justify-content:space-between;padding:25px 20px;box-sizing:border-box;background:transparent;z-index:10}.video-top-controls{display:flex;justify-content:flex-end;width:100%}.video-control-btn{background:#0006;border:1px solid rgba(255,255,255,.25);border-radius:50%;width:36px;height:36px;display:flex;align-items:center;justify-content:center;color:#fff;cursor:pointer;font-size:13px;transition:all .2s}.video-control-btn:hover{background:#0009;transform:scale(1.05)}.video-play-btn{background:#00000080;border:1.5px solid rgba(255,255,255,.35);border-radius:50%;width:60px;height:60px;display:flex;align-items:center;justify-content:center;color:#fff;cursor:pointer;font-size:20px;align-self:center;transition:all .3s}.video-play-btn.hidden{opacity:0;pointer-events:none;transform:scale(.8)}.video-play-btn:hover{transform:scale(1.1);background:#000000b3}.video-bottom-controls{display:flex;justify-content:flex-end;width:100%}.video-skip-btn{background:#0006;border:1px solid rgba(255,255,255,.25);border-radius:16px;padding:6px 16px;color:#fff;cursor:pointer;font-family:Josefin Sans,sans-serif;font-size:12px;font-weight:600;display:flex;align-items:center;gap:5px;letter-spacing:1px;transition:all .2s}.video-skip-btn:hover{background:#0009}.details-rsvp-container{width:100%;height:100%;overflow-y:auto;padding:45px 24px;box-sizing:border-box;display:flex;flex-direction:column;gap:25px;align-items:center;background-color:#fdfbf7;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)' opacity='0.15'/%3E%3C/svg%3E");scroll-behavior:smooth;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;transform:translateZ(0);will-change:transform,scroll-position;scrollbar-width:none}.details-rsvp-container::-webkit-scrollbar{display:none}.details-card{background:linear-gradient(145deg,#1c1c1c,#0a0a0a);backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);border:1px solid rgba(255,255,255,.1);border-radius:24px;padding:24px 20px;width:100%;max-width:350px;text-align:center;box-shadow:0 8px 32px #00000080;box-sizing:border-box;transform:translateZ(0)}.card-section-title{font-family:Cinzel,serif;font-size:14px;font-weight:600;color:#fff9;letter-spacing:3px;margin-bottom:18px}.countdown-numbers-row{display:flex;justify-content:center;align-items:flex-start;gap:8px}.countdown-unit{display:flex;flex-direction:column;align-items:center;min-width:50px}.countdown-num{font-family:Cinzel,serif;font-size:26px;font-weight:600;color:#fff;line-height:1.1}.countdown-label{font-family:Josefin Sans,sans-serif;font-size:8.5px;font-weight:600;color:#fff;margin-top:4px;letter-spacing:1px}.countdown-sep{font-family:Cinzel,serif;font-size:20px;color:#ffffff80;padding-top:2px}.venue-address-text{font-family:Josefin Sans,sans-serif;font-size:15.5px;font-weight:600;letter-spacing:.5px;color:#fff;line-height:1.5;margin-bottom:18px}.venue-location-btn{display:inline-flex;align-items:center;gap:8px;background:#ffffff0d;border:1px solid rgba(255,255,255,.3);border-radius:20px;padding:7px 24px;font-family:Josefin Sans,sans-serif;font-size:12px;font-weight:700;color:#fff;text-decoration:none;transition:all .3s ease}.venue-location-btn i{color:#fff;font-size:14px}.venue-location-btn:hover{background:#ffffff26}.rsvp-deadline-text{font-family:Josefin Sans,sans-serif;font-size:11.5px;color:#ffffffd9;margin-bottom:22px;font-style:italic}.rsvp-input-row{display:flex;align-items:center;gap:12px;margin-bottom:18px;padding:0 10px;font-family:Josefin Sans,sans-serif;font-size:15px;text-align:left}.rsvp-input-row label{white-space:nowrap;flex-shrink:0;font-weight:700;color:#fff;font-size:15px;min-width:110px}.rsvp-input-row input[type=text]{flex:1;border:none;border-bottom:none;background:transparent;font-family:Josefin Sans,sans-serif;font-size:15px;padding:4px 0;outline:none;color:#fff;font-weight:500;text-decoration:none;transition:all .3s ease}.rsvp-input-row input[type=text]:focus{outline:none;border:none;border-bottom:none}#rsvp-name[readonly],#rsvp-name{border:none!important;border-bottom:none!important;text-decoration:none!important;outline:none!important;box-shadow:none!important;cursor:default;-webkit-user-select:text;user-select:text}.rsvp-input-row input[type=text]::placeholder{color:#ffffff73;font-weight:400}.guest-counter-wrapper{display:flex;align-items:center;gap:16px}.guest-counter-btn{width:32px;height:32px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-family:Josefin Sans,sans-serif;font-size:18px;font-weight:600;cursor:pointer;outline:none;padding:0;line-height:1;-webkit-user-select:none;user-select:none;transition:all .2s ease}.guest-counter-btn.minus{background:#ffffff14;border:1.5px solid rgba(255,255,255,.35);color:#fff}.guest-counter-btn.minus:hover{background:#fff3;border-color:#fff9}.guest-counter-btn.plus{background:#ffffff26;border:1.5px solid #ffffff;color:#fff}.guest-counter-btn.plus:hover{background:#fff;color:#000}.guest-count-display{font-family:Josefin Sans,sans-serif;font-size:19px;font-weight:700;color:#fff;min-width:20px;text-align:center}.rsvp-submit-btn{background:#fff;border:none;border-radius:28px;padding:12px 50px;font-family:Josefin Sans,sans-serif;font-size:14px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:#000;cursor:pointer;box-shadow:0 4px 18px #00000047;transition:all .3s ease;margin:22px auto 8px;display:block}.rsvp-submit-btn:hover{background:#f0f0f0;transform:translateY(-2px);box-shadow:0 6px 22px #ffffff40}.rsvp-contact-text{font-family:Josefin Sans,sans-serif;font-size:10px;color:#ffffffbf;margin-top:10px;opacity:.95}.replay-invitation-btn{background:transparent;border:1px solid rgba(0,0,0,.3);border-radius:20px;padding:8px 24px;font-family:Josefin Sans,sans-serif;font-size:12px;font-weight:700;color:#000c;cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:all .3s ease;margin-top:5px;margin-bottom:15px}.replay-invitation-btn:hover{background:#0000000d}.footer{width:100%;max-width:350px;padding:25px 0;margin-top:15px;border-top:1px solid rgba(0,0,0,.2);text-align:center}.footer-link{text-decoration:none;display:block;color:inherit}.footer-logo{width:100px;height:auto;margin:0 auto 4px;display:block;opacity:.85}.footer-logo img{width:100%;height:auto;display:block}.footer-studio{font-size:11.5px;color:#0009;font-family:Josefin Sans,sans-serif;font-weight:600;letter-spacing:.05em;margin-top:8px;margin-bottom:4px}.footer-tagline{font-size:7.5px;color:#0006;font-family:Josefin Sans,sans-serif;letter-spacing:.15em;text-transform:uppercase}#toast{position:fixed;bottom:30px;left:50%;transform:translate(-50%) translateY(150px);background:#000;color:#fff;padding:12px 28px;border-radius:30px;font-size:14px;font-family:Josefin Sans,sans-serif;font-weight:600;transition:transform .6s cubic-bezier(.19,1,.22,1),opacity .4s ease;z-index:9999;box-shadow:0 8px 24px #00000040;opacity:0;pointer-events:none}#toast.show{transform:translate(-50%) translateY(0);opacity:1}.animate-up,.animate-scale{opacity:0}.curtain-intro-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:10000;overflow:hidden;display:flex;align-items:center;justify-content:center;-webkit-user-select:none;user-select:none;cursor:pointer;background:transparent;will-change:opacity;transform:translateZ(0)}.curtain-intro-overlay.hidden-curtain{display:none!important;pointer-events:none!important}.curtain-ambient-glow{position:absolute;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(212,175,55,.16) 0%,rgba(212,175,55,.04) 50%,transparent 70%);pointer-events:none;z-index:5;filter:blur(30px);animation:ambientFloat 5s ease-in-out infinite alternate}@keyframes ambientFloat{0%{transform:scale(.92) translateY(-10px);opacity:.7}to{transform:scale(1.08) translateY(10px);opacity:1}}.curtain-half{position:absolute;top:0;width:50.5%;height:100%;z-index:10;will-change:transform}.curtain-left{left:0;transform-origin:left center}.curtain-right{right:0;transform-origin:right center}.curtain-fabric{width:100%;height:100%;position:relative;overflow:hidden}.curtain-left .curtain-fabric{background:linear-gradient(to right,#030303,#0b0b0b 15%,#171717,#252525,#151515 75%,#222 92%,#0a0a0a);box-shadow:25px 0 50px #000000f2}.curtain-right .curtain-fabric{background:linear-gradient(to left,#030303,#0b0b0b 15%,#171717,#252525,#151515 75%,#222 92%,#0a0a0a);box-shadow:-25px 0 50px #000000f2}.curtain-folds{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.55;mix-blend-mode:overlay;background-image:repeating-linear-gradient(90deg,#000000a6,#00000026,#ffffff1a,#000000a6 48px)}.curtain-sheen{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.35;background-image:linear-gradient(115deg,rgba(255,255,255,.15) 0%,transparent 40%,rgba(212,175,55,.12) 50%,transparent 60%,rgba(255,255,255,.12) 100%)}.curtain-left .curtain-edge-shadow{position:absolute;top:0;right:0;bottom:0;width:45px;background:linear-gradient(to left,rgba(0,0,0,.85),transparent);pointer-events:none}.curtain-right .curtain-edge-shadow{position:absolute;top:0;left:0;bottom:0;width:45px;background:linear-gradient(to right,rgba(0,0,0,.85),transparent);pointer-events:none}.curtain-left .curtain-gold-trim{position:absolute;top:0;right:0;bottom:0;width:1.5px;background:linear-gradient(to bottom,transparent 0%,rgba(255,255,255,.4) 50%,transparent 100%);box-shadow:0 0 8px #ffffff4d}.curtain-right .curtain-gold-trim{position:absolute;top:0;left:0;bottom:0;width:1.5px;background:linear-gradient(to bottom,transparent 0%,rgba(255,255,255,.4) 50%,transparent 100%);box-shadow:0 0 8px #ffffff4d}.curtain-content{position:absolute;top:0;right:0;bottom:0;left:0;z-index:25;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;padding:24px 20px;text-align:center;cursor:pointer}.curtain-card{background:#fff;border:1px solid rgba(0,0,0,.08);box-shadow:0 25px 65px #000000bf,inset 0 0 0 1px #fff9;border-radius:24px;padding:34px 28px 30px;width:86%;max-width:320px;position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:center}.curtain-subtitle{font-family:Josefin Sans,sans-serif;font-size:9.5px;font-weight:600;letter-spacing:4px;color:#777;text-transform:uppercase;margin-bottom:12px}.curtain-guest-name{font-family:Playfair Display,serif;font-size:clamp(26px,7vw,34px);font-weight:500;color:#111;word-break:break-word;line-height:1.2}.curtain-card-line{width:36px;height:1.5px;background:#111;opacity:.2;margin-top:16px}.curtain-cta-btn{background:#ffffff14;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.22);padding:10px 22px;border-radius:30px;display:inline-flex;align-items:center;gap:8px;cursor:pointer;box-shadow:0 10px 30px #00000080;transition:all .3s cubic-bezier(.16,1,.3,1)}.curtain-cta-btn:hover{background:#ffffff29;border-color:#ffffff73;transform:translateY(-2px);box-shadow:0 14px 35px #000000b3}.curtain-cta-text{font-family:Josefin Sans,sans-serif;font-size:10px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:#fff}.curtain-cta-arrow{color:#ffffffd9;animation:curtainPulseDown 1.8s infinite ease-in-out}@keyframes curtainPulseDown{0%,to{transform:translateY(0)}50%{transform:translateY(3.5px)}}@media(min-width:768px){.page{height:92vh;max-height:860px;border-radius:24px;box-shadow:0 25px 60px #0003}body{background:radial-gradient(circle at center,#f4f6f5,#e6ebe8)}}
