*{box-sizing:border-box;margin:0;padding:0}html,body{background:#fefcf9}.app-root{--hint-ink: #8a7565;--card-bg: #f6f6f5;--card-info-bg: #fefbe8;--card-splash-bg: #FEFDF9;--card-accent: #a07d4a;--card-accent-light: #4a3526;--card-accent-soft: #cfb48a;--card-accent-info: #fefdf9;background:#fefcf9;width:100%;min-height:100vh;font-family:EB Garamond,serif}.wrapper{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;cursor:pointer;background:var(--card-splash-bg);display:flex;align-items:center;justify-content:center;overflow:hidden;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.wrapper.opening{animation:splashDissolve 1.1s cubic-bezier(.4,0,.2,1) forwards}@keyframes splashDissolve{0%{transform:scale(1);opacity:1;filter:blur(0)}to{transform:scale(1.06);opacity:0;filter:blur(10px)}}.splash-stage{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(10px,2.5vh,24px);padding:4vh 20px 2vh;box-sizing:border-box}.splash-heading{text-align:center;display:flex;flex-direction:column;align-items:center;gap:15px}.splash-kicker{font-family:EB Garamond,serif;font-size:clamp(10px,2.9vw,13px);letter-spacing:.22em;text-transform:uppercase;color:#5a4a3a;margin:0}.splash-names{font-family:Pinyon Script,serif;font-size:clamp(34px,11vw,54px);font-weight:400;line-height:1.12;margin:0;color:var(--card-accent-light)}.splash-names .splash-amp{font-family:EB Garamond,serif;font-size:.5em;font-style:italic;color:#5a4a3a}.splash-date{font-family:EB Garamond,serif;font-size:clamp(11px,3.2vw,14px);letter-spacing:.16em;color:#5a4a3a;margin:2px 0 0}.splash-plaque{flex:0 1 auto;min-height:0;padding:0;border:none;background:none;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform .25s ease}.splash-plaque img{display:block;max-height:62vh;max-width:min(100%,320px);height:auto;width:auto;object-fit:contain}.splash-plaque:hover{transform:translateY(-4px)}.splash-plaque:active{transform:translateY(0)}.card{max-width:420px;margin:0 auto;background:#fefcf9;position:relative;overflow:hidden;box-shadow:0 10px 20px #00000030,0 6px 6px #0000003b;padding-bottom:calc(90px + env(safe-area-inset-bottom,0px))}.reveal{opacity:0}.reveal.active{opacity:1}.reveal.active.from-below{animation:revealUp 1.6s cubic-bezier(.22,.8,.3,1) backwards}.reveal.active.from-above{animation:revealDown 1.6s cubic-bezier(.22,.8,.3,1) backwards}@keyframes revealUp{0%{opacity:0;transform:translate3d(0,28px,0);filter:blur(6px)}to{opacity:1;transform:none;filter:blur(0)}}@keyframes revealDown{0%{opacity:0;transform:translate3d(0,-28px,0);filter:blur(6px)}to{opacity:1;transform:none;filter:blur(0)}}.no-text-anim .reveal{opacity:1;animation:none!important}@media (prefers-reduced-motion: reduce){.reveal.active.from-below,.reveal.active.from-above{animation:revealFade .4s ease both}@keyframes revealFade{0%{opacity:0}to{opacity:1}}}.fade-in-1{animation:surfaceIn 1.4s cubic-bezier(.22,.8,.3,1) .2s both}.fade-in-2{animation:surfaceIn 1.4s cubic-bezier(.22,.8,.3,1) .5s both}.fade-in-3{animation:surfaceIn 1.6s cubic-bezier(.22,.8,.3,1) .8s both}.fade-in-4{animation:surfaceIn 1.4s cubic-bezier(.22,.8,.3,1) 1.3s both}@keyframes surfaceIn{0%{opacity:0;transform:translateY(14px);filter:blur(8px);letter-spacing:.04em}to{opacity:1;transform:none;filter:blur(0)}}.intro{position:relative;z-index:1;container-type:inline-size}.intro-bg{display:block;width:100%;height:auto;position:relative;z-index:0}.intro-content{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:50px 36px;gap:0;z-index:1}.intro-content img{width:50%;margin-bottom:16px}.walimatul{font-size:clamp(16px,5.6cqw,23px);letter-spacing:2px;color:var(--card-accent);margin-bottom:9cqw}.intro-content h2{font-family:Pinyon Script,serif;font-size:clamp(56px,21cqw,86px);font-weight:500;color:#8b632c;line-height:1.1;margin:4px 0;overflow-wrap:anywhere}.intro-content h3{font-family:EB Garamond,serif;font-size:clamp(28px,9.6cqw,40px);font-weight:500;color:#8b632c}.intro-when{display:flex;flex-direction:column;align-items:center;margin-top:9cqw;width:100%;max-width:82%;color:var(--card-accent);letter-spacing:2px;line-height:1.35}.intro-day{font-size:clamp(12px,3.8cqw,16px);text-transform:uppercase;margin-bottom:1cqw}.intro-date{font-size:clamp(16px,5.6cqw,23px)}.intro-hashtag{margin-top:2.5cqw;font-size:clamp(16px,5.6cqw,23px);text-align:center;overflow-wrap:anywhere}.event-part .bismillah{font-family:Amiri,serif;font-size:min(7cqw,28px);line-height:1.6;font-style:normal;letter-spacing:0;white-space:nowrap;color:#4a3526;margin:0 0 24px;direction:rtl}.info{display:flex;flex-direction:column;align-items:center;padding:50px 0;position:relative;z-index:1}.lace-section{position:relative;margin:40px auto 8px;background:transparent}.lace-frame-img{display:block;width:100%;height:auto}.lace-content{position:absolute;top:12%;left:16%;right:16%;bottom:12%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:8px}.lace-item{display:flex;flex-direction:column;align-items:center}.lace-label{font-family:Pinyon Script,serif;font-size:28px;color:#8b632c;line-height:1;margin-bottom:6px;margin-top:6px}.lace-item p{font-size:17px;color:#4a3526;line-height:1.6;font-weight:400}.lace-divider{width:50%;height:0;border-top:1px solid #4a3526;margin:8px 0;align-self:center}.event-info{width:95%;text-align:center;position:relative;padding:24px 20px 12px;container-type:inline-size}.event-swans{display:block;width:58%;max-width:230px;height:auto;margin:0 auto 22px;pointer-events:none;-webkit-user-select:none;user-select:none;filter:drop-shadow(0 4px 8px rgba(110,76,34,.12))}.event-part{margin-bottom:0}.event-part p{font-family:EB Garamond,serif;font-style:italic;font-size:18px;color:#3e321d;font-weight:400;letter-spacing:.3px;line-height:1.6}.event-part.one{display:flex;flex-direction:column;align-items:center;gap:0}.event-part .event-greeting{color:#5a4a3a}.parent-names{display:flex;flex-direction:column;align-items:center;margin:20px 0 22px;gap:2px}.parent-names p{font-size:19px;font-style:normal;font-weight:600;letter-spacing:.4px;line-height:1.4;color:#4a3526}.parent-names .parent-amp{font-family:Pinyon Script,serif;font-size:24px;font-weight:400;line-height:1.1;color:#8b632c}.event-part .event-intro{color:#5a4a3a;line-height:1.7;max-width:30em;text-wrap:balance}.event-info>.event-part.one:first-of-type{margin-bottom:22px}.event-part.two{display:flex;flex-direction:column;align-items:center;margin:8px 0}.event-part.two p{font-family:Pinyon Script,serif;font-style:normal;letter-spacing:1px;font-size:32px;font-weight:400;line-height:1.25;color:#8b632c}.event-part .event-connector{font-size:17px;color:#8a7565;letter-spacing:.6px}.countdown{text-align:center;padding:24px 0 0}.countdown-title{font-size:13px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:#5a4a3a;margin-bottom:20px}.count-boxes{display:flex;align-items:center;justify-content:center}.count-divider{width:1px;height:48px;background:#b39b78;opacity:.55;margin:0 16px}.count-box{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:56px}.count-box h1{font-family:EB Garamond,serif;font-size:30px;font-weight:700;color:#4a3526;line-height:1;margin-bottom:6px}.count-box span{font-size:9px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:#8a7565;opacity:.9}.countdown-row{display:flex;flex-direction:column;align-items:center;gap:20px}.mini-cal{width:100%;display:flex;flex-direction:column;align-items:center;padding:24px 8px 8px}.mini-cal-title{font-family:EB Garamond,serif;font-size:11px;font-weight:400;letter-spacing:6px;text-transform:uppercase;color:#5a4a3a;margin-bottom:18px;text-align:center}.mini-cal-row{display:flex;width:100%}.mini-cal-cell{flex:1;display:flex;flex-direction:column;align-items:center;gap:8px}.mini-cal-dow{font-family:EB Garamond,serif;font-size:11px;color:#8a7565;font-weight:400;text-align:center}.mini-cal-day{font-family:EB Garamond,serif;font-size:17px;color:#5a4a3a;font-weight:400;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:50%}.mini-cal-cell--active .mini-cal-day{border:1.5px dashed #b39b78}.mini-cal-stem{display:block;width:0;height:40px;border-left:1.5px dashed #b39b78}.mini-cal-script{font-family:Pinyon Script,serif;font-size:44px;color:#4a3526;line-height:1.1;margin-top:2px;text-align:center}.aturcara-row{font-size:13px;color:#5a4535;font-weight:400;letter-spacing:.3px;line-height:1.8}.aturcara-dot{color:#4a3526;opacity:.7;margin:0 4px}.aturcara-time{color:#4a3526;font-style:italic}.rsvp-tray{position:relative;width:100%;margin:8px auto 4px}.rsvp-tray-img{display:block;width:100%;height:auto}.rsvp-tray-inner{position:absolute;top:47%;left:50%;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;width:46%}.rsvp-btn{padding:clamp(7px,2.2vw,11px) clamp(14px,4.5vw,26px);border:1px solid #5a4a3a;background:#fefdf98c;color:#5a4a3a;font-family:EB Garamond,serif;font-size:clamp(10px,3vw,14px);font-weight:700;letter-spacing:2px;white-space:nowrap;cursor:pointer;transition:background .25s,color .25s}.rsvp-btn:hover{background:#5a4a3a;color:#fefdf9}.ucapan-khas{position:relative;align-self:stretch;margin:6px 0 4px;display:flex;flex-direction:column;align-items:center}.ucapan-heart{position:relative;width:100%;display:flex;aspect-ratio:1254 / 1265}.ucapan-heart-img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:fill;pointer-events:none;-webkit-user-select:none;user-select:none}.ucapan-khas-content{position:relative;z-index:1;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;padding:30% 21% 27%;text-align:center}.ucapan-khas-title{font-family:Pinyon Script,serif;font-size:27px;color:var(--card-accent-light);line-height:1}.ucapan-khas-msg{font-family:EB Garamond,serif;font-style:italic;font-size:14.5px;color:#5a4a3a;line-height:1.7}.ucapan-khas-name{font-family:Pinyon Script,serif;font-size:21px;color:#8b632c;line-height:1.2}.ucapan-khas-empty{font-family:EB Garamond,serif;font-size:13.5px;color:#8a7565;font-style:italic;line-height:1.7}.ucapan-khas-controls{display:flex;flex-direction:column;align-items:center;gap:10px;margin-top:-4px}.ucapan-khas-nav{display:flex;align-items:center;gap:16px}.ucapan-khas-nav button{background:none;border:none;font-size:26px;color:#5a4a3a;cursor:pointer;line-height:1;padding:0 4px;opacity:.8}.ucapan-khas-nav span{font-family:EB Garamond,serif;font-size:13px;color:#8a7565}.ucapan-khas-btn{display:flex;align-items:center;gap:6px;padding:8px 20px;border:1px solid #5a4a3a;background:#fefdf98c;color:#5a4a3a;font-family:EB Garamond,serif;font-size:14px;font-style:italic;cursor:pointer;border-radius:2px;transition:background .25s,color .25s;margin-top:4px}.ucapan-khas-btn:hover{background:#5a4a3a;color:#fefdf9}.footer{--dock-h: 62px;--dock-gap: 10px;--dock-bg: #fefcf9;--gold: #b39b78;--gold-line: rgba(179, 155, 120, .4);--ink: #4a3526;--ink-soft: #8a7565;--cream: #f6ecd9;position:fixed;left:50%;transform:translate(-50%);bottom:calc(var(--dock-gap) + env(safe-area-inset-bottom,0px));width:100%;max-width:420px;padding:0 12px;z-index:1000;pointer-events:none}.footer .menu{--pad: 5px;pointer-events:auto;list-style:none;position:relative;height:var(--dock-h);padding:0 var(--pad);display:flex;align-items:center;justify-content:space-around;background:linear-gradient(180deg,#fffefb,#f8f2e7);border:1px solid var(--gold-line);border-radius:24px;box-shadow:0 12px 30px #35241f2e,0 2px 6px #35241f14,inset 0 1px #fff}.footer .menu:before{content:"";position:absolute;top:3px;right:3px;bottom:3px;left:3px;border-radius:21px;border:1px solid rgba(179,155,120,.14);pointer-events:none}.footer .menu:after{--slot: calc((100% - 2 * var(--pad)) / var(--count, 6));content:"";position:absolute;z-index:2;top:-1px;height:2px;width:26px;left:calc(var(--pad) + var(--slot) * var(--active, 0) + var(--slot) / 2 - 13px);border-radius:0 0 2px 2px;background:linear-gradient(90deg,transparent,var(--gold) 20%,var(--gold) 80%,transparent);box-shadow:0 1px 6px #b39b788c;opacity:0;transform:scaleX(.3);transition:left .5s cubic-bezier(.34,1.3,.64,1),opacity .25s ease,transform .35s ease;pointer-events:none}.footer .menu.has-active:after{opacity:1;transform:scaleX(1)}.footer .menu li{position:relative;z-index:1;flex:1 1 0;min-width:0;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;cursor:pointer;-webkit-user-select:none;user-select:none;outline:none;-webkit-tap-highlight-color:transparent}.footer .menu li .bx{position:relative;color:var(--ink-soft);font-size:21px;line-height:1;transition:color .3s ease,transform .3s ease}.footer .menu li span{font-family:EB Garamond,serif;font-size:10.5px;line-height:1;letter-spacing:.06em;color:var(--ink-soft);white-space:nowrap;transition:color .3s ease}.footer .menu li:active .bx{transform:scale(.88)}.footer .menu li.active .bx{color:var(--ink);animation:menuIconPop .45s cubic-bezier(.34,1.56,.64,1)}.footer .menu li.active span{color:var(--ink);font-weight:600}@keyframes menuIconPop{0%{transform:scale(.8)}60%{transform:scale(1.12)}to{transform:scale(1)}}.footer .menu li:focus-visible:before{content:"";position:absolute;top:6px;bottom:6px;left:2px;right:2px;border-radius:18px;box-shadow:0 0 0 2px var(--gold)}@media (hover: hover){.footer .menu li:not(.active):hover .bx{color:var(--ink);transform:translateY(-2px)}.footer .menu li:not(.active):hover span{color:var(--ink)}}.footer .menu li .bx.is-playing{color:var(--ink)}.footer .menu li .bx.is-playing:after{content:"";position:absolute;top:-2px;right:-5px;width:6px;height:6px;border-radius:50%;background:var(--gold);animation:footerPlayingDot 1.8s ease-out infinite}@keyframes footerPlayingDot{0%{box-shadow:0 0 #b39b7899}to{box-shadow:0 0 0 7px #b39b7800}}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:900;background:#281c1861;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);opacity:0;visibility:hidden;transition:opacity .35s ease,visibility 0s linear .35s}.sheet-backdrop.show{opacity:1;visibility:visible;transition:opacity .35s ease,visibility 0s}.toggle-menu{position:fixed;left:50%;z-index:2000;bottom:calc(86px + env(safe-area-inset-bottom,0px));width:calc(100% - 24px);max-width:396px;max-height:calc(100dvh - 108px - env(safe-area-inset-bottom,0px));overflow-y:auto;overscroll-behavior:contain;padding:30px 22px 24px;background:radial-gradient(120% 60% at 50% 0%,rgba(232,218,194,.35),transparent 70%),#fefcf9;border:1px solid rgba(179,155,120,.4);border-radius:26px;box-shadow:0 24px 60px #281c184d,0 4px 12px #281c181f;transform:translate(-50%,calc(100% + 120px)) scale(.96);opacity:0;visibility:hidden;transition:transform .5s cubic-bezier(.32,1.25,.5,1),opacity .25s ease,visibility 0s linear .5s}.toggle-menu.open{transform:translate(-50%) scale(1);opacity:1;visibility:visible;transition:transform .5s cubic-bezier(.32,1.25,.5,1),opacity .25s ease,visibility 0s}.toggle-menu:before{content:"";position:absolute;top:10px;left:50%;transform:translate(-50%);width:38px;height:4px;border-radius:4px;background:#b39b7873}.sheet-close{position:absolute;top:12px;right:12px;z-index:1;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:1px solid rgba(179,155,120,.4);background:#fefcf9e6;color:#8a7565;font-size:20px;cursor:pointer;transition:background .2s ease,color .2s ease,transform .2s ease}.sheet-close:hover{background:#4a3526;color:#f6ecd9;transform:rotate(90deg)}.sheet-close:focus-visible{outline:2px solid #b39b78;outline-offset:2px}.toggle-menu.open .modal-inner>*,.toggle-menu.open .rsvp-form-inner>*{animation:sheetItemIn .5s cubic-bezier(.22,1,.36,1) both}.toggle-menu.open .modal-inner>:nth-child(1),.toggle-menu.open .rsvp-form-inner>:nth-child(1){animation-delay:.08s}.toggle-menu.open .modal-inner>:nth-child(2),.toggle-menu.open .rsvp-form-inner>:nth-child(2){animation-delay:.14s}.toggle-menu.open .modal-inner>:nth-child(3),.toggle-menu.open .rsvp-form-inner>:nth-child(3){animation-delay:.2s}.toggle-menu.open .modal-inner>:nth-child(4),.toggle-menu.open .rsvp-form-inner>:nth-child(4){animation-delay:.26s}.toggle-menu.open .modal-inner>:nth-child(n+5),.toggle-menu.open .rsvp-form-inner>:nth-child(n+5){animation-delay:.32s}@keyframes sheetItemIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion: reduce){.footer .menu li .bx,.footer .menu li span,.footer .menu:after{transition:none}.footer .menu li.active .bx{animation:none}.footer .menu li .bx.is-playing:after{animation:none}.toggle-menu,.toggle-menu.open{transition:opacity .2s ease,visibility 0s;transform:translate(-50%)}.toggle-menu.open .modal-inner>*,.toggle-menu.open .rsvp-form-inner>*{animation:none}}.modal-inner{display:flex;flex-direction:column;align-items:center;gap:10px}.modal-inner h1{font-family:EB Garamond,serif;font-size:20px;font-weight:400;color:var(--card-accent-light);text-transform:uppercase;letter-spacing:1px;text-align:center;text-indent:1px;margin-bottom:8px}.modal-inner h1:after{content:"✦";display:block;width:150px;margin:9px auto 0;text-indent:0;font-size:9px;line-height:1;color:#b39b78;background:linear-gradient(#c3ae8d,#c3ae8d) left center / 58px 1px no-repeat,linear-gradient(#c3ae8d,#c3ae8d) right center / 58px 1px no-repeat}.modal-buttons{display:flex;gap:10px;margin-top:10px}.modal-buttons.col{flex-direction:column;width:100%}.modal-buttons.row{flex-direction:row;justify-content:center}.modal-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 24px;border:none;border-radius:8px;background:var(--card-bg);cursor:pointer;font-size:14px;font-family:EB Garamond,serif;font-weight:600;transition:opacity .2s;min-width:140px}.modal-btn:hover{opacity:.85}.modal-btn .bx{font-size:18px}.google-icon{background:linear-gradient(to bottom left,transparent 49%,#fbbc05 50%) 0 25%/48% 40%,linear-gradient(to top left,transparent 49%,#fbbc05 50%) 0 75%/48% 40%,linear-gradient(-40deg,transparent 53%,#ea4335 54%),linear-gradient(45deg,transparent 46%,#4285f4 48%),#34a853;background-repeat:no-repeat;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.modal-inner.rsvp-form{width:100%;padding:0;align-items:stretch;max-height:70vh;overflow-y:auto}.rsvp-form-inner{display:flex;flex-direction:column;gap:14px;padding:20px 20px 8px}.rsvp-field{display:flex;flex-direction:column;gap:6px}.rsvp-field label{text-align:center;font-family:EB Garamond,serif;font-size:15px;font-weight:600;color:#5a4a3a;letter-spacing:.5px}.rsvp-hint{font-size:11px;font-weight:400;color:#999}.rsvp-field input,.rsvp-field textarea{width:100%;padding:10px 14px;border:1px solid #ddd;border-radius:8px;font-family:EB Garamond,serif;font-size:14px;color:#333;background:#fafafa;outline:none;transition:border .2s}.rsvp-field input:focus,.rsvp-field textarea:focus{border-color:var(--card-accent)}.rsvp-field input[type=number]{text-align:center}.rsvp-field textarea{resize:none}.rsvp-attend-row{display:flex;justify-content:center;gap:32px}.rsvp-radio-label{display:flex;flex-direction:row;align-items:center;gap:8px;font-family:EB Garamond,serif;font-size:15px;color:#5a4a3a;cursor:pointer}.rsvp-radio-label input[type=radio]{width:17px;height:17px;accent-color:var(--card-accent);cursor:pointer}.rsvp-radio-label.selected{color:var(--card-accent);font-weight:700}.rsvp-submit{width:100%;padding:12px;border:none;border-radius:24px;background:#b8976a;color:#fffffe;font-family:EB Garamond,serif;font-size:15px;font-weight:700;letter-spacing:1px;cursor:pointer;margin-top:4px;transition:background .2s}.rsvp-submit:hover{background:var(--card-accent-soft)}.modal-inner.wishlist{gap:0;padding:2px 0 6px}.modal-inner.wishlist h1{margin-bottom:4px}.wishlist-note{max-width:270px;font-family:EB Garamond,serif;font-style:italic;font-size:13.5px;line-height:1.65;color:#8a7565;text-align:center;margin:0 0 14px}.wishlist-qr-frame{--tick: #c3ae8d;display:flex;flex-direction:column;align-items:center;gap:8px;padding:14px 14px 10px;border-radius:3px;background:linear-gradient(var(--tick),var(--tick)) 0 0 / 15px 1px no-repeat,linear-gradient(var(--tick),var(--tick)) 0 0 / 1px 15px no-repeat,linear-gradient(var(--tick),var(--tick)) 100% 0 / 15px 1px no-repeat,linear-gradient(var(--tick),var(--tick)) 100% 0 / 1px 15px no-repeat,linear-gradient(var(--tick),var(--tick)) 0 100% / 15px 1px no-repeat,linear-gradient(var(--tick),var(--tick)) 0 100% / 1px 15px no-repeat,linear-gradient(var(--tick),var(--tick)) 100% 100% / 15px 1px no-repeat,linear-gradient(var(--tick),var(--tick)) 100% 100% / 1px 15px no-repeat,linear-gradient(168deg,#fffefb,#fbf5ea);box-shadow:0 4px 14px #35241f1a}.wishlist-qr{width:158px;height:158px;object-fit:contain;border:1px solid rgba(179,155,120,.4);border-radius:2px;background:#fff;margin:0}.wishlist-qr-cap{font-family:EB Garamond,serif;font-style:italic;font-size:12px;letter-spacing:.5px;color:#8a7565}.wishlist-acc{display:flex;flex-direction:column;align-items:center;gap:3px;margin:18px 0 2px;padding:0 22px;width:100%;max-width:290px}.wishlist-bank{font-family:EB Garamond,serif;font-size:12px;letter-spacing:2px;text-transform:uppercase;color:#8a7565}.wishlist-accnum{font-family:EB Garamond,serif;font-size:23px;font-weight:600;letter-spacing:2px;color:#4a3526;font-variant-numeric:tabular-nums;line-height:1.25}.wishlist-name{font-family:Pinyon Script,serif;font-size:20px;color:#8b632c;line-height:1.3}.wishlist-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:16px}.wishlist-btn{display:inline-flex;align-items:center;gap:6px;padding:9px 16px;border:1px solid #5a4a3a;border-radius:2px;background:#fefdf98c;color:#5a4a3a;font-family:EB Garamond,serif;font-size:14px;letter-spacing:.3px;cursor:pointer;transition:background .25s,color .25s,border-color .25s}.wishlist-btn:hover,.wishlist-btn.primary{background:#5a4a3a;color:#fefdf9}.wishlist-btn.primary:hover{background:#3a291c;border-color:#3a291c}.wishlist-btn.primary.is-copied{background:#8a6d45;border-color:#8a6d45}.wishlist-btn .bx{font-size:16px;font-style:normal}.modal-inner.calendar p{display:flex;gap:10px;margin-bottom:4px}.modal-inner.calendar p span{font-family:EB Garamond,serif;font-size:15px;color:#000}.modal-inner.location p{font-family:EB Garamond,serif;font-size:15px;color:#000;font-weight:300;line-height:.8}.modal-inner.music p{font-family:EB Garamond,serif;font-size:15px;color:#000;text-align:center}.music-credit{font-size:13px!important;opacity:.7}.music-visualizer{display:flex;align-items:flex-end;justify-content:center;gap:7px;height:40px;margin:12px 0;width:100%}.vis-bar{display:block;width:8px;border-radius:3px;background:var(--card-accent-soft);opacity:.2;height:6px}.music-visualizer.playing .vis-bar{opacity:.65;animation:visBar 1s ease-in-out infinite alternate}.music-visualizer.playing .vis-bar:nth-child(1){animation-duration:.7s;animation-delay:0s}.music-visualizer.playing .vis-bar:nth-child(2){animation-duration:.9s;animation-delay:.1s}.music-visualizer.playing .vis-bar:nth-child(3){animation-duration:.6s;animation-delay:.2s}.music-visualizer.playing .vis-bar:nth-child(4){animation-duration:1.1s;animation-delay:.05s}.music-visualizer.playing .vis-bar:nth-child(5){animation-duration:.8s;animation-delay:.3s}.music-visualizer.playing .vis-bar:nth-child(6){animation-duration:1s;animation-delay:.15s}.music-visualizer.playing .vis-bar:nth-child(7){animation-duration:.65s;animation-delay:.25s}.music-visualizer.playing .vis-bar:nth-child(8){animation-duration:.85s;animation-delay:.08s}.music-visualizer.playing .vis-bar:nth-child(9){animation-duration:.75s;animation-delay:.18s}@keyframes visBar{0%{height:4px}to{height:34px}}.music-controls{margin-top:12px}.play-btn{display:flex;align-items:center;gap:8px;padding:10px 28px;background:var(--card-bg);border:none;border-radius:100px;cursor:pointer;font-size:15px;font-family:EB Garamond,serif;font-weight:600;transition:opacity .2s}.play-btn .bx{font-size:20px;color:var(--card-accent)}.play-btn:hover{opacity:.85}.contact-list{width:100%;display:flex;flex-direction:column;gap:14px;margin-top:4px}.contact-person{display:flex;align-items:center;justify-content:space-between;width:100%;padding-bottom:12px;border-bottom:1px solid rgba(179,155,120,.35)}.contact-person:last-child{padding-bottom:0;border-bottom:none}.contact-left{display:flex;align-items:center;gap:8px}.contact-info{display:flex;flex-direction:column}.contact-name{font-family:EB Garamond,serif;font-size:16px;color:#000}.contact-relation{font-family:EB Garamond,serif;font-style:italic;font-size:12.5px;letter-spacing:.4px;color:#8a7565;margin-top:1px}.contact-right{display:flex;gap:10px}.contact-right button{background:transparent;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center}.contact-right .bx{font-size:28px;color:#000;transition:opacity .2s}.contact-right button:hover .bx{opacity:.7}.modal-inner.success{flex-direction:row;gap:16px;padding:8px 0;align-items:center;justify-content:flex-start;width:100%}.modal-inner.success .bx{font-size:56px;color:#adff2f}.modal-inner.success p{font-family:EB Garamond,serif;font-size:16px;color:#111;font-weight:300;line-height:1.6}.loading-screen{width:100%;min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--card-bg)}.loading-block{display:flex;flex-direction:column;align-items:center;gap:14px}.loading-heart{font-size:22px;color:var(--card-accent-soft);animation:loadingHeartPulse 1.3s ease-in-out infinite}.loading-script{font-family:Pinyon Script,serif;font-size:34px;color:var(--card-accent-light);margin:0}.loading-bar-track{width:180px;height:6px;border-radius:100px;background:var(--card-info-bg);border:1px solid var(--card-accent);overflow:hidden}.loading-bar-fill{height:100%;border-radius:100px;background:var(--card-accent-light);transition:width .2s ease-out}.loading-percent{font-family:EB Garamond,serif;font-size:13px;letter-spacing:1px;color:var(--card-accent-info);margin:0}@keyframes loadingHeartPulse{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}@media (prefers-reduced-motion: reduce){.loading-heart{animation:none}.loading-bar-fill{transition:none}}@media (max-width: 600px){.card,.footer,.toggle-menu{max-width:100%}}.made-by{display:flex;flex-direction:column;align-items:center;gap:2px;padding:12px 0 22px}.made-by__label{font-family:EB Garamond,serif;font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:#8a7565}.made-by__logo{width:92px;height:auto;opacity:.92;-webkit-user-select:none;user-select:none}.event-intro{white-space:pre-line}.feathers{position:fixed;top:0;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:420px;z-index:800;pointer-events:none;overflow:hidden}.feather{position:absolute;top:-12%;left:var(--fe-left);width:var(--fe-size, 16px);aspect-ratio:24 / 64;opacity:0;animation:feFall var(--fe-dur) linear var(--fe-delay) infinite;will-change:top,opacity}.feather svg{display:block;overflow:visible;filter:drop-shadow(0 1px 2px rgba(110,76,34,.1))}.fe-vane{fill:#fffaf0;stroke:#c9ad80;stroke-width:.7}.fe-barbs{fill:none;stroke:#d9c3a0;stroke-width:.5;stroke-linecap:round}.fe-quill{fill:none;stroke:#b8976a;stroke-width:.8;stroke-linecap:round}.fe-sway{display:block;width:100%;height:100%;transform-origin:50% 10%;animation:feSway var(--fe-sway, 5s) ease-in-out infinite alternate}.feather.f1{--fe-left: 10%;--fe-size: 16px;--fe-dur: 22s;--fe-delay: -4s;--fe-sway: 4.6s}.feather.f2{--fe-left: 78%;--fe-size: 12px;--fe-dur: 26s;--fe-delay: -15s;--fe-sway: 5.4s}.feather.f3{--fe-left: 42%;--fe-size: 11px;--fe-dur: 30s;--fe-delay: -9s;--fe-sway: 6.2s}.feather.f4{--fe-left: 62%;--fe-size: 17px;--fe-dur: 24s;--fe-delay: 3s;--fe-sway: 4.2s}.feather.f5{--fe-left: 24%;--fe-size: 12px;--fe-dur: 28s;--fe-delay: -20s;--fe-sway: 5.8s}.feather.f6{--fe-left: 88%;--fe-size: 14px;--fe-dur: 32s;--fe-delay: 10s;--fe-sway: 5s}@keyframes feFall{0%{top:-12%;opacity:0}10%{opacity:.45}85%{opacity:.45}to{top:108%;opacity:0}}@keyframes feSway{0%{transform:translate(-14px) rotate(-28deg)}to{transform:translate(14px) rotate(24deg)}}@media (prefers-reduced-motion: reduce){.feathers{display:none}}.scroll-hint{position:fixed;z-index:950;right:max(10px,calc(50% - 200px));bottom:calc(90px + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;align-items:center;gap:8px;padding:0;border:0;background:none;color:var(--hint-ink, #8a7565);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:opacity .3s ease,visibility 0s}.scroll-hint.is-up{flex-direction:column-reverse}.scroll-hint.is-hidden{opacity:0;visibility:hidden;transition:opacity .2s ease,visibility 0s linear .2s}.scroll-hint-line{position:relative;width:1px;height:34px;overflow:hidden;background:color-mix(in srgb,var(--hint-ink, #8a7565) 28%,transparent)}.scroll-hint-line i{position:absolute;left:-1.5px;top:0;width:4px;height:4px;border-radius:50%;background:var(--hint-ink, #8a7565);animation:hintDotDown 1.8s cubic-bezier(.45,0,.55,1) infinite}.scroll-hint.is-up .scroll-hint-line i{animation-name:hintDotUp}.scroll-hint-btn{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;border:1px solid color-mix(in srgb,var(--hint-ink, #8a7565) 35%,transparent);background:#ffffffc7;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 4px 12px #0000001a;transition:background .25s ease,color .25s ease,transform .25s ease}.scroll-hint-btn .bx{font-size:20px;line-height:1}@media (hover: hover){.scroll-hint:hover .scroll-hint-btn{background:var(--hint-ink, #8a7565);color:#fff;transform:translateY(2px)}.scroll-hint.is-up:hover .scroll-hint-btn{transform:translateY(-2px)}}.scroll-hint:active .scroll-hint-btn{transform:scale(.92)}.scroll-hint:focus-visible{outline:none}.scroll-hint:focus-visible .scroll-hint-btn{outline:2px solid var(--hint-ink, #8a7565);outline-offset:2px}@keyframes hintDotDown{0%{transform:translateY(-6px);opacity:0}20%{opacity:1}80%{opacity:1}to{transform:translateY(36px);opacity:0}}@keyframes hintDotUp{0%{transform:translateY(36px);opacity:0}20%{opacity:1}80%{opacity:1}to{transform:translateY(-6px);opacity:0}}@media (prefers-reduced-motion: reduce){.scroll-hint-line i{animation:none;top:50%;opacity:1}}.wrapper{background:var(--splash-bg) center / cover no-repeat,#f1e6d5}@media (min-aspect-ratio: 861/1827){.wrapper{background-size:auto 100%}}.splash-stage{padding:0;gap:0}.splash-plaque{position:relative;container-type:inline-size;width:100%;height:100%;max-width:min(460px,calc(100vh * 861 / 1827));display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6.5vh;padding:4vh min(14vw,calc(100vh * 861 / 1827 * .14),64px) 14vh}.splash-plaque:hover,.splash-plaque:active{transform:none}.splash-heading{display:flex;flex-direction:column;align-items:center;gap:0;text-align:center}.splash-kicker{font-size:clamp(11px,3.5cqw,15px);letter-spacing:.28em;text-indent:.28em;line-height:1.7;color:#8b632c;font-weight:500;margin-bottom:4.2vh;text-wrap:balance}.splash-names{display:flex;flex-direction:column;align-items:center;font-size:clamp(48px,18cqw,76px);line-height:1;color:#6e4c22}.splash-name{display:block;overflow-wrap:anywhere;text-shadow:0 1px 0 rgba(255,255,255,.6)}.splash-names .splash-amp{font-size:.4em;color:#a3824f;margin:.25em 0 .15em;line-height:1}.splash-divider{position:relative;display:block;width:40%;height:1px;margin:4.2vh 0 3vh;background:linear-gradient(90deg,transparent,#b89a6a 30%,#b89a6a 70%,transparent)}.splash-divider:after{content:"";position:absolute;left:50%;top:50%;width:6px;height:6px;background:#f1e6d5;border:1px solid #b89a6a;transform:translate(-50%,-50%) rotate(45deg)}.splash-when{display:flex;flex-direction:column;align-items:center;gap:1vh;color:#5a4a3a;font-family:EB Garamond,serif}.splash-day{font-size:clamp(11px,3.6cqw,15px);letter-spacing:.32em;text-indent:.32em;text-transform:uppercase;color:#8b632c}.splash-date{font-size:clamp(18px,6cqw,25px);letter-spacing:.08em;white-space:nowrap}.splash-tap{font-family:EB Garamond,serif;font-size:clamp(10px,3cqw,13px);letter-spacing:.26em;text-indent:.26em;text-transform:uppercase;color:#6e4c22;padding:6px 16px;border-radius:999px;white-space:nowrap;border:1px solid rgba(139,99,44,.45);background:#fffcf58c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);box-shadow:0 2px 10px #6e4c2214;animation:splashTapPulse 2.2s ease-in-out infinite}@keyframes splashTapPulse{0%,to{opacity:.75;transform:scale(1)}50%{opacity:1;transform:scale(1.04)}}.intro-content{top:23%;bottom:31%;padding:0 20%}.intro-content .walimatul{font-size:clamp(10px,3.3cqw,14px);letter-spacing:.28em;text-indent:.28em;text-transform:uppercase;color:#8b632c;margin-bottom:6cqw}.intro-content h2{font-size:clamp(42px,15cqw,64px);line-height:1;margin:0}.intro-content h3.intro-amp{margin:1.2cqw 0 1.6cqw;font-size:clamp(16px,5.4cqw,22px);line-height:1;color:#a3824f}.intro-divider{position:relative;display:block;width:40%;height:1px;margin:6cqw 0 4.5cqw;background:linear-gradient(90deg,transparent,#b89a6a 30%,#b89a6a 70%,transparent)}.intro-divider:after{content:"";position:absolute;left:50%;top:50%;width:6px;height:6px;background:#f4ebdc;border:1px solid #b89a6a;transform:translate(-50%,-50%) rotate(45deg)}.intro-when{margin-top:0;max-width:100%;color:#8b632c}.intro-day{font-size:clamp(10px,3.1cqw,13px);letter-spacing:.3em;text-indent:.3em;margin-bottom:1.6cqw}.intro-date{font-size:clamp(15px,5.2cqw,21px);letter-spacing:.08em}.intro-hashtag{margin-top:3cqw;font-size:clamp(11px,3.6cqw,15px);letter-spacing:.12em;color:#a3824f;font-style:italic}.rsvp-tray{width:92%;max-width:400px;margin:16px auto 8px;container-type:inline-size}.rsvp-tray-img{filter:drop-shadow(0 6px 12px rgba(40,30,20,.12))}.rsvp-tray-inner{position:absolute;left:22%;right:22%;top:27%;bottom:30%;transform:none;width:auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2.4cqw;text-align:center}.rsvp-tray-title{font-family:Pinyon Script,serif;font-size:clamp(22px,8.5cqw,34px);line-height:1;color:#8b632c;margin:0}.rsvp-tray-text{font-family:EB Garamond,serif;font-style:italic;font-size:clamp(11px,3.5cqw,14px);line-height:1.5;color:#5a4a3a;margin:0;text-wrap:balance}.rsvp-btn{display:inline-flex;align-items:center;justify-content:center;margin-top:1.4cqw;padding:2cqw 5cqw;border:1px solid #b39b78;border-radius:999px;background:#fffcf6d9;box-shadow:0 2px 8px #8b632c1f;color:#4a3526;font-family:EB Garamond,serif;font-size:clamp(9px,2.7cqw,12px);font-weight:700;letter-spacing:.2em;text-indent:.2em;text-transform:uppercase;white-space:nowrap;cursor:pointer;transition:background .25s ease,color .25s ease,border-color .25s ease,transform .2s ease}.rsvp-btn:hover{background:#8b632c;border-color:#8b632c;color:#fffaf2}.rsvp-btn:active{transform:scale(.97)}.ucapan-heart{aspect-ratio:1 / 1}.ucapan-khas-content{padding:22% 22% 23%;gap:7px}.ucapan-khas-content .ucapan-khas-controls{margin-top:6px;gap:6px}.ucapan-khas-content .ucapan-khas-nav button{font-size:22px}.ucapan-khas-content .ucapan-khas-btn{padding:6px 16px;font-size:13px;margin-top:0}.ucapan-khas-title{color:#8b632c;font-size:26px}.ucapan-khas-msg{color:#5a4a3a;font-size:13.5px;line-height:1.6}.ucapan-khas-name{color:#8b632c;font-size:19px}.ucapan-khas-empty{color:#8a7565;font-size:13px}.lace-content{top:15%;bottom:15%;left:20%;right:20%}.card{background:var(--paper-bg) center top / 100% auto repeat-y,#f8f2e7}
