/*! tailwindcss v4.3.2 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}}}@layer theme{:root,:host{--font-sans:"Inter", "cwTeXMing", sans-serif;--font-serif:"Cormorant Garamond", "cwTeXMing", serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--font-baskerville:"Baskervville", "ITC New Baskerville", "New Baskerville", "Baskerville", "Libre Baskerville", "cwTeXMing", serif;--color-ink:#1a1a1a;--color-accent:#8b7355}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}html{scroll-behavior:smooth;background-color:#faf9f7}body{color:#1a1a1a;font-family:var(--font-sans)}body:before{content:"";z-index:-1;pointer-events:none;background-image:url(/bg-v2.webp);background-position:50%;background-size:cover;position:fixed;inset:0}#root{transition:opacity .18s}:root[data-lang-switching] #root{opacity:.12}@media (prefers-reduced-motion:reduce){#root{transition:none}:root[data-lang-switching] #root{opacity:1}}}@layer components;@layer utilities{.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.block{display:block}.grid{display:grid}.hidden{display:none}.inline{display:inline}.resize{resize:both}.border{border-style:var(--tw-border-style);border-width:1px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.font-serif{font-family:var(--font-serif)}.tracking-luxe{letter-spacing:.3em}}@font-face{font-family:Amiri;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/google/Amiri-400-normal-latin.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}@font-face{font-family:Amiri;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/google/Amiri-700-normal-latin.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}@font-face{font-family:Cormorant Garamond;font-style:italic;font-weight:300;font-display:swap;src:url(/fonts/google/CormorantGaramond-300-italic-latin.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}@font-face{font-family:Cormorant Garamond;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/google/CormorantGaramond-400-italic-latin.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}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:300;font-display:swap;src:url(/fonts/google/CormorantGaramond-300-normal-latin.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}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/google/CormorantGaramond-400-normal-latin.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}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/google/CormorantGaramond-500-normal-latin.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}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/google/CormorantGaramond-600-normal-latin.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}@font-face{font-family:Inter;font-style:normal;font-weight:300;font-display:swap;src:url(/fonts/google/Inter-300-normal-latin.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}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/google/Inter-400-normal-latin.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}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/google/Inter-500-normal-latin.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}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/google/Inter-600-normal-latin.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}@font-face{font-family:cwTeXMing;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/cwtexming/cwtexming.woff2)format("woff2");unicode-range:U+2E80-2EFF,U+3000-303F,U+3200-33FF,U+3400-4DBF,U+4E00-9FFF,U+F900-FAFF,U+FE30-FE4F,U+FF00-FFEF}@font-face{font-family:Baskervville;src:url(/fonts/Baskervville-Regular.ttf)format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:ITC New Baskerville;src:url(/fonts/Baskervville-Regular.ttf)format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:OldMoney;src:url(/fonts/oldmoney.otf)format("opentype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:SloopScript;src:url(/fonts/sloopscript.ttf)format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:New Icon;src:url(/fonts/new-icon.otf)format("opentype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:New Icon Serif Cond;src:url(/fonts/new-icon-serif-condensed.otf)format("opentype");font-weight:400;font-style:normal;font-display:block}.nav-logo,.nav-link,.nav-lang,.nav-drawer-link{position:relative}.nav-logo:after,.nav-link:after,.nav-lang:after,.nav-drawer-link:after{content:"";position:absolute;inset:-14px -8px}.nav-mobile-actions .nav-lang:after{inset:-14px -8px -14px -22px}.nav-bar{z-index:50;padding:14px 0;transition:background-color .45s,color .45s,box-shadow .45s,padding .45s;position:fixed;top:0;left:0;right:0}.nav-olive{color:#e8e4d8;box-shadow:none;background-color:#0000}.nav-light{color:#1a1a1a;-webkit-backdrop-filter:none;box-shadow:none;background-color:#0000}.nav-ink{color:#faf9f7;box-shadow:none;background-color:#1a1a1a}.nav-inner{justify-content:space-between;align-items:center;max-width:72rem;margin:0 auto;padding:0 24px;display:flex}.nav-logo{font-family:var(--font-serif);letter-spacing:.2em;color:inherit;font-size:1.2rem;text-decoration:none;transition:opacity .3s}.nav-logo:hover{opacity:.75}.nav-links{align-items:center;gap:2rem;display:none}.nav-link,.nav-lang,.nav-drawer-link{font-family:var(--font-baskerville)}.nav-link,.nav-lang{letter-spacing:.3em;text-transform:uppercase;color:inherit;opacity:.78;cursor:pointer;background:0 0;border:none;padding:0;font-size:11px;text-decoration:none;transition:opacity .3s,color .3s}.nav-link:hover,.nav-lang:hover{opacity:1}.nav-olive .nav-link:hover,.nav-olive .nav-lang:hover,.nav-ink .nav-link:hover,.nav-ink .nav-lang:hover{color:#fff;opacity:1}.nav-light .nav-link:hover,.nav-light .nav-lang:hover{color:var(--color-accent)}.nav-lang{opacity:.7;border-left:1px solid;margin-left:.25rem;padding-left:1rem}.nav-mobile-actions{align-items:center;gap:1rem;display:flex}.nav-mobile-actions .nav-lang{border-left:none;margin-left:0;padding-left:0}.nav-burger{cursor:pointer;background:0 0;border:none;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;margin:-8px;padding:0;display:flex}.nav-burger span{transform-origin:50%;background:currentColor;width:22px;height:1px;transition:transform .3s,opacity .3s;display:block}.nav-burger.is-open span:first-child{transform:translateY(6px)rotate(45deg)}.nav-burger.is-open span:nth-child(2){opacity:0}.nav-burger.is-open span:nth-child(3){transform:translateY(-6px)rotate(-45deg)}.nav-drawer{opacity:0;color:#fff;background:#781019;flex-direction:column;align-items:center;gap:1.75rem;max-height:0;transition:max-height .4s,opacity .35s,padding .4s;display:flex;overflow:hidden}.nav-drawer.is-open{opacity:1;border-top:1px solid #ffffff24;max-height:280px;padding:1.5rem 1.5rem 2rem}.nav-drawer-link{letter-spacing:.3em;text-transform:uppercase;color:#fff;font-size:11px;text-decoration:none;transition:color .3s}.nav-drawer-link:hover{color:#ffffffb3}@media (width>=768px){.nav-links{display:flex}.nav-mobile-actions,.nav-drawer{display:none}}:root{--section-fade:1.1s;--section-rise:18px;--stripe-period:22px;--stripe-dark:42.5%;--stripe-cream:#eae7dd;--stripe-cream-light:#fcfaf7;--stripe-olive:#b6b594;--stripe-olive-light:#fcf9f6;--title-words:18.5px;--title-countdown:16px;--title-day:22.5px;--title-location:18.5px;--title-transport:17.5px;--title-dress:23.5px}:root[lang=zh-HK]{--title-words:37px;--title-countdown:37px;--title-day:38px;--title-location:38.5px;--title-transport:36px;--title-dress:43px}@media (width>=768px){:root{--stripe-period:40px}}.stripes-cream,.stripes-olive{background-position:0 0;background-repeat:repeat;background-attachment:scroll}.stripes-cream{background-image:repeating-linear-gradient(90deg, var(--stripe-cream) 0, var(--stripe-cream) calc(var(--stripe-period) * .425), var(--stripe-cream-light) calc(var(--stripe-period) * .425), var(--stripe-cream-light) var(--stripe-period))}.stripes-olive{background-image:repeating-linear-gradient(90deg, var(--stripe-olive) 0, var(--stripe-olive) calc(var(--stripe-period) * .425), var(--stripe-olive-light) calc(var(--stripe-period) * .425), var(--stripe-olive-light) var(--stripe-period))}.words-section{padding:48px 0 104px;position:relative;overflow:hidden}.words-bg{object-fit:cover;z-index:0;width:100%;height:100%;position:absolute;inset:0}.words-bg-mobile{display:none}.words-stage{z-index:1;aspect-ratio:2049/1373;color:#111;opacity:0;width:min(1280px,100% - 48px);transform:translateY(var(--section-rise));transition:opacity var(--section-fade) ease, transform var(--section-fade) ease;margin:0 auto;position:relative;container-type:inline-size}.words-visible{opacity:1;transform:translateY(0)}.words-oval{width:31.625%;position:absolute;top:17.917%;left:10.444%}.words-oval img{clip-path:ellipse(49.8% 49.8%);width:100%;height:auto;display:block}.words-oval .words-oval-still{display:none}@media (prefers-reduced-motion:reduce){.words-oval .words-oval-motion{display:none}.words-oval .words-oval-still{display:block}}.words-title{width:auto;height:var(--title-words);position:absolute;top:15.004%;left:72.035%;transform:translate(-50%)}.words-letter{text-align:center;width:56%;font-family:var(--font-baskerville);letter-spacing:.021em;text-indent:.021em;font-size:1.241cqw;line-height:1.566;position:absolute;top:27.261%;left:43.95%}.words-letter p{margin:0}.words-letter p+p{margin-top:1.566em}.words-letter span{display:block}.words-withlove{text-align:center;width:56%;font-family:var(--font-baskerville);letter-spacing:.105em;text-indent:.105em;margin:0;font-size:1.156cqw;line-height:1;position:absolute;top:75.584%;left:43.95%}.words-signature{width:17.033%;height:auto;position:absolute;top:79.68%;left:63.616%}@media (width<=767px){.words-section{padding:56px 0 64px}.words-bg-desktop{display:none}.words-bg-mobile{display:block}.words-stage{aspect-ratio:auto;flex-direction:column;align-items:center;width:calc(100% - 40px);display:flex;container-type:normal}.words-title,.words-oval,.words-letter,.words-withlove,.words-signature{width:auto;position:static;top:auto;left:auto}.words-title{height:var(--title-words);order:1}.words-oval{order:2;width:78%;margin-top:7%}.words-letter{order:3;width:100%;margin-top:11%;font-size:clamp(11px,3.131vw,15px)}.words-withlove{order:4}.words-signature{order:5}.words-letter span{display:inline}:root[lang=zh-HK] .words-letter span{display:block}.words-withlove{width:100%;margin-top:13%;font-size:clamp(10px,2.62vw,13px)}.words-signature{width:28%;max-width:130px;margin-top:3%}}.rsvp-section{background-color:#faf9f7;align-items:stretch;min-height:100vh;display:flex;position:relative;overflow:hidden}.rsvp-bg{display:none}.rsvp-bg-img{object-fit:cover;z-index:0;pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;inset:0}.rsvp-bg-mobile{display:none}@media (width<=768px){.rsvp-bg-desktop{display:none}.rsvp-bg-mobile{display:block}}.rsvp-top-banner{z-index:1;flex:0 0 50%;justify-content:center;align-items:flex-start;padding:200px 40px 60px;display:flex;position:relative}.rsvp-top-banner img{width:80%;max-width:720px;height:auto}.rsvp-content{z-index:1;flex:1;justify-content:flex-start;align-items:center;padding:80px 80px 80px 40px;display:flex;position:relative}.rsvp-paper{background-image:url(/large-paper-v2.webp);background-position:top;background-repeat:no-repeat;background-size:100% 100%;width:100%;max-width:690px;min-height:auto;margin:0;position:relative}.rsvp-paper-inner{z-index:2;flex-direction:column;align-items:center;padding:110px 50px 100px;display:flex;position:relative}.rsvp-deadline{font-family:var(--font-baskerville);color:#781019b8;text-align:center;text-wrap:balance;max-width:44ch;margin:-6px auto 24px;font-size:13px;line-height:1.7}:root[lang=zh-HK] .rsvp-deadline{max-width:30em}.rsvp-form{flex-direction:column;gap:24px;width:100%;max-width:500px;margin:0 auto;display:flex}.rsvp-heading{letter-spacing:.05em;text-transform:uppercase;color:#781019;text-align:center;white-space:nowrap;margin:0 0 30px;padding-left:.05em;font-family:New Icon,cwTeXMing;font-size:clamp(12px,3.4vw,18px);font-style:normal;font-weight:400}.rsvp-field{flex-direction:column;width:100%;max-width:400px;margin:0 auto;display:flex}.rsvp-field-label{color:#781019;text-align:left;align-self:flex-start;margin-bottom:12px;font-family:Baskervville,cwTeXMing;font-size:14px;font-style:normal}.rsvp-input,.rsvp-select{color:#fff;box-sizing:border-box;background:0 0;border:1px solid #7810194d;outline:none;width:100%;max-width:400px;padding:12px 16px;font-family:Baskervville,cwTeXMing;font-size:15px;transition:background .3s,color .3s;text-align:left!important}.rsvp-input:placeholder-shown,.rsvp-select:invalid{color:#781019;background-color:#0000}.rsvp-input:not(:placeholder-shown),.rsvp-select:not(:invalid){color:#fff;background-color:#781019}.rsvp-input::placeholder,.rsvp-select::placeholder{color:#781019;opacity:1}.rsvp-select-wrap{width:100%;max-width:400px;position:relative}.rsvp-select-arrow{pointer-events:none;color:#781019;font-size:14px;position:absolute;top:50%;right:16px;transform:translateY(-50%)}.rsvp-select-wrap .rsvp-select:not(:invalid)~.rsvp-select-arrow{color:#fff}.rsvp-select{cursor:pointer;appearance:none;padding-right:40px}.rsvp-input::placeholder{color:#781019}.rsvp-song-input-wrap{position:relative}.rsvp-input-pulse{animation:2.5s ease-in-out infinite rsvp-input-pulse}@keyframes rsvp-input-pulse{0%,to{border-color:#7810194d;box-shadow:0 0 #78101900}50%{border-color:#7810198c;box-shadow:0 0 14px 1px #78101938}}.rsvp-floating-note{color:#781019;pointer-events:none;opacity:0;z-index:5;-webkit-user-select:none;user-select:none;font-size:18px;animation:1.5s ease-out forwards rsvp-note-float;position:absolute;bottom:calc(100% - 4px)}@keyframes rsvp-note-float{0%{opacity:0;transform:translateY(0)scale(.5)rotate(-10deg)}20%{opacity:.9;transform:translateY(-12px)scale(1)rotate(5deg)}to{opacity:0;transform:translateY(-80px)scale(1.3)rotate(20deg)}}@keyframes rsvp-blink{0%,to{opacity:.45}50%{opacity:1}}.rsvp-confetti-container{pointer-events:none;z-index:50;position:fixed;inset:0;overflow:hidden}.rsvp-confetti{color:#781019;pointer-events:none;animation-name:rsvp-confetti-fall;animation-timing-function:ease-in;animation-fill-mode:forwards;position:absolute;top:-40px}@keyframes rsvp-confetti-fall{0%{opacity:1;transform:translateY(0)translate(0)rotate(0)}to{transform:translateY(110vh) translateX(var(--drift,0px)) rotate(720deg);opacity:0}}.rsvp-thankyou-actions{justify-content:center;gap:12px;margin-top:24px;display:flex}.rsvp-thankyou-btn{font-family:var(--font-baskerville);color:#781019;cursor:pointer;background:0 0;border:1px solid #7810194d;justify-content:center;align-items:center;gap:10px;padding:14px;font-size:14px;text-decoration:none;transition:all .3s;display:inline-flex}.rsvp-thankyou-btn:hover{color:#fff;background:#781019;border-color:#781019}.rsvp-thankyou-btn-icon{flex-shrink:0;width:16px;height:16px;display:inline-flex}.rsvp-thankyou-btn-icon svg{width:100%;height:100%;display:block}.rsvp-radio-group{flex-direction:column;gap:12px;display:flex}.rsvp-radio-row{flex-direction:row;gap:12px;display:flex}.rsvp-radio-row .rsvp-radio{flex:1}.rsvp-reveal{opacity:0;grid-template-rows:0fr;margin-bottom:-24px;transition:grid-template-rows .5s cubic-bezier(.22,.61,.36,1),opacity .35s,margin-bottom .5s cubic-bezier(.22,.61,.36,1);display:grid}.rsvp-reveal.is-open{opacity:1;grid-template-rows:1fr;margin-bottom:0}.rsvp-reveal-inner{flex-direction:column;gap:24px;min-height:0;display:flex;overflow:hidden}@media (prefers-reduced-motion:reduce){.rsvp-reveal{transition:none}}.rsvp-radio{text-align:left;cursor:pointer;color:#781019;white-space:nowrap;background:0 0;border:1px solid #7810194d;width:100%;padding:14px;font-family:Baskervville,cwTeXMing;font-size:14px;font-style:normal;transition:all .3s}.rsvp-radio-full{width:100%}.rsvp-radio.is-on{color:#fff;background:#781019;border-color:#781019}.rsvp-error{color:#c0392b;text-align:center;background:#c0392b14;padding:10px;font-family:Baskervville,cwTeXMing;font-size:13px}.rsvp-honeypot{position:absolute;left:-9999px}.rsvp-thankyou{text-align:center;width:100%;max-width:500px;padding:80px 30px}.rsvp-thankyou-name{font-family:var(--font-baskerville);letter-spacing:.2em;text-transform:uppercase;color:#1a1a1a80;margin-bottom:20px;font-size:13px}.rsvp-thankyou-text{color:var(--color-ink);text-transform:uppercase;letter-spacing:.04em;margin-bottom:14px;font-family:OldMoney,cwTeXMing,serif;font-size:38px;font-style:normal;line-height:1.15}.rsvp-thankyou-sub{font-family:var(--font-baskerville);color:#1a1a1a99;font-size:17px}.rsvp-heart{z-index:10;cursor:pointer;background:0 0;border:none;margin:30px auto 10px;padding:0;transition:transform .3s,opacity .3s;display:block;position:relative}.rsvp-heart:hover:not(:disabled){transform:scale(1.1)}.rsvp-heart:active:not(:disabled){transform:scale(.95)}.rsvp-heart:disabled{opacity:.5;cursor:not-allowed}.rsvp-heart img{width:100px;height:auto;display:block}@media (width<=1400px){.rsvp-section{flex-direction:column}.rsvp-top-banner{flex:none;width:100%;padding:60px 20px 0}.rsvp-top-banner img{width:80%;max-width:576px}.rsvp-content{justify-content:center;padding:36px 20px 120px}.rsvp-paper{margin:0 auto}.rsvp-paper-inner{padding:70px 44px 78px}.rsvp-form{gap:24px}.rsvp-radio-group{flex-direction:column}.rsvp-radio-row{flex-direction:row}.rsvp-heart{margin-top:60px}.rsvp-heart img{width:80px}}.countdown-section{text-align:center;padding:120px 24px 110px;position:relative}.countdown-label{letter-spacing:.35em;text-transform:uppercase;color:#781019;justify-content:center;align-items:center;gap:16px;margin:0 0 50px;font-family:Baskervville,cwTeXMing;font-size:14px;display:flex}.countdown-label:before,.countdown-label:after{content:"";background:#78101966;width:40px;height:1px;display:block}.countdown-label-img{vertical-align:middle;width:auto;height:18px;display:inline-block}.countdown-our-date{height:var(--title-countdown)}.countdown-with{letter-spacing:.05em;color:#781019;font-family:New Icon,cwTeXMing;font-size:24px}.countdown-label.countdown-with:before,.countdown-label.countdown-with:after{display:none}.countdown-label:has(.countdown-our-date):before{display:none}.countdown-label:has(.countdown-our-date):after{display:none}.countdown-label-sub{margin:60px 0 30px}.countdown-section>.countdown-label:first-of-type{margin-bottom:120px}.countdown-date{color:#781019;margin:0 0 100px;font-family:SloopScript,cwTeXMing,cursive;font-size:clamp(40px,7vw,80px);font-weight:400;line-height:1.2}:root[lang=zh-HK] .rsvp-heading{font-family:var(--font-baskerville);letter-spacing:.02em;text-transform:none;font-size:clamp(15px,1.6vw,20px)}:root[lang=zh-HK] .countdown-label,:root[lang=zh-HK] .countdown-unit{letter-spacing:.25em;font-family:Cormorant Garamond,cwTeXMing,serif}:root[lang=zh-HK] .countdown-date{font-variant-numeric:lining-nums;letter-spacing:.04em;font-family:Cormorant Garamond,cwTeXMing,serif;font-size:clamp(30px,5vw,56px)}.countdown-weekday{margin-left:.42em}.countdown-numbers{flex-wrap:nowrap;justify-content:center;align-items:baseline;gap:clamp(8px,2vw,20px);display:flex}.countdown-block{flex-direction:column;align-items:center;min-width:0;display:flex}.countdown-num{color:#781019;letter-spacing:.02em;font-family:Amiri,cwTeXMing,serif;font-size:clamp(48px,9vw,110px);line-height:1}.countdown-sep{color:#781019;font-family:New Icon,cwTeXMing;font-size:clamp(36px,6vw,80px);font-weight:400;line-height:1;transform:translateY(-10px)}.countdown-unit{letter-spacing:.35em;text-transform:uppercase;color:#781019;margin-top:16px;font-family:Baskervville,cwTeXMing;font-size:clamp(10px,1.4vw,14px)}.countdown-married{color:#781019;font-family:SloopScript,cwTeXMing,cursive;font-size:clamp(40px,7vw,80px)}@media (width<=768px){.countdown-section{padding:80px 20px 100px}.countdown-weekday{margin-left:0;display:block}.countdown-label{letter-spacing:.25em;margin-bottom:30px;font-size:12px}.countdown-label.countdown-with{letter-spacing:.05em}.countdown-label:before,.countdown-label:after{width:25px}.countdown-label-sub{margin:40px 0 20px}.countdown-numbers{gap:4px}.countdown-sep{transform:translateY(-6px)}}.location-section{text-align:center;justify-content:center;align-items:center;min-height:100vh;padding:80px 24px 150px;display:flex;position:relative}.location-inner{width:100%;max-width:720px;margin:0 auto}.location-label{font-family:var(--font-baskerville);letter-spacing:.45em;text-transform:uppercase;color:#1a1a1a;justify-content:center;align-items:center;gap:16px;margin-bottom:40px;font-size:11px;font-weight:400;display:flex}.location-label:before,.location-label:after{content:"";background:#1a1a1a40;width:40px;height:1px;display:block}.location-label-img{height:var(--title-location);letter-spacing:normal;text-transform:none;color:#0000;width:auto;margin:0 auto 48px;font-family:normal;font-size:0;display:inline-block}.location-label-img:before,.location-label-img:after{background:#1a1a1a33;width:30px}.location-hero{flex-direction:column;align-items:center;width:100%;margin-bottom:8px;padding-bottom:12%;line-height:0;display:flex;position:relative;overflow:hidden}.location-gate,.location-video{pointer-events:none;-webkit-user-select:none;user-select:none;vertical-align:top;border:0;outline:none;width:78%;max-width:510px;height:auto;margin:0 auto;display:block}.location-video{object-fit:contain;clip-path:inset(0 0 8px);background:0 0}.location-script{pointer-events:none;-webkit-user-select:none;user-select:none;z-index:2;clip-path:inset(0 0 15%);width:84%;max-width:540px;height:auto;position:absolute;top:73%;left:53%;transform:translate(-50%,-50%)}.location-venue{letter-spacing:.18em;margin-bottom:10px;font-size:1.25em;font-weight:700;display:block}.location-address{font-family:var(--font-baskerville);letter-spacing:.22em;text-transform:uppercase;color:#1a1a1a;margin-top:28px;margin-bottom:36px;font-size:13px;line-height:1.9}.location-map-btn{font-family:var(--font-baskerville);letter-spacing:normal;text-transform:none;color:#781019;background:0 0;border:1px solid #7810194d;justify-content:center;align-items:center;gap:10px;margin:0 auto 90px;padding:14px;font-size:14px;font-style:normal;text-decoration:none;transition:all .3s;display:inline-flex}.location-map-btn:hover{color:#fff;background:#781019;border-color:#781019}.location-map-icon{flex-shrink:0;width:16px;height:16px;display:inline-flex}.location-map-icon svg{width:100%;height:100%;display:block}.location-transport{max-width:540px;margin:0 auto}.location-transport .location-label{margin:10px}.location-transport .location-label-img{height:var(--title-transport);margin-bottom:50px}.location-transport-text span{display:block}.location-transport-text{font-family:var(--font-baskerville);color:#1a1a1ab8;max-width:460px;margin:0 auto 80px;font-size:14px;font-style:normal;font-weight:400;line-height:1.85}.location-inner{opacity:0;transform:translateY(var(--section-rise));transition:opacity var(--section-fade) ease, transform var(--section-fade) ease}.location-inner.location-visible{opacity:1;transform:translateY(0)}@media (width<=768px){.location-section{min-height:auto;padding:72px 20px 56px}.location-inner{max-width:540px}.location-label{letter-spacing:.35em;margin-bottom:32px;font-size:10px}.location-gate{width:84%;max-width:420px}.location-script{width:88%;max-width:450px;top:73%;left:53%}.location-address{letter-spacing:.14em;margin-bottom:22px;font-size:9px}.location-map-btn{letter-spacing:.2em;margin-bottom:82px;padding:11px 18px}.location-transport-text{font-size:13px}}.day-section{margin-top:-80px;position:relative;overflow:hidden}.day-title-img{width:auto;height:var(--title-day);z-index:2;position:absolute;top:10.105%;left:50%;transform:translate(-50%)}.day-stage{aspect-ratio:4269/2400;width:102%;margin-left:-2%;position:relative}.day-inner{margin-bottom:-2.294%;padding-top:30px;display:block;position:relative}.day-ribbon{clip-path:inset(0 100% 0 0);width:100%;height:auto;transition:clip-path 1.8s cubic-bezier(.33,.9,.35,1) .25s;display:block}.day-visible .day-ribbon{clip-path:inset(0)}.day-stop{left:var(--l);top:var(--t);width:var(--w);opacity:0;height:auto;transition:opacity .8s,transform .8s cubic-bezier(.2,.7,.3,1);transition-delay:var(--d);position:absolute;transform:translateY(16px)}.day-visible .day-stop{opacity:1;transform:translateY(0)}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=768px){.day-section{margin-top:-48px;padding:0}.day-inner{padding-top:0}.day-title-img{margin:0 auto 38px;display:block;position:static;transform:none}.day-stage{aspect-ratio:676/1160;width:100%;margin-left:0;overflow:hidden}.day-stage picture{display:block}.day-ribbon{width:178%;max-width:none;margin-top:10.3%;margin-left:-41.5%}.day-inner{margin-bottom:0}.day-ribbon{clip-path:inset(0 0 100%)}.day-visible .day-ribbon{clip-path:inset(0)}.day-stop{left:var(--l-m);top:var(--t-m);width:var(--w-m);transition-delay:var(--d-m)}}@media (prefers-reduced-motion:reduce){.day-title-img,.day-ribbon,.day-stop{opacity:1;clip-path:inset(0);transition:none;transform:none}}.rsvp-send-failed{text-align:center;background:#c0392b14;max-width:320px;margin:18px auto 0;padding:12px 14px}.rsvp-send-failed-text{color:#c0392b;margin-bottom:10px;font-family:Baskervville,cwTeXMing;font-size:13px}.rsvp-send-retry{letter-spacing:.12em;text-transform:uppercase;color:#781019;cursor:pointer;background:0 0;border:1px solid #78101973;padding:7px 18px;font-family:Baskervville,cwTeXMing;font-size:12px;transition:background-color .25s}.rsvp-send-retry:hover{background:#78101912}.cover-section{background-color:#eae6dc;background-image:url(/bg-v2.webp);background-position:50%;background-size:cover;justify-content:center;align-items:center;min-height:100dvh;display:flex;position:relative;overflow:hidden}.cover-stage{aspect-ratio:2732/5662;color:#7b122e;width:100vw;font-family:New Icon Serif Cond,Baskervville,cwTeXMing,serif;position:relative;container-type:inline-size}.cover-savedate{text-align:center;letter-spacing:.108em;word-spacing:-.162em;text-indent:.108em;font-size:5.092cqw;line-height:1;position:absolute;top:11.38%;left:0;right:0}.cover-weddingof,.cover-footline{justify-content:space-between;align-items:baseline;line-height:1;display:flex;position:absolute;left:14.2%;right:14.2%}.cover-weddingof{letter-spacing:.058em;font-size:4.638cqw;top:20.99%}.cover-weddingof span:last-child{margin-right:-.058em}.cover-footline span:last-child{margin-right:-.215em}.cover-weddingof span:nth-child(2){position:absolute;left:50%;transform:translate(-50%)}.cover-footline{letter-spacing:.215em;font-size:3.22cqw;top:86.85%}.cover-art{aspect-ratio:4269/5525;pointer-events:none;width:106.31%;position:absolute;top:18.09%;left:-4.139%}.cover-photo{z-index:0;width:67.463%;height:78.842%;display:block;position:absolute;top:10.48%;left:17.194%}.cover-script{z-index:1;width:100%;height:100%;position:absolute;inset:0}.nav-logo-mark{width:auto;height:43px;display:block}@media (width<=768px){.nav-logo-mark{height:34px}}@media (width>=768px){.cover-stage{aspect-ratio:1312/848;width:min(100vw,154.717dvh)}.cover-savedate{letter-spacing:.126em;text-indent:.126em;font-size:2.178cqw;top:12.17%}.cover-weddingof,.cover-footline{left:9.45%;right:9.45%}.cover-weddingof{letter-spacing:.237em;font-size:1.704cqw;top:25.09%}.cover-weddingof span:last-child{margin-right:-.237em}.cover-footline{letter-spacing:.278em;font-size:1.582cqw;top:89.73%}.cover-footline span:last-child{margin-right:-.278em}.cover-art{aspect-ratio:2732/1536;width:99.65%;top:15.46%;left:-.3%}.cover-photo{width:51.318%;height:53.451%;top:19.857%;left:24.854%}}.dress-section{background-image:url(/dresscode-bg-v2.webp);background-position:50%;background-size:cover;padding:40px 0;position:relative}.dress-card{aspect-ratio:3170/2104;color:#111;opacity:0;width:min(1360px,100% - 48px);transform:translateY(var(--section-rise));transition:opacity var(--section-fade) ease, transform var(--section-fade) ease;margin:0 auto;position:relative;container-type:inline-size}.dress-visible{opacity:1;transform:translateY(0)}.dress-paper{width:101.199%;max-width:none;height:101.331%;display:block;position:absolute;top:-.523%;left:-.599%}.dress-title{width:auto;height:var(--title-dress);position:absolute;top:16.426%;left:50%;transform:translate(-50%)}.dress-script{width:34.64%;height:auto;position:absolute;top:26.472%;left:32.68%}.dress-swatches{grid-template-columns:repeat(4,1fr);column-gap:6.526%;width:55.243%;margin:0;padding:0;list-style:none;display:grid;position:absolute;top:42.704%;left:22.3785%}.dress-swatch{text-align:center}.dress-disc{aspect-ratio:1;background-position:50%;background-repeat:no-repeat;background-size:cover;border-radius:50%;width:100%;display:block}.dress-name{font-family:var(--font-baskerville);letter-spacing:.06em;text-indent:.06em;margin-top:7.7%;font-size:1.638cqw;line-height:1;display:block}.dress-note,.dress-closing{text-align:center;width:100%;font-family:var(--font-baskerville);margin:0;line-height:1;position:absolute;left:0}.dress-note{letter-spacing:.027em;text-indent:.027em;font-size:1.973cqw;top:70.195%}.dress-closing{letter-spacing:.086em;text-indent:.086em;font-size:1.951cqw;top:80.42%}.dress-white{color:#8d9ba2}.dress-red{color:#7b122e}@media (width<=768px){.dress-section{padding:24px 0}.dress-card{aspect-ratio:3995/6018}.dress-paper{width:100%;height:100%;top:0;left:0}.dress-title{top:11.63%;left:50%}.dress-script{width:54.26%;top:18.57%;left:22.87%}.dress-swatches{grid-template-columns:repeat(2,1fr);gap:9.783cqw 16.821%;width:51.147%;top:31.661%;left:24.4265%}.dress-name{margin-top:7.06%;font-size:3.106cqw}.dress-note{font-size:2.705cqw;top:78.3%}.dress-closing{font-size:2.355cqw;top:83.21%}}.ending-section{position:relative;overflow:hidden}.ending-stage{aspect-ratio:2049/1262;opacity:0;width:100%;transform:translateY(var(--section-rise));transition:opacity var(--section-fade) ease, transform var(--section-fade) ease;position:relative}.ending-visible{opacity:1;transform:translateY(0)}.ending-objects,.ending-signature{max-width:none;height:auto;position:absolute}.ending-objects{width:47.096%;top:14.636%;left:26.696%}.ending-signature{width:10.664%;top:78.525%;left:44.668%}@media (width<=767px){.ending-stage{aspect-ratio:3/4}.ending-objects{width:88%;top:13.846%;left:6%}.ending-signature{width:28%;top:77.846%;left:36%}}:root[lang=zh-HK] .words-title{transform:translate(-50%,-25%)}:root[lang=zh-HK] .day-title-img{transform:translate(-50%,-20.4%)}@media (width<=768px){:root[lang=zh-HK] .day-title-img{transform:none}}:root[lang=zh-HK] .dress-title{transform:translate(-50%,-22.7%)}:root[lang=zh-HK] .dress-script{transform:translateY(-19.3%)}.rsvp-field-name{grid-template-columns:3fr 2fr;align-items:start;gap:12px;display:grid}.rsvp-name-part{flex-direction:column;min-width:0;display:flex}.rsvp-deadline span{display:inline-block}@media (width<=768px){.words-title,:root[lang=zh-HK] .words-title{transform:none}}:root[lang=zh-HK] .dress-script{top:27.897%}:root[lang=zh-HK] .dress-swatches{top:44.129%}:root[lang=zh-HK] .dress-note{top:71.62%}:root[lang=zh-HK] .dress-closing{top:81.845%}@media (width<=768px){:root[lang=zh-HK] .dress-script{top:23.447%}:root[lang=zh-HK] .dress-swatches{top:36.538%}:root[lang=zh-HK] .dress-note{top:83.177%}:root[lang=zh-HK] .dress-closing{top:88.087%}}.site-footer{text-align:center;background:#979863;padding:32px 24px 30px}.footer-art{width:min(410px,48.4vw);height:auto;margin:0 auto;display:block}@media (width<=768px){.site-footer{padding:26px 20px 24px}}.rsvp-thankyou-sub span{display:block}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}
