@import"https://fonts.googleapis.com/css2?family=Allura&family=Cormorant+Garamond:ital,wght@0,400;0,500;1,400&family=Great+Vibes&family=Italianno&family=Lora:ital,wght@0,400;0,500;0,600;1,400&display=swap";@font-face{font-family:AutumnFlowers;src:url(/assets/AutumnFlowers-CvjL0Kii.otf) format("opentype");font-style:normal;font-weight:400;font-display:swap}:root{--wedding-primary:#FFB6C1;--wedding-primary-soft:#FFF0F4;--wedding-accent-text:#D5657F;--wedding-accent-deep:#B94F69;--wedding-background:#FFF7F9;--wedding-canvas:#FFFDFE;--wedding-surface:#FFFFFF;--wedding-text:#4B3038;--wedding-muted-text:#7C5B64;--wedding-border:#F2CBD4;--wedding-shadow:rgba(185,79,105,.16);--red:var(--wedding-primary);--paper:var(--wedding-canvas);--ink:var(--wedding-text)}*{box-sizing:border-box}#app{min-height:100vh}html,body{margin:0;padding:0;background:linear-gradient(180deg,var(--wedding-background) 0%,#FFEAF0 100%);color:var(--ink);font-family:Lora,serif}body{overflow-x:hidden}#viewport-shell{width:100%;display:flex;justify-content:center;align-items:flex-start;min-height:100vh;background:linear-gradient(180deg,var(--wedding-background) 0%,#FFEAF0 100%)}#scale-shell{position:relative;width:500px;overflow:visible}.template-preview-stage{width:500px;position:relative;background:var(--wedding-canvas);transform-origin:top center;box-shadow:0 18px 54px var(--wedding-shadow)}#zen-app-view{position:relative;width:500px!important;min-height:var(--wedding-canvas-height,13471px);background:var(--wedding-canvas)}#zen-app-view>.relative{height:auto!important;overflow:visible!important;position:relative!important}#page-root-container{width:500px!important;height:var(--wedding-canvas-height,13471px)!important;position:relative!important;overflow:hidden!important;margin:0 auto;background:var(--wedding-canvas)!important}.w-full{width:100%}.h-full{height:100%}.relative{position:relative}.absolute{position:absolute}.overflow-hidden{overflow:hidden}.block{display:block}.object-cover{object-fit:cover}.text-white{color:#fff}.z-20{z-index:20}.font-bold{font-weight:700}.text-center{text-align:center}.photo-component,.photo-bg-wrap{width:100%;height:100%}.photo-bg-wrap{background-repeat:no-repeat;background-size:cover;background-position:center}.text-box-component>div>div>div{white-space:normal}[style*="font-family: Binerka"]{font-family:Cormorant Garamond,Times New Roman,serif!important;font-weight:500!important}[style*="font-family: &quot;Alexandria Signature 400&quot;"]{font-family:Great Vibes,Allura,cursive!important}[style*="font-family: &quot;Airates Script&quot;"]{font-family:Allura,Great Vibes,cursive!important}[style*="font-family: Ampunsuhu"]{font-family:Italianno,Great Vibes,cursive!important}[style*="font-family: &quot;Lora Regular&quot;"]{font-family:Lora,serif!important}[data-transition-key]{opacity:1!important}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-55px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(55px)}to{opacity:1;transform:translate(0)}}.fade-reveal{opacity:0;transform:translateY(16px);transition:opacity .9s ease,transform .9s ease}.fade-reveal.in{opacity:1;transform:none}#wedding-audio{display:none!important}.carousel-component .relative>div{position:absolute;top:0;right:0;bottom:0;left:0}.carousel-component img{width:100%;height:100%;display:block;object-fit:cover}.carousel-component .ani-fade-in{animation:carouselB 8s ease-in-out infinite}.carousel-component .ani-fade-out{animation:carouselA 8s ease-in-out infinite}@keyframes carouselA{0%,42%{opacity:1}50%,92%{opacity:0}to{opacity:1}}@keyframes carouselB{0%,42%{opacity:0}50%,92%{opacity:1}to{opacity:0}}.hero-ceremonies{position:absolute;top:890px;left:20px;z-index:16;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;width:460px;text-align:center;color:var(--wedding-text)}.hero-ceremonies:after{content:"";position:absolute;top:12px;bottom:8px;left:50%;width:1px;background:linear-gradient(transparent,var(--wedding-border),transparent);pointer-events:none}.hero-ceremony{min-width:0}.hero-ceremony h3{margin:0 0 4px;color:var(--wedding-accent-deep);font:400 26px/1.1 Great Vibes,Allura,cursive;white-space:nowrap}.hero-ceremony__schedule,.hero-ceremony__date{font:400 15px/1.5 Lora,serif;color:var(--wedding-text);letter-spacing:0;font-variant-numeric:tabular-nums}.hero-ceremony__schedule{display:flex;align-items:center;justify-content:center;gap:6px;margin:0;white-space:nowrap}.hero-ceremony__schedule time{font:inherit;color:inherit}.hero-ceremony__date{margin:4px 0 0}.calendar,.template-one,.one-body{width:100%;height:100%}.template-one{display:flex;flex-direction:column;background:#fffffff0;border:1px solid var(--wedding-border);box-shadow:0 12px 28px var(--wedding-shadow);overflow:hidden}.one-head{height:52px;display:flex;align-items:center;justify-content:center;color:var(--wedding-accent-deep);font-size:25px;font-weight:600;letter-spacing:1px}.one-body{display:grid;grid-template-columns:repeat(7,1fr);grid-template-rows:38px repeat(5,1fr) 32px;gap:0;padding:10px 12px 5px;position:relative}.one-body>div{display:flex;align-items:center;justify-content:center;position:relative;font-size:14px}.body-week{font-size:12px;font-weight:600;letter-spacing:.2px;color:var(--wedding-accent-text)}.body-year{grid-column:1/-1!important;justify-content:flex-end!important;padding-right:8px;font-size:15px!important}.one-body .heart-date{position:absolute;width:34px;height:34px;inset:auto;z-index:10}.one-body .text-white{position:relative;z-index:20}.map-box{position:relative;overflow:hidden;border:1px solid var(--wedding-border)!important;box-shadow:0 10px 26px var(--wedding-shadow)!important}.map-box iframe{width:100%;height:100%;border:0}.map-box:after{content:"Mở trong Google Map";position:absolute;left:50%;bottom:10px;transform:translate(-50%);background:#fff0f4f5;color:var(--wedding-accent-deep);border:1px solid var(--wedding-border);border-radius:999px;padding:6px 11px;font:600 11px Lora,serif;box-shadow:0 4px 12px var(--wedding-shadow);pointer-events:none;white-space:nowrap}.map-box{cursor:pointer}.rsvp-form-container{pointer-events:auto!important}.rsvp-form{box-sizing:border-box!important}.rsvp-form form{width:100%}.rsvp-form input[type=text],.rsvp-form textarea,.rsvp-native-select{font-family:Lora,serif!important;box-sizing:border-box;width:100%;background:var(--wedding-surface);color:var(--wedding-text);border:1px solid var(--wedding-border);border-radius:4px;padding:5px 8px;outline:none}.rsvp-form input[type=text],.rsvp-native-select{height:30px}.rsvp-native-select{font-size:14px}.rsvp-form input:focus,.rsvp-form textarea:focus,.rsvp-native-select:focus{border-color:var(--wedding-primary);box-shadow:0 0 0 3px #ffb6c13d}.rsvp-form input[type=radio]{accent-color:var(--wedding-accent-deep)}.rsvp-form button[type=submit]{transition:.2s ease;box-shadow:0 8px 18px var(--wedding-shadow)}.rsvp-form button[type=submit]:hover{filter:brightness(.94);transform:translateY(-1px)}.rsvp-status{margin-top:4px;text-align:center;font-size:12px;color:var(--wedding-accent-deep);line-height:1.4}.rsvp-status:empty{display:none}.text-box-component [style*="var(--wedding-accent-text)"]{text-shadow:0 1px 0 rgba(255,255,255,.6)}.rsvp-form-container .rsvp-form{background:linear-gradient(180deg,#fffffffa,#fff7f9fa)!important}.rsvp-form h3{letter-spacing:.5px}.rsvp-form button[type=submit]{background:linear-gradient(135deg,var(--wedding-accent-deep),var(--wedding-accent-text))!important}.rsvp-form button[type=submit]:active{transform:translateY(0)}.one-body>div:not(.body-week):not(.body-year){color:var(--wedding-text)}.one-body>div:hover{background:var(--wedding-primary-soft);border-radius:999px}#blessing-msg-list{position:fixed;z-index:950;left:50%;top:12px;transform:translate(-50%);width:min(430px,calc(100vw - 120px));pointer-events:none;display:none}.blessing-msg{position:absolute;left:0;right:0;text-align:center;font-family:Lora,serif;font-size:12px;color:var(--wedding-accent-deep);background:#fff0f4eb;border:1px solid var(--wedding-border);padding:5px 9px;border-radius:999px;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.received-gifts-wrapper,#zenlove-animation-box{display:none!important}@media(max-width:520px){body,#viewport-shell{background:var(--wedding-canvas)}.template-preview-stage{box-shadow:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}:root{--wedding-lotus-rose:#E98EA5;--wedding-lotus-blush:#FFD9E2;--wedding-lotus-ivory:#FFF9F7;--wedding-leaf-sage:#B8CDBE;--wedding-leaf-sage-soft:#EAF2ED;--wedding-champagne:#E8CDA8;--wedding-shadow-strong:rgba(185,79,105,.26)}.lotus-canvas:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:94;pointer-events:none;background:radial-gradient(circle at 12% 5%,rgba(255,182,193,.12),transparent 6%),radial-gradient(circle at 86% 22%,rgba(184,205,190,.08),transparent 7%),radial-gradient(circle at 16% 48%,rgba(255,217,226,.1),transparent 7%),radial-gradient(circle at 84% 72%,rgba(232,205,168,.07),transparent 6%),radial-gradient(circle at 20% 92%,rgba(255,182,193,.1),transparent 8%);mix-blend-mode:multiply}.wedding-layout-layer{position:relative;z-index:2}.wedding-after-family{position:absolute;top:0;right:0;bottom:0;left:0;z-index:30;transform:translateY(var(--family-offset,0px));pointer-events:none}.wedding-after-family>*{pointer-events:auto}.wedding-after-journey{position:absolute;top:0;right:0;bottom:0;left:0;transform:translateY(var(--journey-offset,0px));pointer-events:none}.wedding-after-journey>*{pointer-events:auto}.love-journey{position:absolute;left:0;width:500px;z-index:90;padding:14px 0 18px;background:radial-gradient(ellipse at 50% 3%,#FCEBF180,transparent 24%),linear-gradient(180deg,#fffdfe,#fff9fb 50%,#fffdfe);color:var(--wedding-text)}.love-journey__header{padding:0 40px;text-align:center}.love-journey__period{margin:0 0 10px;color:var(--wedding-accent-text);font:500 12px/1.5 Lora,serif;letter-spacing:4px}.love-journey__header h2{margin:0;color:var(--wedding-accent-deep);font:400 47px/1.3 Great Vibes,Allura,cursive}.love-journey__introduction{max-width:330px;margin:10px auto 0;color:var(--wedding-muted-text);font:400 13px/1.8 Lora,serif}.love-journey__landscape{position:relative;margin-top:24px}.love-journey__road{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:visible;pointer-events:none}.love-journey__milestones{position:relative;list-style:none;padding:0;margin:0;height:100%}.journey-milestone{position:absolute;left:0;width:100%;height:calc(var(--pin-size) * 1.3)}.journey-milestone__reveal{position:relative;width:100%;height:100%}.journey-milestone__pin{position:absolute;top:0;left:calc(var(--pin-x) - var(--pin-size) / 2);width:var(--pin-size);height:100%;margin:0;filter:drop-shadow(0 7px 5px #A9657C24);transition:filter .3s,transform .3s}.journey-milestone__pin>svg{display:block;width:100%;height:100%}.journey-milestone__photo{position:absolute;top:6.923%;left:9%;width:82%;aspect-ratio:1;border-radius:50%;overflow:hidden;background:#f9e8ef}.journey-milestone__photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 28%;transform:scale(1.6);transform-origin:50% 38%}.journey-milestone__copy{position:absolute;top:6px}.journey-milestone__year{display:block;color:var(--wedding-accent-deep);font:500 29px/1.15 Cormorant Garamond,serif;letter-spacing:1px;font-variant-numeric:lining-nums}.journey-milestone__copy p{margin:6px 0 0;color:var(--wedding-muted-text);font:400 12px/1.6 Lora,serif}.journey-milestone--latest .journey-milestone__pin{filter:drop-shadow(0 12px 10px #A9657C33)}.journey-milestone--latest .journey-milestone__copy{top:calc(var(--pin-size) * 1.3 + 18px);left:48px;right:48px;text-align:center}.journey-milestone--latest .journey-milestone__year{font-size:47px;color:var(--wedding-accent-deep)}.journey-milestone--latest .journey-milestone__copy p{max-width:320px;margin:10px auto 0}.love-journey__closing{display:flex;flex-direction:column;align-items:center;gap:8px;margin:12px 40px 0;text-align:center;color:var(--wedding-muted-text);font:italic 13px/1.8 Lora,serif}.love-journey__closing span{color:var(--wedding-accent-text);font:400 34px/1 serif}@media(hover:hover)and (prefers-reduced-motion:no-preference){.journey-milestone__pin:hover{transform:translateY(-4px);filter:drop-shadow(0 12px 8px #A9657C40)}}.family-details{position:absolute;left:0;width:500px;z-index:20}.family-details__controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:0 36px}.family-details__toggle{display:grid;grid-template-columns:40px minmax(0,1fr) 20px;align-items:center;gap:8px;width:100%;min-height:62px;padding:8px 12px;border:1px solid #EAC4CF;border-radius:999px;background:linear-gradient(135deg,#fffdfd,#f9e0e8);box-shadow:0 5px 16px #b9607d1a;color:var(--wedding-accent-deep);font:600 23px/1.3 Cormorant Garamond,serif;cursor:pointer;transition:background .2s,box-shadow .2s}.family-details__label{min-width:0;white-space:nowrap;text-align:center}.family-details__portrait{position:relative;display:block;width:40px;height:40px;overflow:hidden;border:2px solid #FFFDFE;border-radius:50%;background:#f8e4eb;box-shadow:0 0 0 1px #eac4cf;pointer-events:none}.family-details__portrait img{position:absolute;display:block;max-width:none;height:auto;image-orientation:from-image}.family-details__portrait--groom img{width:220.645%;left:-54.839%;top:-62.903%}.family-details__portrait--bride img{width:291.064%;left:-96.809%;top:-117.021%}.family-details__toggle:hover,.family-details__toggle[aria-expanded=true]{background:linear-gradient(135deg,#fdecf1,#f3c8d6);box-shadow:0 6px 18px #b9607d2b}.family-details__toggle:focus-visible,.map-box:focus-visible{outline:3px solid var(--wedding-lotus-rose);outline-offset:4px}.family-details__arrow{display:block;width:20px;height:20px;transition:transform .25s}.family-details__arrow svg{display:block;width:100%;height:100%}.family-details__toggle[aria-expanded=true] .family-details__arrow{transform:rotate(180deg)}.family-details__panels{position:relative;margin-top:31.01px}.family-details__panel{position:relative;width:500px;overflow:hidden;animation:fadeIn .45s ease-out both}.family-details__panel[hidden],[data-family-expanded=false] .family-panel-decoration{display:none}.lotus-decor-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:96;pointer-events:none;overflow:hidden}.lotus-mark{display:block;width:100%;height:auto;overflow:visible;transform-origin:center}.lotus-mark.is-mirrored{transform:scaleX(-1)}.lotus-mark__petal{fill:var(--wedding-lotus-blush);stroke:var(--wedding-lotus-rose);stroke-width:1.5;vector-effect:non-scaling-stroke}.lotus-mark__petal--front{fill:#ffb6c1c2}.lotus-mark__center{fill:var(--wedding-champagne);opacity:.82}.lotus-mark__leaf{fill:var(--wedding-leaf-sage-soft);stroke:var(--wedding-leaf-sage);stroke-width:1.25;vector-effect:non-scaling-stroke}.lotus-decor{position:absolute;transform:translate3d(0,var(--parallax-y,0),0) rotate(var(--decor-rotate,0deg));transform-origin:center;filter:drop-shadow(0 10px 18px rgba(213,101,127,.06));will-change:transform}.lotus-decor--outline .lotus-mark__petal{fill:#ffffff24;stroke:var(--wedding-lotus-rose)}.lotus-decor--outline .lotus-mark__leaf{fill:transparent;stroke:var(--wedding-leaf-sage)}.lotus-decor--sage .lotus-mark__petal{fill:#ffd9e25c;stroke:#d5657fad}.lotus-decor--sage .lotus-mark__leaf{fill:#eaf2edc2;stroke:var(--wedding-leaf-sage)}.lotus-decor .lotus-mark__bloom{transform-origin:110px 140px;animation:lotusBreeze 8s ease-in-out infinite}.lotus-decor:nth-child(3n+2) .lotus-mark__bloom{animation-duration:9s;animation-delay:-3s}.lotus-decor:nth-child(3n) .lotus-mark__bloom{animation-duration:10s;animation-delay:-5s}.lotus-divider{position:absolute;left:58px;width:384px;height:34px;display:grid;grid-template-columns:1fr 44px 1fr;align-items:center;gap:10px;opacity:.42;transform:translate3d(0,var(--parallax-y,0),0)}.lotus-divider__line{height:1px;background:linear-gradient(90deg,transparent,var(--wedding-border),var(--wedding-lotus-rose),var(--wedding-border),transparent)}.lotus-divider__mark{width:44px;height:30px;justify-self:center;overflow:visible}.lotus-divider__mark .lotus-mark__petal{fill:#ffb6c157;stroke:var(--wedding-lotus-rose)}.lotus-divider__mark .lotus-mark__center{opacity:.55}@keyframes lotusBreeze{0%,to{transform:translateZ(0) rotate(0) scale(1)}25%{transform:translate3d(1px,-1px,0) rotate(1.4deg) scale(1.006)}75%{transform:translate3d(-1px,-1px,0) rotate(-1.4deg) scale(.994)}}.ambient-petals{position:fixed;top:0;right:0;bottom:0;left:0;z-index:720;pointer-events:none;overflow:hidden;opacity:.92}.ambient-petal{position:absolute;top:-8vh;background:linear-gradient(105deg,#f5b5ca,#ffdce7 30%,#fff0f5 52%,#ffd6e3,#f4b0c6);-webkit-mask:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20100%20155'%3e%3cpath%20d='M50%200C43%2022%205%2057%205%20103C5%20134%2025%20153%2050%20155C75%20153%2095%20134%2095%20103C95%2057%2057%2022%2050%200Z'/%3e%3c/svg%3e") center / 100% 100% no-repeat;mask:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20100%20155'%3e%3cpath%20d='M50%200C43%2022%205%2057%205%20103C5%20134%2025%20153%2050%20155C75%20153%2095%20134%2095%20103C95%2057%2057%2022%2050%200Z'/%3e%3c/svg%3e") center / 100% 100% no-repeat;transform:rotate(var(--petal-rotate));animation:petalFall var(--petal-duration) linear var(--petal-delay) infinite;will-change:transform}.ambient-petal--2{background:linear-gradient(110deg,#f8c3d3,#ffe8ef 42%,#fff4f7 60%,#f6bdd0)}.ambient-petal--3{background:linear-gradient(100deg,#f3b0c7,#ffd3e1 38%,#ffe8f0 58%,#f7c0d2)}@keyframes petalFall{0%{transform:translate3d(0,-12vh,0) rotate(var(--petal-rotate))}30%{transform:translate3d(calc(var(--petal-drift) * .45),30vh,0) rotate(calc(var(--petal-rotate) + 110deg))}65%{transform:translate3d(calc(var(--petal-drift) * -.25),70vh,0) rotate(calc(var(--petal-rotate) + 235deg))}to{transform:translate3d(var(--petal-drift),112vh,0) rotate(calc(var(--petal-rotate) + 390deg))}}html.wedding-locked,html.wedding-locked body{overflow:hidden!important}.opening-experience{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;display:grid;place-items:center;align-items:safe center;overflow-y:auto;padding:24px;background:radial-gradient(circle at 50% 30%,rgba(255,255,255,.88),transparent 30%),linear-gradient(155deg,#fffdfe,#fff0f4 47%,#fde5ec);perspective:1200px;transition:opacity .72s ease,visibility .72s ease}.opening-experience__haze{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.opening-experience__haze:before,.opening-experience__haze:after{content:"";position:absolute;width:48vmax;height:48vmax;border-radius:50%;filter:blur(2px);opacity:.3;background:radial-gradient(circle,rgba(255,182,193,.42),rgba(255,217,226,.08) 58%,transparent 72%);animation:openingHaze 10s ease-in-out infinite alternate}.opening-experience__haze:before{left:-20vmax;top:-18vmax}.opening-experience__haze:after{right:-18vmax;bottom:-22vmax;animation-delay:-4s}.opening-lotus-decor{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none;-webkit-user-select:none;user-select:none}.opening-lotus-decor__item{position:absolute;display:block;opacity:.2;filter:blur(.65px)}.opening-lotus-decor__item svg{display:block;width:100%;height:auto;overflow:visible}.opening-lotus-decor--background .opening-lotus-decor__item--1{width:112px;left:max(14px,calc(50% - 345px));top:14%;transform:rotate(-22deg);opacity:.2}.opening-lotus-decor--background .opening-lotus-decor__item--2{width:104px;right:max(10px,calc(50% - 362px));top:9%;transform:rotate(27deg);opacity:.17;filter:blur(1px)}.opening-lotus-decor--background .opening-lotus-decor__item--3{width:96px;right:max(6px,calc(50% - 338px));bottom:13%;transform:rotate(17deg);opacity:.18}.opening-lotus-decor--background .opening-lotus-decor__item--4{width:88px;left:max(8px,calc(50% - 320px));bottom:16%;transform:rotate(-29deg);opacity:.16;filter:blur(1px)}.opening-lotus-decor--background .opening-lotus-decor__item--5{width:18px;left:max(16px,calc(50% - 245px));top:47%;transform:rotate(34deg);opacity:.24}.opening-lotus-decor--background .opening-lotus-decor__item--6{width:14px;right:max(13px,calc(50% - 250px));top:34%;transform:rotate(-28deg);opacity:.2}.opening-lotus-decor--background .opening-lotus-decor__item--7{width:16px;right:calc(50% - 170px);bottom:7%;transform:rotate(52deg);opacity:.22}.opening-lotus-decor--card{z-index:0}.opening-lotus-decor--card .opening-lotus-decor__item--1{width:108px;left:-22px;bottom:-13px;transform:rotate(-16deg);opacity:.18}.opening-lotus-decor--card .opening-lotus-decor__item--2{width:90px;right:-24px;top:17px;transform:rotate(24deg);opacity:.14}.opening-lotus-decor--card .opening-lotus-decor__item--3{width:14px;left:19px;top:34%;transform:rotate(-32deg);opacity:.19}.opening-lotus-decor--card .opening-lotus-decor__item--4{width:11px;right:17px;top:58%;transform:rotate(38deg);opacity:.17}.opening-card__lotus,.opening-card__title,.opening-card__names,.opening-card__subtitle,.opening-card__note{position:relative;z-index:1}.opening-card{position:relative;width:min(390px,calc(100vw - 40px));min-height:560px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:28px 34px 30px;text-align:center;color:var(--wedding-text);background:linear-gradient(180deg,#fffffff5,#fff9f7f0);border:1px solid rgba(242,203,212,.92);border-radius:32px;box-shadow:0 30px 90px #b94f6933,inset 0 1px #ffffffe6;transform-style:preserve-3d;animation:openingCardFloat 4.8s ease-in-out infinite;overflow:hidden}.opening-card:before{content:"";position:absolute;top:12px;right:12px;bottom:12px;left:12px;border:1px solid rgba(255,182,193,.36);border-radius:24px;pointer-events:none}.opening-card:after{content:"";position:absolute;top:-45%;right:-25%;bottom:-45%;left:-25%;background:linear-gradient(110deg,transparent 37%,rgba(255,255,255,.58) 49%,transparent 62%);transform:translate(-65%) rotate(8deg);animation:paperShimmer 5.5s ease-in-out infinite;pointer-events:none}.opening-card__lotus{display:block;flex-shrink:0;width:176px;height:auto;aspect-ratio:1;object-fit:contain;margin:0 auto 14px;filter:drop-shadow(0 6px 12px rgba(185,79,105,.08));transform-origin:50% 96%;animation:lotusOpening 1.15s cubic-bezier(.2,.75,.22,1) both,lotusSway 7s ease-in-out 1.15s infinite}.opening-card__title{width:100%;max-width:300px;margin:0;font:400 clamp(26px,7vw,32px)/1.3 "Great Vibes","Allura",cursive;text-wrap:balance;color:var(--wedding-accent-deep);text-shadow:0 8px 22px rgba(185,79,105,.12)}.opening-card__names{margin:12px 0 0;font:400 clamp(40px,11vw,50px)/1.35 "Great Vibes","Allura",cursive;letter-spacing:0;color:var(--wedding-accent-deep)}.opening-card__subtitle{max-width:100%;margin:15px 0 24px;font:400 clamp(10px,3.2vw,13px)/1.75 Lora,serif;white-space:nowrap;color:var(--wedding-muted-text)}.opening-card__button{position:relative;z-index:2;display:inline-flex;align-items:center;gap:12px;padding:12px 24px;border:0;border-radius:999px;background:linear-gradient(135deg,var(--wedding-accent-deep),var(--wedding-lotus-rose));color:#fff;font:600 14px/1 Lora,serif;letter-spacing:.6px;cursor:pointer;box-shadow:0 14px 30px #b94f693d,inset 0 1px #ffffff47;transition:transform .25s ease,box-shadow .25s ease,filter .25s ease}.opening-card__button:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 18px 34px #b94f694d;filter:saturate(1.04)}.opening-card__button:active{transform:translateY(0) scale(.99)}.opening-card__note{margin:12px 0 0;font:400 10px/1.5 Lora,serif;letter-spacing:.5px;color:#7c5b64b8}.opening-experience.is-opening{opacity:0;visibility:hidden;pointer-events:none}.opening-experience.is-opening .opening-card{animation:none;transform:rotateX(8deg) scale(.93) translateY(-8px);opacity:.3;transition:transform .75s cubic-bezier(.2,.75,.2,1),opacity .55s ease}@keyframes openingCardFloat{0%,to{transform:translateY(0) rotateX(0)}50%{transform:translateY(-7px) rotateX(1.3deg)}}@keyframes lotusOpening{0%{opacity:0;transform:scale(.72) rotate(-4deg)}to{opacity:1;transform:scale(1) rotate(0)}}@keyframes lotusSway{0%,to{transform:translateZ(0) rotate(0)}25%{transform:translate3d(1px,-1px,0) rotate(1.8deg)}75%{transform:translate3d(-1px,-1.5px,0) rotate(-1.8deg)}}@keyframes openingHaze{0%{transform:translateZ(0) scale(1)}to{transform:translate3d(7vmax,4vmax,0) scale(1.1)}}@keyframes paperShimmer{0%,68%{transform:translate(-75%) rotate(8deg)}to{transform:translate(75%) rotate(8deg)}}.has-3d-tilt{perspective:1100px}.has-3d-tilt .wedding-photo-frame,.has-3d-tilt .wedding-carousel-frame,.has-3d-tilt .template-one,.has-3d-tilt .map-box,.has-3d-tilt .rsvp-form{transform:perspective(1000px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) translateY(var(--tilt-lift,0px));transform-style:preserve-3d;transition:transform .18s ease-out,box-shadow .22s ease;will-change:transform}.has-3d-tilt:hover .wedding-photo-frame,.has-3d-tilt:hover .wedding-carousel-frame{box-shadow:0 22px 44px #b94f692e}.has-3d-tilt .wedding-photo-frame:after,.has-3d-tilt .wedding-carousel-frame:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(120deg,transparent 36%,rgba(255,255,255,.18) 50%,transparent 64%);opacity:0;transform:translate(-35%);transition:opacity .25s ease,transform .45s ease}.has-3d-tilt:hover .wedding-photo-frame:after,.has-3d-tilt:hover .wedding-carousel-frame:after{opacity:.72;transform:translate(28%)}.calendar-container .template-one,.map-box,.rsvp-form{border-radius:18px!important;border:1px solid rgba(242,203,212,.9)!important;box-shadow:0 18px 38px #b94f6926!important;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.calendar-container .template-one{background:linear-gradient(180deg,#fffffff5,#fff9f7f0)}.calendar-container .one-head{background:linear-gradient(135deg,var(--wedding-primary),var(--wedding-lotus-blush))!important;border-radius:17px 17px 0 0}.map-box{overflow:hidden;background:#fffffff2!important}.rsvp-form{overflow:hidden!important;background:linear-gradient(180deg,#fffffffa,#fff7f9f5)!important}.rsvp-form:before{content:"";position:absolute;width:145px;height:145px;right:-48px;top:-56px;border-radius:50%;background:radial-gradient(circle,rgba(255,182,193,.18),transparent 68%);pointer-events:none}.text-box-component [style*="var(--wedding-accent-text)"]{text-shadow:0 1px 0 rgba(255,255,255,.7),0 8px 18px rgba(185,79,105,.05)!important}.rsvp-petal-burst{position:fixed;width:0;height:0;z-index:2600;pointer-events:none}.rsvp-burst-petal{position:absolute;left:0;top:0;width:12px;height:18px;border-radius:72% 18%;background:linear-gradient(145deg,#fff,var(--wedding-lotus-blush) 55%,var(--wedding-lotus-rose));opacity:0;animation:rsvpBurst 1.15s cubic-bezier(.12,.72,.24,1) forwards}.rsvp-burst-petal--2{background:linear-gradient(145deg,#fff,var(--wedding-leaf-sage-soft),var(--wedding-leaf-sage))}.rsvp-burst-petal--3{width:9px;height:14px}@keyframes rsvpBurst{0%{opacity:0;transform:translateZ(0) rotate(0) scale(.65)}18%{opacity:1}to{opacity:0;transform:translate3d(var(--burst-x),var(--burst-y),0) rotate(var(--burst-r)) scale(1.08)}}.guestbook-section{--guestbook-ink:var(--wedding-muted-text);--guestbook-border:var(--wedding-border);position:absolute;left:36px;width:428px;z-index:90;color:var(--guestbook-ink);font-family:Lora,serif}.guestbook-card{position:relative;min-height:380px;padding:32px 40px 22px;border:1px solid var(--guestbook-border);border-radius:18px;background:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='180'%20height='180'%20viewBox='0%200%20180%20180'%3e%3cfilter%20id='paper'%3e%3cfeTurbulence%20type='fractalNoise'%20baseFrequency='.55'%20numOctaves='3'%20stitchTiles='stitch'/%3e%3cfeColorMatrix%20type='saturate'%20values='0'/%3e%3c/filter%3e%3crect%20width='180'%20height='180'%20filter='url(%23paper)'%20opacity='.08'/%3e%3c/svg%3e"),linear-gradient(135deg,#FFFFFF,var(--wedding-primary-soft));box-shadow:3px 6px 12px #b94f691f,inset 0 1px 1px #fff}.guestbook-card:before{content:"";position:absolute;left:-58px;bottom:-32px;width:126px;height:252px;background:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20160%20320'%20fill='none'%3e%3cdefs%3e%3clinearGradient%20id='leaf'%20x2='1'%20y2='1'%3e%3cstop%20stop-color='%23FFF7FA'/%3e%3cstop%20offset='.5'%20stop-color='%23FFD9E2'/%3e%3cstop%20offset='1'%20stop-color='%23F2B5C7'/%3e%3c/linearGradient%3e%3cpath%20id='l'%20d='M0%200C-19-5-28-20-25-38C-9-32%202-18%200%200Z'%20fill='url(%23leaf)'%20stroke='%23E4A2B7'%20stroke-width='.6'/%3e%3c/defs%3e%3cg%20stroke='%23DAA2B3'%20stroke-linecap='round'%20stroke-width='1.3'%3e%3cpath%20d='M145%20313C106%20264%2059%20220%2056%20153C54%20113%2069%2072%2047%2020'/%3e%3cpath%20d='M102%20262C69%20244%2034%20221%2021%20182M80%20231C102%20202%20112%20170%20107%20141M60%20187C36%20158%2029%20129%2031%20102M59%20153C83%20128%2088%2098%2081%2072M59%20105C40%2080%2030%2065%2031%2045'/%3e%3c/g%3e%3cuse%20href='%23l'%20transform='translate(133%20297)%20rotate(-24)'/%3e%3cuse%20href='%23l'%20transform='translate(112%20273)%20rotate(88)%20scale(.85)'/%3e%3cuse%20href='%23l'%20transform='translate(93%20249)%20rotate(-32)'/%3e%3cuse%20href='%23l'%20transform='translate(78%20226)%20rotate(85)%20scale(.85)'/%3e%3cuse%20href='%23l'%20transform='translate(66%20203)%20rotate(-22)%20scale(.9)'/%3e%3cuse%20href='%23l'%20transform='translate(58%20177)%20rotate(65)%20scale(.8)'/%3e%3cuse%20href='%23l'%20transform='translate(55%20150)%20rotate(-30)%20scale(.75)'/%3e%3cuse%20href='%23l'%20transform='translate(61%20122)%20rotate(75)%20scale(.75)'/%3e%3cuse%20href='%23l'%20transform='translate(60%2091)%20rotate(-30)%20scale(.65)'/%3e%3cuse%20href='%23l'%20transform='translate(56%2065)%20rotate(62)%20scale(.6)'/%3e%3cuse%20href='%23l'%20transform='translate(48%2035)%20rotate(12)%20scale(.6)'/%3e%3cuse%20href='%23l'%20transform='translate(46%20221)%20rotate(-22)%20scale(.7)'/%3e%3cuse%20href='%23l'%20transform='translate(31%20202)%20rotate(14)%20scale(.65)'/%3e%3cuse%20href='%23l'%20transform='translate(97%20195)%20rotate(82)%20scale(.7)'/%3e%3cuse%20href='%23l'%20transform='translate(107%20168)%20rotate(56)%20scale(.65)'/%3e%3cuse%20href='%23l'%20transform='translate(39%20143)%20rotate(-14)%20scale(.65)'/%3e%3cuse%20href='%23l'%20transform='translate(82%20113)%20rotate(62)%20scale(.65)'/%3e%3c/svg%3e") center / contain no-repeat;opacity:.85;pointer-events:none;filter:drop-shadow(1px 3px 2px rgba(185,79,105,.12))}.guestbook-card h2{position:relative;margin:0 0 22px;text-align:center;color:var(--wedding-accent-deep);font:600 24px/1.15 Cormorant Garamond,serif;letter-spacing:1.5px;text-transform:uppercase}.guestbook-form{position:relative;display:grid;gap:14px}.guestbook-form input,.guestbook-form textarea{display:block;width:100%;min-width:0;margin:0;padding:11px 13px;border:1px solid var(--wedding-border);border-radius:7px;outline:none;background:#ffffffb3;color:var(--wedding-text);font:400 14px/1.5 Lora,serif;transition:border-color .2s,box-shadow .2s}.guestbook-form input{height:42px}.guestbook-form textarea{height:128px;min-height:128px;resize:none}.guestbook-form input::placeholder,.guestbook-form textarea::placeholder{color:#99717c;opacity:1}.guestbook-form input:focus,.guestbook-form textarea:focus{border-color:var(--wedding-lotus-rose);box-shadow:0 0 0 3px #ffb6c133}.guestbook-form [aria-invalid=true]{border-color:#b15d65}.guestbook-form__actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.guestbook-form__suggest{display:grid;place-items:center;width:34px;height:34px;padding:0;border:1px solid var(--wedding-border);border-radius:8px;background:var(--wedding-primary-soft);color:var(--wedding-accent-deep);font-size:18px;cursor:pointer;transition:background .2s,transform .2s}.guestbook-form__suggest-icon{display:block;width:20px;height:20px;fill:currentColor;pointer-events:none}.guestbook-form__suggest:hover{background:var(--wedding-lotus-blush);transform:rotate(-7deg)}.guestbook-form__submit{min-height:36px;padding:9px 22px;border:1px solid var(--wedding-border);border-radius:99px;background:linear-gradient(135deg,#FFFFFF 0%,var(--wedding-lotus-blush) 55%,var(--wedding-primary) 100%);color:var(--wedding-accent-deep);box-shadow:0 4px 12px #b94f691f,inset 0 1px #ffffffe6;font:600 13px/1.3 Lora,serif;text-transform:uppercase;cursor:pointer;transition:background .2s,box-shadow .2s,transform .2s}.guestbook-form__submit:hover{background:linear-gradient(135deg,var(--wedding-primary-soft),var(--wedding-primary));box-shadow:0 6px 16px #b94f692e;transform:translateY(-1px)}.guestbook-form__submit:active{transform:none}.guestbook-form__status{min-height:18px;margin:0;text-align:center;color:var(--guestbook-ink);font:400 11px/1.6 Lora,serif;overflow-wrap:anywhere}.guestbook-form__status[data-state=error]{color:#a5575e}.guestbook-list{height:340px;margin-top:28px;padding:2px 8px 2px 2px;overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:contain;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:var(--wedding-lotus-rose) transparent;color:var(--wedding-text);border-radius:10px}.guestbook-list::-webkit-scrollbar{width:7px}.guestbook-list::-webkit-scrollbar-thumb{border-radius:99px;background:var(--wedding-lotus-rose)}.guestbook-list::-webkit-scrollbar-track{background:transparent}.guestbook-message{margin:0 0 10px;padding:15px 14px;border:1px solid var(--wedding-border);border-radius:8px;background:linear-gradient(135deg,#FFFFFF,var(--wedding-primary-soft));box-shadow:0 3px 10px #b94f690f}.guestbook-message:last-child{margin-bottom:0}.guestbook-message__header{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.guestbook-message h3{min-width:0;margin:0;color:var(--wedding-accent-deep);font:600 13px/1.5 Lora,serif;overflow-wrap:anywhere}.guestbook-message time{flex-shrink:0;max-width:140px;text-align:right;color:var(--wedding-muted-text);font:400 9px/1.5 Lora,serif}.guestbook-message p{margin:8px 0 0;font:400 13px/1.7 Lora,serif;white-space:pre-wrap;overflow-wrap:anywhere}.guestbook-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100%;padding:30px 18px;border:1px dashed var(--wedding-border);border-radius:12px;background:linear-gradient(135deg,#FFFFFF,var(--wedding-primary-soft));text-align:center}.guestbook-empty .lotus-mark{width:64px;margin-bottom:16px;opacity:.65}.guestbook-empty p{margin:0 0 8px;font:500 14px/1.7 Lora,serif}.guestbook-empty span{font:400 12px/1.7 Lora,serif;color:var(--wedding-muted-text)}.guestbook-sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.guestbook-form button:focus-visible,.guestbook-list:focus-visible{outline:2px solid var(--wedding-lotus-rose);outline-offset:4px}.gift-section{position:absolute;left:36px;width:428px;height:400px;z-index:92;display:flex;flex-direction:column;align-items:center;padding:23px 18px 18px;text-align:center;border:1px solid var(--wedding-border);border-radius:24px;background:radial-gradient(ellipse at 50% 52%,#fffdf6,#fff8f8 54%,#fff0f4);box-shadow:0 12px 32px #b94f6914}.gift-section__eyebrow{margin:0 0 6px;font:500 9px/1.4 Lora,serif;letter-spacing:2.5px;color:var(--wedding-muted-text)}.gift-section__title{margin:0;font:600 27px/1.2 Cormorant Garamond,serif;letter-spacing:1.4px;text-transform:uppercase;color:var(--wedding-accent-deep)}.gift-box{position:relative;display:flex;flex-direction:column;align-items:center;flex-shrink:0;width:280px;margin:0;padding:0 0 4px;background:none;border:0;border-radius:20px;color:var(--wedding-muted-text);cursor:pointer;-webkit-tap-highlight-color:transparent}.gift-box__art{display:block;width:260px;height:268px;overflow:visible;transition:transform .3s ease}.gift-box__hint{display:block;font:500 12px/1.5 Lora,serif;letter-spacing:.3px;transition:color .2s}.gift-box__lid{transform-origin:170px 144px;transition:transform .65s cubic-bezier(.2,.7,.2,1),opacity .5s ease}.gift-box__glow{opacity:0;filter:blur(10px);transition:opacity .4s,transform .6s;transform-origin:170px 172px}.gift-box__sparkles{transform-origin:170px 175px;animation:giftSparkle 3.4s ease-in-out infinite}.gift-box:hover .gift-box__art{transform:translateY(-5px) rotate(-2deg)}.gift-box:hover .gift-box__hint{color:var(--wedding-accent-deep)}.gift-box.is-open .gift-box__art{transform:none}.gift-box.is-open .gift-box__lid{transform:translate(-13px,-76px) rotate(-13deg);opacity:.92}.gift-box.is-open .gift-box__glow{opacity:.9;transform:translateY(-30px) scale(1.2,2.8)}.gift-box.is-open .gift-box__sparkles{animation:giftUnwrap .65s ease-out both}.gift-section__note{margin:10px 0 0;font:400 11px/1.6 Lora,serif;color:var(--wedding-muted-text)}@keyframes giftSparkle{0%,to{opacity:.45;transform:translateY(3px)}50%{opacity:1;transform:translateY(-4px)}}@keyframes giftUnwrap{0%{opacity:.5;transform:scale(.8)}to{opacity:0;transform:translateY(-36px) scale(1.4)}}html.gift-dialog-open,html.gift-dialog-open body{overflow:hidden!important}.gift-dialog{position:fixed;top:0;right:0;bottom:0;left:0;width:min(620px,calc(100vw - 28px));max-width:none;max-height:calc(100dvh - 32px);margin:auto;padding:0;overflow:auto;border:1px solid rgba(255,255,255,.7);border-radius:24px;background:var(--wedding-lotus-ivory);color:var(--wedding-text);box-shadow:0 30px 100px #4b30384d;overscroll-behavior:contain}.gift-dialog[open]{animation:giftDialogIn .3s ease-out both}.gift-dialog::backdrop{background:#3b252d80;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.gift-dialog__header{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:center;min-height:74px;padding:18px 52px;background:linear-gradient(120deg,#b94f69,#cd7890);color:#fff}.gift-dialog__header h2{margin:0;font:600 26px/1.2 Cormorant Garamond,serif;text-transform:uppercase;letter-spacing:1.5px;text-align:center}.gift-dialog__close{position:absolute;top:14px;right:12px;display:grid;place-items:center;width:42px;height:42px;padding:0;border:0;border-radius:50%;background:#ffffff1f;color:#fff;font:300 29px/1 Arial,sans-serif;cursor:pointer}.gift-dialog__close:hover{background:#ffffff40}.gift-dialog__body{padding:22px 26px 24px}.gift-dialog__note{margin:0 0 24px;color:var(--wedding-muted-text);font:400 11px/1.5 Lora,serif;text-align:center}.gift-dialog__accounts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}.gift-account{display:flex;flex-direction:column;align-items:center;min-width:0;text-align:center}.gift-account__heading{margin:0 0 18px;font:400 13px/1.5 Lora,serif;color:var(--wedding-muted-text)}.gift-account__heading strong{color:var(--wedding-accent-deep);font-weight:600}.gift-account__qr{display:flex;align-items:center;justify-content:center;width:100%;max-width:200px;aspect-ratio:1;overflow:hidden;border:1px solid #EDDFDF;border-radius:16px;background:#fff;box-shadow:0 7px 17px #4b30381a;font:400 12px/1.6 Lora,serif;color:var(--wedding-muted-text)}.gift-account__qr img{display:block;width:100%;height:100%;object-fit:contain;image-rendering:pixelated}.gift-account__bank{margin:16px 0 5px;font:400 11px/1.5 Lora,serif;color:var(--wedding-muted-text)}.gift-account__number{margin:0;font:500 13px/1.6 Lora,serif;font-variant-numeric:tabular-nums;letter-spacing:.5px;overflow-wrap:anywhere}.gift-account__holder{margin:4px 0 12px;font:500 11px/1.5 Lora,serif;letter-spacing:1px}.gift-account__download{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:8px 15px;border:1px solid var(--wedding-border);border-radius:99px;background:#fbeaf0;color:var(--wedding-accent-deep);text-decoration:none;font:500 11px/1.4 Lora,serif;transition:background .2s}.gift-account__download[hidden]{display:none}.gift-account__download:hover{background:var(--wedding-lotus-blush)}.gift-dialog__thanks{margin:24px 0 0;font:400 11px/1.6 Lora,serif;color:var(--wedding-muted-text);text-align:center}.gift-box:focus-visible,.gift-dialog button:focus-visible,.gift-account__download:focus-visible{outline:3px solid var(--wedding-lotus-rose);outline-offset:4px}@keyframes giftDialogIn{0%{opacity:0;transform:translateY(18px) scale(.97)}to{opacity:1;transform:none}}@media(max-width:420px){.gift-dialog{border-radius:20px}.gift-dialog__header{min-height:66px}.gift-dialog__header h2{font-size:23px}.gift-dialog__close{top:12px;width:38px;height:38px}.gift-dialog__body{padding:18px 14px 20px}.gift-dialog__accounts{gap:16px}.gift-account__heading{font-size:12px;margin-bottom:14px}.gift-account__number{font-size:12px;letter-spacing:0}}.rsvp-form input[type=text],.rsvp-form textarea,.rsvp-native-select{border-radius:10px!important;background:#ffffffe0!important}.rsvp-form button[type=submit]{border-radius:999px!important;padding:8px 16px!important;letter-spacing:.3px}.map-box:after{border-radius:999px!important;background:#fff9f7f0!important}@media(max-width:520px){.ambient-petals{opacity:.72}.opening-experience{padding:16px}.opening-card{min-height:520px;border-radius:26px;padding:26px 26px 24px}.opening-card__lotus{width:148px;margin-bottom:12px}}@media(max-height:620px){.opening-card{min-height:0;padding-top:22px;padding-bottom:20px}.opening-card__lotus{width:118px;margin-bottom:10px}}@media(max-width:499px){#scale-shell{overflow:clip}.template-preview-stage{--mobile-unit:1px;transform-origin:top left}.love-journey__period{font-size:calc(10 * var(--mobile-unit));letter-spacing:calc(2 * var(--mobile-unit))}.love-journey__header h2{font-size:calc(35 * var(--mobile-unit))}.love-journey__introduction{font-size:calc(12 * var(--mobile-unit));max-width:390px}.journey-milestone__year{font-size:calc(22 * var(--mobile-unit))}.journey-milestone__copy p{font-size:calc(11 * var(--mobile-unit));line-height:1.5}.journey-milestone--latest .journey-milestone__year{font-size:calc(34 * var(--mobile-unit))}.love-journey__closing{font-size:calc(12 * var(--mobile-unit))}.family-details__controls{gap:calc(12 * var(--mobile-unit));margin:0 calc(16 * var(--mobile-unit))}.family-details__toggle{grid-template-columns:calc(32 * var(--mobile-unit)) minmax(0,1fr) calc(14 * var(--mobile-unit));min-height:calc(50 * var(--mobile-unit));padding:calc(8 * var(--mobile-unit)) calc(7 * var(--mobile-unit));gap:calc(6 * var(--mobile-unit));font-size:calc(18 * var(--mobile-unit))}.family-details__portrait{width:calc(32 * var(--mobile-unit));height:calc(32 * var(--mobile-unit));border-width:calc(2 * var(--mobile-unit))}.family-details__arrow{width:calc(14 * var(--mobile-unit));height:calc(14 * var(--mobile-unit))}.opening-experience{padding-top:max(12px,env(safe-area-inset-top));padding-right:max(12px,env(safe-area-inset-right));padding-bottom:max(12px,env(safe-area-inset-bottom));padding-left:max(12px,env(safe-area-inset-left))}.opening-card{width:min(390px,100%);min-height:0;padding:24px 20px 22px}.opening-card__lotus{width:clamp(110px,22svh,148px)}.opening-lotus-decor--background .opening-lotus-decor__item--1{width:78px;top:7%;left:-20px}.opening-lotus-decor--background .opening-lotus-decor__item--2{width:75px;top:5%;right:-17px}.opening-lotus-decor--background .opening-lotus-decor__item--3{width:76px;bottom:5%;right:-16px}.opening-lotus-decor--background .opening-lotus-decor__item--4{width:68px;bottom:7%;left:-20px}.opening-lotus-decor--card .opening-lotus-decor__item--1{width:88px;left:-21px;bottom:-10px}.opening-lotus-decor--card .opening-lotus-decor__item--2{width:74px;right:-23px}.opening-card__button{min-height:44px}.opening-card__note{max-width:100%;font-size:11px;letter-spacing:0}.guestbook-section,.gift-section{left:calc(16 * var(--mobile-unit));width:calc(500px - 32 * var(--mobile-unit))}.guestbook-card{min-height:0;padding:calc(24 * var(--mobile-unit)) calc(20 * var(--mobile-unit));border-radius:calc(18 * var(--mobile-unit))}.guestbook-card:before{left:calc(-30 * var(--mobile-unit));bottom:calc(-20 * var(--mobile-unit));width:calc(90 * var(--mobile-unit));height:calc(180 * var(--mobile-unit));opacity:.6}.guestbook-card h2{margin-bottom:calc(18 * var(--mobile-unit));font-size:calc(24 * var(--mobile-unit));letter-spacing:1px}.guestbook-form{gap:calc(12 * var(--mobile-unit))}.guestbook-form input,.guestbook-form textarea{padding:calc(11 * var(--mobile-unit)) calc(12 * var(--mobile-unit));border-radius:calc(7 * var(--mobile-unit));font-size:calc(16 * var(--mobile-unit))}.guestbook-form input{height:calc(46 * var(--mobile-unit))}.guestbook-form textarea{height:calc(128 * var(--mobile-unit));min-height:calc(128 * var(--mobile-unit))}.guestbook-form__actions{gap:calc(12 * var(--mobile-unit))}.guestbook-form__suggest{width:calc(44 * var(--mobile-unit));height:calc(44 * var(--mobile-unit));font-size:calc(20 * var(--mobile-unit));border-radius:calc(8 * var(--mobile-unit))}.guestbook-form__suggest-icon{width:calc(22 * var(--mobile-unit));height:calc(22 * var(--mobile-unit))}.guestbook-form__submit{min-height:calc(44 * var(--mobile-unit));padding:calc(11 * var(--mobile-unit)) calc(18 * var(--mobile-unit));font-size:calc(13 * var(--mobile-unit))}.guestbook-form__status{min-height:calc(18 * var(--mobile-unit));font-size:calc(12 * var(--mobile-unit))}.guestbook-list{height:calc(300 * var(--mobile-unit));margin-top:calc(24 * var(--mobile-unit));padding:calc(2 * var(--mobile-unit)) calc(6 * var(--mobile-unit)) calc(2 * var(--mobile-unit)) calc(2 * var(--mobile-unit));-webkit-overflow-scrolling:touch;touch-action:pan-y pinch-zoom}.guestbook-message{margin-bottom:calc(12 * var(--mobile-unit));padding:calc(14 * var(--mobile-unit));border-radius:calc(8 * var(--mobile-unit))}.guestbook-message__header{flex-wrap:wrap;gap:calc(4 * var(--mobile-unit)) calc(10 * var(--mobile-unit))}.guestbook-message h3{flex:1 1 35%;font-size:calc(14 * var(--mobile-unit))}.guestbook-message time{max-width:none;font-size:calc(10 * var(--mobile-unit))}.guestbook-message p{margin-top:calc(8 * var(--mobile-unit));font-size:calc(14 * var(--mobile-unit))}.guestbook-empty{padding:calc(24 * var(--mobile-unit)) calc(16 * var(--mobile-unit))}.guestbook-empty .lotus-mark{width:calc(64 * var(--mobile-unit));margin-bottom:calc(16 * var(--mobile-unit))}.guestbook-empty p{font-size:calc(14 * var(--mobile-unit))}.guestbook-empty span{font-size:calc(12 * var(--mobile-unit))}.gift-section{height:auto;min-height:calc(360 * var(--mobile-unit));padding:calc(20 * var(--mobile-unit)) calc(16 * var(--mobile-unit));border-radius:calc(24 * var(--mobile-unit))}.gift-section__eyebrow{font-size:calc(10 * var(--mobile-unit));margin-bottom:calc(6 * var(--mobile-unit));letter-spacing:1.6px}.gift-section__title{font-size:calc(24 * var(--mobile-unit))}.gift-box{width:min(100%,calc(260 * var(--mobile-unit)));padding-bottom:calc(4 * var(--mobile-unit))}.gift-box__art{width:min(100%,calc(220 * var(--mobile-unit)));height:auto}.gift-box__hint{font-size:calc(13 * var(--mobile-unit))}.gift-section__note{max-width:100%;margin-top:calc(10 * var(--mobile-unit));font-size:calc(12 * var(--mobile-unit))}.gift-dialog{width:calc(100% - 24px);max-height:calc(100dvh - 32px - env(safe-area-inset-top) - env(safe-area-inset-bottom))}.gift-dialog__header{min-height:68px;padding-right:54px;padding-left:54px}.gift-dialog__close{top:11px;right:8px;width:44px;height:44px}.gift-dialog__body{padding:20px}.gift-dialog__accounts{grid-template-columns:minmax(0,1fr);gap:28px}.gift-dialog__note,.gift-dialog__thanks{font-size:12px}.gift-account__heading{font-size:16px}.gift-account__qr{max-width:220px}.gift-account__bank{font-size:14px}.gift-account__number{font-size:16px}.gift-account__holder{font-size:13px}.gift-account__download{min-height:44px;padding:11px 20px;font-size:13px}}@media(prefers-reduced-motion:reduce){.ambient-petals{display:none!important}.lotus-decor .lotus-mark__bloom,.opening-card,.opening-card__lotus,.opening-card:after{animation:none!important}.lotus-decor,.lotus-divider{transform:none!important}}
