:root{--cream: #F4EBE1;--cream-light: #FAF6F1;--cream-dark: #E8DDD0;--maroon: #61150C;--maroon-light: #7A2318;--maroon-dark: #4A0F08;--brown: #5A3E2B;--brown-light: #7A5E4B;--gold: #C9A84C;--gold-light: #D4B968;--gold-dark: #A88B3A;--white: #FFFFFF;--text-dark: #3B2A1A;--text-muted: #8B7B6B;--font-script: "Great Vibes", cursive;--font-serif: "Cormorant Garamond", serif;--font-sans: "Poppins", sans-serif;--ease-smooth: cubic-bezier(.25, .46, .45, .94);--shadow-soft: 0 4px 30px rgba(90, 62, 43, .08);--shadow-medium: 0 8px 40px rgba(90, 62, 43, .12);--shadow-card: 0 2px 20px rgba(90, 62, 43, .06)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px;-webkit-font-smoothing:antialiased}body{font-family:var(--font-sans);background:var(--cream);color:var(--text-dark);line-height:1.6;overflow-x:hidden}img{display:block;max-width:100%;height:auto}a{text-decoration:none;color:inherit}button{border:none;background:none;cursor:pointer;font-family:inherit}@keyframes sway2{0%,to{transform:rotate(0) translateY(0)}25%{transform:rotate(1.5deg) translateY(-4px)}50%{transform:rotate(-1deg) translateY(-2px)}75%{transform:rotate(1deg) translateY(-6px)}}@keyframes sway3{0%,to{transform:rotate(0) translateY(0)}25%{transform:rotate(-2deg) translateY(-6px)}50%{transform:rotate(1.5deg) translateY(-3px)}75%{transform:rotate(-1deg) translateY(-8px)}}@keyframes swaySlow{0%,to{transform:rotate(0) scale(1)}50%{transform:rotate(.5deg) scale(1.01)}}@keyframes zoomBreath{0%,to{transform:scale(1)}50%{transform:scale(1.03)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes shimmer{0%{background-position:-200% center}to{background-position:200% center}}@keyframes barAnimation{0%,to{height:4px}50%{height:18px}}@keyframes floatUp{0%{transform:translateY(0) rotate(0);opacity:.8}50%{opacity:1}to{transform:translateY(-120vh) rotate(360deg);opacity:0}}.sway-2{animation:sway2 6s ease-in-out infinite;transform-origin:bottom center}.sway-3{animation:sway3 8s ease-in-out infinite;transform-origin:bottom center}.sway-slow{animation:swaySlow 10s ease-in-out infinite;transform-origin:center center}.anim-fade-up{opacity:0;transform:translateY(50px);transition:opacity .9s var(--ease-smooth),transform .9s var(--ease-smooth)}.anim-fade-up.visible{opacity:1;transform:translateY(0)}.cover{position:fixed;top:0;left:0;width:100%;height:100vh;height:100dvh;z-index:1000;overflow:hidden;transition:transform .9s var(--ease-smooth),opacity .7s ease}.cover.opened{transform:translateY(-100%);opacity:0;pointer-events:none}.cover-scene{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.cover-layer{position:absolute;pointer-events:none}.cover-layer img{width:100%;height:100%;object-fit:contain}.cover-bg{top:0;right:0;bottom:0;left:0;z-index:1}.cover-bg img{width:100%;height:100%;object-fit:cover;animation:zoomBreath 20s ease-in-out infinite}.cover-gunungan{top:2%;left:50%;transform:translate(-50%);width:45%;max-width:320px;z-index:2;opacity:.15}.cover-pohon-left{bottom:5%;left:-15%;width:55%;max-width:400px;z-index:4;transform-origin:bottom left}.cover-pohon-right{bottom:5%;right:-15%;width:55%;max-width:400px;z-index:4;transform-origin:bottom right}.cover-pisang{bottom:0;left:-5%;width:40%;max-width:280px;z-index:5;transform-origin:bottom left}.cover-semak{bottom:-5%;left:50%;transform:translate(-50%);width:120%;z-index:7}.cover-bunga-left{bottom:10%;left:-5%;width:30%;max-width:200px;z-index:6;transform-origin:bottom left}.cover-bunga-right{bottom:10%;right:-5%;width:30%;max-width:200px;z-index:6;transform-origin:bottom right}.cover-bunga-top{top:-5%;right:-5%;width:40%;max-width:260px;z-index:6;transform-origin:top right}.cover-bunga-bottom{bottom:-5%;left:-5%;width:40%;max-width:260px;z-index:8;transform-origin:bottom left}.cover-halaman{bottom:0;left:50%;transform:translate(-50%);width:100%;z-index:3}.cover-content{position:relative;z-index:20;display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-align:center;padding:0 24px;animation:fadeIn 1.5s var(--ease-smooth) .5s both;background:radial-gradient(ellipse at center,rgba(244,235,225,.75) 0%,rgba(244,235,225,.4) 50%,transparent 80%)}.cover-bismillah{font-size:clamp(1.1rem,3.5vw,1.5rem);color:var(--maroon);margin-bottom:16px;direction:rtl;line-height:2}.cover-label{font-family:var(--font-sans);font-size:.7rem;letter-spacing:4px;text-transform:uppercase;color:var(--text-muted);margin-bottom:6px}.cover-names{font-family:var(--font-script);font-size:clamp(2.8rem,10vw,4.5rem);color:var(--maroon);font-weight:400;line-height:1.2;margin-bottom:6px;text-shadow:0 2px 10px rgba(244,235,225,.8)}.cover-amp{font-family:var(--font-script);color:var(--gold);margin:0 4px}.cover-date-text{font-family:var(--font-serif);font-size:1rem;color:var(--brown-light);letter-spacing:2px;margin-bottom:20px}.cover-divider{width:60px;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);margin:0 auto 20px}.cover-guest-label{font-family:var(--font-serif);font-size:.9rem;color:var(--text-muted);line-height:1.5;margin-bottom:4px}.cover-guest-name{font-family:var(--font-serif);font-size:clamp(1.3rem,5vw,1.8rem);font-weight:600;color:var(--maroon);margin-bottom:28px}.cover-btn{display:inline-flex;align-items:center;gap:10px;padding:14px 36px;background:var(--maroon);color:var(--cream-light);border-radius:50px;font-size:.9rem;font-weight:500;letter-spacing:1px;transition:all .4s var(--ease-smooth);box-shadow:0 4px 20px #61150c4d;position:relative;overflow:hidden}.cover-btn:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.15),transparent);background-size:200% 100%;animation:shimmer 3s infinite}.cover-btn:hover{background:var(--maroon-light);transform:translateY(-2px) scale(1.02);box-shadow:0 8px 30px #61150c66}.deco{position:absolute;pointer-events:none;z-index:5}.deco img{width:100%;height:100%;object-fit:contain}.deco-flower-tl{top:-5%;left:-10%;width:35%;max-width:220px;opacity:.7;transform-origin:top left}.deco-flower-br{bottom:-5%;right:-10%;width:35%;max-width:220px;opacity:.7;transform-origin:bottom right}.deco-bunga-atas{top:-8%;right:-8%;width:40%;max-width:250px;opacity:.5;transform-origin:top right}.deco-bunga-bawah{bottom:-8%;left:-8%;width:40%;max-width:250px;opacity:.5;transform-origin:bottom left}.deco-frame-left{top:10%;left:-12%;width:30%;max-width:200px;opacity:.3;transform-origin:center left}.deco-frame-right{top:10%;right:-12%;width:30%;max-width:200px;opacity:.3;transform-origin:center right;transform:scaleX(-1)}.deco-frame-right.sway-slow{animation-name:swaySlow}.deco-event-flower-l{bottom:0;left:-8%;width:35%;max-width:200px;opacity:.6;z-index:3;transform-origin:bottom left}.deco-event-flower-r{top:0;right:-8%;width:35%;max-width:200px;opacity:.6;z-index:3;transform-origin:top right}.deco-gallery-tl{top:-5%;left:-10%;width:30%;max-width:180px;opacity:.4;transform-origin:top left}.deco-gallery-br{bottom:-5%;right:-10%;width:30%;max-width:180px;opacity:.4;transform-origin:bottom right}.deco-gift-left{top:20%;left:-12%;width:28%;max-width:170px;opacity:.35;transform-origin:center left}.deco-gift-right{bottom:10%;right:-12%;width:28%;max-width:170px;opacity:.35;transform-origin:center right}.deco-wish-tl{top:-5%;right:-8%;width:35%;max-width:200px;opacity:.35;transform-origin:top right}.deco-wish-br{bottom:5%;left:-8%;width:35%;max-width:200px;opacity:.35;transform-origin:bottom left}.deco-closing-l{bottom:0;left:-8%;width:32%;max-width:180px;opacity:.55;z-index:3;transform-origin:bottom left}.deco-closing-r{bottom:0;right:-8%;width:32%;max-width:180px;opacity:.55;z-index:3;transform-origin:bottom right}.audio-toggle{position:fixed;top:20px;right:20px;z-index:999;width:48px;height:48px;border-radius:50%;background:#f4ebe1e6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;color:var(--maroon);box-shadow:var(--shadow-soft);transition:all .3s;border:1px solid rgba(201,168,76,.2)}.audio-toggle:hover{background:#f4ebe1;transform:scale(1.05)}.audio-bars{display:flex;align-items:center;gap:3px;height:20px}.audio-bars span{display:block;width:3px;height:4px;background:var(--maroon);border-radius:2px}.audio-bars.playing span:nth-child(1){animation:barAnimation .8s 0s infinite ease-in-out}.audio-bars.playing span:nth-child(2){animation:barAnimation .8s .2s infinite ease-in-out}.audio-bars.playing span:nth-child(3){animation:barAnimation .8s .4s infinite ease-in-out}.audio-bars.playing span:nth-child(4){animation:barAnimation .8s .6s infinite ease-in-out}.nav{position:fixed;bottom:0;left:0;right:0;z-index:998;display:flex;justify-content:space-around;align-items:center;padding:10px 8px;background:#f4ebe1eb;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-top:1px solid rgba(201,168,76,.15);box-shadow:0 -2px 20px #5a3e2b0f}.nav-link{font-size:.65rem;font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;padding:6px 10px;border-radius:20px;transition:all .3s}.nav-link.active{color:var(--maroon);background:#61150c14}.nav-link:hover{color:var(--maroon)}.section{position:relative;overflow:hidden}.section-header{text-align:center;margin-bottom:48px}.section-subtitle{font-size:.7rem;letter-spacing:4px;text-transform:uppercase;color:var(--text-muted);margin-bottom:6px}.section-title{font-family:var(--font-script);font-size:clamp(2.2rem,8vw,3.2rem);color:var(--maroon);font-weight:400}.section-divider{width:80px;height:1.5px;background:linear-gradient(90deg,transparent,var(--gold),transparent);margin:12px auto 0}.hero{height:100vh;height:100dvh;display:flex;align-items:flex-start;justify-content:center;padding-top:max(70px,11vh);position:relative;overflow:hidden}.hero-bg{position:absolute;top:0;right:0;bottom:0;left:0;background-size:cover;background-position:center 25%}.hero-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#1a0f086b,#1a0f082e 45%,#1a0f0873)}.hero-content{position:relative;z-index:10;text-align:center;color:#fff;padding:0 24px}.hero-subtitle{font-size:.75rem;letter-spacing:5px;text-transform:uppercase;color:#fffc;margin-bottom:8px}.hero-names{font-family:var(--font-script);font-size:clamp(2.8rem,11vw,4.8rem);font-weight:400;color:#fff;line-height:1.2;margin-bottom:10px;text-shadow:0 2px 20px rgba(0,0,0,.4)}.hero-names .amp{font-family:var(--font-script);color:var(--gold-light);margin:0 8px}.hero-date{font-family:var(--font-serif);font-size:1.05rem;letter-spacing:6px;color:#ffffffd9}.ornament-frame{width:min(150px,40vw);margin:6px auto 14px;opacity:.65}.ornament-frame--flip{transform:scaleY(-1)}.ornament-img{width:100%;filter:brightness(2) invert(0);opacity:.6}.section-quote{padding:80px 24px;background:var(--cream-light);text-align:center}.quote-content{max-width:640px;margin:0 auto;padding:32px 20px}.quote-arabic{font-size:clamp(1.2rem,4vw,1.6rem);line-height:2.2;color:var(--maroon);margin-bottom:24px;direction:rtl}.quote-translation{font-family:var(--font-serif);font-size:clamp(.95rem,2.5vw,1.1rem);font-style:italic;color:var(--brown);line-height:1.8;margin-bottom:16px}.quote-source{font-family:var(--font-serif);font-size:.9rem;color:var(--gold-dark);letter-spacing:2px;font-weight:600}.quote-ornament-top,.quote-ornament-bottom{width:120px;margin:0 auto 16px;opacity:.35}.quote-ornament-bottom{margin:16px auto 0;transform:scaleY(-1)}.section-couple{padding:80px 24px;background:var(--cream);position:relative;overflow:hidden}.couple-card{text-align:center;max-width:360px;margin:0 auto 20px;padding:32px 20px;position:relative;z-index:10}.couple-photo-wrapper{position:relative;width:220px;height:220px;margin:0 auto 24px}.couple-photo-frame{width:220px;height:220px;border-radius:50%;overflow:hidden;border:4px solid var(--gold);box-shadow:0 0 0 6px #c9a84c2e,0 12px 32px #0000001f;position:relative;z-index:2;background:#f7efe4}.couple-photo{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s cubic-bezier(.2,.8,.2,1)}.couple-photo--bride{object-position:53% 18%;transform:scale(1.45);transform-origin:53% 18%}.couple-photo--bride:hover{transform:scale(1.52)}.couple-photo--groom{object-position:43.5% 12%;transform:scale(1.72);transform-origin:43.5% 12%}.couple-photo--groom:hover{transform:scale(1.82)}.couple-photo-ornament{position:absolute;top:-12px;right:-12px;bottom:-12px;left:-12px;border:1.5px dashed var(--gold);border-radius:50%;opacity:.35;z-index:1}.couple-name{font-family:var(--font-script);font-size:2rem;color:var(--maroon);font-weight:400;margin-bottom:4px}.couple-child-info{font-family:var(--font-serif);font-size:.9rem;color:var(--text-muted);font-style:italic;margin-bottom:16px}.couple-parents{font-family:var(--font-serif);font-size:.9rem;color:var(--brown);line-height:1.8}.parent-name{font-weight:600;color:var(--text-dark);font-size:1rem}.parent-separator{font-family:var(--font-script);color:var(--gold);font-size:1.2rem;margin:2px 0}.alm{font-size:.8rem;color:var(--text-muted);font-style:italic}.couple-ampersand{text-align:center;position:relative;margin:20px auto;width:100px;height:100px;display:flex;align-items:center;justify-content:center}.couple-ornament-img{position:absolute;width:100px;opacity:.3}.couple-and{font-family:var(--font-script);font-size:2.5rem;color:var(--maroon);position:relative;z-index:2}.section-event{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 24px}.event-bg{position:absolute;top:0;right:0;bottom:0;left:0;background-size:cover;background-position:center;background-attachment:fixed}@media (max-width: 768px){.event-bg{background-attachment:scroll}}.event-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#1a0f08b3,#1a0f08cc,#1a0f08bf)}.event-content{position:relative;z-index:10;width:100%;max-width:500px}.countdown{display:flex;justify-content:center;align-items:center;gap:8px;margin-bottom:40px}.countdown-item{display:flex;flex-direction:column;align-items:center;background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.15);border-radius:12px;padding:16px 14px;min-width:68px}.countdown-number{font-family:var(--font-serif);font-size:clamp(1.6rem,6vw,2.2rem);font-weight:700;color:#fff;line-height:1}.countdown-label{font-size:.65rem;color:#fff9;text-transform:uppercase;letter-spacing:2px;margin-top:6px}.countdown-sep{font-family:var(--font-serif);font-size:1.5rem;color:#fff6;margin-top:-12px}.event-card{background:#ffffff14;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.12);border-radius:20px;padding:36px 28px;text-align:center;color:#fff;position:relative;overflow:hidden}.event-card:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:60%;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent)}.event-card-ornament-img{width:120px;margin:0 auto 8px;opacity:.35;filter:brightness(2)}.event-card-ornament-img--bottom{margin:8px auto 0;transform:scaleY(-1)}.event-card-title{font-family:var(--font-script);font-size:2rem;color:var(--gold-light);font-weight:400;margin-bottom:16px}.event-card-icon{color:var(--gold-light);margin-bottom:16px;opacity:.7}.event-card-day{font-family:var(--font-serif);font-size:1.1rem;color:#fffc;letter-spacing:3px;text-transform:uppercase;margin-bottom:4px}.event-card-date{font-family:var(--font-serif);font-size:1.3rem;font-weight:600;margin-bottom:4px}.event-card-time{font-size:.85rem;color:#ffffffb3;margin-bottom:20px}.event-card-divider{width:40px;height:1px;background:#fff3;margin:0 auto 20px}.event-card-location{display:flex;align-items:flex-start;gap:10px;justify-content:center;margin-bottom:24px;color:#ffffffb3}.event-card-location svg{flex-shrink:0;margin-top:3px;color:var(--gold-light)}.event-card-location p{font-family:var(--font-serif);font-size:.9rem;line-height:1.6;text-align:left}.event-map-btn{display:inline-flex;align-items:center;gap:8px;padding:12px 28px;background:#c9a84c33;border:1px solid var(--gold);color:var(--gold-light);border-radius:50px;font-size:.8rem;font-weight:500;letter-spacing:1px;transition:all .3s}.event-map-btn:hover{background:#c9a84c59;transform:translateY(-2px)}.section-gallery{padding:80px 24px;background:var(--cream-light)}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;max-width:700px;margin:0 auto}.gallery-item{border-radius:12px;overflow:hidden;cursor:pointer;position:relative;aspect-ratio:3/4}.gallery-item--large{grid-column:span 2;grid-row:span 2}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.gallery-item:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,transparent 60%,rgba(0,0,0,.3) 100%);opacity:0;transition:opacity .3s}.gallery-item:hover img{transform:scale(1.08)}.gallery-item:hover:after{opacity:1}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;background:#000000f2;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .3s}.lightbox.active{opacity:1;pointer-events:all}.lightbox-img{max-width:90vw;max-height:85vh;object-fit:contain;border-radius:8px}.lightbox-close{position:absolute;top:20px;right:24px;font-size:2.5rem;color:#ffffffb3;z-index:10}.lightbox-close:hover{color:#fff}.lightbox-prev,.lightbox-next{position:absolute;top:50%;transform:translateY(-50%);font-size:3rem;color:#ffffff80;z-index:10;padding:20px}.lightbox-prev{left:10px}.lightbox-next{right:10px}.lightbox-prev:hover,.lightbox-next:hover{color:#fff}.section-gift{padding:80px 24px;background:var(--cream)}.gift-description{font-family:var(--font-serif);font-size:.95rem;color:var(--brown);text-align:center;max-width:480px;margin:0 auto 36px;line-height:1.8}.gift-cards{display:flex;flex-direction:column;gap:16px;max-width:400px;margin:0 auto}.gift-card{background:var(--cream-light);border:1px solid rgba(201,168,76,.2);border-radius:16px;padding:24px;text-align:center;transition:all .3s;box-shadow:var(--shadow-card)}.gift-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-medium)}.gift-card-bank{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:16px;color:var(--maroon)}.gift-bank-name{font-size:1rem;font-weight:600;letter-spacing:1px}.gift-account-name{font-family:var(--font-serif);font-size:1.1rem;font-weight:600;color:var(--text-dark);margin-bottom:12px}.gift-account-number{display:flex;align-items:center;justify-content:center;gap:12px;background:#61150c0d;border-radius:10px;padding:12px 16px}.gift-account-number span:first-child{font-size:1rem;font-weight:600;color:var(--maroon);letter-spacing:2px}.gift-copy-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;background:var(--maroon);color:var(--cream-light);border-radius:8px;font-size:.75rem;font-weight:500;transition:all .3s}.gift-copy-btn:hover{background:var(--maroon-light)}.gift-copy-btn.copied{background:#2d8a4e}.section-wishes{padding:80px 24px 120px;background:var(--cream-light)}.wishes-form{max-width:480px;margin:0 auto 40px}.form-group{margin-bottom:18px}.form-group label{display:block;font-family:var(--font-serif);font-size:.9rem;font-weight:600;color:var(--text-dark);margin-bottom:6px}.form-group input,.form-group select,.form-group textarea{width:100%;padding:12px 16px;background:#fff;border:1.5px solid rgba(201,168,76,.2);border-radius:10px;font-family:var(--font-sans);font-size:.9rem;color:var(--text-dark);transition:border-color .3s;outline:none}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px #c9a84c1a}.form-group textarea{resize:vertical;min-height:100px}.wishes-submit-btn{display:inline-flex;align-items:center;gap:8px;padding:14px 32px;background:var(--maroon);color:var(--cream-light);border-radius:50px;font-size:.85rem;font-weight:500;letter-spacing:1px;width:100%;justify-content:center;transition:all .3s;box-shadow:0 4px 16px #61150c33}.wishes-submit-btn:hover{background:var(--maroon-light);transform:translateY(-2px)}.wishes-list{max-width:480px;margin:0 auto;max-height:400px;overflow-y:auto;padding-right:8px}.wishes-list::-webkit-scrollbar{width:4px}.wishes-list::-webkit-scrollbar-thumb{background:#c9a84c4d;border-radius:2px}.wish-item{background:#fff;border-radius:12px;padding:16px 20px;margin-bottom:12px;border:1px solid rgba(201,168,76,.1);animation:fadeInUp .4s var(--ease-smooth)}.wish-item-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.wish-item-name{font-family:var(--font-serif);font-weight:600;font-size:1rem;color:var(--maroon)}.wish-item-attend{font-size:.7rem;padding:3px 10px;border-radius:20px;font-weight:500}.wish-item-attend.hadir{background:#2d8a4e1a;color:#2d8a4e}.wish-item-attend.tidak{background:#c832321a;color:#c83232}.wish-item-attend.ragu{background:#c8a0321a;color:#a08020}.wish-item-message{font-family:var(--font-serif);font-size:.9rem;color:var(--brown);line-height:1.6;font-style:italic}.wish-item-time{font-size:.7rem;color:var(--text-muted);margin-top:8px}.section-closing{min-height:90vh;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;padding:80px 24px 70px;background:var(--cream-light)}.closing-bg{position:absolute;top:0;right:0;bottom:0;left:0;background-image:url(/assets/bg-jawa-3d.jpg);background-size:cover;background-position:center;opacity:.85}.closing-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 50% 35%,#fdf8f080,#f7efe3d9)}.deco-closing-house{position:absolute;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:580px;z-index:1;opacity:.35;pointer-events:none}.deco-closing-house img{width:100%;display:block}.closing-content{position:relative;z-index:10;text-align:center;max-width:520px;margin:0 auto}.closing-photo-frame{width:190px;height:250px;margin:0 auto 28px;border-radius:95px 95px 24px 24px;overflow:hidden;border:4px solid var(--gold);box-shadow:0 0 0 6px #c9a84c33,0 16px 36px #2c18102e;position:relative;background:#f7efe4}.closing-photo{width:100%;height:100%;object-fit:cover;object-position:center 18%;transform:scale(1.15);transform-origin:center 18%;transition:transform .6s cubic-bezier(.2,.8,.2,1);display:block}.closing-photo:hover{transform:scale(1.22)}.closing-thanks{font-family:var(--font-serif);font-size:clamp(.92rem,2.4vw,1.05rem);color:var(--brown);line-height:1.85;margin-bottom:24px}.closing-regards{font-family:var(--font-serif);font-size:.85rem;letter-spacing:2px;color:var(--gold-dark);text-transform:uppercase;margin-bottom:6px;font-weight:600}.closing-names{font-family:var(--font-script);font-size:clamp(2.6rem,9vw,3.8rem);color:var(--maroon);font-weight:400;margin-bottom:12px}.closing-tagline{font-family:var(--font-serif);font-size:.95rem;color:var(--brown);font-weight:500;font-style:italic;margin-bottom:24px}.footer{text-align:center;padding:24px 16px 80px;background:var(--cream);font-size:.8rem;color:var(--text-muted)}.footer-credit{margin-top:4px;font-size:.7rem;opacity:.6}.toast{position:fixed;bottom:80px;left:50%;transform:translate(-50%) translateY(20px);background:var(--maroon);color:var(--cream-light);padding:12px 24px;border-radius:10px;font-size:.85rem;box-shadow:0 4px 20px #0000004d;opacity:0;pointer-events:none;transition:all .4s;z-index:2000}.toast.show{opacity:1;transform:translate(-50%) translateY(0)}.petal{position:fixed;width:12px;height:12px;background:var(--gold);opacity:0;border-radius:50% 0;pointer-events:none;z-index:997;animation:floatUp 12s linear infinite}@media (min-width: 768px){.section-couple{display:flex;flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:0;padding:80px 40px}.section-couple .section-header{width:100%}.couple-card{flex:0 0 300px}.couple-ampersand{flex:0 0 100px;margin:60px 20px 0}.gallery-grid{gap:14px}.nav-link{font-size:.7rem;padding:8px 16px}}@media (max-width: 480px){.countdown-item{padding:12px 10px;min-width:58px}.countdown-number{font-size:1.4rem}.gallery-grid{grid-template-columns:repeat(2,1fr);gap:8px}.gallery-item--large{grid-column:span 2;grid-row:span 1;aspect-ratio:4/3}.event-card{padding:28px 20px}}
