/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@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}}@layer components;@layer utilities{.start{inset-inline-start:var(--spacing)}.resize{resize:both}}@font-face{font-family:Caveat;src:url(/fonts/caveat.ttf)format("truetype");font-display:swap;font-weight:400}@font-face{font-family:Wenkai;src:url(/fonts/wenkai.ttf)format("truetype");font-display:swap;font-weight:400}@font-face{font-family:Zhimang;src:url(/fonts/zhimang.ttf)format("truetype");font-display:swap;font-weight:400}@font-face{font-family:Punctuation;src:url(/fonts/punctuation.ttf)format("truetype");font-display:swap;unicode-range:U+3001-3002,U+FF0C,U+FF01,U+FF1F,U+FF1A-FF1B}:root{--paper:#fbf3df;--ink:#373c2a;--wine:#a56362;--olive:#747f51;--hand:Punctuation,Wenkai,"KaiTi",cursive;--script:Caveat,var(--hand)}*{box-sizing:border-box}html{scroll-behavior:smooth;background:#a9ad91}body{color:var(--ink);font-family:var(--hand);margin:0;font-weight:400}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit}main{max-width:560px;margin:auto;overflow:hidden;box-shadow:0 0 70px #373c2a30}h1,h2,h3,p{margin:0;font-weight:400}h2,h3{font-family:Zhimang,var(--hand)}.paper-section{aspect-ratio:841/1870;isolation:isolate;background:var(--paper);--visibility:1;--drift:0px;--art-drift:0px;width:100%;position:relative;overflow:hidden}.section-art{object-fit:contain;z-index:-1;width:100%;height:100%;transform:translateY(var(--art-drift)) scale(1.025);transform-origin:50%;opacity:calc(.65 + var(--visibility)*.35);position:absolute;inset:0}.page-content{text-align:center;opacity:var(--visibility);transform:translateY(var(--drift));will-change:transform,opacity;position:absolute}.eyebrow,.english{font-family:var(--script);color:var(--olive);font-size:clamp(22px,5.5vw,31px)}.music-pill{z-index:50;background:#fbf3dff2;border:1px solid #747f5199;border-radius:45% 52% 43% 49%/48% 45% 55% 50%;align-items:center;gap:7px;padding:8px 12px;font-size:14px;display:flex;position:fixed;top:16px;right:max(12px,50vw - 264px);box-shadow:1px 2px #747f5125}.music-bars{align-items:center;gap:2px;height:13px;display:flex}.music-bars i{background:var(--wine);width:2px;height:5px}.music-bars i:nth-child(2){height:11px}.is-playing .music-bars i{animation:.8s ease-in-out infinite alternate eq}.is-playing .music-bars i:nth-child(2){animation-delay:.2s}.is-playing .music-bars i:nth-child(3){animation-delay:.4s}@keyframes eq{to{height:3px}}.hero-copy{width:66%;top:15%;left:17%}.hero h1{font-family:var(--script);color:var(--wine);margin:14px 0;font-size:clamp(48px,13vw,74px);line-height:.98}.hero h1 span{display:block}.hero h1 em{font-size:.65em;font-style:normal;line-height:1;display:block}.names{font-family:Zhimang,var(--hand);margin:12px 0;font-size:clamp(24px,6vw,34px)}.names span{font-family:var(--script)}.getting-married{font-family:var(--script);font-size:clamp(22px,5.5vw,31px)}.hero-date{font-family:var(--script);margin-top:8px;font-size:clamp(29px,7vw,40px)}.scroll-cue{background:#fbf3dfd9;border:0;border-radius:50%;width:50%;padding:5px;font-size:14px;position:absolute;bottom:1.5%;left:25%}.scroll-cue span{margin-left:6px;animation:1.5s ease-in-out infinite alternate bob;display:inline-block}@keyframes bob{to{transform:translateY(4px)}}.invitation-copy{width:60%;font-size:clamp(16px,4vw,22px);line-height:1.95;top:28%;left:20%}.script-label{font-family:var(--script);color:var(--wine);font-size:clamp(33px,8vw,48px);line-height:1.2}.invitation-copy h2{margin:12px 0 23px;font-size:clamp(28px,7vw,40px)}.signature{font-family:Zhimang,var(--hand);color:var(--wine);font-size:clamp(24px,6vw,34px)}.schedule-heading h2{margin-top:8px;font-size:clamp(31px,8vw,46px)}.time{font-family:var(--script);color:var(--wine);font-size:clamp(42px,11vw,64px);line-height:1.05}.details article>p:last-of-type{font-size:clamp(13px,3.5vw,19px)}.place{aspect-ratio:937/1678}.place-card{width:68%;font-size:clamp(17px,4.4vw,24px);line-height:1.85;top:23%;left:16%}.place-card h2{color:var(--wine);margin:10px 0 14px;font-size:clamp(65px,18vw,98px);line-height:1.2}.address{margin:22px 0}.ink-button{border:1.5px solid var(--olive);background:var(--olive);color:#fffaf0;border-radius:48% 45% 50% 43%/14% 18% 12% 16%;padding:11px 18px;font-size:17px;text-decoration:none;transition:background .2s,transform .2s;display:inline-block;box-shadow:2px 3px #a5636255}.ink-button:hover{background:#626d43;transform:translateY(-1px)}:focus-visible{outline:2px dashed var(--wine);outline-offset:5px}.rsvp-content{width:68%;margin:0 auto;padding-top:27%;padding-bottom:68%;position:relative;top:auto}.section-heading h2{margin:8px 0;font-size:clamp(35px,9vw,52px)}.rsvp-form{text-align:left;gap:20px;display:grid}.rsvp-form>label,.rsvp-form legend{gap:7px;font-size:17px;display:grid}.rsvp-form input,.rsvp-form textarea{width:100%;color:var(--ink);background:#fffaf044;border:0;border-bottom:1.5px solid #747f5199;border-radius:0;outline:none;padding:10px 5px;font-size:17px}.rsvp-form textarea{resize:vertical;border:1px solid #747f5180;border-radius:4px 7px 3px 6px;min-height:90px}.rsvp-form input:focus,.rsvp-form textarea:focus{border-color:var(--wine);background:#fffaf0aa}.rsvp-form input::placeholder,.rsvp-form textarea::placeholder{color:#837c6d;font-size:15px}.rsvp-form fieldset{border:0;margin:0;padding:0}.choice-row{gap:9px;margin-top:10px;display:grid}.choice-row label{text-align:center;cursor:pointer;border:1px solid #747f5180;border-radius:5px 9px 4px 8px;padding:10px;font-size:16px;position:relative}.choice-row label.selected{border-color:var(--olive);background:#747f5124}.choice-row input{opacity:0;width:1px;height:1px;position:absolute}.choice-row label:focus-within{outline:2px dashed var(--wine);outline-offset:3px}.honeypot{width:1px!important;height:1px!important;position:absolute!important;left:-10000px!important}.submit-button{width:100%;margin-top:3px}.submit-button:disabled{opacity:.5;cursor:wait}.form-result{text-align:center;font-size:16px;line-height:1.6}.form-result.success{color:#59683d}.form-result.error{color:#a04343}footer.paper-section{aspect-ratio:2/3}.footer-copy{width:76%;font-size:clamp(17px,4.2vw,24px);line-height:1.8;top:34%;left:12%}.footer-script{font-family:var(--script);color:var(--wine);font-size:clamp(30px,8vw,47px)}.footer-copy h2{margin:8px 0 14px;font-size:clamp(29px,7.5vw,44px)}.footer-date{font-family:var(--script);font-size:30px}.footer-copy a{text-underline-offset:5px;margin-top:13px;font-size:clamp(14px,3.6vw,20px);display:inline-block}.invitation-copy{width:66%;font-size:clamp(15px,4vw,21px);line-height:1.8;top:50%;left:50%;translate:-50% -50%}.invitation-copy>p:not(.script-label){margin-top:14px}.invitation-copy h2{margin-bottom:18px}.place-card{width:68%;font-size:clamp(17px,4vw,22px);line-height:1.6;top:37%;left:50%;translate:-50% -50%}.place-card h2{margin:8px 0 14px;font-size:clamp(60px,16vw,86px);line-height:1.1}.address{margin:16px 0;font-size:clamp(16px,4vw,21px)}.place .ink-button{padding:10px 16px;font-size:15px}.rsvp{min-height:0}.rsvp .section-art{opacity:1;transform:none}.rsvp-content{width:65%;margin:0;padding:0;position:absolute;top:23%;left:50%;translate:-50%}.rsvp-content h2{font-family:var(--hand);margin:5px 0;font-size:clamp(28px,7.5vw,42px);line-height:1.25}.rsvp-intro{margin:7px 0 14px;font-size:15px}.rsvp-form>label,.rsvp-form legend{gap:3px;font-size:15px}.rsvp-form input{padding:7px 4px;font-size:16px}.rsvp-form textarea{height:62px;min-height:62px;padding:7px;font-size:16px}.rsvp-form input::placeholder,.rsvp-form textarea::placeholder{font-size:14px}.choice-row{grid-template-columns:1fr 1fr;gap:6px;margin-top:5px}.choice-row label{align-items:center;min-height:36px;padding:8px 3px;font-size:13px;line-height:1.3;display:grid}.submit-button{padding:9px;font-size:16px}.form-result{font-size:14px}@media (width<=360px){.invitation-copy{width:66%;font-size:14px}.invitation-copy>p:not(.script-label){margin-top:10px}.invitation-copy h2{margin-bottom:14px}.rsvp-content{width:67%;top:21%}.rsvp-form{gap:8px}.rsvp-content .eyebrow{font-size:22px}.rsvp-content h2{font-size:27px}.rsvp-intro{margin-bottom:10px}.rsvp-form textarea{height:54px;min-height:54px}.hero-copy{top:15%}.hero h1{font-size:46px}}.rsvp-content{top:21%}.rsvp-form{gap:9px}.rsvp .submit-button{justify-self:center;width:85%}.rsvp-intro{margin-bottom:10px}@media (width<=360px){.rsvp-content{top:19%}.rsvp-form{gap:6px}.rsvp-form>label,.rsvp-form legend{font-size:14px}.rsvp-form input{padding:5px 4px}.rsvp-form textarea{height:46px;min-height:46px}.rsvp-content .eyebrow{line-height:1.1}.rsvp-content h2{font-size:25px}.rsvp-intro{margin-bottom:8px;font-size:14px}.choice-row label{min-height:32px;padding:6px 2px;font-size:12px}}.invitation-copy,.place-card{left:53%}.invitation-copy{width:64%}.invitation-copy p,.place-card p{font-family:var(--hand)}.invitation-copy .script-label{font-family:var(--script)}.glass-seam{z-index:3;pointer-events:none;width:100%;height:clamp(56px,18vw,100px);opacity:var(--glass,0);-webkit-backdrop-filter:blur(9px)saturate(1.08);backdrop-filter:blur(9px)saturate(1.08);background:linear-gradient(#fffaf035,#fffaf008);transition:opacity .15s ease-out;position:absolute;left:0}.glass-top{top:0;-webkit-mask-image:linear-gradient(#000,#0000);mask-image:linear-gradient(#000,#0000)}.glass-bottom{background:linear-gradient(#fffaf006,#fffaf040);bottom:0;-webkit-mask-image:linear-gradient(#0000,#000);mask-image:linear-gradient(#0000,#000)}.music-pill{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffaf0aa;border-color:#ffffffa6;box-shadow:0 2px 10px #373c2a15,inset 0 1px #ffffffb3}.details .time{font-size:clamp(35px,9vw,53px)}.details .english{font-size:clamp(20px,5vw,28px)}.dress-code .section-art{opacity:1;transform:none}.dress-heading{width:64%;font-size:clamp(14px,3.6vw,20px);line-height:1.65;top:7.5%;left:18%}.dress-heading h2{color:var(--wine);margin-bottom:10px;font-size:clamp(32px,8.5vw,48px)}.dress-palette{width:66%;font-size:clamp(10px,2.8vw,15px);line-height:1.6;top:25%;left:17%}.dress-palette p+p{margin-top:5px}.dress-ladies,.dress-gentlemen{width:40%;font-size:clamp(12px,3.5vw,19px);line-height:1.75}.dress-ladies{top:32%;left:54%}.dress-gentlemen{top:50%;left:5%}.dress-code h3{font-family:var(--hand);color:var(--wine);margin-bottom:8px;font-size:clamp(22px,6vw,32px)}.dress-ladies p+p,.dress-gentlemen p+p{margin-top:10px}.dress-notes{width:78%;font-size:clamp(10px,3vw,16px);line-height:1.6;top:70%;left:11%}.dress-notes h3{margin-bottom:5px;font-size:clamp(18px,4.8vw,27px)}.dress-thanks{color:var(--wine)}.dress-heading{line-height:1.5;top:5%}.dress-heading h2{margin-bottom:6px}.dress-mood{color:var(--olive);margin-top:5px;font-size:clamp(11px,3vw,16px)}.dress-palette{top:24.5%}.dress-ladies{font-size:clamp(11px,3.1vw,17px);line-height:1.55;top:29%}.dress-ladies h3{margin-bottom:5px}.dress-ladies p+p{margin-top:5px}.dress-gentlemen{font-size:clamp(11px,3.1vw,17px);line-height:1.55;top:52%}.dress-gentlemen p+p{margin-top:5px}.dress-notes{line-height:1.45}.dress-notes p+p{margin-top:5px}.place-card{left:50%}.details .section-art{opacity:1;transform:none}.details article{opacity:1;line-height:1.2;transform:none}.schedule-heading{width:63%;top:7%;left:31%}.ceremony-time{width:42%;top:53%;left:4%}.dinner-time{width:42%;top:69%;left:4%}.details .time{font-size:clamp(31px,8.5vw,48px);line-height:1}.details .english{margin-top:3px;font-size:clamp(18px,4.8vw,26px);line-height:1.1}.details h3{margin:5px 0;font-size:clamp(22px,5.8vw,32px)}.details article>p:last-of-type{white-space:nowrap;font-size:clamp(11px,3vw,17px);line-height:1.45}.footer-copy{top:27.5%}.footer-copy h2{margin-bottom:10px}.footer-names{justify-content:center;align-items:center;gap:clamp(10px,3vw,19px);margin:8px 0;display:flex}.footer-names>div{gap:4px;min-width:30%;line-height:1.15;display:grid}.footer-name-cn{font-family:Zhimang,var(--hand);font-size:clamp(25px,6.5vw,36px)}.footer-name-en,.footer-name-and{font-family:var(--script);color:var(--wine)}.footer-name-en{font-size:clamp(28px,7.5vw,42px)}.footer-name-and{font-size:clamp(28px,8vw,43px)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.page-content,.section-art{opacity:1!important;transition:none!important;transform:none!important}.glass-seam{display:none}*,:before,:after{animation:none!important}}.schedule-and{width:100%;font-family:var(--script);color:var(--olive);margin-top:6px;font-size:clamp(20px,5vw,28px);line-height:1;display:block}.tea-time{top:38%}.arrival-time{width:44%;top:18%;left:50%}.tea-time{width:44%;top:35%;left:50%}@media (width<=360px){.arrival-time{top:16%}.details .time{font-size:28px}.details .english{font-size:16px}.details h3{font-size:22px}.details article>p:last-of-type{font-size:10.5px}.schedule-and{margin-top:4px;font-size:18px}}.map-links{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;display:flex}.place .map-links .ink-button{white-space:nowrap;min-height:44px;padding:10px 9px;font-size:clamp(12px,3.4vw,15px)}
