.motion-fx{position:fixed;inset:0;z-index:120;pointer-events:none;overflow:hidden;opacity:0;transition:opacity .55s ease}.motion-fx.is-active{opacity:1}.motion-fx.is-burst .motion-p{animation-duration:calc(var(--dur) * .42)!important}.motion-fx--calm.is-active{opacity:.92}.motion-fx--festive.is-active{opacity:1}.motion-p{position:absolute;top:-12%;left:calc(var(--l) * 1%);width:var(--s);height:var(--s);opacity:0;will-change:transform,opacity;animation-name:motion-fall;animation-duration:var(--dur);animation-delay:var(--d);animation-timing-function:linear;animation-iteration-count:infinite;background:#f0c14a;box-shadow:0 0 0 1px #ffffff8c,0 2px 10px #00000038}.motion-p.tone-1{background:#ff7a59}.motion-p.tone-2{background:#fff;box-shadow:0 0 0 1px #00000014,0 2px 10px #0000002e}.motion-p.tone-3{background:color-mix(in srgb,var(--c-accent, #c9a227) 70%,#fff)}.motion-fx--confetti .motion-p{border-radius:2px;animation-name:motion-confetti}.motion-fx--confetti .motion-p:nth-child(3n){width:calc(var(--s) * .5);height:calc(var(--s) * 1.35)}.motion-fx--confetti .motion-p:nth-child(3n+1){border-radius:50%}.motion-fx--petals .motion-p{border-radius:60% 40%;animation-name:motion-petal}.motion-fx--stars .motion-p{clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);top:calc(var(--top) * 1%);animation-name:motion-twinkle-drift;animation-duration:calc(3.2s + var(--d) * .25);animation-timing-function:ease-in-out}.motion-fx--sparkle .motion-p{clip-path:polygon(50% 0%,56% 44%,100% 50%,56% 56%,50% 100%,44% 56%,0% 50%,44% 44%);top:calc(var(--top) * 1%);animation-name:motion-sparkle-drift;animation-duration:calc(2.6s + var(--d) * .2);animation-timing-function:ease-in-out;box-shadow:0 0 10px #f0c14aa6,0 0 0 1px #ffffff73}.motion-fx--snow .motion-p{border-radius:50%;background:#fff;box-shadow:0 0 6px #ffffffb3;animation-name:motion-fall}.motion-deco span{position:absolute;border-radius:50%;opacity:.22;filter:blur(1px);animation:deco-float 10s ease-in-out infinite}.motion-deco .deco-a{width:120px;height:120px;left:8%;top:18%;background:color-mix(in srgb,var(--c-primary, #c9a227) 45%,transparent)}.motion-deco .deco-b{width:90px;height:90px;right:10%;top:55%;background:color-mix(in srgb,var(--c-accent, #ff7a59) 45%,transparent);animation-delay:1.5s}.motion-deco .deco-c{width:70px;height:70px;left:40%;bottom:12%;background:color-mix(in srgb,var(--c-primary, #c9a227) 30%,#fff);animation-delay:3s}.deco-islamic .motion-deco .deco-a{clip-path:polygon(50% 0%,100% 50%,50% 100%,0% 50%);border-radius:0}.deco-birthday .motion-deco .deco-b{border-radius:50%/60% 60% 40% 40%}@keyframes deco-float{0%,to{transform:translateY(0)}50%{transform:translateY(-18px)}}@keyframes motion-fall{0%{transform:translateZ(0) rotate(0);opacity:0}8%{opacity:.95}90%{opacity:.75}to{transform:translate3d(var(--drift),115vh,0) rotate(var(--rot));opacity:0}}@keyframes motion-petal{0%{transform:translateZ(0) rotate(0) scale(1);opacity:0}10%{opacity:.95}50%{transform:translate3d(calc(var(--drift) * .6),55vh,0) rotate(180deg) scale(.95)}to{transform:translate3d(var(--drift),115vh,0) rotate(360deg) scale(.85);opacity:0}}@keyframes motion-confetti{0%{transform:translateZ(0) rotate(0);opacity:0}8%{opacity:1}to{transform:translate3d(var(--drift),115vh,0) rotate(calc(var(--rot) + 540deg));opacity:0}}@keyframes motion-twinkle-drift{0%,to{transform:translateZ(0) scale(.45) rotate(0);opacity:.25}35%{transform:translate3d(calc(var(--drift) * .25),-12px,0) scale(1.15) rotate(18deg);opacity:1}65%{transform:translate3d(calc(var(--drift) * .45),8px,0) scale(.75) rotate(-12deg);opacity:.55}}@keyframes motion-sparkle-drift{0%,to{transform:translateZ(0) scale(.2) rotate(0);opacity:0}30%{transform:translate3d(calc(var(--drift) * .2),-10px,0) scale(1.2) rotate(45deg);opacity:1}55%{transform:translate3d(calc(var(--drift) * .35),6px,0) scale(.65) rotate(90deg);opacity:.4}}@media(max-width:540px){.motion-fx .p-hi{display:none}.motion-p{animation-duration:calc(var(--dur) * 1.15)}.motion-deco{display:none}}@media(prefers-reduced-motion:reduce){.motion-fx{display:none!important}}:root{--reveal-distance: 28px;--reveal-scale: .97;--reveal-duration: .7s}body[data-atmosphere=festive]{--reveal-distance: 36px;--reveal-duration: .85s}body[data-atmosphere=minimal]{--reveal-distance: 12px;--reveal-duration: .4s}.cover{transition:opacity .55s ease,transform .55s ease}.cover.cover-opening{opacity:0;transform:scale(1.04);pointer-events:none}#invitation.is-entering .section.reveal:first-child,#invitation.is-entering .greeting{animation:hero-enter .9s cubic-bezier(.16,1,.3,1) both}@keyframes hero-enter{0%{opacity:0;transform:translateY(24px) scale(.98)}to{opacity:1;transform:none}}.reveal{opacity:0;transition:opacity var(--reveal-duration) cubic-bezier(.16,1,.3,1),transform var(--reveal-duration) cubic-bezier(.16,1,.3,1);transition-delay:calc(var(--reveal-i, 0) * 70ms)}body[data-reveal=fade] .reveal{transform:translateY(12px)}body[data-reveal=slide] .reveal{transform:translateY(var(--reveal-distance))}body[data-reveal=zoom] .reveal{transform:scale(var(--reveal-scale))}body[data-reveal=off] .reveal,.reveal.is-visible{opacity:1;transform:none}.cd-num.is-tick,.ccd-num.is-tick,.cd-n.is-tick{animation:cd-tick .35s ease}@keyframes cd-tick{0%{transform:translateY(4px);opacity:.4}to{transform:none;opacity:1}}.avatar-frame,.c-avatar{position:relative;box-sizing:border-box;display:flex;align-items:center;justify-content:center;width:88px;height:88px;margin:0 auto 1rem;border-radius:50%;font-family:var(--font-serif);font-size:2.05rem;font-weight:600;letter-spacing:.04em;line-height:1;color:#fff;background:linear-gradient(145deg,color-mix(in srgb,var(--c-primary) 88%,white),var(--c-primary) 42%,color-mix(in srgb,var(--c-accent) 75%,black));border:1.5px solid color-mix(in srgb,var(--c-primary) 40%,white);box-shadow:0 0 0 7px color-mix(in srgb,var(--c-primary) 14%,transparent),0 12px 32px color-mix(in srgb,var(--c-primary) 30%,transparent),inset 0 1px #ffffff38;text-shadow:0 1px 2px rgba(0,0,0,.3);transition:transform .3s ease,box-shadow .3s ease}.c-avatar{width:72px;height:72px;font-size:1.7rem;margin-bottom:.75rem}.initial-ring{position:relative;box-sizing:border-box;display:flex;align-items:center;justify-content:center;width:76px;height:76px;margin:0 auto 1rem;border-radius:50%;font-family:var(--font-serif);font-size:1.75rem;font-weight:600;letter-spacing:.04em;line-height:1;color:var(--c-accent);background:color-mix(in srgb,var(--c-primary) 10%,var(--c-card));border:1.5px solid var(--c-primary);box-shadow:0 0 0 6px color-mix(in srgb,var(--c-primary) 12%,transparent),0 8px 22px color-mix(in srgb,var(--c-primary) 18%,transparent);transition:transform .3s ease,box-shadow .3s ease}.couple-grid-solo .avatar-frame{width:96px;height:96px;font-size:2.25rem}.c-cards-solo .c-avatar{width:84px;height:84px;font-size:1.95rem}.person:hover .avatar-frame,.person:hover .initial-ring,.c-card:hover .c-avatar{transform:scale(1.04)}.avatar-frame img,.c-avatar img,.initial-ring img{width:100%;height:100%;object-fit:cover;border-radius:inherit;display:block}.avatar-frame:has(img),.c-avatar:has(img),.initial-ring:has(img){background:transparent;color:transparent;text-shadow:none;padding:0;overflow:hidden}[data-theme=velvet] .avatar-frame,[data-theme=navy] .avatar-frame,[data-theme=dark] .avatar-frame{color:#fff;border-color:color-mix(in srgb,var(--c-primary) 55%,white);box-shadow:0 0 0 7px color-mix(in srgb,var(--c-primary) 16%,transparent),0 14px 36px #00000073,inset 0 1px #ffffff2e}[data-theme=navy] .avatar-frame{color:#0f1c2e;text-shadow:none}.schedule-card.event-card{background:var(--c-card);color:var(--c-text)}.schedule-card.event-card h3{color:var(--c-accent)}.schedule-card .event-date,.schedule-card .event-time{color:var(--c-text)}.schedule-card .event-venue,.schedule-card .event-addr{color:var(--c-muted)}#rsvp-form input:not([type=radio]):not([type=checkbox]):not([type=hidden]),#rsvp-form textarea,#comment-form input:not([type=radio]):not([type=checkbox]):not([type=hidden]),#comment-form textarea,.form-soft input:not([type=radio]):not([type=checkbox]):not([type=hidden]),.form-soft textarea{background:var(--c-card)!important;color:var(--c-text)!important;border-color:color-mix(in srgb,var(--c-primary) 35%,transparent)!important;caret-color:var(--c-accent)}#rsvp-form input::placeholder,#rsvp-form textarea::placeholder,#comment-form input::placeholder,#comment-form textarea::placeholder,.form-soft input::placeholder,.form-soft textarea::placeholder{color:var(--c-muted);opacity:.85}#rsvp-form input:focus,#rsvp-form textarea:focus,#comment-form input:focus,#comment-form textarea:focus,.form-soft input:focus,.form-soft textarea:focus{outline:none;border-color:var(--c-primary)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--c-primary) 22%,transparent)}#rsvp-form .radio,.form-soft .r,.rg .r,.radio-group .radio{background:var(--c-card);color:var(--c-text);border-color:color-mix(in srgb,var(--c-primary) 30%,transparent)}#comments-list .comment,.comments-list .comment{background:var(--c-card);color:var(--c-text);border-color:color-mix(in srgb,var(--c-primary) 22%,transparent)}.event-actions{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.85rem;justify-content:center}.event-actions--calendar{margin-top:.5rem}.event-actions--maps+.event-actions--calendar{margin-top:.55rem;padding-top:.55rem;border-top:1px solid color-mix(in srgb,var(--c-primary) 14%,transparent)}.map-link,.cal-link{display:inline-flex;align-items:center;gap:.3rem;padding:.4rem .75rem;border-radius:999px;border:1px solid color-mix(in srgb,var(--c-primary) 35%,transparent);color:var(--c-primary);text-decoration:none;font-size:.78rem;font-weight:600;background:color-mix(in srgb,var(--c-primary) 8%,transparent);transition:transform .2s ease,background .2s ease}.map-link:hover,.cal-link:hover{background:color-mix(in srgb,var(--c-primary) 16%,transparent);transform:translateY(-1px)}.dress-code{text-align:center;margin:1.5rem auto 0;max-width:28rem;padding:1rem 1.25rem;border-radius:16px;border:1px dashed color-mix(in srgb,var(--c-accent) 45%,transparent);background:color-mix(in srgb,var(--c-accent) 8%,transparent)}.dress-code--below{margin-top:1.75rem}.dress-label{margin:0 0 .35rem;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--c-accent);font-weight:700}.dress-text{margin:0;font-size:.95rem;line-height:1.5;color:var(--c-text)}.music-player{position:fixed}.music-player .music-title{position:absolute;right:calc(100% + .5rem);top:50%;transform:translateY(-50%);white-space:nowrap;max-width:11rem;overflow:hidden;text-overflow:ellipsis;font-size:.72rem;padding:.35rem .65rem;border-radius:999px;background:color-mix(in srgb,var(--c-bg) 88%,transparent);border:1px solid color-mix(in srgb,var(--c-primary) 25%,transparent);color:var(--c-text);opacity:0;pointer-events:none;transition:opacity .25s ease}.music-player:hover .music-title,.music-player.is-playing .music-title{opacity:1}.lightbox-meta{position:absolute;bottom:1.25rem;left:50%;transform:translate(-50%);color:#fff;font-size:.85rem;letter-spacing:.04em;background:#00000073;padding:.35rem .75rem;border-radius:999px}.comment{animation:comment-in .45s ease both}@keyframes comment-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.comment-reactions{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.55rem}.react-btn{border:1px solid color-mix(in srgb,var(--c-primary) 22%,transparent);background:color-mix(in srgb,var(--c-bg) 80%,#fff);border-radius:999px;padding:.2rem .55rem;font-size:.78rem;cursor:pointer;display:inline-flex;align-items:center;gap:.25rem;color:var(--c-text);transition:transform .15s ease,background .15s ease}.react-btn:hover{transform:translateY(-1px)}.react-btn.is-mine{background:color-mix(in srgb,var(--c-primary) 18%,transparent);border-color:color-mix(in srgb,var(--c-primary) 45%,transparent)}.react-btn:active{transform:scale(.96)}.rsvp-section.is-success{position:relative}.rsvp-section.is-success:after{content:"Terima kasih! Semoga hari bahagianya sempurna.";display:block;margin-top:.75rem;text-align:center;color:var(--c-accent);font-weight:600;animation:comment-in .5s ease}body[data-event-type=birthday] .cover-ornament:before,body[data-event-type=graduation] .cover-ornament:before{content:""}.couple-grid-group{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));justify-items:center;text-align:center;gap:1.25rem 1.5rem}.couple-grid-group .amp-lg{display:none}.c-frame-group{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1.25rem;justify-items:center;text-align:center}.c-frame-group .c-div{display:none}@media(prefers-reduced-motion:reduce){.reveal,.cover,#invitation.is-entering .section.reveal:first-child,.cd-num,.ccd-num,.cd-n,.comment{animation:none!important;transition:none!important;opacity:1!important;transform:none!important}}.cover:before{content:"";position:absolute;inset:0;background:#00000073}.cover-overlay{position:relative;padding:2rem;max-width:500px}.guest-label{font-size:.7rem;letter-spacing:.25em;text-transform:uppercase;margin:0;opacity:.6}.guest-name{font-size:1.25rem;font-weight:300;margin:.15rem 0 1.5rem;letter-spacing:.02em}.couple{font-size:clamp(2.4rem,6vw,3.6rem);margin:0 0 1rem;font-weight:300;letter-spacing:-.02em}.amp{font-style:italic;opacity:.6;margin:0 .3rem;font-size:.8em}.date{font-size:.85rem;letter-spacing:.15em;text-transform:uppercase;opacity:.7;margin:0 0 2rem}.open-btn{background:transparent;border:1px solid rgba(255,255,255,.6);color:#fff;padding:.7rem 2rem;border-radius:0;font-size:.85rem;cursor:pointer;letter-spacing:.1em;text-transform:uppercase;transition:all .3s}.open-btn:hover{background:#fff;color:#000}.music-btn{position:relative;width:44px;height:44px;border-radius:50%;border:none;background:#fffffff2;color:var(--c-accent);cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 12px #00000026;z-index:2}.music-ring{position:absolute;inset:0;border-radius:50%;border:2px solid #000;opacity:0;pointer-events:none}.music-btn.playing~.music-ring{animation:mp 1.6s ease-out infinite}@keyframes mp{0%{opacity:.5;transform:scale(1)}to{opacity:0;transform:scale(1.8)}}.invitation{padding-top:0}.section{padding:4rem 2rem;max-width:680px;margin:0 auto}.greeting{text-align:center;padding-top:5rem}.text{color:var(--c-muted);line-height:1.7;max-width:480px;margin:0 auto 2rem;font-size:.95rem}.names-large{font-family:var(--font-serif);font-size:clamp(1.6rem,4vw,2.4rem);margin-top:2rem;display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:.75rem}.nl-amp{font-style:italic;opacity:.4}.hline{font-size:1.3rem;font-weight:500;text-align:center;letter-spacing:.15em;text-transform:uppercase;margin:0 0 2rem;color:var(--c-text)}.event-row{padding:1rem 0;border-bottom:1px solid #eee;text-align:center}.event-row:last-child{border-bottom:none}.e-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--c-muted);display:block;margin-bottom:.25rem}.e-val{display:block;font-size:.95rem;color:var(--c-text);margin:.1rem 0}.e-addr{display:block;font-size:.82rem;color:var(--c-muted);margin:.2rem 0}.story-text{color:var(--c-muted);line-height:1.8;white-space:pre-line;font-size:.95rem;max-width:520px;margin:0 auto}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}.gallery-thumb{border:none;padding:0;cursor:pointer;overflow:hidden;aspect-ratio:1;background:#f0f0f0}.gallery-thumb img{width:100%;height:100%;object-fit:cover;transition:opacity .3s}.gallery-thumb:hover img{opacity:.8}.gallery-thumb:first-child{grid-column:span 2;grid-row:span 2}.cd-simple{display:flex;justify-content:center;gap:1.5rem}.cd-simple>div{text-align:center}.cd-n{display:block;font-family:var(--font-serif);font-size:2.4rem;color:var(--c-text);font-weight:300}.cd-simple small{color:var(--c-muted);font-size:.65rem;text-transform:uppercase;letter-spacing:.1em}form{max-width:400px;margin:1.5rem auto 0}form input,form textarea{width:100%;padding:.65rem .75rem;border:none;border-bottom:1px solid #ddd;font-size:.95rem;font-family:inherit;background:transparent;outline:none;transition:border .2s;margin-bottom:.5rem}form input:focus,form textarea:focus{border-bottom-color:var(--c-text)}form button{width:100%;background:var(--c-text);color:#fff;border:none;padding:.75rem;border-radius:0;font-size:.85rem;cursor:pointer;letter-spacing:.1em;text-transform:uppercase;transition:opacity .2s;margin-top:.5rem}form button:hover{opacity:.85}.rg{display:flex;gap:.5rem;margin-bottom:.5rem}.r{flex:1;cursor:pointer;text-align:center;padding:.6rem;border:1px solid #ddd;color:var(--c-text);font-size:.85rem;transition:all .2s}.r:has(input:checked){border-color:var(--c-text);background:var(--c-text);color:#fff}.comment{padding:.75rem 0;border-bottom:1px solid #eee}.comment:last-child{border-bottom:none}.comment strong{display:block;margin-bottom:.15rem;font-size:.9rem}.comment p{margin:0 0 .25rem;font-size:.88rem;color:var(--c-muted)}.comment small{color:#bbb;font-size:.7rem}.qris-image-wrap{background:var(--c-card);padding:1rem}.qris-image-wrap img{width:100%;display:block}.gift-subheading{font-size:.85rem;text-transform:uppercase;letter-spacing:.08em;color:var(--c-muted);margin:0 0 .75rem;text-align:center}.bank-item{background:var(--c-card);padding:.75rem 1rem;display:flex;flex-direction:column;gap:.2rem;text-align:left}.bank-item .bank-name{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--c-muted)}.copy-btn{background:none;border:1px solid #ddd;border-radius:4px;padding:.15rem .5rem;font-size:.7rem;cursor:pointer;color:var(--c-text);white-space:nowrap;transition:all .2s;line-height:1.4}.copy-btn:hover{background:#f5f5f5}.footer{text-align:center;padding:3rem 2rem 2rem;color:var(--c-muted);font-size:.85rem;border-top:1px solid #eee;margin-top:2rem}.fc{font-family:var(--font-serif);font-size:1.4rem;color:var(--c-text);margin:0 0 .5rem}.fc-credit a{color:#bbb;font-size:.75rem}@media(max-width:540px){.gallery-grid{grid-template-columns:repeat(2,1fr)}.gallery-thumb:first-child{grid-column:span 2;grid-row:span 1}}.cover:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#0f0f1ab3,#1a1a2ed9)}.cover-overlay{position:relative;padding:2rem;max-width:520px;z-index:1}.star-field{position:absolute;inset:0;pointer-events:none;overflow:hidden}.star{position:absolute;width:2px;height:2px;background:#fff;border-radius:50%;left:var(--x);top:var(--y);animation:twinkle 2s var(--d) infinite alternate}@keyframes twinkle{0%{opacity:.2}to{opacity:1}}.guest-label{font-size:.65rem;letter-spacing:.25em;text-transform:uppercase;margin:0;opacity:.5}.guest-name{font-family:var(--font-serif);font-size:1.5rem;margin:.25rem 0 1.5rem}.couple{font-size:clamp(2rem,6vw,3.4rem);margin:0 0 1rem;letter-spacing:.02em}.couple .amp{display:block;font-size:.6em;opacity:.5;margin:.1rem 0}.date{font-size:.85rem;letter-spacing:.12em;opacity:.7;margin:1rem 0 1.5rem}.ccd-item{display:flex;flex-direction:column;align-items:center;min-width:46px}.ccd-num{font-family:var(--font-serif);font-size:clamp(1.3rem,4vw,1.8rem);font-weight:600;line-height:1;text-shadow:0 0 20px rgba(201,169,110,.3)}.ccd-item small{font-size:.5rem;text-transform:uppercase;letter-spacing:.1em;opacity:.6;margin-top:.15rem}.ccd-sep{font-family:var(--font-serif);font-size:1.3rem;opacity:.3;line-height:1}.open-btn{background:linear-gradient(135deg,#c9a96e33,#c9a96e1a);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(201,169,110,.4);color:#c9a96e;padding:.75rem 2rem;border-radius:4px;font-size:.85rem;cursor:pointer;letter-spacing:.15em;text-transform:uppercase;transition:all .3s}.open-btn:hover{background:#c9a96e4d;box-shadow:0 0 30px #c9a96e26}.music-btn{position:relative;width:44px;height:44px;border-radius:50%;border:1px solid rgba(201,169,110,.3);background:#1a1a2ee6;color:#c9a96e;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:2;transition:all .2s}.music-btn:hover{box-shadow:0 0 20px #c9a96e33}.music-ring{position:absolute;inset:0;border-radius:50%;border:1px solid rgba(201,169,110,.3);opacity:0;pointer-events:none}.music-btn.playing~.music-ring{animation:mp 2s ease-out infinite}@keyframes mp{0%{opacity:.6;transform:scale(1)}to{opacity:0;transform:scale(1.6)}}.bismillah{font-size:1.5rem;margin:0 0 .5rem;color:#c9a96e}.heading{font-size:1.4rem;color:var(--c-accent);margin-bottom:1.5rem;letter-spacing:.1em;font-weight:400}.c-glass{background:#ffffff08;border:1px solid rgba(201,169,110,.15);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:20px;padding:2rem 1.5rem;display:grid;grid-template-columns:1fr auto 1fr;gap:1.5rem;align-items:center}.c-glass-solo{grid-template-columns:1fr;justify-items:center;text-align:center;max-width:360px;margin-inline:auto}.c-glass-group{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));justify-items:center;text-align:center;gap:1.25rem}.c-glass-group .c-divider{display:none}.p-label{font-size:.6rem;text-transform:uppercase;letter-spacing:.2em;color:var(--c-muted);display:block;margin-bottom:.5rem}.c-glass h2{font-size:1.4rem;margin:0 0 .5rem;color:var(--c-accent)}.bio,.parents{font-size:.8rem;color:var(--c-muted);margin:.2rem 0}.c-divider{color:var(--c-primary);font-size:1.2rem;opacity:.6}.e-card{background:#ffffff08;border:1px solid rgba(201,169,110,.12);border-radius:16px;padding:1.5rem;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.e-card h3{margin:0 0 .5rem;color:var(--c-accent);letter-spacing:.05em}.e-dt,.e-tm{margin:.15rem 0;font-weight:500}.e-vn,.e-ad{margin:.15rem 0;color:var(--c-muted);font-size:.85rem}.map-link{display:inline-block;margin-top:.75rem;color:#c9a96e;border:1px solid rgba(201,169,110,.3);padding:.3rem 1rem;font-size:.8rem;letter-spacing:.05em;transition:all .2s}.map-link:hover{background:#c9a96e1a}.countdown{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem}.countdown>div{background:#ffffff08;border:1px solid rgba(201,169,110,.1);border-radius:12px;padding:1rem .5rem;text-align:center}.countdown small{color:var(--c-muted);font-size:.65rem;text-transform:uppercase;letter-spacing:.08em}.story-text{color:var(--c-muted);line-height:1.8;white-space:pre-line}form input,form textarea{width:100%;padding:.6rem .75rem;border:1px solid rgba(201,169,110,.2);border-radius:6px;font-size:.9rem;font-family:inherit;background:#ffffff0a;color:var(--c-text);outline:none;transition:border .2s}form button{width:100%;background:linear-gradient(135deg,#c9a96e,#b89550);color:#0f0f1a;border:none;padding:.75rem;border-radius:6px;font-size:.85rem;cursor:pointer;font-weight:600;letter-spacing:.05em;transition:opacity .2s}.r{flex:1;cursor:pointer;text-align:center;padding:.55rem;border:1px solid rgba(201,169,110,.2);border-radius:6px;color:var(--c-text);font-size:.82rem;transition:all .2s}.r:has(input:checked){border-color:var(--c-primary);background:#c9a96e1f;color:var(--c-accent)}.comment{background:#ffffff08;border:1px solid rgba(201,169,110,.08);border-radius:12px;padding:.75rem 1rem;margin-bottom:.5rem}.g-thumb{border:none;padding:0;cursor:pointer;overflow:hidden;aspect-ratio:1;background:#ffffff0d;border-radius:4px}.g-thumb img{width:100%;height:100%;object-fit:cover;transition:opacity .3s}.g-thumb:first-child{grid-column:span 2;grid-row:span 2}.qris-image-wrap{background:#ffffff08;border:1px solid rgba(201,169,110,.1);border-radius:12px;padding:1rem}.gift-subheading{font-size:.8rem;text-transform:uppercase;letter-spacing:.1em;color:var(--c-accent);margin:0 0 .75rem;text-align:center}.bank-item{background:#ffffff08;border:1px solid rgba(201,169,110,.1);border-radius:10px;padding:.75rem 1rem;display:flex;flex-direction:column;gap:.2rem;text-align:left}.bank-item .bank-name{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--c-accent)}.bank-no{font-size:1rem;font-family:monospace;letter-spacing:.05em}.copy-btn{background:#ffffff0d;border:1px solid rgba(201,169,110,.2);border-radius:4px;padding:.15rem .5rem;font-size:.7rem;cursor:pointer;color:var(--c-accent);white-space:nowrap;transition:all .2s;line-height:1.4}.copy-btn:hover{background:#ffffff1a}.copy-btn.copied{background:#22c55e26;border-color:#22c55e4d;color:#22c55e}.lightbox{position:fixed;inset:0;background:#000000f2;z-index:300;display:flex;align-items:center;justify-content:center;padding:2rem}.lightbox img{max-width:90vw;max-height:85vh;border-radius:4px}.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);background:#ffffff1a;border:none;color:#fff;font-size:2.5rem;cursor:pointer;padding:.5rem 1rem;line-height:1;border-radius:4px}.footer{text-align:center;padding:3rem 1.5rem 2rem;color:var(--c-muted);font-size:.82rem;border-top:1px solid rgba(201,169,110,.08);margin-top:2rem}.fc{font-family:var(--font-serif);font-size:1.5rem;color:var(--c-accent);margin:0 0 .5rem}.fc-credit a{color:var(--c-muted);opacity:.5;font-size:.72rem}@media(max-width:540px){.c-glass{grid-template-columns:1fr}.c-divider{display:none}.countdown,.g-grid{grid-template-columns:repeat(2,1fr)}.g-thumb:first-child{grid-column:span 2;grid-row:span 1}}.cover:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#3d2b1fb3,#3d2b1fd9)}.leaf-top{margin-bottom:1rem;display:block;margin-left:auto;margin-right:auto}.guest-label{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;margin:0;opacity:.6}.guest-name{font-family:var(--font-serif);font-size:1.5rem;margin:.2rem 0 1.25rem}.couple{display:flex;flex-direction:column;font-size:clamp(1.8rem,5vw,3rem);line-height:1.1;margin:0 0 1rem}.couple .amp{font-style:italic;opacity:.6;margin:.1rem 0}.date{font-size:.9rem;letter-spacing:.1em;opacity:.8;margin:1rem 0 1.5rem}.ccd-num{font-family:var(--font-serif);font-size:clamp(1.3rem,4vw,1.8rem);font-weight:600;line-height:1}.ccd-sep{font-size:1rem;opacity:.4;line-height:1}.open-btn{background:#ffffff1f;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);border:1px solid rgba(255,255,255,.4);color:#fff;padding:.75rem 2.5rem;border-radius:4px;font-size:.9rem;cursor:pointer;transition:all .3s}.open-btn:hover{background:#fff3}.music-btn{position:relative;width:46px;height:46px;border-radius:50%;border:none;background:#fffffff2;color:var(--c-accent);cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 12px #00000026;z-index:2}.couple-grid{display:grid;grid-template-columns:1fr auto 1fr;gap:1.5rem;align-items:center}.initial-ring{width:64px;height:64px;border-radius:50%;border:2px solid var(--c-primary);display:flex;align-items:center;justify-content:center;margin:0 auto 1rem;font-family:var(--font-serif);font-size:1.6rem;color:var(--c-primary);background:#7d5a3c0f}.couple-grid h2{font-size:1.4rem;margin:0 0 .4rem;color:var(--c-accent)}.amp-lg{font-family:var(--font-serif);font-size:1.8rem;color:var(--c-primary);font-style:italic}.evt-cards{display:grid;gap:1rem}.evt-card{background:var(--c-card);border:1px solid #dccfc0;padding:1.25rem;position:relative;text-align:center}.evt-dot{width:8px;height:8px;border-radius:50%;background:var(--c-primary);margin:0 auto .75rem;opacity:.4}.evt-card h3{font-size:1.1rem;margin:0 0 .5rem;color:var(--c-accent)}.evt-dt,.evt-tm{margin:.15rem 0;font-weight:600;font-size:.9rem}.evt-vn,.evt-ad{margin:.15rem 0;color:var(--c-muted);font-size:.82rem}.map-link{display:inline-block;margin-top:.5rem;color:var(--c-accent);border-bottom:1px solid var(--c-primary);padding-bottom:2px;font-size:.82rem}.g-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.g-thumb{border:none;padding:4px;cursor:pointer;overflow:hidden;background:#fff;aspect-ratio:1;box-shadow:0 2px 8px #0000000f;transform:rotate(var(--r,0deg))}.g-thumb:nth-child(2n){--r:1.5deg}.g-thumb:nth-child(3n){--r:-1deg}.g-thumb img{width:100%;height:100%;object-fit:cover}.g-thumb:first-child{grid-column:span 2;aspect-ratio:2/1}.cd-warm{display:flex;justify-content:center;gap:1.5rem}.cd-warm>div{text-align:center}.cd-n{display:block;font-family:var(--font-serif);font-size:2.2rem;color:var(--c-accent)}.cd-warm small{color:var(--c-muted);font-size:.65rem;text-transform:uppercase;letter-spacing:.08em}form input,form textarea{width:100%;padding:.6rem .75rem;border:1px solid #dccfc0;font-size:.9rem;font-family:inherit;background:var(--c-card);color:var(--c-text);outline:none;transition:border .2s}form button{width:100%;background:var(--c-primary);color:#fff;border:none;padding:.75rem;font-size:.9rem;cursor:pointer;transition:opacity .2s}.r{flex:1;cursor:pointer;text-align:center;padding:.55rem;border:1px solid #dccfc0;color:var(--c-text);font-size:.82rem;transition:all .2s}.r:has(input:checked){border-color:var(--c-primary);background:var(--c-primary);color:#fff}.comment{background:var(--c-card);border:1px solid #dccfc0;padding:.75rem 1rem;margin-bottom:.5rem;text-align:left}.comment strong{color:var(--c-accent);display:block;margin-bottom:.15rem}.comment small{color:var(--c-muted);font-size:.65rem}.qris-image-wrap{background:var(--c-card);border:1px solid #dccfc0;border-radius:12px;padding:1rem}.qris-image-wrap img{width:100%;display:block;border-radius:6px}.bank-item{background:var(--c-card);border:1px solid #dccfc0;border-radius:10px;padding:.75rem 1rem;display:flex;flex-direction:column;gap:.2rem;text-align:left}.copy-btn{background:none;border:1px solid #dccfc0;border-radius:4px;padding:.15rem .5rem;font-size:.7rem;cursor:pointer;color:var(--c-accent);white-space:nowrap;transition:all .2s;line-height:1.4}.copy-btn:hover{background:#efe4d6}.lightbox img{max-width:90vw;max-height:85vh}.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);background:#ffffff26;border:none;color:#fff;font-size:2.5rem;cursor:pointer;padding:.5rem 1rem;line-height:1}.footer{text-align:center;padding:3rem 1.5rem 2rem;background:#3d2b1f;color:#dccfc0;margin-top:2rem}.fc{font-family:var(--font-serif);font-size:1.5rem;color:#fff;margin:0 0 .5rem}.fc-credit a{color:#8b7355;font-size:.72rem}@media(max-width:540px){.couple-grid{grid-template-columns:1fr}.amp-lg{display:none}.g-grid{grid-template-columns:1fr}.g-thumb:first-child{grid-column:span 1;aspect-ratio:1}}.cover:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#c4677f80,#a0485c99)}.heart-top{margin-bottom:1rem;display:block;margin-left:auto;margin-right:auto}.guest-label{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;margin:0;opacity:.7}.couple{font-size:clamp(1.6rem,5vw,2.8rem);margin:0 0 1rem;line-height:1.2}.couple .amp{display:block;font-size:.5em;opacity:.6;margin:.1rem 0;color:#ffcdd2}.date{font-size:.85rem;letter-spacing:.12em;opacity:.85;margin:1rem 0 1.5rem}.ccd-num{font-family:var(--font-serif);font-size:clamp(1.2rem,4vw,1.7rem);font-weight:600;line-height:1}.ccd-sep{font-size:.8rem;opacity:.4;line-height:1}.open-btn{background:#fff3;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.5);color:#fff;padding:.75rem 2.5rem;border-radius:50px;font-size:.9rem;cursor:pointer;transition:all .3s}.open-btn:hover{background:#ffffff4d}.music-btn{position:relative;width:44px;height:44px;border-radius:50%;border:none;background:#fff;color:var(--c-accent);cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px #c4677f33;z-index:2}@keyframes mp{0%{opacity:.6;transform:scale(1)}to{opacity:0;transform:scale(1.7)}}.invitation{padding-top:3rem;position:relative}.page-bg{position:fixed;inset:0;background:radial-gradient(ellipse at 50% 0,rgba(212,135,155,.08),transparent 70%);pointer-events:none;z-index:0}.section{padding:3rem 1.5rem;max-width:680px;margin:0 auto;text-align:center;position:relative;z-index:1}.subtitle{font-size:1.05rem;color:var(--c-accent);margin:0 0 1rem}.c-cards{display:grid;grid-template-columns:1fr auto 1fr;gap:1rem;align-items:center}.c-cards-solo{grid-template-columns:1fr;justify-items:center}.c-cards-solo .c-card{width:100%;max-width:300px}.c-cards-group{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));justify-items:center}.c-cards-group .c-card{width:100%;max-width:280px}.c-cards-group .c-heart{display:none}.c-card{background:#fff;border-radius:24px;padding:1.5rem 1rem;box-shadow:0 8px 32px #c4677f14;text-align:center}.c-avatar{width:60px;height:60px;border-radius:50%;background:linear-gradient(135deg,var(--c-primary),var(--c-accent));display:flex;align-items:center;justify-content:center;margin:0 auto .75rem;color:#fff;font-family:var(--font-serif);font-size:1.5rem;box-shadow:0 4px 16px #c4677f40}.c-card h2{font-size:1.3rem;margin:0 0 .4rem;color:var(--c-accent)}.c-heart{color:var(--c-primary);font-size:1.5rem;opacity:.5}.heading{font-size:1.6rem;color:var(--c-accent);margin-bottom:1.5rem}.e-cards{display:grid;gap:1rem}.e-card{background:#fff;border-radius:20px;padding:1.5rem;box-shadow:0 4px 20px #c4677f0f}.e-ico{width:44px;height:44px;border-radius:16px;background:#d4879b1a;display:flex;align-items:center;justify-content:center;margin:0 auto .75rem;color:var(--c-primary)}.e-card h3{margin:0 0 .4rem;color:var(--c-accent);font-size:1.1rem}.e-d,.e-t{margin:.15rem 0;font-weight:600;font-size:.9rem}.e-v,.e-a{margin:.15rem 0;color:var(--c-muted);font-size:.82rem}.map-link{display:inline-block;margin-top:.5rem;color:var(--c-accent);font-size:.82rem;text-decoration:underline;text-underline-offset:2px}.g-soft{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}.g-btn{border:none;padding:0;cursor:pointer;overflow:hidden;border-radius:16px;aspect-ratio:1;background:#f5e4e8}.g-btn:first-child{grid-column:span 2;aspect-ratio:2/1}.cd-soft{display:flex;justify-content:center;gap:1.25rem}.cd-soft>div{text-align:center}.cd-soft small{color:var(--c-muted);font-size:.65rem;text-transform:uppercase;letter-spacing:.08em}.form-soft{max-width:440px;margin:1.5rem auto 0;text-align:left}.form-soft label{display:block;margin-bottom:.75rem;font-size:.82rem;color:var(--c-muted)}.form-soft input,.form-soft textarea{width:100%;padding:.6rem .75rem;border:1px solid #f0d6dc;border-radius:12px;font-size:.9rem;font-family:inherit;background:var(--c-card);color:var(--c-text);outline:none;transition:border .2s}.form-soft input:focus,.form-soft textarea:focus{border-color:var(--c-primary)}.form-soft button{width:100%;background:linear-gradient(135deg,var(--c-primary),var(--c-accent));color:#fff;border:none;padding:.75rem;border-radius:50px;font-size:.9rem;cursor:pointer;transition:opacity .2s}.form-soft button:hover{opacity:.9}.r{flex:1;cursor:pointer;text-align:center;padding:.55rem;border:1px solid #f0d6dc;border-radius:12px;color:var(--c-text);font-size:.82rem;transition:all .2s}.r:has(input:checked){border-color:var(--c-primary);background:#d4879b1a;color:var(--c-accent)}.comment{background:#fff;border-radius:16px;padding:.75rem 1rem;margin-bottom:.5rem;text-align:left;box-shadow:0 2px 8px #c4677f0a}.comment strong{color:var(--c-accent);display:block;margin-bottom:.15rem;font-size:.85rem}.qris-image-wrap{background:#fff;border-radius:16px;padding:1rem;box-shadow:0 2px 8px #c4677f0a}.bank-item{background:#fff;border-radius:12px;padding:.75rem 1rem;box-shadow:0 1px 4px #c4677f0a;display:flex;flex-direction:column;gap:.2rem;text-align:left}.copy-btn{background:none;border:1px solid #f0e0e0;border-radius:6px;padding:.15rem .5rem;font-size:.7rem;cursor:pointer;color:var(--c-accent);white-space:nowrap;transition:all .2s;line-height:1.4}.copy-btn:hover{background:#fce4ec}.footer{text-align:center;padding:3rem 1.5rem 2rem;color:var(--c-muted);font-size:.82rem;margin-top:2rem;position:relative;z-index:1}.fc{font-family:var(--font-serif);font-size:1.4rem;color:var(--c-accent);margin:0 0 .5rem}.fc-credit a{color:var(--c-muted);font-size:.72rem;opacity:.6}@media(max-width:540px){.c-cards{grid-template-columns:1fr}.c-heart{display:none}.g-soft{grid-template-columns:1fr}.g-btn:first-child{grid-column:span 1;aspect-ratio:1}}h1,h2,h3{font-family:var(--font-serif);font-weight:500}.cover{position:fixed;inset:0;background-size:cover;background-position:center;display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;z-index:100}.cover:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#2d3a2e99,#2d3a2ebf)}.cover-overlay{position:relative;padding:2rem;max-width:520px}.leaf{margin-bottom:1rem;display:block;margin-left:auto;margin-right:auto}.guest-label{font-size:.65rem;letter-spacing:.25em;text-transform:uppercase;margin:0;opacity:.6}.couple{font-size:clamp(1.5rem,5vw,2.6rem);margin:0 0 1rem;letter-spacing:.02em}.couple .amp{display:block;font-size:.5em;opacity:.5;margin:.1rem 0}.date{font-size:.82rem;letter-spacing:.12em;opacity:.75;margin:1rem 0 1.5rem}.cover-countdown{display:flex;justify-content:center;align-items:flex-start;gap:.25rem;margin:1rem 0 1.5rem}.ccd-item{display:flex;flex-direction:column;align-items:center;min-width:44px}.ccd-num{font-family:var(--font-serif);font-size:clamp(1.2rem,4vw,1.6rem);font-weight:600;line-height:1}.ccd-item small{font-size:.5rem;text-transform:uppercase;letter-spacing:.08em;opacity:.7;margin-top:.15rem}.ccd-sep{font-size:.8rem;opacity:.3;line-height:1}.open-btn{background:#ffffff26;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);border:1px solid rgba(255,255,255,.35);color:#fff;padding:.7rem 2rem;border-radius:999px;font-size:.85rem;cursor:pointer;letter-spacing:.05em;transition:all .25s}.open-btn:hover{background:#ffffff40}.music-btn{position:relative;width:44px;height:44px;border-radius:50%;border:none;background:#fffffff2;color:var(--c-accent);cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 12px #0000001a;z-index:2}.music-btn.playing~.music-ring{animation:mp 1.5s ease-out infinite}@keyframes mp{0%{opacity:.5;transform:scale(1)}to{opacity:0;transform:scale(1.6)}}.bismillah{font-size:1.5rem;margin:0 0 .5rem}.text{color:var(--c-muted);line-height:1.7;max-width:520px;margin:0 auto 2rem;font-size:.9rem}.c-frame{background:#fff;border-radius:20px;padding:2rem 1.5rem;box-shadow:0 4px 20px #6b8e6b0f;display:grid;grid-template-columns:1fr auto 1fr;gap:1.5rem;align-items:center}.c-frame-solo{grid-template-columns:1fr;justify-items:center;text-align:center;max-width:360px;margin-inline:auto}.c-block{text-align:center}.c-label{font-size:.6rem;text-transform:uppercase;letter-spacing:.15em;color:var(--c-muted);display:block;margin-bottom:.5rem}.c-frame h2{font-size:1.4rem;margin:0 0 .4rem;color:var(--c-accent)}.bio,.parents{font-size:.82rem;color:var(--c-muted);margin:.15rem 0}.c-div{color:var(--c-primary);font-size:1.2rem;opacity:.5}.heading{font-size:1.5rem;color:var(--c-accent);margin-bottom:1.5rem;font-weight:500}.e-list{display:grid;gap:1rem}.e-item{background:#fff;border-radius:16px;padding:1.25rem;display:grid;grid-template-columns:auto 1fr;gap:1rem;align-items:start;text-align:left;box-shadow:0 2px 12px #6b8e6b0a}.e-badge{background:#6b8e6b1a;color:var(--c-primary);font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;padding:.3rem .6rem;border-radius:999px;white-space:nowrap;font-weight:600;margin-top:.15rem}.e-dt,.e-tm{margin:.15rem 0;font-size:.9rem}.e-vn,.e-ad{margin:.15rem 0;color:var(--c-muted);font-size:.82rem}.map-link{display:inline-block;margin-top:.4rem;color:var(--c-accent);font-size:.82rem;text-decoration:underline;text-underline-offset:2px}.story-text{color:var(--c-muted);line-height:1.8;white-space:pre-line;font-size:.9rem}.g-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.g-btn{border:none;padding:0;cursor:pointer;overflow:hidden;border-radius:12px;aspect-ratio:1;background:#e0e8de}.g-btn img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.g-btn:hover img{transform:scale(1.03)}.g-btn:first-child{grid-column:span 2;grid-row:span 2}.cd-fresh{display:flex;justify-content:center;gap:1.5rem}.cd-fresh>div{text-align:center}.cd-n{display:block;font-family:var(--font-serif);font-size:2rem;color:var(--c-accent)}.cd-fresh small{color:var(--c-muted);font-size:.65rem;text-transform:uppercase;letter-spacing:.08em}form{max-width:440px;margin:1.5rem auto 0;text-align:left}form label{display:block;margin-bottom:.75rem;font-size:.82rem;color:var(--c-muted)}form input,form textarea{width:100%;padding:.6rem .75rem;border:1px solid #d0dccd;border-radius:10px;font-size:.9rem;font-family:inherit;background:var(--c-card);color:var(--c-text);outline:none;transition:border .2s}form input:focus,form textarea:focus{border-color:var(--c-primary)}form button{width:100%;background:var(--c-primary);color:#fff;border:none;padding:.75rem;border-radius:999px;font-size:.9rem;cursor:pointer;transition:opacity .2s}.rg{display:flex;gap:.5rem}.r{flex:1;cursor:pointer;text-align:center;padding:.55rem;border:1px solid #d0dccd;border-radius:10px;color:var(--c-text);font-size:.82rem;transition:all .2s}.r:has(input:checked){border-color:var(--c-primary);background:#6b8e6b14;color:var(--c-accent)}.r input{display:none}.msg{font-size:.85rem;min-height:1.2em;margin-top:.5rem;text-align:center}.comments-list{margin-top:1.5rem}.comment{background:#fff;border-radius:12px;padding:.75rem 1rem;margin-bottom:.5rem;text-align:left;box-shadow:0 1px 6px #6b8e6b0a}.comment strong{display:block;margin-bottom:.15rem;font-size:.85rem;color:var(--c-accent)}.comment p{margin:0 0 .25rem;font-size:.85rem;color:var(--c-muted)}.comment small{color:var(--c-muted);font-size:.65rem;opacity:.6}.muted{text-align:center;color:var(--c-muted)}.qris-wrap{margin:0 auto 1.5rem;max-width:240px}.qris-image-wrap{background:#fff;border-radius:16px;padding:1rem;box-shadow:0 1px 6px #6b8e6b0a}.qris-image-wrap img{width:100%;display:block;border-radius:12px}.gift-subheading{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:var(--c-accent);margin:0 0 .75rem;text-align:center}.bank-item{background:#fff;border-radius:12px;padding:.75rem 1rem;box-shadow:0 1px 4px #6b8e6b0a;display:flex;flex-direction:column;gap:.2rem;text-align:left}.bank-item .bank-name{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--c-accent)}.bank-no{font-size:1rem;font-family:monospace;letter-spacing:.02em}.copy-btn{background:none;border:1px solid #e0e8e0;border-radius:6px;padding:.15rem .5rem;font-size:.7rem;cursor:pointer;color:var(--c-accent);white-space:nowrap;transition:all .2s;line-height:1.4}.copy-btn:hover{background:#e8f0e4}.bank-an{font-size:.78rem;color:var(--c-muted)}.lightbox img{max-width:90vw;max-height:85vh;border-radius:8px}.footer{text-align:center;padding:3rem 1.5rem 2rem;background:#2d3a2e;color:#ffffffb3;margin-top:2rem}.fc{font-family:var(--font-serif);font-size:1.4rem;color:#fff;margin:0 0 .5rem}.fc-credit a{color:#fff6;font-size:.72rem}@media(max-width:540px){.c-frame{grid-template-columns:1fr}.c-div{display:none}.g-grid{grid-template-columns:repeat(2,1fr)}.g-btn:first-child{grid-column:span 2;grid-row:span 1}}.cover:before{content:"";position:absolute;inset:0;background:linear-gradient(160deg,#e07a3d8c,#5a280fc7);animation:cover-glow 8s ease-in-out infinite alternate}.footer{text-align:center;padding:3rem 1.5rem 2rem;background:linear-gradient(135deg,#c45a1a,#8a3a10);color:#ffe8d6;margin-top:3rem}.footer-thanks{font-size:.85rem;margin:0 0 1.5rem;color:#ffd2b0;max-width:480px;margin-left:auto;margin-right:auto}.footer-credit a{color:#e8b896;font-size:.75rem}.event-card{border-radius:22px;border:2px solid color-mix(in srgb,var(--c-primary) 22%,#ffe0c2)}[data-theme=festive] .avatar-frame{border-radius:22px}.open-btn{border-radius:16px;letter-spacing:.08em;text-transform:uppercase;font-size:.82rem;font-weight:700}.cover:before{content:"";position:absolute;inset:0;background:linear-gradient(160deg,#0f1c2eb8,#0a1423e0);animation:cover-glow 8s ease-in-out infinite alternate}.footer{text-align:center;padding:3rem 1.5rem 2rem;background:linear-gradient(135deg,#0a1422,#162a42);color:#b8c7d8;margin-top:3rem;border-top:1px solid rgba(201,162,39,.35)}.footer-couple{font-family:var(--font-serif);font-size:1.6rem;color:#e0bc4a;margin:0 0 .5rem}.footer-thanks{font-size:.85rem;margin:0 0 1.5rem;color:#8a9bb0;max-width:480px;margin-left:auto;margin-right:auto}.footer-credit a{color:#6a7d94;font-size:.75rem}[data-theme=navy] .event-card{background:var(--c-card);border:1px solid rgba(201,162,39,.28);border-radius:12px;box-shadow:0 12px 32px #00000040}[data-theme=navy] .event-card:hover{box-shadow:0 16px 40px #00000059}[data-theme=navy] .heading{color:var(--c-primary)}[data-theme=navy] .couple-grid h2{color:var(--c-accent)}[data-theme=navy] form input,[data-theme=navy] form textarea{background:#0f1c2e;border-color:#c9a22740;color:var(--c-text)}[data-theme=navy] .radio{border-color:#c9a22740;color:var(--c-text);background:#0f1c2e}[data-theme=navy] .bank-item,[data-theme=navy] .qris-image-wrap{background:var(--c-card);border-color:#c9a22740}[data-theme=navy] .open-btn{border-radius:6px;border-color:#c9a2278c;background:#c9a22726;letter-spacing:.12em;text-transform:uppercase;font-size:.78rem;font-weight:600}[data-theme=navy] .type-pill{border-color:#c9a22780;color:#e0bc4a}[data-theme=navy] form button{color:#0f1c2e;font-weight:700}[data-theme=navy] .map-link:hover{background:var(--c-primary);color:#0f1c2e}[data-theme=navy] .avatar-frame{color:#0f1c2e;border-color:#e0bc4a73;text-shadow:none}[data-theme=navy] .countdown>div{border-color:#c9a22740}[data-theme=navy] .gallery-thumb{background:#162a42}[data-theme=navy] .copy-btn:hover{background:#c9a2272e}[data-theme=navy] .copy-btn.copied{background:#22c55e2e;border-color:#22c55e66;color:#4ade80}.opt{color:var(--c-muted)}.cover:before{background:linear-gradient(165deg,#503c286b,#322319b8)}.cover-ornament{border-radius:50%;border-color:#fff8eb8c;box-shadow:0 0 0 10px #fff8eb14,0 0 40px #c4a57440}.type-pill{letter-spacing:.22em;border-color:#fff8eb8c}.couple .amp{font-size:.55em;letter-spacing:.2em;opacity:.85}.amp-lg{font-size:1.4rem;letter-spacing:.3em;font-style:normal;opacity:.7}.section-ornament{width:120px;height:1px}.section-ornament:before,.section-ornament:after{width:5px;height:5px;border:1px solid var(--c-primary);background:transparent;border-radius:0;transform:translateY(-50%) rotate(45deg)}[data-theme=ivory] .avatar-frame{border-radius:50%;border:2px solid #f0e6d8;box-shadow:0 0 0 7px #c4a5741f,0 12px 28px #a88b5c2e,inset 0 1px #ffffff40}.event-card{border-radius:4px;border:1px solid #eadfce;box-shadow:none;padding:1.75rem 1.5rem}.event-card:hover{transform:none;box-shadow:0 8px 24px #a88b5c1f}.ec-icon{border-radius:0;background:transparent;border:1px solid color-mix(in srgb,var(--c-primary) 40%,transparent)}.heading{font-weight:500;letter-spacing:.04em}.map-link,.open-btn,form button{border-radius:2px}.footer{background:linear-gradient(135deg,#4a3c30,#2f261e);border-top:1px solid rgba(196,165,116,.35)}.footer-couple{color:#f0e6d8;font-weight:500;letter-spacing:.06em}.gallery-thumb{border-radius:2px}.countdown>div{border-radius:2px;border-color:#eadfce}.cover:before{background:linear-gradient(155deg,#783c3780,#462323c7)}.cover-ornament{border-radius:50%;background:radial-gradient(circle at 35% 30%,rgba(255,200,190,.35),transparent 65%);box-shadow:0 0 0 8px #ffb4aa1a,0 0 48px #c48b7a59}.cover-ornament:after{border-radius:40% 60% 55% 45%;inset:16px}.couple .amp{content:"";font-size:.7em;color:#ffd2c8e6}.type-pill{background:#c48b7a40;border-color:#ffc8be73}.section-ornament{background:linear-gradient(90deg,transparent,#c48b7a,transparent)}.section-ornament:before,.section-ornament:after{width:8px;height:8px;background:radial-gradient(circle,#c48b7a 40%,transparent 70%);border-radius:50%}[data-theme=rosegold] .avatar-frame{background:linear-gradient(145deg,#e0a898,#b06a5a);box-shadow:0 0 0 7px #c48b7a24,0 10px 30px #b06a5a47,inset 0 1px #fff3}[data-theme=rosegold] .event-card{border-radius:24px;border:1px solid #f0d5ce;background:linear-gradient(180deg,#fff,#fff8f6);box-shadow:0 12px 32px #b06a5a14}[data-theme=rosegold] .event-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px #b06a5a24}.ec-icon{background:#c48b7a1f;color:#b06a5a}.heading{background:linear-gradient(90deg,#b06a5a,#c48b7a);-webkit-background-clip:text;background-clip:text;color:transparent}.footer{background:linear-gradient(135deg,#5c3530,#3a221e)}.footer-couple{color:#f5d5ce}.open-btn{border-radius:999px;box-shadow:0 10px 32px #b06a5a59}.gallery-thumb{border-radius:16px}.cover:before{background:linear-gradient(160deg,#2846327a,#192d23c2)}.cover-ornament{border-radius:50%;border-style:dashed;border-width:1.5px;box-shadow:0 0 0 12px #ffffff0f}.cover-ornament:after{inset:14px;border-style:solid;border-radius:50%}.type-pill{letter-spacing:.18em}.section-ornament{width:80px;height:0;border-top:1px solid color-mix(in srgb,var(--c-primary) 50%,transparent)}.section-ornament:before,.section-ornament:after{width:10px;height:10px;background:transparent;border:1.5px solid var(--c-primary);border-radius:50% 0 50% 50%;transform:translateY(-50%) rotate(-45deg)}[data-theme=garden] .avatar-frame{border-radius:50%;background:linear-gradient(145deg,#7aa88a,#4a7358);border:3px solid #e8f2ea}[data-theme=garden] .event-card{border-radius:20px;border:1px solid #d5e6da;background:#fff;box-shadow:0 8px 24px #4a735812}[data-theme=garden] .event-card:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%,-50%);width:28px;height:28px;border-radius:50%;background:var(--c-bg);border:1px solid #d5e6da}.ec-icon{margin-top:.5rem;background:#5f8f6e1f}.heading{color:#4a7358}.footer{background:linear-gradient(135deg,#2c4636,#1e3228)}.footer-couple{color:#d8eadc}.map-link{border-radius:999px;border-color:#5f8f6e}[data-theme=garden] .invitation{background:radial-gradient(ellipse at top,rgba(95,143,110,.06),transparent 55%)}.gallery-thumb{border-radius:14px}.cover:before{background:linear-gradient(160deg,#3c0f19a6,#19080ce6)}.cover-ornament{border-color:#d4a0a880;box-shadow:0 0 0 8px #d4a0a814,0 0 60px #b4506440}.type-pill{border-color:#d4a0a873;color:#e8c4c8;letter-spacing:.2em}.couple .amp{opacity:.9;font-size:.65em}.section-ornament{background:linear-gradient(90deg,transparent,#d4a0a8,transparent)}[data-theme=velvet] .avatar-frame{width:88px;height:88px;background:radial-gradient(circle at 35% 30%,#a05060,#5a2430 55%,#2a1218);border:1.5px solid rgba(243,230,234,.55);color:#fff;font-size:2.05rem;font-weight:600;letter-spacing:.04em;box-shadow:0 0 0 7px #d4a0a824,0 12px 36px #00000080,inset 0 1px #ffffff2e;text-shadow:0 1px 2px rgba(0,0,0,.35)}[data-theme=velvet] .event-card{background:#2a141a;color:#f3e6ea;border:1px solid rgba(212,160,168,.38);border-radius:14px;box-shadow:0 14px 36px #0006}[data-theme=velvet] .event-card:hover{box-shadow:0 18px 44px #00000080;transform:translateY(-3px)}[data-theme=velvet] .event-card h3{color:#fff;font-size:1.25rem;letter-spacing:.02em}[data-theme=velvet] .event-card .event-date,[data-theme=velvet] .event-card .event-time{color:#f0dce0;font-weight:650}[data-theme=velvet] .event-card .event-venue,[data-theme=velvet] .event-card .event-addr{color:#c9a8b0}[data-theme=velvet] .ec-icon{background:#d4a0a833;color:#f0dce0;border:1px solid rgba(212,160,168,.3)}[data-theme=velvet] .event-card .map-link,[data-theme=velvet] .event-card .cal-link{color:#1f0f14;background:#d4a0a8;border-color:#d4a0a8;font-weight:700}[data-theme=velvet] .event-card .map-link:hover,[data-theme=velvet] .event-card .cal-link:hover{background:#e8c4c8;border-color:#e8c4c8;color:#1f0f14;transform:translateY(-1px)}[data-theme=velvet] .event-actions--maps+.event-actions--calendar{border-top-color:#d4a0a847}[data-theme=velvet] .heading,[data-theme=velvet] .couple-grid h2{color:#e8c4c8}[data-theme=velvet] form input,[data-theme=velvet] form textarea{background:#1a0c10;border-color:#d4a0a840;color:var(--c-text)}[data-theme=velvet] .radio{border-color:#d4a0a840;color:var(--c-text);background:#1a0c10}[data-theme=velvet] .bank-item,[data-theme=velvet] .qris-image-wrap,[data-theme=velvet] .countdown>div{background:var(--c-card);border-color:#d4a0a840}[data-theme=velvet] .footer{background:linear-gradient(135deg,#14080c,#2a1218);border-top:1px solid rgba(212,160,168,.3)}[data-theme=velvet] .footer-couple{color:#e8c4c8}[data-theme=velvet] .open-btn{border-radius:4px;border-color:#e8c4c880;background:#d4a0a826;letter-spacing:.1em;text-transform:uppercase;font-size:.8rem}[data-theme=velvet] .gallery-thumb{border-radius:8px;background:#2e171e}[data-theme=velvet] .copy-btn{border-color:#d4a0a84d;color:#e8c4c8}[data-theme=velvet] form button{background:linear-gradient(135deg,#d4a0a8,#b87a86);color:#1f0f14;font-weight:700}[data-theme=velvet] .map-link:hover{background:var(--c-primary);color:#1f0f14}[data-theme=velvet] .people-sub{color:#e8c4c8}[data-theme=velvet] .countdown>div{background:var(--c-card);border-color:#d4a0a840}[data-theme=velvet] .copy-btn:hover{background:#d4a0a82e}[data-theme=velvet] .copy-btn.copied{background:#22c55e2e;border-color:#22c55e66;color:#4ade80}[data-theme=velvet] .opt,[data-theme=velvet] .footer-thanks,[data-theme=velvet] .footer-credit a{color:var(--c-muted)}.cover:before{background:linear-gradient(155deg,#4632647a,#281e3cc7)}.cover-ornament{border-radius:40% 60% 55% 45%/55% 40% 60% 45%;border-color:#e6dcff73;box-shadow:0 0 0 10px #9b85c01a,0 0 50px #7d68a84d;animation:lotus-float 5s ease-in-out infinite}@keyframes lotus-float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.cover-ornament:after{border-radius:inherit;inset:15px}.type-pill{background:#9b85c038;border-color:#e6dcff66}.section-ornament{width:70px}.section-ornament:before,.section-ornament:after{width:7px;height:7px;border-radius:50% 50% 50% 0;transform:translateY(-50%) rotate(-45deg);background:var(--c-primary)}[data-theme=lotus] .avatar-frame{background:linear-gradient(145deg,#b5a0d8,#7d68a8);border:3px solid #efe8ff;box-shadow:0 0 0 7px #9b85c024,0 10px 32px #7d68a838,inset 0 1px #fff3}[data-theme=lotus] .event-card{border-radius:28px;border:1px solid #e4d8f5;background:linear-gradient(180deg,#fff,#faf7ff);box-shadow:0 12px 30px #7d68a814}[data-theme=lotus] .event-card:hover{transform:translateY(-4px) scale(1.01);box-shadow:0 18px 40px #7d68a824}.ec-icon{border-radius:16px;background:#9b85c01f}.heading{color:#7d68a8}.amp-lg{color:#9b85c0}.footer{background:linear-gradient(135deg,#3a3248,#2a2438)}.footer-couple{color:#e4d8f5}.open-btn{border-radius:999px;background:#9b85c040;border-color:#e6dcff80}.gallery-thumb{border-radius:20px}[data-theme=lotus] .invitation{background:radial-gradient(ellipse at 20% 0%,rgba(155,133,192,.07),transparent 50%),radial-gradient(ellipse at 80% 30%,rgba(125,104,168,.05),transparent 45%)}[data-theme=noir] body,[data-theme=noir]{background-color:var(--c-bg);background-image:linear-gradient(135deg,transparent 48%,rgba(198,164,90,.07) 49%,rgba(198,164,90,.07) 51%,transparent 52%),linear-gradient(45deg,transparent 48%,rgba(198,164,90,.05) 49%,rgba(198,164,90,.05) 51%,transparent 52%),radial-gradient(ellipse at 20% 0%,rgba(198,164,90,.12),transparent 45%),radial-gradient(ellipse at 80% 100%,rgba(198,164,90,.08),transparent 40%);background-size:28px 28px,28px 28px,100% 100%,100% 100%}[data-theme=noir] .cover:before{background:linear-gradient(160deg,#0c0c0e8c,#080604eb)}[data-theme=noir] .cover-ornament{width:64px;height:64px;border-radius:0;transform:rotate(45deg);border:1.5px solid rgba(198,164,90,.7);box-shadow:0 0 0 6px #c6a45a1a,inset 0 0 0 8px #0c0c0e99;background:linear-gradient(135deg,rgba(198,164,90,.25),transparent 55%)}[data-theme=noir] .cover-ornament:after{inset:10px;border-radius:0;border-color:#e8d5a373}[data-theme=noir] .type-pill{border-radius:0;letter-spacing:.28em;font-family:var(--font-sans);border-color:#c6a45a8c;color:#e8d5a3;text-transform:uppercase}[data-theme=noir] .couple{letter-spacing:.04em}[data-theme=noir] .couple .amp{font-style:normal;font-size:.45em;letter-spacing:.35em;opacity:.9;color:#c6a45a}[data-theme=noir] .open-btn{border-radius:0;letter-spacing:.18em;text-transform:uppercase;font-size:.78rem;border:1px solid rgba(198,164,90,.65);background:#c6a45a1f;font-family:var(--font-sans)}[data-theme=noir] .section-ornament{width:100px;height:1px;background:linear-gradient(90deg,transparent,#c6a45a,transparent)}[data-theme=noir] .section-ornament:before,[data-theme=noir] .section-ornament:after{width:8px;height:8px;border-radius:0;background:transparent;border:1px solid #c6a45a;transform:translateY(-50%) rotate(45deg)}[data-theme=noir] .avatar-frame{border-radius:0;transform:rotate(45deg);width:72px;height:72px;background:linear-gradient(135deg,#2a2418,#0c0c0e);border:1.5px solid rgba(198,164,90,.65);box-shadow:0 0 0 6px #c6a45a1f,0 12px 32px #0000008c;color:#e8d5a3}[data-theme=noir] .avatar-frame span{display:block;transform:rotate(-45deg);font-family:var(--font-serif);letter-spacing:.06em}[data-theme=noir] .heading{letter-spacing:.12em;text-transform:uppercase;font-size:1.35rem;font-weight:500;color:#e8d5a3}[data-theme=noir] .couple-grid h2{color:#e8d5a3;letter-spacing:.04em}[data-theme=noir] .people-sub{color:#c6a45a}[data-theme=noir] .event-card{background:#161418;color:#f2eadf;border-radius:0;border:1px solid rgba(198,164,90,.35);box-shadow:0 16px 40px #00000073;clip-path:polygon(0 8px,8px 0,calc(100% - 8px) 0,100% 8px,100% calc(100% - 8px),calc(100% - 8px) 100%,8px 100%,0 calc(100% - 8px))}[data-theme=noir] .event-card h3{color:#e8d5a3;letter-spacing:.08em;text-transform:uppercase;font-size:1.05rem}[data-theme=noir] .event-card .event-date,[data-theme=noir] .event-card .event-time{color:#f2eadf}[data-theme=noir] .event-card .event-venue,[data-theme=noir] .event-card .event-addr{color:#9a9080}[data-theme=noir] .ec-icon{border-radius:0;background:transparent;border:1px solid rgba(198,164,90,.4);color:#c6a45a}[data-theme=noir] .event-card .map-link,[data-theme=noir] .event-card .cal-link{border-radius:0;background:#c6a45a;color:#0c0c0e;border-color:#c6a45a;font-weight:700;letter-spacing:.06em;text-transform:uppercase;font-size:.72rem}[data-theme=noir] .event-card .map-link:hover,[data-theme=noir] .event-card .cal-link:hover{background:#e8d5a3;border-color:#e8d5a3;color:#0c0c0e}[data-theme=noir] .countdown>div{background:#161418;border:1px solid rgba(198,164,90,.3);border-radius:0}[data-theme=noir] .cd-num{color:#e8d5a3}[data-theme=noir] form input,[data-theme=noir] form textarea,[data-theme=noir] .radio{background:#161418;border-color:#c6a45a47;border-radius:0;color:#f2eadf}[data-theme=noir] form button{border-radius:0;background:linear-gradient(135deg,#c6a45a,#a88840);color:#0c0c0e;font-weight:700;letter-spacing:.1em;text-transform:uppercase;font-size:.85rem}[data-theme=noir] .bank-item,[data-theme=noir] .qris-image-wrap{background:#161418;border-color:#c6a45a47;border-radius:0}[data-theme=noir] .gallery-thumb{border-radius:0;background:#1c1814}[data-theme=noir] .footer{background:linear-gradient(135deg,#080808,#16120e);border-top:1px solid rgba(198,164,90,.35)}[data-theme=noir] .footer-couple{color:#e8d5a3;letter-spacing:.1em}[data-theme=noir] .copy-btn{border-radius:0;border-color:#c6a45a59;color:#e8d5a3}[data-theme=noir] .copy-btn:hover{background:#c6a45a26}[data-theme=noir] .music-btn{background:#161418;color:#c6a45a;border:1px solid rgba(198,164,90,.4);border-radius:0}[data-theme=noir] .opt,[data-theme=noir] .footer-thanks,[data-theme=noir] .footer-credit a{color:var(--c-muted)}[data-theme=terracotta] body,[data-theme=terracotta]{background-color:var(--c-bg);background-image:repeating-linear-gradient(90deg,transparent,transparent 47px,rgba(184,92,58,.06) 47px,rgba(184,92,58,.06) 48px),repeating-linear-gradient(0deg,transparent,transparent 47px,rgba(184,92,58,.06) 47px,rgba(184,92,58,.06) 48px),radial-gradient(ellipse at 10% 20%,rgba(196,120,90,.18),transparent 50%),radial-gradient(ellipse at 90% 80%,rgba(143,63,40,.1),transparent 45%)}[data-theme=terracotta] .cover:before{background:linear-gradient(155deg,#5a281980,#32160ed9)}[data-theme=terracotta] .cover-ornament{width:70px;height:40px;border-radius:50%/60% 60% 40% 40%;border:2px solid rgba(255,220,200,.45);box-shadow:0 0 0 8px #b85c3a1f;background:radial-gradient(ellipse at 50% 30%,rgba(255,200,170,.35),transparent 70%)}[data-theme=terracotta] .cover-ornament:after{inset:8px 14px;border-radius:inherit;border-color:#ffdcc84d}[data-theme=terracotta] .type-pill{border-radius:4px;letter-spacing:.16em;border-color:#ffd2be80}[data-theme=terracotta] .couple .amp{font-style:italic;color:#f0c8b0;opacity:.9}[data-theme=terracotta] .open-btn{border-radius:6px 20px;letter-spacing:.06em;border-color:#ffd2be8c;background:#b85c3a40}[data-theme=terracotta] .section-ornament{width:80px;height:3px;border-radius:2px;background:linear-gradient(90deg,transparent,#b85c3a 20%,#8f3f28 50%,#b85c3a 80%,transparent)}[data-theme=terracotta] .section-ornament:before,[data-theme=terracotta] .section-ornament:after{width:10px;height:10px;border-radius:50% 0;background:#b85c3a;border:none;transform:translateY(-50%) rotate(45deg)}[data-theme=terracotta] .avatar-frame{border-radius:40% 60% 55% 45%/55% 45%;background:linear-gradient(145deg,#c4785a,#8f3f28);border:3px solid #faf3ed;box-shadow:0 0 0 6px #b85c3a26,0 10px 28px #8f3f2840}[data-theme=terracotta] .heading{font-weight:700;color:#8f3f28}[data-theme=terracotta] .couple-grid h2{color:#8f3f28}[data-theme=terracotta] .people-sub{color:#b85c3a}[data-theme=terracotta] .event-card{background:#faf3ed;border-radius:22px 6px;border:1px solid rgba(184,92,58,.22);box-shadow:6px 8px #b85c3a14}[data-theme=terracotta] .event-card:hover{transform:translate(-2px,-2px);box-shadow:8px 10px #b85c3a1f}[data-theme=terracotta] .event-card h3{color:#8f3f28}[data-theme=terracotta] .ec-icon{border-radius:30% 70% 70% 30%/30% 30% 70% 70%;background:#b85c3a1f;color:#b85c3a}[data-theme=terracotta] .map-link,[data-theme=terracotta] .cal-link{border-radius:6px 14px;font-weight:600}[data-theme=terracotta] .open-btn,[data-theme=terracotta] form button{border-radius:6px 18px}[data-theme=terracotta] form button{background:linear-gradient(135deg,#b85c3a,#8f3f28)}[data-theme=terracotta] form input,[data-theme=terracotta] form textarea,[data-theme=terracotta] .radio{border-radius:8px 2px;border-color:#b85c3a40;background:#faf3ed}[data-theme=terracotta] .countdown>div{border-radius:12px 4px;border-color:#b85c3a33;background:#faf3ed}[data-theme=terracotta] .bank-item,[data-theme=terracotta] .qris-image-wrap{border-radius:12px 4px;border-color:#b85c3a33;background:#faf3ed}[data-theme=terracotta] .gallery-thumb{border-radius:16px 4px}[data-theme=terracotta] .footer{background:linear-gradient(135deg,#5c2e1e,#3b1a12);border-top:3px solid #b85c3a}[data-theme=terracotta] .footer-couple{color:#f3e6dc}[data-theme=terracotta] .copy-btn{border-color:#b85c3a59;color:#8f3f28;border-radius:4px}[data-theme=terracotta] .copy-btn:hover{background:#b85c3a1a}[data-theme=pearl] body,[data-theme=pearl]{background-color:var(--c-bg);background-image:radial-gradient(circle at 15% 25%,rgba(110,143,168,.14) 0,transparent 28%),radial-gradient(circle at 85% 15%,rgba(197,212,224,.35) 0,transparent 32%),radial-gradient(circle at 70% 75%,rgba(110,143,168,.1) 0,transparent 30%),radial-gradient(circle at 25% 85%,rgba(255,255,255,.7) 0,transparent 25%);background-attachment:fixed}[data-theme=pearl] .cover:before{background:linear-gradient(165deg,#3c5a6e73,#1e3241cc)}[data-theme=pearl] .cover-ornament{width:80px;height:80px;border-radius:50%;border:1px solid rgba(255,255,255,.5);box-shadow:0 0 0 12px #ffffff0f,0 0 50px #a0bed259;background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.45),rgba(160,190,210,.15) 50%,transparent 70%)}[data-theme=pearl] .cover-ornament:after{inset:22px;border-radius:50%;border-color:#ffffff4d}[data-theme=pearl] .type-pill{border-radius:999px;letter-spacing:.2em;backdrop-filter:blur(10px);background:#ffffff1f}[data-theme=pearl] .couple .amp{font-style:italic;opacity:.75;font-weight:300}[data-theme=pearl] .open-btn{border-radius:999px;backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.55);background:#ffffff1f;letter-spacing:.08em}[data-theme=pearl] .section-ornament{width:60px;height:60px;background:transparent;border:1px solid color-mix(in srgb,var(--c-primary) 35%,transparent);border-radius:50%}[data-theme=pearl] .section-ornament:before,[data-theme=pearl] .section-ornament:after{width:4px;height:4px;border-radius:50%;background:var(--c-primary);border:none;top:50%;left:50%}[data-theme=pearl] .section-ornament:before{transform:translate(-50%,-50%) translate(-18px)}[data-theme=pearl] .section-ornament:after{transform:translate(-50%,-50%) translate(18px);right:auto;left:50%}[data-theme=pearl] .avatar-frame{width:90px;height:90px;background:linear-gradient(145deg,#9bb5c8,#6e8fa8);border:4px solid #fff;box-shadow:0 0 0 1px #6e8fa840,0 16px 40px #4f6d8233}[data-theme=pearl] .heading{font-weight:400;letter-spacing:.06em;color:#4f6d82;font-size:2rem}[data-theme=pearl] .couple-grid h2{color:#4f6d82;font-weight:500}[data-theme=pearl] .people-sub{color:#6e8fa8}[data-theme=pearl] .event-card{background:#ffffffd1;backdrop-filter:blur(8px);border-radius:28px;border:1px solid rgba(110,143,168,.18);box-shadow:0 20px 50px #4f6d8214}[data-theme=pearl] .event-card:hover{transform:translateY(-4px);box-shadow:0 28px 60px #4f6d821f}[data-theme=pearl] .event-card h3{color:#4f6d82}[data-theme=pearl] .ec-icon{border-radius:50%;background:#6e8fa81f;color:#6e8fa8}[data-theme=pearl] .map-link,[data-theme=pearl] .cal-link,[data-theme=pearl] form button{border-radius:999px}[data-theme=pearl] form button{background:linear-gradient(135deg,#6e8fa8,#4f6d82)}[data-theme=pearl] form input,[data-theme=pearl] form textarea,[data-theme=pearl] .radio{border-radius:16px;border-color:#6e8fa838;background:#fff}[data-theme=pearl] .countdown>div{border-radius:20px;border-color:#6e8fa82e;background:#ffffffe6}[data-theme=pearl] .bank-item,[data-theme=pearl] .qris-image-wrap{border-radius:18px;border-color:#6e8fa82e;background:#fff}[data-theme=pearl] .gallery-thumb{border-radius:20px;background:#dce6ee}[data-theme=pearl] .footer{background:linear-gradient(160deg,#3a4f5c,#2c3a44);border-top:none}[data-theme=pearl] .footer-couple{color:#e8f0f5;font-weight:400}[data-theme=pearl] .copy-btn{border-radius:999px;border-color:#6e8fa84d;color:#4f6d82}[data-theme=emerald] body,[data-theme=emerald]{background-color:var(--c-bg);background-image:linear-gradient(30deg,rgba(201,176,122,.06) 12%,transparent 12.5%,transparent 87%,rgba(201,176,122,.06) 87.5%),linear-gradient(150deg,rgba(201,176,122,.06) 12%,transparent 12.5%,transparent 87%,rgba(201,176,122,.06) 87.5%),linear-gradient(30deg,rgba(201,176,122,.06) 12%,transparent 12.5%,transparent 87%,rgba(201,176,122,.06) 87.5%),linear-gradient(150deg,rgba(201,176,122,.06) 12%,transparent 12.5%,transparent 87%,rgba(201,176,122,.06) 87.5%);background-size:40px 70px;background-position:0 0,0 0,20px 35px,20px 35px}[data-theme=emerald] .cover:before{background:linear-gradient(160deg,#0a1e168c,#06120eeb)}[data-theme=emerald] .cover-ornament{width:68px;height:68px;border-radius:0;clip-path:polygon(50% 0%,100% 50%,50% 100%,0% 50%);border:none;box-shadow:0 0 40px #c9b07a4d;background:linear-gradient(135deg,#c9b07a73,#c9b07a1a)}[data-theme=emerald] .cover-ornament:after{inset:14px;border-radius:0;border:1px solid rgba(224,208,160,.5);clip-path:polygon(50% 0%,100% 50%,50% 100%,0% 50%)}[data-theme=emerald] .type-pill{border-radius:0;letter-spacing:.24em;font-size:.62rem;border-color:#c9b07a8c;color:#e0d0a0}[data-theme=emerald] .couple .amp{font-style:normal;font-size:.5em;letter-spacing:.25em;color:#c9b07a}[data-theme=emerald] .open-btn{border-radius:0;letter-spacing:.14em;text-transform:uppercase;font-size:.78rem;border:1px solid rgba(201,176,122,.6);background:#c9b07a1f}[data-theme=emerald] .section-ornament{width:90px;height:1px;background:linear-gradient(90deg,transparent,#c9b07a,transparent)}[data-theme=emerald] .section-ornament:before,[data-theme=emerald] .section-ornament:after{width:10px;height:10px;background:transparent;border:1px solid #c9b07a;border-radius:0;transform:translateY(-50%) rotate(45deg)}[data-theme=emerald] .avatar-frame{clip-path:polygon(50% 0%,100% 50%,50% 100%,0% 50%);border-radius:0;border:none;width:88px;height:88px;background:linear-gradient(145deg,#1a4a38,#0d1f18);box-shadow:0 0 0 1px #c9b07a80,0 12px 36px #00000080;color:#e0d0a0}[data-theme=emerald] .heading{letter-spacing:.14em;text-transform:uppercase;font-size:1.25rem;color:#e0d0a0;font-weight:500}[data-theme=emerald] .couple-grid h2{color:#e0d0a0}[data-theme=emerald] .people-sub{color:#c9b07a}[data-theme=emerald] .event-card{background:#143028;color:#e8f0ea;border-radius:2px;border:1px solid rgba(201,176,122,.35);box-shadow:0 14px 40px #0006}[data-theme=emerald] .event-card h3{color:#e0d0a0;letter-spacing:.06em}[data-theme=emerald] .event-card .event-date,[data-theme=emerald] .event-card .event-time{color:#e8f0ea}[data-theme=emerald] .event-card .event-venue,[data-theme=emerald] .event-card .event-addr{color:#8aa090}[data-theme=emerald] .ec-icon{border-radius:0;clip-path:polygon(50% 0%,100% 50%,50% 100%,0% 50%);background:#c9b07a26;color:#c9b07a;border:none}[data-theme=emerald] .event-card .map-link,[data-theme=emerald] .event-card .cal-link{border-radius:0;background:#c9b07a;color:#0d1f18;border-color:#c9b07a;font-weight:700;letter-spacing:.05em;text-transform:uppercase;font-size:.72rem}[data-theme=emerald] .event-card .map-link:hover,[data-theme=emerald] .event-card .cal-link:hover{background:#e0d0a0;color:#0d1f18}[data-theme=emerald] .countdown>div{background:#143028;border:1px solid rgba(201,176,122,.28);border-radius:2px}[data-theme=emerald] .cd-num{color:#e0d0a0}[data-theme=emerald] form input,[data-theme=emerald] form textarea,[data-theme=emerald] .radio{background:#143028;border-color:#c9b07a47;border-radius:2px;color:#e8f0ea}[data-theme=emerald] form button{border-radius:0;background:linear-gradient(135deg,#c9b07a,#a89058);color:#0d1f18;font-weight:700;letter-spacing:.08em;text-transform:uppercase}[data-theme=emerald] .bank-item,[data-theme=emerald] .qris-image-wrap{background:#143028;border-color:#c9b07a47;border-radius:2px}[data-theme=emerald] .gallery-thumb{border-radius:2px;background:#1a3d2e}[data-theme=emerald] .footer{background:linear-gradient(135deg,#061410,#143028);border-top:1px solid rgba(201,176,122,.35)}[data-theme=emerald] .footer-couple{color:#e0d0a0;letter-spacing:.08em}[data-theme=emerald] .copy-btn{border-radius:0;border-color:#c9b07a59;color:#e0d0a0}[data-theme=emerald] .copy-btn:hover{background:#c9b07a1f}[data-theme=emerald] .music-btn{background:#143028;color:#c9b07a;border:1px solid rgba(201,176,122,.4);border-radius:2px}[data-theme=emerald] .opt,[data-theme=emerald] .footer-thanks,[data-theme=emerald] .footer-credit a{color:var(--c-muted)}[data-theme=sakura] body,[data-theme=sakura]{background-color:var(--c-bg);background-image:radial-gradient(circle at 12% 18%,rgba(212,137,154,.22) 0 6px,transparent 7px),radial-gradient(circle at 28% 42%,rgba(242,196,200,.35) 0 4px,transparent 5px),radial-gradient(circle at 72% 22%,rgba(212,137,154,.18) 0 8px,transparent 9px),radial-gradient(circle at 88% 58%,rgba(242,196,200,.3) 0 5px,transparent 6px),radial-gradient(circle at 45% 78%,rgba(212,137,154,.15) 0 7px,transparent 8px),radial-gradient(circle at 18% 88%,rgba(242,196,200,.25) 0 4px,transparent 5px),radial-gradient(ellipse at 80% 90%,rgba(255,230,232,.5),transparent 40%),radial-gradient(ellipse at 10% 60%,rgba(255,240,242,.4),transparent 35%)}[data-theme=sakura] .cover:before{background:linear-gradient(155deg,#783c4b66,#46232dd1)}[data-theme=sakura] .cover-ornament{width:76px;height:76px;border-radius:50%;border:1.5px dashed rgba(255,220,225,.55);box-shadow:0 0 0 10px #d4899a1a;background:radial-gradient(circle at 50% 50%,rgba(255,220,225,.35) 0 18%,transparent 19%),radial-gradient(circle at 50% 22%,rgba(255,200,210,.5) 0 10%,transparent 11%),radial-gradient(circle at 78% 42%,rgba(255,200,210,.5) 0 10%,transparent 11%),radial-gradient(circle at 68% 75%,rgba(255,200,210,.5) 0 10%,transparent 11%),radial-gradient(circle at 32% 75%,rgba(255,200,210,.5) 0 10%,transparent 11%),radial-gradient(circle at 22% 42%,rgba(255,200,210,.5) 0 10%,transparent 11%)}[data-theme=sakura] .cover-ornament:after{display:none}[data-theme=sakura] .type-pill{border-radius:999px;letter-spacing:.18em;border-color:#ffd2dc80;font-weight:400}[data-theme=sakura] .couple{font-weight:500}[data-theme=sakura] .couple .amp{font-style:normal;opacity:.7;font-size:.55em;letter-spacing:.15em}[data-theme=sakura] .open-btn{border-radius:999px;letter-spacing:.1em;border-color:#ffd2dc8c;background:#d4899a33}[data-theme=sakura] .section-ornament{width:72px;height:1px;background:linear-gradient(90deg,transparent,#d4899a,transparent)}[data-theme=sakura] .section-ornament:before,[data-theme=sakura] .section-ornament:after{width:8px;height:8px;border-radius:50% 0 50% 50%;background:#d4899a;border:none;transform:translateY(-50%) rotate(-30deg)}[data-theme=sakura] .avatar-frame{border-radius:50%;background:linear-gradient(145deg,#e8a8b4,#b85f72);border:3px solid #fff;box-shadow:0 0 0 6px #d4899a26,0 12px 32px #b85f7233}[data-theme=sakura] .heading{font-weight:500;color:#b85f72;letter-spacing:.02em}[data-theme=sakura] .couple-grid h2{color:#b85f72}[data-theme=sakura] .people-sub{color:#d4899a}[data-theme=sakura] .event-card{background:#fff;border-radius:24px 24px 8px;border:1px solid rgba(212,137,154,.22);box-shadow:0 12px 36px #b85f7214}[data-theme=sakura] .event-card:hover{transform:translateY(-3px);box-shadow:0 18px 44px #b85f721f}[data-theme=sakura] .event-card h3{color:#b85f72}[data-theme=sakura] .ec-icon{border-radius:50%;background:#d4899a1f;color:#d4899a}[data-theme=sakura] .map-link,[data-theme=sakura] .cal-link,[data-theme=sakura] form button{border-radius:999px}[data-theme=sakura] form button{background:linear-gradient(135deg,#d4899a,#b85f72)}[data-theme=sakura] form input,[data-theme=sakura] form textarea,[data-theme=sakura] .radio{border-radius:14px;border-color:#d4899a40;background:#fff}[data-theme=sakura] .countdown>div{border-radius:16px;border-color:#d4899a33;background:#fff}[data-theme=sakura] .bank-item,[data-theme=sakura] .qris-image-wrap{border-radius:14px;border-color:#d4899a33;background:#fff}[data-theme=sakura] .gallery-thumb{border-radius:16px 16px 4px;background:#f5e0e4}[data-theme=sakura] .footer{background:linear-gradient(135deg,#5a3038,#3a2028);border-top:1px solid rgba(212,137,154,.35)}[data-theme=sakura] .footer-couple{color:#f5e0e4}[data-theme=sakura] .copy-btn{border-radius:999px;border-color:#d4899a59;color:#b85f72}[data-theme=sakura] .copy-btn:hover{background:#d4899a1a}.cover{position:fixed;inset:0;background-size:cover;background-position:center;display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;z-index:100;transition:opacity .6s,transform .6s}.cover:before{content:"";position:absolute;inset:0;background:linear-gradient(160deg,#3c28198c,#28190fc7);animation:cover-glow 8s ease-in-out infinite alternate}@keyframes cover-glow{0%{opacity:.92}to{opacity:1}}.cover-overlay{position:relative;padding:2rem;max-width:560px;animation:cover-in .8s ease both}@keyframes cover-in{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}.cover-ornament{width:72px;height:72px;margin:0 auto 1rem;border-radius:50%;border:1px solid rgba(255,255,255,.35);box-shadow:0 0 0 8px #ffffff0f;background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.25),transparent 60%);position:relative}.cover-ornament:after{content:"";position:absolute;inset:18px;border-radius:50%;border:1px solid rgba(255,255,255,.25)}[data-ornament=birthday] .cover-ornament{border-radius:18px;transform:rotate(12deg)}[data-ornament=graduation] .cover-ornament{border-radius:8px;transform:none}[data-ornament=islamic] .cover-ornament{border-radius:40% 60% 55% 45%/55% 40% 60% 45%}.type-pill{display:inline-block;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;padding:.35rem .85rem;border-radius:999px;border:1px solid rgba(255,255,255,.4);background:#ffffff1a;margin:0 0 1rem;backdrop-filter:blur(6px)}.guest-label{font-size:.75rem;letter-spacing:.15em;text-transform:uppercase;margin:0;opacity:.7}.guest-name{font-family:var(--font-serif);font-size:1.4rem;margin:.2rem 0 1.25rem}.couple{display:flex;flex-direction:column;font-size:clamp(2rem,6vw,3.2rem);line-height:1.1;margin:0 0 1rem}.couple .amp{font-style:italic;opacity:.7;margin:.1rem 0;font-size:.8em}.couple .c-sub{display:block;font-size:clamp(1rem,3vw,1.35rem);opacity:.85;margin-top:.35rem;font-weight:400;letter-spacing:.04em}.date{font-size:.95rem;letter-spacing:.08em;opacity:.85;margin:1rem 0 1.5rem}.cover-countdown{display:flex;justify-content:center;align-items:flex-start;gap:.3rem;margin:1rem 0 1.5rem}.ccd-item{display:flex;flex-direction:column;align-items:center;min-width:48px}.ccd-num{font-family:var(--font-serif);font-size:clamp(1.4rem,4vw,2rem);font-weight:700;line-height:1;text-shadow:0 2px 12px rgba(0,0,0,.4)}.ccd-item small{font-size:.55rem;text-transform:uppercase;letter-spacing:.1em;opacity:.8;margin-top:.15rem}.ccd-sep{font-family:var(--font-serif);font-size:1.4rem;opacity:.4;line-height:1}.open-btn{background:#ffffff26;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.5);color:#fff;padding:.8rem 2rem;border-radius:999px;font-size:.95rem;cursor:pointer;letter-spacing:.05em;transition:all .25s;box-shadow:0 8px 28px #0003}.open-btn:hover{background:#ffffff47;transform:translateY(-2px)}.cover-opened{display:none}.open-btn-icon{margin-right:.4rem}.section-ornament{width:64px;height:2px;margin:0 auto 1.25rem;background:linear-gradient(90deg,transparent,var(--c-primary),transparent);position:relative}.section-ornament:before,.section-ornament:after{content:"";position:absolute;top:50%;width:6px;height:6px;border-radius:50%;background:var(--c-primary);transform:translateY(-50%)}.section-ornament:before{left:0}.section-ornament:after{right:0}[data-ornament=birthday] .section-ornament{height:0;border:none;width:48px;height:48px;border:2px dashed color-mix(in srgb,var(--c-primary) 45%,transparent);border-radius:50%;background:transparent}[data-ornament=birthday] .section-ornament:before,[data-ornament=birthday] .section-ornament:after{display:none}.reveal{opacity:0;transform:translateY(18px);transition:opacity .55s ease,transform .55s ease}.reveal.is-visible{opacity:1;transform:none}.music-player{position:fixed;bottom:1.25rem;right:1.25rem;z-index:200}.music-btn{position:relative;width:48px;height:48px;border-radius:50%;border:none;background:#fffffff2;color:var(--c-accent);cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px #0003;z-index:2;transition:transform .2s}.music-btn:hover{transform:scale(1.08)}.music-ring{position:absolute;inset:0;border-radius:50%;border:2px solid var(--c-primary);opacity:0;pointer-events:none}.music-btn.playing~.music-ring{animation:music-pulse 1.6s ease-out infinite}@keyframes music-pulse{0%{opacity:.7;transform:scale(1)}to{opacity:0;transform:scale(2)}}.invitation{padding-top:3rem}.section{padding:3rem 1.5rem;max-width:680px;margin:0 auto;text-align:center}.bismillah{font-size:1.6rem;margin:0 0 .5rem}.subtitle{font-size:1.1rem;color:var(--c-accent);margin:0 0 1rem}.text{color:var(--c-muted);line-height:1.7;max-width:520px;margin:0 auto 2rem}.floral-divider{margin:1.5rem auto;display:block}.couple-grid{display:grid;grid-template-columns:1fr auto 1fr;gap:1.5rem;align-items:center;margin-top:1.5rem}.couple-grid-solo{grid-template-columns:1fr;justify-items:center;text-align:center}.people-sub{margin:.35rem 0 0;font-family:var(--font-serif);color:var(--c-primary);font-size:1.05rem}.person{text-align:center}.avatar-frame{width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,var(--c-primary),var(--c-accent));display:flex;align-items:center;justify-content:center;margin:0 auto 1rem;color:#fff;font-family:var(--font-serif);font-size:1.9rem;font-weight:600;border:3px solid rgba(255,255,255,.65);box-shadow:0 8px 24px color-mix(in srgb,var(--c-primary) 35%,transparent);transition:transform .3s}.person:hover .avatar-frame{transform:scale(1.04)}.couple-grid h2{font-size:1.5rem;margin:0 0 .5rem;color:var(--c-accent)}.bio,.parents{font-size:.85rem;color:var(--c-muted);margin:.2rem 0}.amp-lg{font-family:var(--font-serif);font-size:2rem;color:var(--c-primary);font-style:italic}.heading{font-size:1.8rem;color:var(--c-accent);margin-bottom:1.5rem}.event-cards{display:grid;gap:1rem}.event-card{background:var(--c-card);border:1px solid color-mix(in srgb,var(--c-primary) 18%,#efe6da);border-radius:18px;padding:1.5rem;position:relative;box-shadow:0 10px 28px #3c28190f;transition:transform .25s,box-shadow .25s}.event-card:hover{transform:translateY(-3px);box-shadow:0 16px 36px #3c28191a}.ec-icon{width:44px;height:44px;border-radius:50%;background:color-mix(in srgb,var(--c-primary) 14%,transparent);display:flex;align-items:center;justify-content:center;margin:0 auto .75rem;color:var(--c-primary)}.event-card h3{margin:0 0 .5rem;color:var(--c-accent)}.event-date,.event-time{margin:.15rem 0;font-weight:600}.event-venue,.event-addr{margin:.15rem 0;color:var(--c-muted);font-size:.85rem}.map-link{display:inline-block;margin-top:.75rem;color:var(--c-accent);border:1px solid var(--c-primary);padding:.35rem 1rem;border-radius:999px;font-size:.85rem;transition:all .2s}.map-link:hover{background:var(--c-primary);color:#fff}.countdown{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem;margin-top:1.5rem}.countdown>div{background:var(--c-card);border:1px solid #efe6da;border-radius:14px;padding:1rem .5rem}.cd-num{display:block;font-family:var(--font-serif);font-size:2rem;color:var(--c-accent)}.countdown small{color:var(--c-muted);font-size:.7rem;text-transform:uppercase;letter-spacing:.05em}form{text-align:left;max-width:480px;margin:1.5rem auto 0}form label{display:block;margin-bottom:.85rem;font-size:.85rem;color:var(--c-muted)}form input,form textarea{width:100%;padding:.65rem .85rem;border:1px solid #ddd;border-radius:8px;font-size:1rem;font-family:inherit;background:var(--c-card);color:var(--c-text)}form button{width:100%;background:var(--c-primary);color:#fff;border:none;padding:.8rem;border-radius:999px;font-size:1rem;cursor:pointer;transition:opacity .2s}form button:hover{opacity:.9}.radio-group{display:flex;gap:.75rem}.radio{flex:1;cursor:pointer;text-align:center;padding:.7rem;border:1px solid #ddd;border-radius:8px;color:var(--c-text);font-size:.9rem}.radio input{width:auto}.opt{color:#bbb}.msg{font-size:.9rem;min-height:1.2em;margin-top:.5rem;text-align:center}.story-text{color:var(--c-muted);line-height:1.8;max-width:520px;margin:0 auto;white-space:pre-line}.gallery-masonry{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem;margin-top:1rem}.gallery-thumb{border:none;padding:0;cursor:pointer;overflow:hidden;border-radius:12px;aspect-ratio:1;background:#efe6da}.gallery-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.gallery-thumb:hover img{transform:scale(1.05)}.gallery-thumb:nth-child(3n+1){grid-column:span 2;aspect-ratio:2/1}.lightbox{position:fixed;inset:0;background:#000000eb;z-index:300;display:flex;align-items:center;justify-content:center;padding:2rem}.lightbox[hidden]{display:none}.lightbox img{max-width:90vw;max-height:85vh;border-radius:8px;object-fit:contain}.lightbox-close{position:absolute;top:1rem;right:1.5rem;background:none;border:none;color:#fff;font-size:2.5rem;cursor:pointer}.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);background:#ffffff26;border:none;color:#fff;font-size:2.5rem;cursor:pointer;padding:.5rem 1rem;border-radius:8px;line-height:1}.lightbox-prev{left:1rem}.lightbox-next{right:1rem}.qris-wrap{margin:0 auto 1.5rem;max-width:260px}.qris-image-wrap{background:var(--c-card);border:1px solid #efe6da;border-radius:14px;padding:1rem}.qris-image-wrap img{width:100%;display:block;border-radius:8px}.gift-subheading{font-family:var(--font-serif);font-size:1rem;color:var(--c-accent);margin:0 0 .75rem;text-align:center}.banks-wrap{margin-top:1.5rem}.bank-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.7rem}.bank-item{background:var(--c-card);border:1px solid #efe6da;border-radius:10px;padding:.75rem 1rem;display:flex;flex-direction:column;gap:.2rem;text-align:left}.bank-item .bank-name{font-weight:600;font-size:.85rem;color:var(--c-accent)}.bank-no-wrap{display:flex;align-items:center;gap:.5rem}.bank-no{font-size:1.05rem;font-family:monospace;letter-spacing:.05em}.copy-btn{background:none;border:1px solid #ddd;border-radius:6px;padding:.2rem .55rem;font-size:.72rem;cursor:pointer;color:var(--c-accent);white-space:nowrap;transition:all .2s;line-height:1.4}.copy-btn:hover{background:#f0ebe4}.copy-btn.copied{background:#d4edda;border-color:#b8d4c5;color:#155724}.bank-an{font-size:.8rem;color:var(--c-muted)}.footer{text-align:center;padding:3rem 1.5rem 2rem;background:linear-gradient(135deg,#3a2a1e,#2b1f15);color:#ddd;margin-top:3rem}.footer-couple{font-family:var(--font-serif);font-size:1.6rem;color:#fff;margin:0 0 .5rem}.footer-thanks{font-size:.85rem;margin:0 0 1.5rem;color:#aaa;max-width:480px;margin-left:auto;margin-right:auto}.footer-credit a{color:#777;font-size:.75rem}.not-found{text-align:center;padding:8rem 1.5rem}.not-found h1{font-size:2rem;color:var(--c-accent)}@media(max-width:540px){.couple-grid{grid-template-columns:1fr}.amp-lg{display:none}.countdown{grid-template-columns:repeat(2,1fr)}.gallery-masonry{grid-template-columns:1fr}.gallery-thumb:nth-child(3n+1){grid-column:span 1;aspect-ratio:1}}[data-theme=marble] body,[data-theme=marble]{background-color:var(--c-bg);background-image:linear-gradient(122deg,transparent 40%,rgba(90,88,80,.04) 41%,rgba(90,88,80,.04) 42%,transparent 43%),linear-gradient(68deg,transparent 55%,rgba(120,118,110,.035) 56%,rgba(120,118,110,.035) 57%,transparent 58%),linear-gradient(15deg,transparent 70%,rgba(80,78,70,.03) 71%,transparent 72%),radial-gradient(ellipse at 30% 20%,rgba(255,255,255,.8),transparent 50%),radial-gradient(ellipse at 70% 80%,rgba(210,208,200,.35),transparent 45%)}[data-theme=marble] .cover:before{background:linear-gradient(165deg,#2828266b,#141412c7)}[data-theme=marble] .cover-ornament{width:1px;height:56px;border-radius:0;border:none;background:linear-gradient(180deg,transparent,rgba(255,255,255,.7),transparent);box-shadow:none}[data-theme=marble] .cover-ornament:after{content:"";position:absolute;width:56px;height:1px;transform:translate(-50%,-50%);inset:auto;background:linear-gradient(90deg,transparent,rgba(255,255,255,.7),transparent);border:none;border-radius:0}[data-theme=marble] .type-pill{border-radius:0;letter-spacing:.32em;font-size:.6rem;border:none;border-bottom:1px solid rgba(255,255,255,.45);border-top:1px solid rgba(255,255,255,.45);background:transparent;padding:.5rem 1.2rem}[data-theme=marble] .couple{font-weight:500;letter-spacing:.02em}[data-theme=marble] .couple .amp{font-style:italic;font-size:.5em;letter-spacing:.2em;opacity:.7}[data-theme=marble] .open-btn{border-radius:0;letter-spacing:.2em;text-transform:uppercase;font-size:.72rem;border:1px solid rgba(255,255,255,.6);background:transparent;padding:.85rem 2.2rem}[data-theme=marble] .section-ornament{width:140px;height:1px;background:#c8c6c0}[data-theme=marble] .section-ornament:before,[data-theme=marble] .section-ornament:after{display:none}[data-theme=marble] .avatar-frame{border-radius:0;width:76px;height:76px;background:#1e1e1c;border:1px solid #5c5a54;box-shadow:0 0 0 8px #5c5a5414,0 12px 28px #0000001f;color:#f7f7f5;font-weight:500}[data-theme=marble] .heading{font-weight:500;letter-spacing:.18em;text-transform:uppercase;font-size:1.15rem;color:#2e2e2a;border-bottom:1px solid #d8d6d0;display:inline-block;padding-bottom:.5rem;margin-bottom:1.75rem}[data-theme=marble] .couple-grid h2{color:#1e1e1c;font-weight:500;letter-spacing:.02em}[data-theme=marble] .people-sub{color:#5c5a54;letter-spacing:.04em}[data-theme=marble] .event-card{background:#fff;border-radius:0;border:1px solid #d8d6d0;box-shadow:none;padding:2rem 1.5rem}[data-theme=marble] .event-card:hover{transform:none;box-shadow:0 12px 32px #0000000f}[data-theme=marble] .event-card h3{color:#1e1e1c;letter-spacing:.08em;text-transform:uppercase;font-size:1rem;font-weight:500}[data-theme=marble] .ec-icon{border-radius:0;background:transparent;border:1px solid #c8c6c0;color:#5c5a54}[data-theme=marble] .map-link,[data-theme=marble] .cal-link{border-radius:0;letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;font-weight:600}[data-theme=marble] form button{border-radius:0;background:#1e1e1c;letter-spacing:.12em;text-transform:uppercase;font-size:.85rem}[data-theme=marble] form input,[data-theme=marble] form textarea,[data-theme=marble] .radio{border-radius:0;border-color:#d8d6d0;background:#fff}[data-theme=marble] .countdown>div{border-radius:0;border-color:#d8d6d0;background:#fff}[data-theme=marble] .cd-num{color:#1e1e1c}[data-theme=marble] .bank-item,[data-theme=marble] .qris-image-wrap{border-radius:0;border-color:#d8d6d0;background:#fff}[data-theme=marble] .gallery-thumb{border-radius:0;background:#e8e6e0}[data-theme=marble] .footer{background:#1e1e1c;border-top:1px solid #5c5a54}[data-theme=marble] .footer-couple{color:#f7f7f5;letter-spacing:.1em;font-weight:500}[data-theme=marble] .copy-btn{border-radius:0;border-color:#c8c6c0;color:#5c5a54;letter-spacing:.04em}[data-theme=marble] .copy-btn:hover{background:#f0eeea}[data-theme=marble] .amp-lg{font-style:italic;letter-spacing:.15em;font-size:1.2rem}*{box-sizing:border-box}html,body{margin:0;padding:0;font-family:var(--font-sans);color:var(--c-text);background:var(--c-bg)}h1,h2,h3{font-family:var(--font-serif);font-weight:600}body.invite-status-page{min-height:100dvh;display:grid;place-items:center;background:radial-gradient(900px 420px at 85% -5%,rgba(212,135,155,.16),transparent 58%),radial-gradient(700px 380px at -10% 110%,rgba(192,101,127,.1),transparent 55%),var(--c-bg, #fff5f7);color:var(--c-text, #4a3b3b);--font-serif:"Cormorant Garamond",Georgia,serif;--font-sans:"Plus Jakarta Sans",system-ui,sans-serif}.invite-status{position:relative;width:min(34rem,calc(100% - 2rem));text-align:center;padding:clamp(2.5rem,6vw,3.5rem) clamp(1.25rem,4vw,2rem);animation:invite-status-in .7s cubic-bezier(.16,1,.3,1) both}.invite-status-glow{position:absolute;inset:10% 12% auto;height:9rem;border-radius:50%;background:radial-gradient(circle,rgba(248,187,208,.45),transparent 70%);filter:blur(10px);pointer-events:none;z-index:0}.invite-status-brand,.invite-status-kicker,.invite-status h1,.invite-status-copy,.invite-status-actions{position:relative;z-index:1}.invite-status-brand{font-family:var(--font-serif);font-size:clamp(1.85rem,4.5vw,2.4rem);font-weight:600;color:var(--c-primary, #d4879b);letter-spacing:-.02em;line-height:.95;margin:0 0 .85rem}.invite-status-kicker{margin:0 0 .65rem;font-family:var(--font-sans);font-size:.78rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--c-muted, #a89090)}.invite-status h1{margin:0 0 1rem;font-size:clamp(1.75rem,5vw,2.35rem);line-height:1.15;color:var(--c-accent, #c0657f)}.invite-status-copy{margin:0 auto 1.75rem;max-width:28rem;font-family:var(--font-sans);font-size:1.02rem;line-height:1.65;color:var(--c-text-soft, #6d5555)}.invite-status-actions{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center}.invite-status-btn{display:inline-flex;align-items:center;justify-content:center;min-height:2.85rem;padding:.7rem 1.25rem;border-radius:.7rem;font-family:var(--font-sans);font-size:.95rem;font-weight:600;text-decoration:none;transition:transform .18s ease,background .18s ease,border-color .18s ease,color .18s ease}.invite-status-btn:hover{transform:translateY(-1px)}.invite-status-btn:active{transform:translateY(0)}.invite-status-btn-primary{background:var(--c-accent, #c0657f);color:#fff;box-shadow:0 10px 24px #c0657f38}.invite-status-btn-primary:hover{background:var(--c-primary-dark, #b87085)}@keyframes invite-status-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
