*,*: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:9999;pointer-events:none}.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:10px;color:#fff9;margin-bottom:22px;font-style:italic}.rsvp-input-row{display:flex;align-items:center;gap:10px;margin-bottom:16px;margin-left:12px;font-family:Josefin Sans,sans-serif;font-size:14.5px;color:#fff;text-align:left}.rsvp-input-row label{white-space:nowrap;flex-shrink:0;font-weight:600;width:95px;color:#fff}.rsvp-input-row input{flex:0 1 140px;border:none;border-bottom:1px solid rgba(255,255,255,.3);background:transparent;font-family:Josefin Sans,sans-serif;font-size:14.5px;padding:4px 0;outline:none;color:#fff;transition:all .3s ease}.rsvp-input-row input[type=number]::-webkit-inner-spin-button,.rsvp-input-row input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.rsvp-input-row input[type=number]{-moz-appearance:textfield}#rsvp-name{border-bottom:none}.rsvp-input-row input:focus{border-bottom-color:#fff}.rsvp-input-row input::placeholder{color:#fff6;font-weight:300}.rsvp-submit-btn{background:#fff;border:none;border-radius:20px;padding:8px 33px;font-family:Josefin Sans,sans-serif;font-size:13px;font-weight:700;color:#000;cursor:pointer;transition:all .3s ease;margin:12px 0 4px}.rsvp-submit-btn:hover{background:#e0e0e0;color:#000;transform:translateY(-2px);box-shadow:0 4px 12px #fff3}.rsvp-contact-text{font-family:Josefin Sans,sans-serif;font-size:9.5px;color:#fff9;margin-top:14px;opacity:.9}.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}@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)}}
