@font-face{font-family:Dancing Script Hand;font-style:normal;font-weight:400 700;font-display:block;src:url(/fonts/dancing-script-vietnamese-wght-normal.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Dancing Script Hand;font-style:normal;font-weight:400 700;font-display:block;src:url(/fonts/dancing-script-latin-wght-normal.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.couple-names{letter-spacing:0;white-space:nowrap;text-align:center;flex-direction:column;justify-content:center;align-items:center;font-family:Dancing Script Hand,Segoe Script,Bradley Hand,cursive;font-style:normal;font-weight:600;line-height:1;display:flex}.cn-name{padding-inline:.06em;line-height:1.02;display:block}.cn-heart{width:.62em;height:.56em;color:var(--cn-heart,var(--accent));margin:.06em 0 .02em;overflow:visible;transform:rotate(-4deg)}.cn-heart-line{stroke-dasharray:1;stroke-dashoffset:0;animation:1.6s ease-out .3s both cn-draw}.cn-heart-echo{stroke-dasharray:1;stroke-dashoffset:0;opacity:.7;stroke-width:2px;animation:.7s ease-out 1.7s both cn-draw}@keyframes cn-draw{0%{stroke-dashoffset:1px}to{stroke-dashoffset:0}}@media (prefers-reduced-motion:reduce){.cn-heart-line,.cn-heart-echo{animation:none}}
.invitation-theatre{isolation:isolate;color:#62424b;--theatre-cast-width:min(500px,70vw);background-color:#faf4eb;background-image:radial-gradient(at 50% 60%,#f3dfe388,#0000 64%),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='p'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.72' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23p)' opacity='.035'/%3E%3C/svg%3E");background-position:0 0;background-repeat:repeat;background-size:auto;background-attachment:scroll;background-origin:padding-box;background-clip:border-box;grid-template-columns:minmax(0,1fr);align-content:start;justify-items:center;min-height:100svh;padding:24px 5vw 36px;display:grid;position:relative;overflow:hidden}.theatre-page-border{pointer-events:none;border:1px solid #d7b8be88;position:absolute;inset:15px}.theatre-page-border:after{content:"";border:1px solid #d7b8be55;position:absolute;inset:5px}.theatre-top{z-index:2;letter-spacing:2px;color:#80616a;justify-content:space-between;align-items:center;width:100%;font-size:10px;display:flex;position:relative}.theatre-top button{letter-spacing:0;color:#80616a;background:0 0;border:0;align-items:center;gap:10px;min-height:44px;padding:0;font-size:11px;display:flex}.theatre-top button:hover{color:#a85470}.theatre-top button:focus-visible,.theatre-close:focus-visible{outline-offset:4px;outline:2px solid #a85470}.theatre-heading{text-align:center;z-index:1;margin-top:clamp(16px,4vh,38px);position:relative}.theatre-heading .eyebrow{color:#a85470;letter-spacing:2.8px;font-size:10px}.theatre-heading h1{font-family:var(--font-serif);letter-spacing:-1.5px;margin:17px 0 16px;font-size:clamp(42px,4.8vw,66px);font-weight:400;line-height:1.06}.theatre-heading h1 em{color:#a85470}.theatre-heading p{color:#80616a;font-size:12px;line-height:1.8}.invitation-hotspot:hover{filter:drop-shadow(0 7px 12px #a8547020)}.invitation-hotspot:focus-visible{outline-offset:10px;outline:2px solid #a85470}.hotspot-shine{opacity:0;pointer-events:none;border:1px solid #b9768a33;border-radius:5px;transition:opacity .3s;position:absolute;inset:-7px}.invitation-hotspot:hover .hotspot-shine{opacity:1}.theatre-envelope{perspective:1200px;isolation:isolate;background:#e7c9cd;border-radius:3px;width:100%;height:100%;display:block;position:relative;box-shadow:0 18px 35px #62424b16,0 2px 3px #62424b0d;container-type:inline-size}.theatre-letter{color:#62424b;background:#fffaf4;flex-direction:column;justify-content:center;align-items:center;padding:5% 4%;transition:transform .8s cubic-bezier(.22,1,.36,1) .4s;display:flex;position:absolute;inset:6% 6% 3%;overflow:hidden;box-shadow:inset 0 0 0 1px #d7b8bebb,inset 0 0 0 8px #fffaf4,inset 0 0 0 9px #d7b8be66}.theatre-letter>svg{color:#a85470;width:7%;height:auto;margin-bottom:2%}.theatre-letter small{letter-spacing:.18em;font-size:2cqw}.theatre-letter strong{margin:2% 0;font-size:8cqw;font-weight:400;display:block}.theatre-letter>span{letter-spacing:.2em;font-size:2.1cqw}.theatre-envelope-left,.theatre-envelope-right,.theatre-envelope-bottom,.theatre-envelope-flap{border-radius:3px;display:block;position:absolute;inset:0}.theatre-envelope-left{clip-path:polygon(0 0,55% 53%,0 100%);background:linear-gradient(120deg,#eed7d8,#e9cccf)}.theatre-envelope-right{clip-path:polygon(100% 0,45% 53%,100% 100%);background:linear-gradient(240deg,#ecd3d6,#e4c4c9)}.theatre-envelope-bottom{clip-path:polygon(0 100%,0 97%,50% 41%,100% 97%,100% 100%);background:linear-gradient(145deg,#f4e0df,#ebcdd1)}.theatre-envelope-bottom:after{content:"";border:1px solid #b9768a33;position:absolute;inset:8px}.theatre-envelope-flap{clip-path:polygon(0 0,100% 0,50% 58%);transform-origin:top;z-index:3;backface-visibility:hidden;background:linear-gradient(170deg,#f6e5e1,#e7c6ce);transition:transform .75s cubic-bezier(.45,0,.2,1)}.theatre-envelope-flap:after{content:"";clip-path:polygon(0 0,100% 0,50% 58%);border:1px solid #b9768a33;position:absolute;inset:8px}.theatre-wax{aspect-ratio:1;color:#fff2ef;width:14%;font-family:var(--font-serif);white-space:nowrap;letter-spacing:-.04em;text-shadow:0 1px 1px #793c57;z-index:4;background:radial-gradient(at 30% 24%,#c7899e,#a85470 65%,#91425f);border-radius:45% 48% 44% 49%;place-items:center;font-size:3.7cqw;font-style:italic;line-height:1;transition:opacity .28s,transform .45s;display:grid;position:absolute;top:44%;left:43%;box-shadow:inset 0 0 0 3px #c48b9d,inset 0 0 0 4px #8f3f5b66,0 4px 7px #62424b24}.theatre-wax:after{content:"";border:1px solid #edbdcd66;border-radius:50%;position:absolute;inset:7px}.theatre-envelope-address{z-index:3;text-align:center;letter-spacing:.14em;color:#95536a;font-size:1.7cqw;transition:opacity .3s;position:absolute;bottom:9%;left:0;right:0}.is-opening .theatre-wax{opacity:0;transform:scale(1.35)rotate(-12deg)}.is-opening .theatre-envelope-flap{z-index:0;transform:rotateX(180deg)}.is-opening .theatre-letter{transform:translateY(-55%)}.is-opening .theatre-envelope-address{opacity:0}.theatre-instruction>svg{color:#a85470;margin:0 auto 8px;display:block;transform:rotate(-25deg)}.theatre-instruction p{font-family:var(--font-serif);font-size:25px;line-height:1.3}.theatre-instruction p em{color:#a85470}.theatre-instruction span{letter-spacing:2px;color:#80616a;margin-top:13px;font-size:8px;display:block}.theatre-closeup{z-index:20;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#62424b;background:#faf4ebfa radial-gradient(at 50% 65%,#f3dfe388,#0000 60%);flex-direction:column;justify-content:safe center;align-items:center;padding:75px 25px 45px;display:flex;position:fixed;inset:0;overflow:auto}.theatre-closeup:before{content:"";pointer-events:none;border:1px solid #d7b8be66;position:fixed;inset:16px}.theatre-close{color:#80616a;z-index:2;background:0 0;border:0;align-items:center;gap:9px;min-height:44px;font-size:11px;display:flex;position:absolute;top:20px;right:4vw}.theatre-closeup-heading{text-align:center;margin-bottom:78px}.theatre-closeup-heading>svg{color:#a85470;width:34px;margin:0 auto 15px}.theatre-closeup-heading h2{font-family:var(--font-serif);font-size:clamp(32px,4vw,48px);font-style:italic;font-weight:400}.theatre-closeup-heading p{color:#80616a;margin-top:14px;font-size:12px;line-height:1.8}.invitation-in-hand{aspect-ratio:1.65;cursor:pointer;perspective:1200px;background:0 0;border:0;flex-shrink:0;width:min(470px,80vw);padding:0;position:relative}.invitation-in-hand:focus-visible{outline-offset:15px;border-radius:3px;outline:2px solid #a85470}.invitation-in-hand:disabled{cursor:default;opacity:1}.theatre-closeup-note{letter-spacing:2px;text-align:center;color:#80616a;margin-top:57px;font-size:9px;line-height:1.7}@media (min-height:900px) and (min-width:761px){.theatre-heading{margin-top:52px}}@media (max-width:760px){.invitation-theatre{padding:17px 25px 28px}.theatre-page-border{inset:10px}.theatre-top{letter-spacing:1px;font-size:9px}.theatre-top button{font-size:10px}.theatre-heading{margin-top:24px}.theatre-heading .eyebrow{letter-spacing:1.7px;font-size:8px}.theatre-heading h1{margin:15px 0;font-size:clamp(38px,10vw,48px)}.theatre-heading p{max-width:260px;margin-inline:auto;font-size:11px}.theatre-instruction p{font-size:23px}.theatre-instruction span{letter-spacing:1.5px;font-size:7px}.theatre-closeup{padding:80px 25px 40px}.theatre-closeup-heading{margin-bottom:72px}.theatre-closeup-heading h2{font-size:33px}.theatre-closeup-heading p{max-width:260px;margin-inline:auto;font-size:11px}.theatre-closeup-note{letter-spacing:1.5px;font-size:8px}.theatre-close{font-size:10px}.theatre-closeup:before{inset:10px}}@media (max-height:680px) and (max-width:760px){.theatre-heading{margin-top:8px}.theatre-heading h1{font-size:36px}.theatre-instruction>svg{display:none}}@media (max-height:520px) and (min-width:761px){.invitation-theatre{padding-bottom:25px}.theatre-heading{margin-top:0}.theatre-heading h1{margin:8px 0;font-size:36px}.theatre-instruction>svg{display:none}}@media (max-height:520px){.theatre-closeup{padding:54px 20px 24px}.theatre-closeup-heading{margin-bottom:48px}.theatre-closeup-heading>svg{display:none}.theatre-closeup-heading h2{font-size:26px}.theatre-closeup-heading p{margin-top:8px}.theatre-closeup-note{margin-top:25px}.invitation-in-hand{width:min(70vw,300px,165svh - 363px)}}@media (prefers-reduced-motion:reduce){.theatre-envelope-flap,.theatre-letter,.theatre-wax,.theatre-envelope-address{transition:none}}.theatre-closeup-heading{transition:opacity .3s,transform .45s}.theatre-closeup.is-revealing .theatre-closeup-heading{opacity:0;transform:translateY(-16px)}.theatre-close:disabled{opacity:.5}@media (prefers-reduced-motion:reduce){.theatre-closeup-heading{transition:none}}@media (min-width:761px) and (min-height:521px) and (max-height:800px){.theatre-heading{margin-top:12px}.theatre-instruction>svg{display:none}}.theatre-top{grid-area:1/1}.theatre-heading{grid-area:2/1}.theatre-cast{width:var(--theatre-cast-width);aspect-ratio:1122/1402;isolation:isolate;grid-area:3/1;justify-self:center;height:auto;margin:8px 0 0;position:relative}.theatre-couple{z-index:1;filter:drop-shadow(0 14px 22px #62424b12);width:100%;height:auto;display:block;position:relative}.theatre-sprig{z-index:0;color:#b9768a;pointer-events:none;opacity:.26;width:35%;height:auto;position:absolute}.theatre-sprig-left{bottom:9%;left:-18%;transform:rotate(-25deg)}.theatre-sprig-right{opacity:.2;top:22%;right:-14%;transform:rotate(24deg)scaleX(-1)}.invitation-hotspot{cursor:pointer;perspective:1200px;z-index:2;background:0 0;border:0;border-radius:3px;width:36.1%;height:13.2%;padding:0;transition:filter .3s;position:absolute;top:56.9%;left:33%;transform:rotate(-1deg)}.invitation-hotspot .theatre-letter>svg,.invitation-hotspot .theatre-envelope-address{display:none}.invitation-hotspot .theatre-wax{font-size:3.7cqw;box-shadow:inset 0 0 0 1px #c48b9d,0 2px 4px #62424b20}.invitation-hotspot .theatre-wax:after{inset:3px}.theatre-instruction{z-index:3;width:210px;margin:calc(var(--theatre-cast-width) * .73) 0 0 calc(50% + var(--theatre-cast-width) * .5 + 24px);text-align:left;color:#80616a;grid-area:3/1;place-self:start;position:relative}.theatre-instruction>svg{margin:0 0 9px;transform:rotate(-35deg)}.theatre-instruction p{font-size:24px}.theatre-instruction span{letter-spacing:1.6px;font-size:8px;line-height:1.7}@media (min-width:761px) and (max-height:800px){.invitation-theatre{--theatre-cast-width:360px;padding-bottom:24px}.theatre-heading{margin-top:12px}.theatre-heading h1{margin:12px 0;font-size:48px}.theatre-cast{margin-top:8px}.theatre-instruction{width:185px}.theatre-instruction p{font-size:22px}}@media (max-width:1050px){.theatre-instruction{text-align:center;grid-area:4/1;justify-self:center;width:auto;max-width:320px;margin:14px 0 4px}.theatre-instruction>svg{display:none}}@media (max-width:760px){.invitation-theatre{--theatre-cast-width:min(430px,calc(100vw - 24px));padding-bottom:24px}.theatre-cast{margin-top:12px}.theatre-sprig-left{opacity:.18;bottom:5%;left:-4%}.theatre-sprig-right{opacity:.15;top:25%;right:-4%}.theatre-instruction{max-width:calc(100vw - 52px);margin:12px 0 8px}.theatre-instruction p{font-size:22px}.theatre-instruction span{letter-spacing:1.4px;margin-top:8px;font-size:8px}}@media (max-height:520px) and (min-width:761px){.invitation-theatre{--theatre-cast-width:310px}.theatre-heading{margin-top:4px}.theatre-heading h1{margin:8px 0;font-size:38px}}@media (prefers-reduced-motion:reduce){.invitation-hotspot{transition:none}}
.opened-invitation{--hdr:68px;--ease:cubic-bezier(.22,.7,.2,1)}@media (max-width:560px){.opened-invitation{--hdr:60px}}@media (prefers-reduced-motion:no-preference){html.smooth-anchors{scroll-behavior:smooth}}.opened-invitation.opened-invitation{animation:.8s backwards paper-fade}@keyframes paper-fade{0%{opacity:0}to{opacity:1}}.fx-progress{z-index:60;pointer-events:none;transform-origin:0;background:linear-gradient(90deg,#e7bdc9,#a85470 55%,#c98a9d);height:3px;position:fixed;inset:0 0 auto;transform:scaleX(0);box-shadow:0 0 10px #a8547066}.opened-invitation .site-header.site-header{transition:box-shadow .35s,background-color .35s}.opened-invitation.is-scrolled .site-header.site-header{box-shadow:0 10px 30px #62424b16}@keyframes hero-rise{0%{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}@keyframes line-draw{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.opened-invitation .invitation-paper-border>*{animation:hero-rise 1s var(--ease) backwards;animation-delay:calc(var(--i,0)*.12s + .22s)}.invitation-paper-border>:nth-child(2){--i:1}.invitation-paper-border>:nth-child(3){--i:2}.invitation-paper-border>:nth-child(4){--i:3}.invitation-paper-border>:nth-child(5){--i:6}.invitation-paper-border>:nth-child(6){--i:7}.invitation-paper-border>:nth-child(7){--i:8}.invitation-paper-border>:nth-child(8){--i:9}.invitation-paper-border>:nth-child(9){--i:10}.invitation-paper-rule>span{animation:line-draw .9s var(--ease) 1.5s backwards}.invitation-paper-rule>span:first-child{transform-origin:100%}.invitation-paper-rule>span:last-child{transform-origin:0}.opened-invitation .invitation-cta{isolation:isolate;position:relative;overflow:hidden}.opened-invitation .invitation-cta:after{content:"";pointer-events:none;background:linear-gradient(90deg,#0000,#fff5,#0000);width:32%;animation:5s ease-in-out 2.6s infinite cta-shine;position:absolute;inset:0 auto 0 -40%;transform:skew(-20deg)translate(-120%)}@keyframes cta-shine{0%,60%{transform:skew(-20deg)translate(-120%)}to{transform:skew(-20deg)translate(520%)}}.opened-invitation .invitation-cta-ghost svg{animation:2.4s ease-in-out infinite nudge}@keyframes nudge{0%,to{transform:translateY(0)}50%{transform:translateY(4px)}}.fx-petals{pointer-events:none;z-index:0;position:absolute;inset:0;overflow:hidden}.opened-invitation .invitation-paper-border{z-index:1}.fx-petals i{top:-8%;left:var(--l);width:var(--s);height:calc(var(--s)*1.3);opacity:0;animation:petal-fall var(--t) linear calc(var(--d)*-1) infinite;filter:drop-shadow(0 1px 1px #62424b24);background:linear-gradient(135deg,#f9dde5,#d996ab);border-radius:75% 0;position:absolute}@keyframes petal-fall{0%{opacity:0;transform:translate(0,0)rotate(0)}8%{opacity:.68}30%{transform:translate3d(calc(var(--x)*.6),32vh,0) rotate(120deg) rotateY(50deg)}60%{transform:translate3d(calc(var(--x)*-.3),66vh,0) rotate(250deg) rotateY(-40deg)}92%{opacity:.7}to{transform:translate3d(calc(var(--x)*.5),108vh,0) rotate(400deg);opacity:0}}.opened-invitation.hero-off .fx-petals i{animation-play-state:paused}.opened-invitation .opened-rest{z-index:2;background:#faf4eb;position:relative}.opened-invitation.fx-ready .invitation-paper-hero{top:min(var(--hdr),calc(100svh - var(--hero-h,100svh)));min-height:calc(100svh - var(--hdr));position:sticky}.opened-invitation.fx-ready .opened-rest{border-radius:28px 28px 0 0;margin-top:-1px;box-shadow:0 -26px 60px #62424b1f}.opened-invitation.fx-ready .opened-rest:before{content:"";opacity:.8;background:#d7b8be;border-radius:4px;width:44px;height:4px;margin-left:-22px;position:absolute;top:10px;left:50%}.opened-invitation.fx-ready .opened-rest>:first-child{border-radius:28px 28px 0 0}.opened-invitation.fx-ready .invitation-paper-border{transform-origin:50% 100%;transform:translate3d(0,calc(var(--c,0)*-26px),0) scale(calc(1 - var(--c,0)*.07));opacity:calc(1 - var(--c,0)*.65)}.opened-invitation.fx-ready .invitation-paper-branch.branch-left{transform:rotate(25deg) translate3d(calc(var(--c,0)*-26px),calc(var(--c,0)*-130px),0)}.opened-invitation.fx-ready .invitation-paper-branch.branch-right{transform:rotate(-25deg) scaleX(-1) translate3d(calc(var(--c,0)*-26px),calc(var(--c,0)*-130px),0)}.opened-invitation.fx-ready [data-reveal]{opacity:0;transition:opacity .9s var(--ease) var(--d,0s),transform 1.05s var(--ease) var(--d,0s),filter .9s ease var(--d,0s);transform:translateY(34px)}.opened-invitation.fx-ready [data-reveal=fade]{transform:none}.opened-invitation.fx-ready [data-reveal=left]{transform:translate(-34px)}.opened-invitation.fx-ready [data-reveal=right]{transform:translate(34px)}.opened-invitation.fx-ready [data-reveal=scale]{transform:scale(.9)}.opened-invitation.fx-ready [data-reveal=blur]{filter:blur(6px)}.opened-invitation.fx-ready [data-reveal=mask]{filter:blur(8px);transform:translateY(30px)}.opened-invitation.fx-ready [data-reveal].is-in{opacity:1;filter:none;transform:none}.opened-invitation.fx-ready .wd-schedule li:before{transition:background .5s ease,box-shadow .5s ease,transform .5s var(--ease);background:#fffaf4;box-shadow:0 0 0 1px #d7b8be}.opened-invitation.fx-ready .wd-schedule li.is-lit:before{background:var(--gold);transform:scale(1.18);box-shadow:0 0 0 5px #a8547026}.opened-invitation.fx-ready .wd-schedule li:after{background:linear-gradient(var(--accent),var(--accent)) 0 0/100% calc(var(--fill,0)*100%) no-repeat,#d7b8be99;border-left:0;width:1px}.opened-invitation.fx-ready .wd-schedule time{transition:color .5s}.opened-invitation.fx-ready .wd-schedule li.is-lit time{color:var(--accent)}.cd-tick{animation:cd-tick .5s var(--ease) backwards;display:inline-block}@keyframes cd-tick{0%{opacity:0;transform:translateY(40%)}to{opacity:1;transform:none}}@media (hover:hover){.wd-button,.wd-link,.invitation-cta,.rsvp-choice label{transition:background .25s ease,transform .3s var(--ease),border-color .25s ease,box-shadow .3s ease}.wd-button:hover,.wd-link:hover{transform:translateY(-2px)}.rsvp-choice label:hover{transform:translate(4px)}}.rsvp-success-check{animation:.7s cubic-bezier(.3,1.5,.5,1) backwards check-pop;position:relative}@keyframes check-pop{0%{opacity:0;transform:scale(.3)}to{opacity:1;transform:scale(1)}}.rsvp-success-check:after{content:"";pointer-events:none;border:1px solid #a85470;border-radius:50%;animation:1.1s ease-out .15s backwards check-ring;position:absolute;inset:-1px}@keyframes check-ring{0%{opacity:.8;transform:scale(1)}to{opacity:0;transform:scale(2.3)}}.rsvp-burst{pointer-events:none;position:absolute;inset:0}.rsvp-burst i{width:9px;height:12px;animation:burst 1.1s var(--ease) .1s backwards;opacity:0;background:linear-gradient(135deg,#f9dde5,#d996ab);border-radius:75% 0;margin:-6px 0 0 -4px;position:absolute;top:50%;left:50%}@keyframes burst{0%{opacity:0;transform:rotate(var(--a)) translateY(0) scale(.4)}15%{opacity:1}to{opacity:0;transform:rotate(var(--a)) translateY(-62px) rotate(160deg) scale(1)}}@media (prefers-reduced-motion:reduce){.fx-petals,.rsvp-burst,.opened-invitation .invitation-cta:after{display:none}}
