:root{--color-primary:#c9a84c;--color-primary-dark:#8a7331;--color-bg:#0d0d0d;--color-surface:transparent;--color-surface2:transparent;--color-text:#e0d5d0;--color-text-light:#9a8a85;--color-text-muted:#6a5a55;--color-gold:#c9a84c;--color-gold-light:#d4af37;--color-accent:#d4af37;--color-accent-light:#f2d675;--color-rose:#050505;--color-rose-light:#0a0a0a;--color-border:#d4af3726;--color-glow:#d4af374d;--color-paper:#f3eee4;--color-paper-soft:#e7dccd;--batik-corner:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='72' height='72' viewBox='0 0 72 72'%3E%3Cg fill='none' stroke='%23c9a84c' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round' opacity='.94'%3E%3Cpath d='M6 54C18 54 18 36 31 36C40 36 43 45 35 49C29 52 24 47 27 42'/%3E%3Cpath d='M7 60C22 61 31 58 40 48C49 38 55 31 66 29'/%3E%3Cpath d='M45 44C50 45 55 48 58 54'/%3E%3Cpath d='M51 36C55 35 60 33 64 25'/%3E%3Cpath d='M14 49C17 42 21 37 28 33'/%3E%3Cpath d='M35 31C36 22 42 15 52 11'/%3E%3C/g%3E%3C/svg%3E");--font-heading:"Pirata One", "Cinzel", serif;--font-subheading:"Cormorant Garamond", serif;--font-body:"Special Elite", "Courier New", monospace;--glass-bg:#0d0d0dd9;--glass-border:#d4af3733;--glass-shadow:0 8px 32px 0 #000c}*{box-sizing:border-box;margin:0;padding:0}::selection{background:var(--color-accent);color:#fff}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--color-bg)}::-webkit-scrollbar-thumb{background:var(--color-primary);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--color-accent)}html{scroll-behavior:smooth}body{font-family:var(--font-body);color:var(--color-text);background:radial-gradient(circle at 50% 0,#d4af3726,#0000 34rem),linear-gradient(#0d0d0d80,#0d0d0d80),url(/rio.png) 50%/cover fixed;line-height:1.7;overflow-x:hidden}h1,h2,h3,.couple-names-cover{font-family:var(--font-heading);color:var(--color-text);letter-spacing:2px;text-transform:uppercase;font-weight:700}.section-title{text-align:center;color:var(--color-text);letter-spacing:4px;margin-bottom:.5rem;font-size:2.4rem}.section-title:after{content:"✦";color:var(--color-accent);opacity:.7;margin-top:.5rem;font-size:1.2rem;display:block}.section-sub{text-align:center;color:var(--color-text-light);font-style:italic;font-family:var(--font-subheading);margin-bottom:3rem;font-size:1.1rem}.container{max-width:800px;margin:0 auto;padding:0 1.5rem}.section{padding:6rem 0;position:relative;overflow:hidden}.section:not(.hero):after{content:"";background:var(--batik-corner) left top / 58px 58px no-repeat, var(--batik-corner) right top / 58px 58px no-repeat, var(--batik-corner) left bottom / 58px 58px no-repeat, var(--batik-corner) right bottom / 58px 58px no-repeat, linear-gradient(to bottom, transparent, #c9a84cc7, transparent) left center / 2px calc(100% - 5rem) no-repeat, linear-gradient(to bottom, transparent, #c9a84cc7, transparent) right center / 2px calc(100% - 5rem) no-repeat;opacity:.9;pointer-events:none;z-index:1;position:absolute;inset:.7rem}.section>.container{z-index:2;position:relative}.ornament{opacity:.4;justify-content:center;align-items:center;gap:1rem;margin:1.2rem 0;display:flex}.ornament:before,.ornament:after{content:"";background:linear-gradient(90deg, transparent, var(--color-accent), transparent);width:50px;height:1px}.ornament-icon{color:var(--color-accent);font-size:1.2rem}.wave-divider-top{z-index:2;opacity:.3;width:100%;height:60px;line-height:0;position:absolute;top:-1px;left:0;overflow:hidden}.wave-divider-bottom{z-index:2;opacity:.3;width:100%;height:60px;line-height:0;position:absolute;bottom:-1px;left:0;overflow:hidden;transform:rotate(180deg)}.wave-divider-top svg,.wave-divider-bottom svg{width:100%;height:100%}.progress-bar{background:linear-gradient(90deg, var(--color-accent), var(--color-gold));z-index:10001;width:0%;height:3px;transition:width .1s linear;position:fixed;top:0;left:0}.btn-primary{background:linear-gradient(135deg, var(--color-primary) 0%, var(--color-accent) 100%);color:#050505;font-family:var(--font-body);cursor:pointer;letter-spacing:1px;text-transform:uppercase;border:1px solid #d4af3766;border-radius:2px;padding:.85rem 2.2rem;font-size:.95rem;font-weight:600;transition:all .3s;position:relative;overflow:hidden}.btn-primary:after{content:"";background:#00000026;border-radius:50%;width:0;height:0;transition:width .6s,height .6s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.btn-primary:active:after{width:300px;height:300px}.btn-primary:hover{background:linear-gradient(135deg, var(--color-primary) 0%, var(--color-accent-light) 100%);box-shadow:0 6px 20px var(--color-glow);transform:translateY(-2px)}.btn-glow{animation:2.5s infinite glowingDark}@keyframes glowingDark{0%{box-shadow:0 0 5px var(--color-accent)}50%{box-shadow:0 0 20px var(--color-accent), 0 0 40px #d4af374d}to{box-shadow:0 0 5px var(--color-accent)}}.btn-outline{color:var(--color-text);border:1px solid var(--color-border);font-family:var(--font-body);cursor:pointer;letter-spacing:1px;text-transform:uppercase;background-color:#0000;border-radius:2px;padding:.6rem 1.5rem;font-size:.85rem;font-weight:400;transition:all .3s}.btn-outline:hover{border-color:var(--color-accent);color:var(--color-accent-light);background:#8b1a1a14}.btn-outline-gold{color:var(--color-gold);font-family:var(--font-body);cursor:pointer;letter-spacing:1px;text-transform:uppercase;background-color:#0000;border:1px solid #c9a84c4d;border-radius:2px;padding:.6rem 1.5rem;font-size:.85rem;font-weight:500;transition:all .3s}.btn-outline-gold:hover{border-color:var(--color-gold);background:#c9a84c1a}.glass{background:var(--glass-bg);-webkit-backdrop-filter:blur(12px);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);border-radius:2px;padding:2rem}.envelope-screen{z-index:9999;perspective:1200px;-webkit-overflow-scrolling:touch;background:radial-gradient(circle,#d4af3726,#0000 34rem),linear-gradient(#0d0d0d80,#0d0d0d80),url(/rio.png) 50%/cover fixed;justify-content:center;align-items:center;width:100vw;height:100vh;transition:transform 1.4s cubic-bezier(.77,0,.175,1),opacity 1.2s;display:flex;position:fixed;top:0;left:0;overflow:hidden auto}.envelope-screen.opened{opacity:0;pointer-events:none;transform:translateY(-100vh)scale(.95)}.envelope-container{width:440px;max-width:92vw;transform-style:preserve-3d;z-index:3;transition:transform 1s cubic-bezier(.4,0,.2,1);position:relative}.envelope-screen.opened .envelope-container{transform:translateY(60px)scale(1.05)}.envelope-flap{z-index:5;transform-origin:top;width:100%;height:70px;transition:transform 1.2s cubic-bezier(.4,0,.2,1) .2s;position:absolute;top:-2px;left:0}.envelope-flap svg{width:100%;height:100%;display:block}.envelope-screen:not(.opened) .envelope-flap{transform:rotateX(0)}.envelope-screen.opened .envelope-flap{transform:rotateX(180deg)translateZ(-10px)}.envelope-body{text-align:center;z-index:2;background:repeating-linear-gradient(0deg,#0000,#0000 20px,#d4af370d 20px 21px),linear-gradient(135deg,#0a0a0a 0%,#111 50%,#050505 100%) no-repeat;border-radius:2px;padding:4rem 2.5rem 2.5rem;transition:opacity .6s .4s,transform .6s .4s;position:relative;overflow:hidden;box-shadow:0 20px 60px #000c,0 0 0 1px #d4af3766,inset 0 0 80px #000000e6}.envelope-screen.opened .envelope-body{opacity:0;transform:scale(.92)}.gothic-border{pointer-events:none;border:1px solid #d4af374d;border-top-left-radius:120px;border-top-right-radius:120px;position:absolute;inset:15px}.envelope-body:before,.envelope-body:after{content:"✦";color:var(--color-accent);opacity:.15;font-size:1.5rem;position:absolute}.envelope-body:before{top:120px;left:11px}.envelope-body:after{top:120px;right:11px}.gothic-corner{opacity:.8;pointer-events:none;color:var(--color-accent);font-size:1.4rem;position:absolute}.gothic-corner.tl{top:20px;left:20px}.gothic-corner.tr{top:20px;right:20px;transform:scaleX(-1)}.gothic-corner.bl{bottom:20px;left:20px}.gothic-corner.br{bottom:20px;right:20px;transform:scaleX(-1)}.to-text{color:var(--color-text-muted);letter-spacing:3px;text-transform:uppercase;margin-bottom:.5rem;font-size:.75rem;font-weight:300}.guest-name{color:var(--color-text);font-size:1.8rem;font-family:var(--font-heading);letter-spacing:3px;margin-bottom:1rem}.invite-text{color:var(--color-text-light);margin-bottom:2rem;font-size:.9rem;font-weight:300;line-height:1.8}.couple-names-cover{color:var(--color-text);letter-spacing:6px;margin-bottom:2rem;font-size:2.4rem}.couple-names-cover span{color:var(--color-accent);font-size:2rem;font-family:var(--font-heading)}.envelope-decoration{justify-content:center;align-items:center;gap:1.5rem;margin-bottom:1.5rem;display:flex}.env-deco-line{background:var(--color-accent);opacity:.25;width:40px;height:1px}.env-deco-icon{color:var(--color-accent);opacity:.35;font-size:1rem}.btn-audio{background:linear-gradient(135deg, var(--color-primary) 0%, #1a0a0a 100%);width:56px;height:56px;color:var(--color-text);cursor:pointer;z-index:1000;border:1px solid #8b1a1a4d;border-radius:50%;justify-content:center;align-items:center;transition:all .3s;display:flex;position:fixed;bottom:2rem;right:2rem;box-shadow:0 4px 16px #00000080}.btn-audio:hover{box-shadow:0 6px 24px var(--color-glow);border-color:var(--color-accent);transform:scale(1.08)}.btn-audio.paused{background:#1e1414cc;border-color:#ffd7c81a}.btn-audio svg{z-index:2;opacity:.9;width:22px;height:22px;position:relative}.visualizer{pointer-events:none;justify-content:center;align-items:center;gap:3px;display:flex;position:absolute;inset:-4px}.visualizer-bar{background:var(--color-accent);opacity:.5;border-radius:0;width:3px;height:16px}.btn-audio.paused .visualizer-bar{opacity:.1!important;height:4px!important;animation:none!important}.vbar-1{animation:1.2s ease-in-out infinite viz-bar}.vbar-2{animation:1s ease-in-out .1s infinite viz-bar}.vbar-3{animation:1.3s ease-in-out .2s infinite viz-bar}.vbar-4{animation:.9s ease-in-out .15s infinite viz-bar}.vbar-5{animation:1.1s ease-in-out .3s infinite viz-bar}@keyframes viz-bar{0%,to{height:4px}50%{height:22px}}.toast{color:var(--color-text);border:1px solid var(--color-border);letter-spacing:1px;opacity:0;z-index:999;pointer-events:none;background:#140c0cf2;border-radius:2px;padding:.6rem 1.2rem;font-size:.85rem;font-weight:400;transition:opacity .4s,transform .4s;position:fixed;bottom:6rem;right:2rem;transform:translateY(10px);box-shadow:0 4px 16px #0006}.toast.visible{opacity:1;transform:translateY(0)}.main-content{isolation:isolate;perspective:1200px;perspective-origin:50% 0;position:relative}.main-content:before,.main-content:after{content:"";background:var(--batik-corner) center top / 48px 48px no-repeat, var(--batik-corner) center bottom / 48px 48px no-repeat, linear-gradient(to bottom, transparent 42px, #c9a84ce0 42%, #c9a84ce0 calc(100% - 42px), transparent calc(100% - 42px)) center / 2px 100% no-repeat;opacity:.92;pointer-events:none;z-index:50;width:48px;position:fixed;top:.85rem;bottom:.85rem}.main-content:before{left:max(.55rem,50vw - 460px)}.main-content:after{right:max(.55rem,50vw - 460px)}.hero{text-align:center;color:#fff;will-change:transform;justify-content:center;align-items:center;height:100vh;padding:0;display:flex;position:relative;overflow:hidden}.hero-parallax-bg{filter:brightness(.35)saturate(.6);z-index:0;will-change:transform;background:url(/rio.png) 50%/cover no-repeat;width:120%;height:120%;position:absolute;inset:-10%}.hero-video{object-fit:cover;z-index:1;will-change:transform;width:120%;min-width:100%;height:120%;min-height:100%;display:block;position:absolute;inset:-10%}.hero-overlay{z-index:2;background:linear-gradient(135deg,#0a05058c 0%,#140a0a59 50%,#000000a6 100%);width:100%;height:100%;position:absolute;top:0;left:0}.section>.container{will-change:transform;transition:transform .15s linear}.hero-content{z-index:10;will-change:transform, opacity;padding:2rem;position:relative}.hero-content:before,.hero-content:after{content:"";opacity:.9;background:linear-gradient(#0000,#c9a84cf2,#0000);width:2px;position:absolute;top:1rem;bottom:1rem}.hero-content:before{left:-1rem}.hero-content:after{right:-1rem}.wedding-of{letter-spacing:6px;text-transform:uppercase;opacity:.6;margin-bottom:1rem;font-size:.9rem;font-weight:300}.couple-names-main{color:#fff;text-shadow:0 0 40px #8b1a1a4d,2px 2px 12px #00000080;letter-spacing:6px;margin-bottom:.5rem;font-size:5rem;line-height:1.15}.hero-ornament{color:var(--color-accent);letter-spacing:8px;opacity:.5;margin-bottom:1rem;font-size:1.5rem}.wedding-date{letter-spacing:3px;opacity:.7;margin-bottom:3rem;font-size:1rem;font-weight:300}.countdown{justify-content:center;gap:1.5rem;display:flex}.cd-item{-webkit-backdrop-filter:blur(8px);background:#0006;border:1px solid #8b1a1a26;flex-direction:column;min-width:80px;padding:1rem 1.2rem;display:flex}.cd-item span{font-size:2.2rem;font-family:var(--font-heading);color:#fff;margin-bottom:.2rem;font-weight:700;line-height:1}.cd-label{opacity:.5;text-transform:uppercase;letter-spacing:2px;color:var(--color-text-light);font-size:.65rem}.couple{background-color:var(--color-surface);text-align:center}.bismillah{max-width:600px;color:var(--color-text-light);margin-bottom:3rem;margin-left:auto;margin-right:auto;font-style:italic;font-weight:300;line-height:1.8}.couple-grid{flex-wrap:wrap;justify-content:center;align-items:center;gap:2rem;display:flex}@media (width<=768px){.couple-grid{flex-direction:column;gap:1rem}}.profile-card{flex:1;min-width:250px;padding:2rem;transition:transform .4s,box-shadow .4s;position:relative}.profile-card:hover{background:#1e141480;transform:translateY(-8px)}.photo-placeholder{background-color:var(--color-surface);border:2px solid var(--color-border);background-position:50%;background-size:cover;border-radius:50%;width:200px;height:200px;margin:0 auto 1.5rem;position:relative;overflow:hidden}.photo-placeholder:after{content:"";border-radius:50%;position:absolute;inset:0;box-shadow:inset 0 -40px 40px #0000004d}.groom-photo{background-image:url(/rio.jpg);background-position:50% 15%}.bride-photo{background-image:url(/atirah.jpg);background-position:50% 25%}.profile-card h3{color:var(--color-text);margin-bottom:.5rem;font-size:2rem}.profile-card>p{color:var(--color-text-light);font-size:.9rem;font-weight:300}.ampersand{font-family:var(--font-heading);color:var(--color-accent);opacity:.6;font-size:4rem;line-height:1}.ig-link{color:var(--color-text-muted);letter-spacing:1px;margin-top:.5rem;font-size:.85rem;text-decoration:none;transition:color .3s;display:inline-block}.ig-link:hover{color:var(--color-accent-light)}.love-story{background:var(--color-surface2)}.timeline{max-width:700px;margin:0 auto;padding:1rem 0;position:relative}.timeline:before{content:"";background:linear-gradient(to bottom, transparent, var(--color-accent), var(--color-primary), transparent);opacity:.4;width:1px;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.timeline-item{justify-content:space-between;align-items:flex-start;margin-bottom:3rem;display:flex;position:relative}.timeline-item:last-child{margin-bottom:0}.timeline-dot{background:var(--color-accent);border:2px solid var(--color-surface2);z-index:2;border-radius:50%;width:12px;height:12px;position:absolute;top:1.2rem;left:50%;transform:translate(-50%);box-shadow:0 0 12px #8b1a1a4d}.timeline-date{text-align:right;width:calc(50% - 40px);font-family:var(--font-heading);color:var(--color-accent);letter-spacing:2px;padding-top:.8rem;padding-right:30px;font-size:1rem;font-weight:600}.timeline-content{width:calc(50% - 40px);padding-top:.5rem;padding-left:30px}.timeline-content h3{color:var(--color-text);letter-spacing:2px;margin-bottom:.3rem;font-size:1.3rem}.timeline-content p{color:var(--color-text-light);font-size:.9rem;font-weight:300;line-height:1.7}@media (width<=640px){.timeline:before,.timeline-dot{left:20px}.timeline-item{flex-direction:column;padding-left:50px}.timeline-date{text-align:left;width:100%;padding-left:0;padding-right:0}.timeline-content{width:100%;padding-left:0}}.events{background-color:var(--color-surface)}.events-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;display:grid}.event-card{text-align:center;transition:transform .4s,box-shadow .4s}.event-card:hover{border-color:#8b1a1a33;transform:translateY(-8px);box-shadow:0 20px 40px #0006}.event-card h3{color:var(--color-text);letter-spacing:4px;margin-bottom:1rem;font-size:1.8rem}.event-icon{color:var(--color-accent);opacity:.5;margin-bottom:.5rem;font-size:2.5rem}.event-date{color:var(--color-text-light);margin-bottom:.5rem;font-weight:500}.event-time{color:var(--color-accent);letter-spacing:1px;margin-bottom:1rem;font-weight:500}.event-location{color:var(--color-text-muted);margin-bottom:1.5rem;font-weight:300}.event-actions{flex-wrap:wrap;justify-content:center;gap:.8rem;display:flex}.mt-8{margin-top:3rem}.center-action{text-align:center}.live-stream{background:linear-gradient(135deg, #0a0505 0%, var(--color-surface) 100%);color:var(--color-text)}.live-stream .section-title{color:var(--color-text)}.live-stream .section-title:after{color:var(--color-accent)}.live-stream .section-sub{color:var(--color-text-muted)}.stream-container{text-align:center;max-width:700px;margin:0 auto}.stream-embed{border:1px solid var(--color-border);background:#00000080;width:100%;margin-bottom:1.5rem;padding-bottom:56.25%;position:relative;overflow:hidden}.stream-embed iframe{border:none;width:100%;height:100%;position:absolute;top:0;left:0}.stream-placeholder{color:#ffd7c84d;flex-direction:column;justify-content:center;align-items:center;gap:1rem;width:100%;height:100%;display:flex;position:absolute;top:0;left:0}.stream-placeholder-icon{opacity:.3;font-size:3rem}.stream-placeholder-text{letter-spacing:1px;font-size:.9rem;font-weight:300}.stream-link-area{flex-wrap:wrap;justify-content:center;gap:.8rem;display:flex}.gallery{background-color:var(--color-surface2)}.gallery-grid{grid-template-columns:repeat(2,1fr);gap:.8rem;max-width:600px;margin:0 auto;display:grid}.gallery-item{cursor:pointer;aspect-ratio:1;background:var(--color-surface);transition:transform .4s,box-shadow .4s;position:relative;overflow:hidden}.gallery-item:hover{transform:scale(1.02);box-shadow:0 10px 30px #0006}.gallery-item img{object-fit:cover;width:100%;height:100%;transition:transform .6s;display:block}.gallery-item:hover img{transform:scale(1.1)}.gallery-overlay{background:0 0;justify-content:center;align-items:center;transition:background .4s;display:flex;position:absolute;inset:0}.gallery-item:hover .gallery-overlay{background:#0000004d}.gallery-overlay-icon{color:#fff;opacity:0;font-size:1.8rem;transition:opacity .4s,transform .4s;transform:scale(.5)}.gallery-item:hover .gallery-overlay-icon{opacity:1;transform:scale(1)}.lightbox{z-index:100000;opacity:0;pointer-events:none;background:#000000f2;justify-content:center;align-items:center;transition:opacity .4s;display:flex;position:fixed;inset:0}.lightbox.active{opacity:1;pointer-events:all}.lightbox-image{border:1px solid #ffd7c80d;max-width:85vw;max-height:85vh;transition:transform .4s cubic-bezier(.2,.8,.2,1);transform:scale(.9);box-shadow:0 20px 60px #0009}.lightbox.active .lightbox-image{transform:scale(1)}.lightbox-close{color:#fff;cursor:pointer;background:#ffffff0d;border:1px solid #ffd7c81a;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.5rem;transition:all .3s;display:flex;position:absolute;top:1.5rem;right:1.5rem}.lightbox-close:hover{border-color:var(--color-accent);background:#8b1a1a4d}.lightbox-nav{color:#fff;cursor:pointer;background:#ffffff0d;border:1px solid #ffd7c81a;justify-content:center;align-items:center;width:50px;height:50px;font-size:1.5rem;transition:all .3s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.lightbox-nav:hover{border-color:var(--color-accent);background:#8b1a1a4d}.lightbox-nav.prev{left:1.5rem}.lightbox-nav.next{right:1.5rem}.lightbox-counter{color:#ffd7c866;letter-spacing:3px;font-size:.85rem;font-weight:300;position:absolute;bottom:1.5rem;left:50%;transform:translate(-50%)}@media (width<=640px){.gallery-grid{grid-template-columns:repeat(2,1fr);gap:.5rem}.lightbox-nav{width:40px;height:40px;font-size:1.2rem}.lightbox-nav.prev{left:.8rem}.lightbox-nav.next{right:.8rem}}.gift{background-color:var(--color-surface);text-align:center}.section-desc{max-width:600px;color:var(--color-text-light);margin:0 auto 2rem;font-weight:300;line-height:1.8}.gift-card{max-width:400px;margin:0 auto;transition:transform .4s}.gift-card:hover{transform:translateY(-5px)}.bank-icon{background:linear-gradient(135deg, var(--color-primary) 0%, var(--color-accent) 100%);color:#fff;letter-spacing:2px;justify-content:center;align-items:center;width:60px;height:60px;margin:0 auto 1rem;font-size:1.1rem;font-weight:700;display:flex}.bank-name{color:var(--color-text-light);letter-spacing:1px;margin-bottom:.5rem;font-size:1.1rem;font-weight:500}.account-number{letter-spacing:4px;color:var(--color-text);margin-bottom:.5rem;font-family:monospace;font-size:1.5rem}.account-name{color:var(--color-text-muted);margin-bottom:1.5rem;font-weight:300}.btn-copy{border:1px solid var(--color-border);cursor:pointer;font-family:var(--font-body);color:var(--color-text);letter-spacing:1px;text-transform:uppercase;background:0 0;padding:.6rem 1.2rem;font-size:.8rem;font-weight:400;transition:all .2s}.btn-copy:hover{border-color:var(--color-accent);color:var(--color-accent-light);background:#8b1a1a1a}.rsvp{background-color:var(--color-surface2)}.rsvp-form{margin-bottom:3rem}.form-group{text-align:left;margin-bottom:1.5rem}.form-group label{color:var(--color-text-light);letter-spacing:1px;text-transform:uppercase;margin-bottom:.5rem;font-size:.85rem;font-weight:400;display:block}.form-group input,.form-group select,.form-group textarea{border:1px solid var(--color-border);width:100%;font-family:var(--font-body);color:var(--color-text);background:#0000004d;border-radius:2px;padding:.8rem 1rem;font-size:.95rem;transition:border-color .3s,box-shadow .3s}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--color-text-muted);font-weight:300}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--color-accent);outline:none;box-shadow:0 0 0 2px #8b1a1a26}.form-group select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%239a8a85' d='M6 8L0 0h12z'/%3E%3C/svg%3E");background-position:right 1rem center;background-repeat:no-repeat;padding-right:2.5rem}.full-width{width:100%}.guestbook{max-height:400px;padding-right:10px;overflow-y:auto}.guestbook::-webkit-scrollbar{width:4px}.guestbook::-webkit-scrollbar-thumb{background:var(--color-primary)}.guestbook-section{background-color:var(--color-surface);background:radial-gradient(circle at 50% 0%, #d4af3714, transparent 30rem), linear-gradient(180deg, var(--color-bg) 0%, #0f0b08 100%)}.guestbook-messages{scroll-behavior:smooth;flex-direction:column;gap:1rem;max-width:650px;max-height:420px;margin:0 auto;display:flex;overflow-y:hidden;-webkit-mask-image:linear-gradient(#000 75%,#0000 100%);mask-image:linear-gradient(#000 75%,#0000 100%)}.guest-message{background:#140f0a99;border:1px solid #d4af371a;border-radius:2px;align-items:flex-start;gap:1rem;padding:1.4rem;transition:border-color .3s,transform .3s;display:flex}.guest-message:hover{border-color:#d4af3740;transform:translate(4px)}.guest-avatar{width:44px;height:44px;color:var(--color-accent);background:#c9a84c1a;border:1px solid #d4af3733;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:1.3rem;display:flex}.guest-body{flex:1;min-width:0}.guest-body h4{color:var(--color-text);letter-spacing:1px;font-size:.95rem;font-family:var(--font-heading);margin-bottom:.4rem}.guest-status{letter-spacing:1px;border-radius:2px;margin-left:.5rem;padding:.15rem .5rem;font-size:.7rem;font-weight:400}.guest-status.hadir{color:#c9a84c;background:#c9a84c1f;border:1px solid #c9a84c40}.guest-status.tidak-hadir{color:#8a8a8a;background:#ffffff0d;border:1px solid #ffffff14}.guest-body p{color:var(--color-text-light);font-style:italic;font-weight:300;line-height:1.7;font-family:var(--font-subheading);font-size:1rem}.guestbook-empty{text-align:center;color:var(--color-text-muted);font-style:italic;font-family:var(--font-subheading);padding:3rem 1rem;font-size:1rem}@media (width<=480px){.guest-message{gap:.7rem;padding:1rem}.guest-avatar{width:36px;height:36px;font-size:1rem}}.couple,.events,.gift{--color-text:#211a16;--color-text-light:#4d4038;--color-text-muted:#75685f;--color-border:#211a162e;--glass-bg:#fffcf4db;--glass-border:#211a162e;--glass-shadow:0 18px 44px #362b1f24;--color-surface:#efe6d8;color:var(--color-text);background:radial-gradient(circle at 7% 12%, #211a1657 0, #211a1657 1.6px, transparent 2.8px), radial-gradient(circle at 13% 31%, #c9a84c66 0, #c9a84c66 2px, transparent 3.3px), radial-gradient(circle at 8% 72%, #211a163d 0, #211a163d 1.4px, transparent 2.7px), radial-gradient(circle at 18% 88%, #c9a84c57 0, #c9a84c57 1.8px, transparent 3px), radial-gradient(circle at 92% 16%, #211a164d 0, #211a164d 1.5px, transparent 2.8px), radial-gradient(circle at 86% 43%, #c9a84c6b 0, #c9a84c6b 2.1px, transparent 3.4px), radial-gradient(circle at 93% 70%, #211a1642 0, #211a1642 1.4px, transparent 2.7px), radial-gradient(circle at 80% 90%, #c9a84c52 0, #c9a84c52 1.8px, transparent 3px), radial-gradient(ellipse at left center, #211a1617, transparent 20rem), radial-gradient(ellipse at right center, #211a1617, transparent 20rem), radial-gradient(circle at 50% 12%, #ffffffe6, transparent 18rem), radial-gradient(circle at 50% 100%, #c9a84c2e, transparent 20rem), linear-gradient(180deg, #f8f5ef 0%, var(--color-paper) 50%, var(--color-paper-soft) 100%)}.couple:after,.events:after,.gift:after{opacity:.82;filter:grayscale(40%)sepia(20%)}.couple .section-title,.events .section-title,.gift .section-title,.couple .profile-card h3,.events .event-card h3,.gift .account-number{color:var(--color-text)}.couple .profile-card{box-shadow:none;background:0 0;border:none}.couple .profile-card:hover{box-shadow:none;background:0 0}.couple .photo-placeholder{border-color:#211a1638;box-shadow:0 12px 24px #362b1f2e}.events .event-card,.gift .gift-card{box-shadow:var(--glass-shadow)}.events .btn-outline,.gift .btn-copy{color:var(--color-text);border-color:#211a1638}.footer{color:var(--color-text);text-align:center;background-color:#0000;padding:4rem 2rem;position:relative;overflow:hidden}.footer:before{content:"";background:linear-gradient(90deg, transparent, var(--color-accent), var(--color-gold), var(--color-accent), transparent);opacity:.3;width:100%;height:2px;position:absolute;top:0;left:0}.footer>*{z-index:1;position:relative}.footer-quote{color:#000;max-width:600px;margin:0 auto;font-style:italic;font-weight:500;line-height:1.8}.footer h2{color:var(--color-text);letter-spacing:6px;margin:1.5rem 0;font-size:2.8rem}.footer-ornament{opacity:.2;color:var(--color-accent);letter-spacing:6px;margin:1rem 0;font-size:1.5rem}.credits{opacity:.3;letter-spacing:1px;margin-top:2rem;font-size:.8rem}.footer-cta{border-top:1px solid #ffd7c80f;margin-top:3rem;padding-top:1.5rem}.footer-share{margin-top:1.2rem}.cta-text{opacity:.4;letter-spacing:1px;margin-bottom:.5rem;font-size:.85rem}.cta-link{color:var(--color-accent-light);letter-spacing:1px;background:#8b1a1a26;border:1px solid #8b1a1a33;padding:.5rem 1.2rem;font-size:.85rem;font-weight:400;text-decoration:none;transition:background .3s;display:inline-block}.cta-link:hover{background:#8b1a1a40}[data-animate]{opacity:0;transition:opacity 1.4s cubic-bezier(.16,1,.3,1),transform 1.4s cubic-bezier(.16,1,.3,1)}[data-animate=fade-up]{transform:translateY(80px)rotateX(4deg)}[data-animate=fade-down]{transform:translateY(-80px)rotateX(-4deg)}[data-animate=fade-left]{transform:translate(-80px)rotateY(6deg)}[data-animate=fade-right]{transform:translate(80px)rotateY(-6deg)}[data-animate=scale-in]{transform:scale(.6)rotate(2deg)}[data-animate].is-visible{opacity:1;transform:translate(0)rotate(0)scale(1)}.stagger>:first-child{transition-delay:50ms}.stagger>:nth-child(2){transition-delay:.15s}.stagger>:nth-child(3){transition-delay:.25s}.stagger>:nth-child(4){transition-delay:.35s}.stagger>:nth-child(5){transition-delay:.45s}.stagger>:nth-child(6){transition-delay:.55s}[data-animate=pan-left]{opacity:0;transform:translate(-140px)}[data-animate=pan-left].is-visible{opacity:1;transform:translate(0)}[data-animate=pan-right]{opacity:0;transform:translate(140px)}[data-animate=pan-right].is-visible{opacity:1;transform:translate(0)}[data-animate=rise]{opacity:0;transform:translateY(100px)}[data-animate=rise].is-visible{opacity:1;transform:translateY(0)}[data-animate=baseline-up]{opacity:0;transform:translateY(60px)}[data-animate=baseline-up].is-visible{opacity:1;transform:translateY(0)}[data-animate=baseline-down]{opacity:0;transform:translateY(-60px)}[data-animate=baseline-down].is-visible{opacity:1;transform:translateY(0)}[data-animate=baseline-left]{opacity:0;transform:translate(-60px)}[data-animate=baseline-left].is-visible{opacity:1;transform:translate(0)}[data-animate=baseline-right]{opacity:0;transform:translate(60px)}[data-animate=baseline-right].is-visible{opacity:1;transform:translate(0)}[data-animate=breathe]{opacity:0;transform:scale(.85)}[data-animate=breathe].is-visible{opacity:1;animation:3s ease-in-out 1.2s infinite breathe-pulse;transform:scale(1)}[data-animate=breathe]:first-child{transition-delay:50ms;animation-delay:1.2s}[data-animate=breathe]:nth-child(2){transition-delay:.15s;animation-delay:1.4s}[data-animate=breathe]:nth-child(3){transition-delay:.25s;animation-delay:1.6s}[data-animate=breathe]:nth-child(4){transition-delay:.35s;animation-delay:1.8s}[data-animate=pop]{opacity:0;transition:transform .55s cubic-bezier(.175,.885,.32,1.275),opacity .3s;transform:scale(0)}[data-animate=pop].is-visible{opacity:1;transform:scale(1)}[data-animate=wipe]{transform-origin:0;opacity:0;transition:transform 1.1s cubic-bezier(.16,1,.3,1),opacity .5s;transform:scaleX(0)}[data-animate=wipe].is-visible{opacity:1;transform:scaleX(1)}[data-animate=wipe]:first-child{transition-delay:50ms}[data-animate=wipe]:nth-child(2){transition-delay:.1s}[data-animate=wipe]:nth-child(3){transition-delay:.15s}[data-animate=wipe]:nth-child(4){transition-delay:.2s}[data-animate=wipe]:nth-child(5){transition-delay:.25s}[data-animate=wipe]:nth-child(6){transition-delay:.3s}[data-animate=wipe]:nth-child(7){transition-delay:.35s}[data-animate=wipe]:nth-child(8){transition-delay:.4s}[data-animate=wipe]:nth-child(9){transition-delay:.45s}[data-animate=wipe]:nth-child(10){transition-delay:.5s}.timeline-item:first-child{transition-delay:.1s}.timeline-item:nth-child(2){transition-delay:.3s}.timeline-item:nth-child(3){transition-delay:.5s}@supports (animation-timeline:view()) and (animation-range:entry){[data-animate]{opacity:0;animation:linear both fade-in-up;animation-timeline:view();animation-range:entry 3% cover 22%;transform:translateY(80px)rotateX(4deg);transition:none!important}[data-animate=fade-down]{animation-name:fade-in-down;transform:translateY(-80px)rotateX(-4deg)}[data-animate=fade-left]{animation-name:fade-in-left;transform:translate(-80px)rotateY(6deg)}[data-animate=fade-right]{animation-name:fade-in-right;transform:translate(80px)rotateY(-6deg)}[data-animate=scale-in]{animation-name:scale-in;transform:scale(.6)rotate(2deg)}.stagger>*{animation-duration:1.2s}.stagger>:first-child{animation-range:entry 3% cover 18%}.stagger>:nth-child(2){animation-range:entry 8% cover 23%}.stagger>:nth-child(3){animation-range:entry 13% cover 28%}.stagger>:nth-child(4){animation-range:entry 18% cover 33%}.stagger>:nth-child(5){animation-range:entry 23% cover 38%}.stagger>:nth-child(6){animation-range:entry 28% cover 43%}.timeline-item{animation-duration:1.2s}.timeline-item:first-child{animation-range:entry 3% cover 18%}.timeline-item:nth-child(2){animation-range:entry 8% cover 23%}.timeline-item:nth-child(3){animation-range:entry 13% cover 28%}[data-animate=pan-left],[data-animate=pan-right],[data-animate=rise],[data-animate=baseline-up],[data-animate=baseline-down],[data-animate=baseline-left],[data-animate=baseline-right],[data-animate=breathe]{transition:opacity 1.4s cubic-bezier(.16,1,.3,1),transform 1.4s cubic-bezier(.16,1,.3,1)!important;animation:none!important}[data-animate=pop]{transition:transform .55s cubic-bezier(.175,.885,.32,1.275),opacity .3s!important;animation:none!important}[data-animate=wipe]{transition:transform 1.1s cubic-bezier(.16,1,.3,1),opacity .5s!important;animation:none!important}}@keyframes fade-in-up{0%{opacity:0;transform:translateY(80px)rotateX(4deg)}to{opacity:1;transform:translateY(0)rotateX(0)}}@keyframes fade-in-down{0%{opacity:0;transform:translateY(-80px)rotateX(-4deg)}to{opacity:1;transform:translateY(0)rotateX(0)}}@keyframes fade-in-left{0%{opacity:0;transform:translate(-80px)rotateY(6deg)}to{opacity:1;transform:translate(0)rotateY(0)}}@keyframes fade-in-right{0%{opacity:0;transform:translate(80px)rotateY(-6deg)}to{opacity:1;transform:translate(0)rotateY(0)}}@keyframes scale-in{0%{opacity:0;transform:scale(.6)rotate(2deg)}to{opacity:1;transform:scale(1)rotate(0)}}@keyframes breathe-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}.particles{pointer-events:none;z-index:0;width:100vw;height:100vh;position:fixed;top:0;left:0;overflow:hidden}.particle{opacity:.08;border-radius:50%;animation:18s ease-in-out infinite alternate floatDark;position:absolute}.p1{background:radial-gradient(circle,#8b1a1a33 0%,#8b1a1a00 70%);width:30vw;height:30vw;animation-delay:0s;top:10%;left:10%}.p2{background:radial-gradient(circle,#c9a84c14 0%,#c9a84c00 70%);width:40vw;height:40vw;animation-delay:-5s;top:60%;left:70%}.p3{background:radial-gradient(circle,#8b1a1a26 0%,#8b1a1a00 70%);width:25vw;height:25vw;animation-delay:-10s;top:40%;left:40%}@keyframes floatDark{0%{transform:translate(0)scale(1)}50%{transform:translate(30px,-50px)scale(1.1)}to{transform:translate(-20px,20px)scale(.9)}}.hidden{display:none!important}@media (width<=768px){.container{padding:0 2rem}.section:not(.hero):after{opacity:.72;background-size:42px 42px,42px 42px,42px 42px,42px 42px,2px calc(100% - 4rem),2px calc(100% - 4rem);inset:.55rem}.main-content:before,.main-content:after{opacity:.76;background-size:34px 34px,34px 34px,2px 100%;width:34px;top:.6rem;bottom:.6rem}.main-content:before{left:.45rem}.main-content:after{right:.45rem}.envelope-screen:before{background-size:820px}.hero-content{width:min(100%,420px);padding:2rem 1.6rem}.hero-content:before{left:.2rem}.hero-content:after{right:.2rem}.envelope-body{background-size:auto,auto}.couple-names-main{letter-spacing:4px;font-size:3.5rem}.countdown{gap:.5rem}.cd-item{min-width:60px;padding:.6rem}.cd-item span{font-size:1.5rem}.cd-label{font-size:.55rem}.section-title{letter-spacing:3px;font-size:2rem}.section{padding:4rem 0}.envelope-body{padding:2.2rem 1.2rem 1.5rem}.couple-names-cover{letter-spacing:3px;font-size:1.8rem}.guest-name{letter-spacing:2px;font-size:1.3rem}.envelope-body .invite-text{margin-bottom:1.2rem;font-size:.8rem}.envelope-decoration{margin-bottom:.8rem}.gothic-border{inset:10px}}@media (width<=480px){.container{padding:0 1.7rem}.section:not(.hero):after{opacity:.68;background-size:34px 34px,34px 34px,34px 34px,34px 34px,2px calc(100% - 3.5rem),2px calc(100% - 3.5rem);inset:.45rem}.main-content:before,.main-content:after{opacity:.68;background-size:28px 28px,28px 28px,2px 100%;width:28px}.main-content:before{left:.3rem}.main-content:after{right:.3rem}.envelope-screen{align-items:flex-start;padding-top:1rem}.envelope-body{padding:1.5rem 1rem 1.2rem}.couple-names-cover{font-size:1.5rem}.guest-name{font-size:1.1rem}.btn-primary{padding:.7rem 1.5rem;font-size:.85rem}.gothic-border{inset:8px}.envelope-logo{max-width:100px!important;margin-bottom:.8rem!important}.hero-content{padding:1.8rem 1.35rem}.hero-content:before,.hero-content:after{opacity:.72;top:.5rem;bottom:.5rem}.couple-names-main{letter-spacing:3px;font-size:2.6rem}.wedding-of{letter-spacing:4px;font-size:.85rem}.countdown{gap:.35rem}.cd-item{min-width:50px;padding:.5rem}.cd-item span{font-size:1.2rem}.hero-ornament{letter-spacing:6px;font-size:1rem}.btn-audio{width:48px;height:48px;bottom:1rem;right:1rem}.toast{bottom:4.5rem;right:1rem}.gallery-grid{grid-template-columns:repeat(2,1fr);gap:.4rem}}.watermark-drawing{opacity:.15;pointer-events:none;z-index:0;mix-blend-mode:screen;filter:grayscale()contrast(145%)brightness();background-position:50%;background-repeat:no-repeat;background-size:cover;background-attachment:fixed;width:100%;height:100%;transition:background-image 2s ease-in-out;position:fixed;top:0;left:0}.gift-confirmation{text-align:left;max-width:520px;margin:2rem auto 0}.gift-confirmation h3{text-align:center;color:var(--color-accent-light);margin-bottom:.5rem}.gift-confirmation>p{text-align:center;color:var(--color-text-light);font-family:var(--font-subheading);margin-bottom:1.5rem}button:disabled{cursor:wait;opacity:.7}
