body{--sb-track-color:#e2e2e2;--sb-thumb-color:#1588ec;--sb-size:5px}body::-webkit-scrollbar{width:var(--sb-size)}body::-webkit-scrollbar-track{background:var(--sb-track-color);border-radius:3px}body::-webkit-scrollbar-thumb{background:var(--sb-thumb-color);border-radius:3px}@supports not selector(::-webkit-scrollbar){body{scrollbar-color:var(--sb-thumb-color) var(--sb-track-color)}}body{font-family:Open Sans,sans-serif;display:flex;justify-content:center;align-items:center;height:100vh;margin:0;padding:0}.card-mask{position:relative;border-radius:40px;margin:0 auto;background:#fff}.card,.card-mask{width:360px;height:720px;box-shadow:0 10px 20px rgba(0,0,0,.2)}.card{border:#ff0303;justify-content:center;background:url(/assets/images/theme3/Garden-05-Ayat.jpg) 50%/cover no-repeat}@media(max-width:767px){.card{width:100vw;height:100vh}}.card -webkit-scrollbar-track{background:transparent}.card::-webkit-scrollbar{width:0;color:#ff0303}.card::-webkit-scrollbar-track{background:transparent}.card:before{content:"";position:fixed;top:0;width:360px;justify-self:anchor-center;height:100%;background:url(/assets/images/theme3/Garden-05-Ayat.jpg) 50%/cover no-repeat;z-index:-10;pointer-events:none}@media(max-width:768px){.card:before{width:100%}}.cover-system{z-index:1}.hero-image{top:0;left:0;background:url(/assets/images/theme3/opening.webp) 50%/cover no-repeat;z-index:1}.hero-image,.overlay3{position:absolute;width:100%;height:100%}.overlay3{background:linear-gradient(0deg,#000 0,rgba(0,0,0,.3) 40%,transparent);z-index:2;padding:40px 20px 80px;text-align:center;display:flex;flex-direction:column;justify-content:flex-end;align-items:center}.overlay3 h2{font-size:26px;margin-bottom:10px}.overlay3 h2,.overlay3 h3{font-family:Playfair Display,serif;color:#fff}.overlay3 h3{font-size:20px;margin-top:-10px}.overlay3 p{color:#fff;font-size:12px;margin-bottom:10px}.btn{background:#654835;color:#fff;border:none;padding:12px 24px;border-radius:25px;cursor:pointer;font-size:14px;font-weight:700;transition:background .3s ease}.btn:hover{background:#5c4032}.cover-system{position:relative;width:100%;height:100%;overflow:visible}.cover-container{top:0;left:0;width:100%;height:100%;transition:transform .8s cubic-bezier(.65,0,.35,1);transform:translateY(0);z-index:10;will-change:transform}.cover-container.slide-up{transform:translateY(-110%)!important}.banner-container{position:absolute;top:0;left:0;width:100%;height:100%;z-index:5}.section-resepsi .card-akad{border-radius:20px 20px 180px 180px!important}.card-akad{background:#fdfdfd;border-radius:180px 180px 20px 20px;box-shadow:0 5px 15px rgba(0,0,0,.2);overflow:hidden;border:1px solid #ddd;position:relative;padding:10px;margin:30px}.card-akad .resepsi{border-radius:20px 20px 180px 180px!important}.card-akad:before{content:"";position:absolute;inset:0;background-image:url(/assets/images/theme3/Garden-05-Overlay.jpg);background-size:cover;background-position:top;opacity:.5;z-index:0}.card-resepsi .card-akad-content{border-radius:20px 20px 180px 180px!important}.card-akad-content{position:relative;padding:40px 20px;text-align:center;z-index:1;background:hsla(0,0%,100%,.71);border-radius:180px 180px 20px 20px;box-shadow:inset 0 0 10px #6b6b6b;margin:10px}.card-akad-content h1{font-family:Great Vibes,cursive;font-size:28px;margin:0;font-weight:400}.card-akad-content h2{margin:15px 0 5px;font-size:18px;letter-spacing:2px}.card-akad-content .date{font-size:22px;font-weight:700;margin-bottom:5px}.card-akad-content .time{font-size:14px;margin-bottom:20px}.wedding-text-overlay{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;z-index:2;animation:fadeInOverlay 1.5s ease-in-out}.wedding-frame{text-align:center;color:#fff;padding:60px 40px;position:relative;min-width:280px;animation:scaleInFrame 1.8s cubic-bezier(.68,-.55,.265,1.55)}.frame-decoration{width:80px;height:3px;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.8),transparent);margin:0 auto;position:relative}.frame-decoration.top{margin-bottom:25px;animation:expandDecoration 1.2s ease-out .5s both}.frame-decoration.bottom{margin-top:25px;animation:expandDecoration 1.2s ease-out .8s both}.frame-decoration:after,.frame-decoration:before{content:"❦";position:absolute;top:-8px;font-size:16px;color:hsla(0,0%,100%,.9);animation:fadeInOrnament 1s ease-out 1s both}.frame-decoration:before{left:-20px}.frame-decoration:after{right:-20px}.wedding-title{font-family:Playfair Display,serif;font-size:18px;font-weight:400;font-style:italic;margin-bottom:15px;opacity:0;animation:slideInFromTop 1.2s ease-out .8s both;text-shadow:2px 2px 4px rgba(0,0,0,.5);letter-spacing:1px}.couple-names{margin:20px 0}.couple-names .bride-name,.couple-names .groom-name{display:block;font-family:Playfair Display,serif;font-size:32px;font-weight:700;letter-spacing:3px;text-shadow:2px 2px 4px rgba(0,0,0,.6);opacity:0}.couple-names .bride-name{animation:slideInFromLeft 1.2s ease-out 1.2s both;margin-bottom:5px}.couple-names .ampersand{display:block;font-family:Great Vibes,cursive;font-size:28px;margin:8px 0;opacity:0;animation:rotateIn 1s ease-out 1.8s both;text-shadow:2px 2px 4px rgba(0,0,0,.5)}.couple-names .groom-name{animation:slideInFromRight 1.2s ease-out 1.5s both;margin-top:5px}.wedding-date{font-family:Playfair Display,serif;font-size:16px;font-weight:400;letter-spacing:4px;opacity:0;animation:fadeInUp 1.2s ease-out 2.2s both;text-shadow:1px 1px 3px rgba(0,0,0,.5);border-top:1px solid hsla(0,0%,100%,.6);border-bottom:1px solid hsla(0,0%,100%,.6);padding:12px 0;margin-top:20px}@keyframes fadeInOverlay{0%{opacity:0}to{opacity:1}}@keyframes scaleInFrame{0%{transform:scale(.3) rotate(-5deg);opacity:0}60%{transform:scale(1.05) rotate(2deg)}to{transform:scale(1) rotate(0deg);opacity:1}}@keyframes shimmer{0%,to{background-position:-100% 0}50%{background-position:100% 0}}@keyframes expandDecoration{0%{width:0;opacity:0}to{width:80px;opacity:1}}@keyframes fadeInOrnament{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}@keyframes slideInFromTop{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInFromLeft{0%{opacity:0;transform:translateX(-50px) scale(.8)}to{opacity:1;transform:translateX(0) scale(1)}}@keyframes slideInFromRight{0%{opacity:0;transform:translateX(50px) scale(.8)}to{opacity:1;transform:translateX(0) scale(1)}}@keyframes rotateIn{0%{opacity:0;transform:rotate(-180deg) scale(.5)}to{opacity:1;transform:rotate(0deg) scale(1)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media(max-width:767px){.wedding-frame{padding:40px 30px;min-width:260px;border-radius:20px}.wedding-title{font-size:16px}.couple-names .bride-name,.couple-names .groom-name{font-size:28px;letter-spacing:2px}.couple-names .ampersand{font-size:24px}.wedding-date{font-size:14px;letter-spacing:3px}}