@font-face{font-family:LetterSerif;src:url(/fonts/invitation-serif.woff2)format("woff2");font-weight:400 700;font-display:swap}.love-letter{--red:#a3323d;--red-deep:#762934;--white:#f8f8f6;--ink:#352c2d;--muted:#746364;--line:#ccbfc0;--reading:0;--display:LetterSerif, "Songti SC", "SimSun", serif;background:var(--white);color:var(--ink);font-family:Arial,PingFang SC,Microsoft YaHei,sans-serif;overflow:clip}.love-letter h1,.love-letter h2,.love-letter h3{font-family:var(--display);text-wrap:balance;font-weight:400}.love-letter h2{letter-spacing:.015em;margin-bottom:30px;font-size:clamp(34px,4.2vw,64px);line-height:1.5}.love-letter h2 span{color:var(--red)}.love-letter p{text-wrap:pretty;line-height:2.05}:is(.love-letter a:focus-visible,.love-letter button:focus-visible,.ll-dialog button:focus-visible){outline-offset:5px;outline:2px solid}.love-letter button{font:inherit}.love-letter section{scroll-margin-top:76px}.ll-section{padding:130px max(7vw,24px)}.ll-header{top:0;z-index:20;color:#fff;justify-content:space-between;align-items:center;gap:24px;padding:22px 4%;transition:background .3s,color .3s;display:flex;position:fixed;inset-inline:0}.ll-header.is-light{color:var(--red);background:#f8f8f6}.ll-wordmark{white-space:nowrap;align-items:center;gap:15px;display:flex}.ll-wordmark>b{font-family:var(--display);font-size:34px;font-weight:400;line-height:1}.ll-wordmark>span{letter-spacing:2px;font-size:14px}.ll-wordmark i{margin:0 7px;font-family:Georgia,serif}.ll-header nav{align-items:center;gap:34px;font-size:13px;display:flex}.ll-header nav button{background:0 0;border:0;padding:12px 0}.ll-header nav a{padding:12px 0}.ll-header-actions{align-items:center;gap:23px;display:flex}.ll-music{background:0 0;border:0;align-items:center;gap:10px;min-width:44px;min-height:44px;display:flex;font-size:12px!important}.ll-rsvp{background:0 0;border:1px solid #ffffff80;align-items:center;gap:15px;min-height:44px;padding:10px 16px;display:flex;font-size:13px!important}.is-light .ll-rsvp{border-color:var(--red);background:var(--red);color:#fff}.ll-reading{inset-inline:0;height:2px;transform:scaleX(var(--reading));transform-origin:0;opacity:.7;background:currentColor;position:absolute;bottom:0}.ll-audio-error{z-index:30;color:#782431;background:#fff;border:1px solid;padding:14px;font-size:13px;position:fixed;top:90px;right:4%}.ll-current-chapter{writing-mode:vertical-rl;letter-spacing:3px;color:var(--red);mix-blend-mode:multiply;pointer-events:none;z-index:10;font-size:10px;position:fixed;top:48%;right:18px}.ll-hero{background:var(--red-deep);color:#fff;isolation:isolate;height:100svh;min-height:740px;max-height:1200px;position:relative}.ll-hero-photo{animation:1.5s cubic-bezier(.16,1,.3,1) both ll-cover-photo;position:absolute;inset:13% 5% 8% 48%;overflow:hidden;transform:rotate(3deg)}.ll-hero-photo img{object-fit:cover;object-position:50% 36%;width:100%;height:100%;transform:translateY(var(--drift,0px)) scale(1.045)}.ll-photo-edge{pointer-events:none;border:9px solid #f4f3f0;position:absolute;inset:0}.ll-hero-copy{width:37%;animation:1.15s cubic-bezier(.16,1,.3,1) both ll-cover-type;position:absolute;top:19%;left:8%}.ll-invite-label{letter-spacing:4px;margin-bottom:32px;font-size:14px}.ll-hero h1{letter-spacing:.04em;grid-template-columns:max-content max-content;align-items:center;gap:8px 22px;margin:0 0 24px;font-size:clamp(58px,5.8vw,88px);line-height:1.3;display:grid}.ll-hero h1 span:last-child{grid-column:1}.ll-hero h1 i{color:#e9b4b4;grid-area:1/2/3;font-family:Georgia,serif;font-size:.85em;font-weight:400}.ll-hero-line{color:#f1d9dc;margin:0 0 24px;font-size:16px}.ll-hero-date{align-items:center;gap:18px;margin-bottom:30px;display:flex}.ll-hero-date>span{letter-spacing:1px;font-size:12px}.ll-hero-date>strong{letter-spacing:-.025em;font-family:Georgia,serif;font-size:52px;font-weight:400;line-height:1}.ll-hero-date strong span{margin:0 6px;font-size:32px}.ll-button{background:var(--red,#a3323d);color:#fff;letter-spacing:1px;border:0;justify-content:space-between;align-items:center;gap:28px;min-height:54px;padding:17px 24px;font-size:14px;transition:background .25s,transform .25s;display:inline-flex}.ll-button:hover{background:#792633}.ll-button svg{flex-shrink:0;transition:transform .25s}.ll-button:hover svg{transform:translate(4px)}.ll-button-white{color:#822d37;background:#fff}.ll-button-white:hover{background:#f2dddf}.ll-hero-side{writing-mode:vertical-rl;letter-spacing:5px;color:#e9cace;font-size:10px;position:absolute;top:38%;right:1.6%}.ll-hero-foot{inset-inline:4%;letter-spacing:1px;color:#f0d9dc;justify-content:space-between;font-size:11px;display:flex;position:absolute;bottom:22px}.ll-hero-foot a{align-items:center;gap:10px;display:flex}.ll-opening{grid-template-columns:1.15fr 1fr;gap:12%;display:grid;position:relative}.ll-opening-title{padding-top:38px}.ll-little-heart{color:var(--red);margin-bottom:24px;font-size:45px;line-height:1;display:block}.ll-opening-letter{max-width:440px;padding-top:12px;font-size:15px}.ll-opening-letter p{margin-bottom:22px}.ll-sign{font-family:var(--display);color:var(--red);font-size:21px;margin-top:36px!important}.ll-wedding{background:var(--red-deep);color:#fff;grid-template-columns:1fr 1fr;min-height:900px;display:grid;position:relative}.ll-wedding-photo{overflow:hidden}.ll-wedding-photo img{object-fit:cover;object-position:50% 37%;width:100%;height:100%;transform:translateY(var(--drift,0px)) scale(1.045)}.ll-wedding-copy{align-self:center;padding:100px 12%}.ll-wedding-seal{font-family:var(--display);color:#f3c8ca;margin-bottom:20px;font-size:50px;display:block}.ll-wedding h2{margin:0 0 22px;font-size:clamp(38px,3.8vw,58px)}.ll-wedding-copy>p{color:#efdce0;font-size:14px;line-height:2}.ll-wedding time{white-space:nowrap;letter-spacing:1px;margin:34px 0 24px;font-family:Georgia,serif;font-size:28px;display:block}.ll-wedding time span{margin:0 7px;font-family:Arial,Microsoft YaHei,sans-serif;font-size:12px}.ll-wedding address{font-size:14px;font-style:normal;line-height:2}.ll-wedding address strong{font-family:var(--display);font-size:28px;font-weight:400}.ll-wedding-links{flex-wrap:wrap;gap:26px;margin:22px 0 34px;display:flex}.ll-wedding-links button{background:0 0;border:0;align-items:center;gap:8px;padding:8px 0;font-size:12px;display:flex}.ll-wedding-copy>.ll-button{letter-spacing:0;width:100%;padding-inline:19px}.ll-wedding-copy>small{text-align:center;color:#eed3d7;margin-top:20px;font-size:12px;display:block}.ll-footer{text-align:center;background:#f3eeee;padding:65px 24px 35px}.ll-footer>p{font-family:var(--display);margin:0 0 17px;font-size:24px}.ll-footer>span{color:var(--red);justify-content:center;align-items:center;gap:15px;font-size:13px;display:flex}.ll-footer>div{color:#725d61;flex-wrap:wrap;justify-content:center;gap:20px;margin-top:35px;font-size:10px;display:flex}.ll-dialog,.booking-dialog{--primary:#a3323d;--primary-foreground:#fff;--ring:#a3323d;--background:#faf9f8;--input:#b7a4a6;--border:#cec0c2;--muted:#efe7e7;--muted-foreground:#71585d;--popover:#faf9f8;--foreground:#38282d;--red:#a3323d;border:0;max-height:90svh;overflow:auto;color:#38282d!important;box-shadow:none!important;background:#faf9f8!important;border-radius:3px!important;gap:18px!important;width:min(92vw,580px)!important;max-width:580px!important;padding:42px!important;font-family:Arial,PingFang SC,Microsoft YaHei,sans-serif!important}.ll-dialog [data-slot=dialog-title],.booking-dialog [data-slot=dialog-title]{font-family:LetterSerif,Songti SC,SimSun,serif;font-size:27px;font-weight:400;line-height:1.5}.ll-dialog [data-slot=dialog-description],.booking-dialog [data-slot=dialog-description]{color:#725b60;font-size:13px;line-height:1.9}.ll-dialog [data-slot=dialog-close],.booking-dialog [data-slot=dialog-close]{color:#682632;width:44px;height:44px;top:4px;right:4px}.ll-dialog .ll-button{color:#fff;justify-content:space-between;width:100%}.ll-dialog p{margin:0;font-size:14px;line-height:1.9}.ll-dialog small{color:#745e63;font-size:11px;line-height:1.8}.ll-address-dialog address{padding-top:18px;font-size:15px;font-style:normal;line-height:2}.ll-address-dialog address strong{font-family:LetterSerif,serif;font-size:36px;font-weight:400}.ll-text-button{color:#91303c;background:0 0;border:0;justify-content:center;align-items:center;gap:12px;min-height:44px;padding:10px 0;font-size:13px;display:inline-flex}.ll-address-note{color:#71585d;border-top:1px solid #dacdd0;padding-top:15px;font-size:12px!important}.ll-album{width:min(94vw,1060px)!important;max-width:1060px!important}.ll-album-grid{grid-template-columns:repeat(4,1fr);gap:12px;margin-top:15px;display:grid}.ll-album-grid button{background:#e6dfdf;border:0;padding:0;overflow:hidden}.ll-album-grid img{object-fit:cover;width:100%;height:190px;transition:transform .3s}.ll-album-grid button:hover img{transform:scale(1.04)}.ll-photo-view>img{object-fit:contain;background:#f1eded;width:100%;height:65svh}.ll-photo-view>div{justify-content:space-between;align-items:center;gap:16px;margin-top:10px;display:flex}.ll-photo-view button{background:0 0;border:0;min-width:44px;min-height:44px;font-size:12px}.ll-photo-view>div>button:not(:first-child):not(:last-child){flex:1}.ll-receipt-body{text-align:center;border-block:1px solid #cbbabc;padding:25px 0}.ll-receipt-body>span{color:#933642;letter-spacing:3px;font-family:Georgia,serif}.ll-receipt-body h3{margin:23px 0 15px;font-family:LetterSerif,serif;font-size:32px}.ll-receipt-body p:last-child{color:#795e65;margin-top:26px;font-size:12px}.booking-dialog{width:min(94vw,650px)!important;max-width:650px!important}.booking-dialog .rsvp-form{color:#38282d;background:0 0;border:0;padding:0}.booking-dialog .rsvp-form label{color:#4d343b;margin-bottom:20px;font-size:13px;display:block}.booking-dialog .form-grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}.booking-dialog .rsvp-form input,.booking-dialog .rsvp-form textarea{border:0;color:#38282d;outline-offset:3px;background:0 0;border-bottom:1px solid #b7a4aa;border-radius:0;width:100%;padding:12px 0;font-size:16px;line-height:1.5;display:block}.booking-dialog input::placeholder,.booking-dialog textarea::placeholder{color:#826c73;font-size:13px}.booking-dialog .rsvp-form small{color:#795e65;font-size:11px}.booking-dialog fieldset{border:0;margin:3px 0 24px;padding:0}.booking-dialog legend{margin-bottom:13px;font-size:13px}.booking-dialog .attendance-options{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.booking-dialog .attendance-options label{cursor:pointer;border:1px solid #bca3a9;align-items:center;gap:6px;margin:0;padding:13px 8px;font-size:12px;display:flex}.booking-dialog .attendance-options label.selected{background:#f1dfe3;border-color:#a3323d}.booking-dialog .guest-count{border-bottom:1px solid #d7c5ca;justify-content:space-between;align-items:center;margin-bottom:10px;padding:5px 0 20px;display:flex}.booking-dialog .guest-count span{font-size:13px}.booking-dialog .guest-count p{color:#826872;margin:6px 0;font-size:11px}.booking-dialog .stepper{align-items:center;gap:14px;display:flex}.booking-dialog .stepper button{color:#802c3a;background:0 0;border:1px solid #c5aeb4;border-radius:0;width:44px;height:44px;font-size:20px}.booking-dialog .consent{align-items:flex-start;gap:10px;margin:14px 0 20px!important;display:flex!important}.booking-dialog .consent span{color:#745b63;font-size:11px;line-height:1.8}.booking-dialog .submit-button{color:#fff;background:#a3323d;border:0;justify-content:space-between;align-items:center;width:100%;min-height:52px;padding:16px 20px;font-size:14px;display:flex}.booking-dialog .form-note{color:#78626a;margin:17px 0 0;font-size:11px;line-height:1.8}.booking-dialog .form-error{color:#a1293d;font-size:13px}.booking-dialog button:disabled{cursor:not-allowed}@keyframes ll-cover-photo{0%{opacity:0;transform:translateY(45px)rotate(7deg)}to{opacity:1;transform:translateY(0)rotate(3deg)}}@keyframes ll-cover-type{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}@media (min-width:1800px){.ll-hero-copy{top:23%}.ll-hero-date{margin-top:35px}}@media (max-width:1000px){.ll-header nav{gap:22px}.ll-header-actions{gap:13px}.ll-music span{display:none}.ll-hero-copy{width:40%;left:6%}.ll-hero h1{gap:10px;font-size:61px}.ll-hero-date{gap:12px}.ll-wedding-copy{padding:70px 9%}.ll-wedding time{font-size:24px}.ll-wedding time span{margin:0 4px}.ll-section{padding:100px 7%}}@media (max-width:700px){.ll-header{background:linear-gradient(#331d2859,#0000);gap:12px;min-height:66px;padding:11px 20px}.ll-header.is-light{background:#f8f8f6}.ll-wordmark{gap:9px}.ll-wordmark>b{font-size:27px}.ll-wordmark>span{letter-spacing:0;font-size:11px}.ll-wordmark i{margin:0 3px}.ll-header nav{display:none}.ll-header-actions{gap:3px}.ll-music{justify-content:center;min-width:40px}.ll-rsvp{gap:7px;padding:10px 11px;font-size:12px!important}.ll-current-chapter{display:none}.ll-hero{background:#762934;height:100svh;min-height:640px;max-height:1000px}.ll-hero-photo{animation:1.4s cubic-bezier(.16,1,.3,1) both ll-mobile-cover;inset:0;transform:none}.ll-photo-edge{display:none}.ll-hero-photo img{object-position:50% 24%;transform:scale(1.02)}.ll-hero-shade{background:linear-gradient(#30232b38 0%,#0000 23% 38%,#38212b52 59%,#532330dd 83%,#652531 100%);position:absolute;inset:0}.ll-hero-copy{width:auto;animation-duration:1.3s;inset:auto 24px 65px}.ll-invite-label{letter-spacing:3px;margin-bottom:17px;font-size:12px}.ll-hero h1{letter-spacing:.015em;white-space:nowrap;align-items:center;gap:12px;margin-bottom:14px;font-size:clamp(31px,8.9vw,40px);display:flex}.ll-hero h1 i{font-size:.72em}.ll-desktop-break{display:none}.ll-hero-line{color:#f5e8ec;margin:0 0 19px;font-size:13px}.ll-hero-date{gap:15px;margin-bottom:21px}.ll-hero-date>strong{font-size:35px}.ll-hero-date strong span{font-size:23px}.ll-hero-date>span{font-size:11px}.ll-hero-copy>.ll-button{width:100%;min-height:50px;padding:14px 20px;font-size:13px}.ll-hero-foot{inset-inline:24px;justify-content:center;font-size:10px;bottom:23px}.ll-hero-foot>a,.ll-hero-side{display:none}.ll-section{padding:75px 25px}.ll-opening{grid-template-columns:1fr;gap:18px}.ll-opening-title{padding-top:0}.ll-little-heart{margin-bottom:18px;font-size:35px}.love-letter h2{margin-bottom:24px;font-size:36px}.ll-opening-letter{border-left:1px solid #cdbcc0;padding-left:18px;font-size:14px}.ll-opening-letter p{margin-bottom:18px}.ll-sign{font-size:19px;margin-top:24px!important}.ll-wedding{grid-template-columns:1fr;min-height:0}.ll-wedding-photo{height:92vw;max-height:520px}.ll-wedding-photo img{object-position:50% 26%}.ll-wedding-copy{padding:55px 27px 60px}.ll-wedding-seal{font-size:39px}.ll-wedding h2{font-size:42px}.ll-wedding time{letter-spacing:0;font-size:30px}.ll-wedding time span{margin:0 5px;font-size:11px}.ll-wedding-links{gap:27px;margin:22px 0 28px}.ll-wedding-copy>.ll-button{min-height:54px;font-size:13px}.ll-footer{padding:45px 25px 30px}.ll-footer>p{font-size:22px}.ll-footer>div{gap:9px 15px;font-size:9px;line-height:1.7}.ll-dialog,.booking-dialog{max-height:90svh;gap:15px!important;width:calc(100vw - 28px)!important;padding:35px 23px 26px!important}.ll-dialog [data-slot=dialog-title],.booking-dialog [data-slot=dialog-title]{padding-right:15px;font-size:23px}.ll-album-grid{grid-template-columns:repeat(2,1fr);gap:8px}.ll-album-grid img{height:180px}.ll-photo-view>img{height:60svh}.ll-photo-view>div{gap:4px}.ll-photo-view button{font-size:11px}.booking-dialog .form-grid{grid-template-columns:1fr;gap:0}.booking-dialog .attendance-options{grid-template-columns:1fr}.booking-dialog .attendance-options label{min-height:44px;padding:12px;font-size:13px}.ll-audio-error{font-size:12px;top:75px;left:20px;right:20px}.love-letter section{scroll-margin-top:64px}}@keyframes ll-mobile-cover{0%{opacity:0;transform:scale(1.055)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.love-letter *,.ll-dialog *{transition:none!important;animation:none!important}.ll-hero-photo{transform:rotate(3deg)}.ll-hero-photo img,.ll-wedding-photo img{transform:none}.ll-hero-copy{opacity:1}@media (max-width:700px){.ll-hero-photo{transform:none}}}.ll-beginning{grid-template-columns:.9fr 1.15fr;align-items:center;gap:8%;padding:40px 7% 130px;display:grid}.ll-beginning-copy{padding-left:5%}.ll-cities{color:var(--red);align-items:center;gap:14px;margin-bottom:30px;font-size:13px;display:flex}.ll-cities i{font-family:var(--display);color:var(--muted);font-style:normal}.ll-cities svg{margin:0 5px;transform:rotate(-90deg)}.ll-cities strong{border-bottom:1px solid;padding-bottom:5px;font-weight:400}.ll-beginning h2{font-size:clamp(38px,4.4vw,64px)}.ll-beginning-copy>p{margin:20px 0;font-size:14px}.ll-beginning-photo{transform:translateY(var(--drift,0px));align-self:center;margin:0;position:relative}.ll-beginning-photo>button{cursor:zoom-in;background:0 0;border:0;width:100%;padding:0;display:block;overflow:hidden}.ll-beginning-photo img{aspect-ratio:1.12;object-fit:cover;object-position:54% 50%;width:100%}.ll-beginning-photo figcaption{flex-direction:column;gap:10px;margin-top:22px;display:flex}.ll-beginning-photo time{letter-spacing:2px;color:var(--red);font:30px Georgia,serif}.ll-beginning-photo figcaption>span{color:var(--muted);font-size:12px}.ll-cats{background:#eee8e9;padding-top:95px;padding-bottom:70px}.ll-cats-heading{grid-template-columns:1fr 1fr;align-items:center;gap:10%;margin-bottom:50px;display:grid}.ll-cats-heading h2{margin:0;font-size:clamp(35px,3.8vw,56px)}.ll-cats-heading p{margin-bottom:20px;font-size:14px}.ll-paw-hint{color:var(--red);align-items:center;gap:9px;font-size:12px;display:flex}.ll-cat-pair{align-items:flex-start;gap:9%;max-width:1020px;margin:0 auto;padding:0 12px;display:flex}.ll-cat{text-align:left;width:45.5%;color:var(--ink);cursor:pointer;background:0 0;border:0;padding:0;display:block}.ll-cat-qiu{transform:rotate(-3deg)}.ll-cat-dong{margin-top:65px;transform:rotate(3deg)}.ll-cat-portrait{aspect-ratio:1.12;background:#e0d8da;position:relative;overflow:hidden}.ll-cat-portrait img{object-fit:cover;width:100%;height:100%;transition:transform .5s cubic-bezier(.16,1,.3,1)}.ll-cat-qiu img{object-position:50% 67%}.ll-cat-dong img{object-position:40% 42%}.ll-cat:hover img{transform:scale(1.035)}.ll-cat-caption{border-bottom:1px solid #c3b2b7;align-items:center;gap:16px;padding:20px 0;display:flex}.ll-cat-caption strong{font-family:var(--display);font-size:30px;font-weight:400}.ll-cat-caption>span{color:var(--muted);font-size:12px}.ll-cat-caption>svg{color:var(--red);margin-left:auto}.ll-cat-stamp{color:#a3323d;opacity:0;pointer-events:none;background:#fff5f5ed;border:2px solid #a3323d;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:7px;width:116px;height:116px;transition:transform .45s cubic-bezier(.16,1,.3,1),opacity .25s;display:flex;position:absolute;bottom:18px;right:16px;transform:scale(1.7)rotate(-22deg)}.ll-cat-stamp svg{fill:#a3323d;stroke-width:1px;width:42px;height:42px}.ll-cat-stamp i{letter-spacing:1px;font-size:11px;font-style:normal}.is-stamped .ll-cat-stamp{opacity:1;transform:scale(1)rotate(-15deg)}.ll-cat-message{text-align:center;color:var(--red);min-height:27px;margin:50px 0 0;font-size:13px}.ll-wheel-memory{background:#f8f8f6;grid-template-columns:1fr 1fr;align-items:center;gap:10%;padding:135px 9%;display:grid}.ll-wheel-copy h2{margin:28px 0;font-size:clamp(33px,3.3vw,52px);line-height:1.6}.ll-memory-location{color:var(--red);border-bottom:1px solid #c8b2b9;padding-bottom:10px;font-size:13px;display:inline-block}.ll-wheel-copy p{margin-bottom:22px;font-size:14px}.ll-flip-control{color:var(--red);border:0;border-bottom:1px solid var(--red);background:0 0;align-items:center;gap:13px;min-height:48px;margin-top:35px;padding:15px 0;display:flex;font-size:13px!important}.ll-flip-control svg:last-child{margin-left:8px;transition:transform .3s}.ll-flip-control:hover svg:last-child{transform:translate(5px)}.ll-keepsake{width:100%;max-width:470px;transform:translateY(var(--drift,0px));margin:0 auto}.ll-flip-photo{aspect-ratio:.633;perspective:1700px;cursor:pointer;background:0 0;border:0;width:100%;padding:0;display:block;position:relative}.ll-flip-inner{transform-style:preserve-3d;transition:transform 1s cubic-bezier(.65,0,.2,1);display:block;position:absolute;inset:0;transform:rotate(-3deg)}.is-turned .ll-flip-inner{transform:rotate(2deg)rotateY(180deg)}.ll-flip-face{-webkit-backface-visibility:hidden;backface-visibility:hidden;background:#fff;flex-direction:column;padding:11px 11px 0;display:flex;position:absolute;inset:0;box-shadow:0 5px 8px #46273215}.ll-flip-face img{object-fit:cover;width:100%;height:calc(100% - 54px)}.ll-flip-front img,.ll-flip-back img{object-position:50% 50%}.ll-flip-face>span{height:54px;font-family:var(--display);color:var(--ink);justify-content:center;align-items:center;font-size:14px;display:flex}.ll-flip-back{transform:rotateY(180deg)}.ll-photo-instruction{color:var(--muted);text-align:center;margin:25px 0 0;font-size:11px}.ll-everyday{background:#f0e8e9;padding:100px 0 70px}.ll-everyday-heading{justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:55px;padding:0 8%;display:flex}.ll-everyday-heading h2{margin-bottom:25px;font-size:clamp(36px,4vw,58px)}.ll-everyday-heading p{margin:0;font-size:14px}.ll-reel-controls{color:var(--red);align-items:center;gap:18px;padding-bottom:7px;display:flex}.ll-reel-controls>button{background:0 0;border:1px solid #b3939b;border-radius:50%;place-items:center;width:48px;height:48px;transition:background .2s;display:grid}.ll-reel-controls>button:hover{background:#e5d1d6}.ll-reel-controls>button:disabled{opacity:.35;cursor:default}.ll-reel-controls>span{white-space:nowrap;font:14px Georgia,serif}.ll-photo-reel{overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;gap:36px;padding:0 8% 16px;scroll-padding-inline:8vw;display:flex;position:relative;overflow-x:auto}.ll-photo-reel::-webkit-scrollbar{display:none}.ll-reel-photo{scroll-snap-align:start;flex:0 0 34vw;max-width:520px;margin:0}.ll-reel-photo button{cursor:zoom-in;background:0 0;border:0;width:100%;padding:0;display:block;overflow:hidden}.ll-reel-photo img{object-fit:cover;width:100%;height:440px;transition:transform .55s cubic-bezier(.16,1,.3,1)}.ll-reel-photo button:hover img{transform:scale(1.035)}.ll-reel-photo-1,.ll-reel-photo-3,.ll-reel-photo-5{padding-top:45px}.ll-reel-photo-1 img,.ll-reel-photo-3 img,.ll-reel-photo-5 img{height:395px}.ll-reel-photo-0 img{object-position:43% 50%}.ll-reel-photo figcaption{font-family:var(--display);margin-top:19px;font-size:16px}.ll-everyday-foot{justify-content:space-between;align-items:center;gap:20px;margin-top:25px;padding:0 8%;display:flex}.ll-everyday-foot>span{color:var(--muted);font-size:11px}.ll-everyday-foot .ll-text-button{font-size:13px}.ll-proposal{background:#fff;padding:120px 9% 130px;position:relative}.ll-proposal-date{color:var(--red);justify-content:center;align-items:baseline;gap:24px;margin-bottom:48px;display:flex}.ll-proposal-date>span{font-size:13px}.ll-proposal-date>time{letter-spacing:-.025em;font:clamp(48px,6vw,84px) Georgia,serif}.ll-proposal-photo{margin:0}.ll-proposal-photo>button{cursor:zoom-in;background:0 0;border:0;width:100%;padding:0;display:block}.ll-proposal-photo img{aspect-ratio:1.9;object-fit:cover;object-position:50% 43%;width:100%}.ll-proposal-photo figcaption{text-align:right;color:var(--muted);margin-top:15px;font-size:11px}.ll-proposal-bottom{grid-template-columns:.7fr 1fr;align-items:center;gap:12%;margin-top:65px;display:grid}.ll-ring-photo{width:78%;transform:rotate(-5deg) translateY(var(--drift,0px));margin:0 auto;overflow:hidden}.ll-ring-photo img{aspect-ratio:.76;object-fit:cover;width:100%}.ll-proposal-copy h2{color:var(--red);font-size:clamp(38px,4.1vw,60px)}.ll-proposal-copy>p{margin-bottom:16px;font-size:14px}.ll-proposal-copy .ll-yes{font-family:var(--display);margin-bottom:29px;font-size:22px}.ll-yes span{color:var(--red)}.ll-proposal-copy .ll-text-button{justify-content:flex-start;width:max-content;margin-top:24px;font-size:12px;display:flex}@media (min-width:1700px){.ll-beginning{padding-block:65px 160px}.ll-beginning-photo{max-width:800px}.ll-photo-reel{gap:45px}.ll-reel-photo{flex-basis:30vw}.ll-reel-photo img{height:500px}.ll-reel-photo-1 img,.ll-reel-photo-3 img,.ll-reel-photo-5 img{height:455px}}@media (max-width:1000px){.ll-beginning{padding-inline:7%;gap:7%;padding-bottom:100px}.ll-beginning-copy{padding-left:0}.ll-cities{gap:10px}.ll-beginning h2{font-size:42px}.ll-beginning-photo img{aspect-ratio:.9}.ll-cat-caption{gap:9px}.ll-cat-caption>span{font-size:10px}.ll-cat-caption strong{font-size:26px}.ll-cats-heading{gap:6%}.ll-wheel-memory{gap:7%;padding:100px 7%}.ll-wheel-copy h2{font-size:35px}.ll-flip-face>span{font-size:12px}.ll-reel-photo{flex-basis:40vw}.ll-reel-photo img{height:360px}.ll-reel-photo-1 img,.ll-reel-photo-3 img,.ll-reel-photo-5 img{height:315px}.ll-proposal{padding:95px 7% 100px}.ll-proposal-bottom{gap:8%}.ll-proposal-copy h2{font-size:41px}}@media (max-width:700px){.ll-beginning{flex-direction:column;align-items:stretch;gap:26px;padding:8px 25px 75px;display:flex}.ll-beginning-copy{position:relative}.ll-cities{gap:12px;margin:0 0 22px;font-size:12px}.ll-beginning h2{margin:0 0 20px;font-size:37px}.ll-beginning h2>br:first-of-type{display:none}.ll-beginning-copy>p{margin:16px 0;font-size:14px}.ll-beginning-photo{width:100%;transform:none}.ll-beginning-photo img{aspect-ratio:1.14;object-position:50% 50%}.ll-beginning-photo figcaption{gap:9px;margin-top:17px}.ll-beginning-photo time{font-size:27px}.ll-beginning-photo figcaption>span{font-size:11px}.ll-cats{padding:60px 25px 45px}.ll-cats-heading{margin-bottom:33px;display:block}.ll-cats-heading h2{margin-bottom:24px;font-size:35px}.ll-cats-heading p{margin-bottom:16px;font-size:13px}.ll-paw-hint{font-size:11px}.ll-cat-pair{gap:7%;padding:0 3px}.ll-cat{width:46.5%}.ll-cat-portrait{aspect-ratio:.78}.ll-cat-qiu img{object-position:48% 70%}.ll-cat-dong{margin-top:39px}.ll-cat-dong img{object-position:43% 40%}.ll-cat-caption{flex-wrap:wrap;gap:5px;padding:14px 0 11px}.ll-cat-caption strong{font-size:24px}.ll-cat-caption>span{white-space:nowrap;order:3;width:100%;font-size:10px}.ll-cat-caption>svg{width:16px;height:16px}.ll-cat-stamp{gap:3px;width:88px;height:88px;bottom:10px;right:7px}.ll-cat-stamp svg{width:33px;height:33px}.ll-cat-stamp i{font-size:9px}.ll-cat-message{min-height:48px;margin-top:35px;font-size:12px}.ll-wheel-memory{flex-direction:column;align-items:stretch;gap:30px;padding:65px 27px 50px;display:flex}.ll-memory-location{padding-bottom:9px;font-size:12px}.ll-wheel-copy h2{margin:25px 0 20px;font-size:34px;line-height:1.5}.ll-wheel-copy h2>br:nth-of-type(2){display:initial}.ll-wheel-copy p{margin-bottom:17px;font-size:13px}.ll-flip-control{margin-top:8px;padding:13px 0;font-size:12px!important}.ll-keepsake{width:calc(100% - 12px);max-width:390px;transform:none}.ll-flip-photo{aspect-ratio:.635}.ll-flip-face{padding:8px 8px 0}.ll-flip-face img{height:calc(100% - 45px)}.ll-flip-face>span{height:45px;font-size:12px}.ll-photo-instruction{margin-top:21px;font-size:11px}.ll-everyday{padding:65px 0 40px}.ll-everyday-heading{margin-bottom:27px;padding:0 25px;display:block}.ll-everyday-heading h2{margin-bottom:22px;font-size:33px}.ll-everyday-heading p{font-size:13px}.ll-reel-controls{justify-content:flex-end;gap:16px;margin-top:25px;padding:0}.ll-reel-controls>button{width:44px;height:44px}.ll-reel-controls>span{font-size:13px}.ll-photo-reel{gap:18px;padding:0 25px 10px;scroll-padding-inline:25px}.ll-reel-photo{flex-basis:78vw;max-width:380px}.ll-reel-photo img{height:350px}.ll-reel-photo-1,.ll-reel-photo-3,.ll-reel-photo-5{padding-top:27px}.ll-reel-photo-1 img,.ll-reel-photo-3 img,.ll-reel-photo-5 img{height:323px}.ll-reel-photo figcaption{margin-top:16px;font-size:14px}.ll-everyday-foot{flex-wrap:wrap;gap:5px;margin-top:15px;padding:0 25px}.ll-everyday-foot>span{font-size:10px}.ll-everyday-foot .ll-text-button{font-size:12px}.ll-proposal{padding:65px 25px 75px}.ll-proposal-date{flex-wrap:wrap;justify-content:flex-start;gap:12px;margin-bottom:26px}.ll-proposal-date time{font-size:54px}.ll-proposal-date>span{font-size:11px}.ll-proposal-photo{margin-inline:-25px}.ll-proposal-photo img{aspect-ratio:1.15;object-position:50% 50%}.ll-proposal-photo figcaption{margin-top:12px;padding-right:25px;font-size:10px}.ll-proposal-bottom{margin-top:36px;display:block;position:relative}.ll-proposal-copy{position:relative}.ll-proposal-copy h2{margin-bottom:25px;font-size:36px;line-height:1.55}.ll-proposal-copy p{font-size:13px}.ll-proposal-copy .ll-yes{margin-bottom:26px;font-size:22px}.ll-ring-photo{opacity:1;width:103px;display:none;position:absolute;top:100px;right:0;transform:rotate(6deg)}.ll-proposal-copy .ll-text-button{margin-top:20px;font-size:12px}}@media (prefers-reduced-motion:reduce){.ll-beginning-photo,.ll-keepsake{transform:none}.ll-flip-inner,.ll-cat-stamp{transition:none!important}.ll-ring-photo{transform:rotate(-5deg)}}.ll-photo-reel{padding-right:calc(92% - min(34vw,520px))}.ll-photo-reel:after{display:none}@media (min-width:1700px){.ll-photo-reel{padding-right:calc(92% - min(30vw,520px))}}@media (max-width:1000px){.ll-photo-reel{padding-right:calc(92% - 40vw)}}@media (max-width:700px){.ll-photo-reel{padding-right:calc(100% - min(78vw,380px) - 25px)}}html:has(.love-letter){scroll-padding-top:0}body:has(.love-letter){background:#f8f8f6}body:has(.love-letter) [data-slot=dialog-overlay]{-webkit-backdrop-filter:blur(5px)!important;backdrop-filter:blur(5px)!important;background:#36272bcc!important}.booking-dialog .attendance-options [data-slot=radio-group-item]{width:16px;min-width:16px;height:16px;background:0 0!important;border-color:#99747d!important}.booking-dialog .attendance-options [data-slot=radio-group-item][data-checked]{color:#fff!important;background:#a3323d!important;border-color:#a3323d!important}.booking-dialog .attendance-options [data-slot=radio-group-indicator]{width:16px;height:16px;background:0 0!important;border:0!important}.booking-dialog [data-slot=checkbox]{border-color:#99747d;border-radius:2px;width:18px;height:18px}.booking-dialog [data-slot=checkbox][data-checked]{color:#fff;background:#a3323d;border-color:#a3323d}.booking-dialog .rsvp-form input:focus,.booking-dialog .rsvp-form textarea:focus{outline-offset:5px;border-bottom-color:#a3323d;outline:1px solid #a3323d}.ll-receipt-body h3,.ll-receipt-body p{overflow-wrap:anywhere}.ll-reel-photo-1 img{object-position:50% 22%}@media (max-width:700px) and (max-height:620px){.ll-hero{min-height:570px}.ll-hero-copy{bottom:48px}.ll-hero-foot{bottom:16px}.ll-invite-label{margin-bottom:12px}.ll-hero h1{gap:9px;font-size:clamp(27px,8.5vw,34px)}.ll-hero-line{margin-bottom:14px}.ll-hero-date{margin-bottom:17px}.ll-hero-shade{background:linear-gradient(#30232b38,#0000 24%,#38212b20 36%,#532330dd 73%,#652531 100%)}}@font-face{font-family:WeddingLetter;src:url(/fonts/invitation-serif.woff2)format("woff2");font-display:swap}.wedding-home{--wh-red:#962e40;--wh-ink:#49362f;--wh-paper:#f7f1e6;color:var(--wh-ink);background:var(--wh-paper);padding-top:64px;font:14px/1.7 Arial,PingFang SC,Microsoft YaHei,sans-serif;overflow:clip}.wedding-home *{box-sizing:border-box}.wedding-home h1,.wedding-home h2,.wedding-home h3{margin:0;font-family:WeddingLetter,SimSun,serif;font-weight:400}.wedding-home p{margin:0}.wedding-home button,.wedding-home a{color:inherit}.wedding-home button{font:inherit;cursor:pointer}.wedding-home button:not(.pc-book button){border:0}.wedding-home a{text-decoration:none}:is(.wedding-home button:focus-visible,.wedding-home a:focus-visible){outline:2px solid var(--wh-red);outline-offset:5px}.wedding-home section[id]{scroll-margin-top:70px}.wedding-home img{object-fit:cover;width:100%;height:100%;display:block}.wh-header{z-index:35;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);height:64px;color:var(--wh-red);background:#f7f1e6f5;border-bottom:1px solid #9b765328;align-items:center;gap:24px;padding:0 4vw;display:flex;position:fixed;inset:0 0 auto}.wh-mark{white-space:nowrap;align-items:center;gap:14px;display:flex}.wh-mark b{font:36px WeddingLetter,serif}.wh-mark span{letter-spacing:3px;font-size:13px}.wh-mark i{margin:0 6px;font-family:Georgia,serif}.wh-header nav{gap:30px;margin:auto;font-size:13px;display:flex}.wh-header nav a{padding:12px 0}.wh-music{background:0 0;place-items:center;width:40px;min-height:44px;display:grid}.wh-header-rsvp{background:var(--wh-red);align-items:center;gap:15px;min-height:44px;padding:0 19px;display:flex;color:#fff!important}.wh-audio-note{z-index:40;background:var(--wh-paper);position:fixed;top:64px;right:10px;padding:8px 14px!important}.wh-hero{isolation:isolate;color:#fff;height:calc(100svh - 64px);min-height:610px;max-height:1050px;position:relative;overflow:hidden}.wh-hero picture{z-index:-3;position:absolute;inset:0}.wh-hero img{object-position:50% 32%;animation:1.6s ease-out both wh-photo-in}.wh-hero-shade{z-index:-1;background:linear-gradient(#20141100 30%,#241e1638 50%,#201714ba 100%);position:absolute;inset:0}.wh-hero-copy{text-align:center;animation:none;position:absolute;inset:auto 5% 6%}.wh-eyebrow{letter-spacing:4px;font-size:10px;margin:0 0 19px!important}.wh-hero h1{letter-spacing:8px;justify-content:center;align-items:center;gap:30px;font-size:clamp(40px,5.2vw,78px);line-height:1.4;display:flex}.wh-hero h1 i{opacity:.9;font:italic 40px Georgia,serif}.wh-hero-message{letter-spacing:3px;font-family:WeddingLetter,serif;font-size:18px;margin:11px 0 19px!important}.wh-hero-date{justify-content:center;align-items:center;gap:16px;display:flex}.wh-hero-date time{letter-spacing:4px;font:27px Georgia,serif}.wh-hero-date span{letter-spacing:2px;border-left:1px solid #fff7;padding-left:16px;font-size:12px}.wh-hero-address{letter-spacing:1px;justify-content:center;align-items:center;gap:8px;min-height:30px;margin-top:12px;font-size:13px;display:flex}.wh-hero-actions{justify-content:center;align-items:center;gap:32px;margin-top:25px;display:flex}.wh-button{background:var(--wh-red);letter-spacing:1px;justify-content:center;align-items:center;gap:28px;min-height:51px;padding:13px 27px;display:inline-flex;color:#fff!important}.wh-button-light{background:#fff6e8;color:var(--wh-red)!important}.wh-hero-story{border-bottom:1px solid #ffffff60;align-items:center;gap:14px;min-height:48px;font-size:13px;display:flex}.wh-hero-side{writing-mode:vertical-rl;letter-spacing:5px;font:11px Georgia,serif;position:absolute;top:22%;right:26px}.wh-letter{text-align:center;padding:94px 24px 106px}.wh-seal{color:var(--wh-red);margin-bottom:26px;font:35px WeddingLetter,serif;display:inline-block}.wh-letter h2{letter-spacing:3px;margin:18px 0 24px;font-size:clamp(27px,3.2vw,43px);line-height:1.6}.wh-letter p{color:#806c5d;font-size:13px;line-height:2.1}.wh-letter .wh-signature{color:var(--wh-red);letter-spacing:3px;margin-top:24px;font-family:WeddingLetter,serif;font-size:17px}.wh-mobile-break{display:none}.wh-section-heading{justify-content:space-between;align-items:end;gap:32px;max-width:1240px;margin:0 auto 28px;padding:0 40px;display:flex}.wh-section-heading h2{letter-spacing:2px;font-size:clamp(26px,3vw,40px);line-height:1.4}.wh-section-heading .wh-eyebrow{color:var(--wh-red)}.wh-section-heading>p{color:#8d7868;font-size:13px;line-height:1.9}.wh-story{background:#f5eedf;padding:64px 0 74px}.wh-story-layout{grid-template-columns:minmax(0,1fr) 300px;align-items:center;gap:30px;max-width:1300px;margin:auto;padding-right:40px;display:grid}.wh-memory{margin:30px 0 0}.wh-memory>button{text-align:left;background:#fffaf2;width:100%;box-shadow:0 8px 24px #67513812;padding:12px 12px 0!important}.wh-memory img{aspect-ratio:3/4;object-position:center;height:auto;animation:.6s both wh-copy-in}.wh-memory>button>span{color:#907665;justify-content:space-between;align-items:center;padding:15px 0;font:11px WeddingLetter,serif;display:flex}.wh-memory figcaption{padding:25px 10px 0}.wh-memory figcaption>p{color:#967b66;font-size:11px}.wh-memory h3{margin:7px 0 12px;font-size:24px;line-height:1.6}.wh-memory figcaption>span{color:#947e6b;font-size:12px;line-height:1.8}.wh-book-placeholder{text-align:center;place-content:center;height:710px;display:grid}.wh-book-placeholder img{object-fit:contain;max-width:550px;max-height:570px}.wh-book-placeholder span{padding:25px}.pc-book.pc-embedded{background:0 0;grid-template-rows:82px minmax(310px,1fr) auto;grid-template-columns:minmax(0,1fr);height:730px;min-height:650px}.pc-book.pc-embedded .pc-heading{grid-area:1/1}.pc-book.pc-embedded .pc-stage{grid-area:2/1}.pc-book.pc-embedded .pc-bottom{grid-area:3/1;align-self:auto;padding:0 30px}.pc-heading h3{letter-spacing:2px;font:400 clamp(23px,2.3vw,32px)/1.5 PaperLetter,serif}.pc-embedded .pc-caption{min-height:47px;font-size:15px}.pc-embedded .pc-chapters{margin-top:0}.pc-embedded .pc-last-line{justify-content:center;margin-top:10px}.pc-embedded .pc-last-line output{max-width:none}.pc-accessible-pause{clip-path:inset(50%);overflow:hidden;width:1px!important;height:1px!important;min-height:0!important;position:absolute!important}.pc-accessible-pause:focus{clip-path:none;width:auto!important;height:44px!important;min-height:44px!important;position:relative!important}.wh-album{max-width:1320px;margin:auto;padding:94px 0 88px}.wh-text-button{white-space:nowrap;align-items:center;gap:15px;min-height:44px;display:inline-flex;color:var(--wh-red)!important;background:0 0!important;border-bottom:1px solid #962e4050!important;padding:8px 0!important;font-size:13px!important}.wh-photo-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:34px 25px;margin-top:45px;padding:0 40px;display:grid}.wh-photo{text-align:left;background:0 0;align-self:start;padding:0}.wh-photo img{aspect-ratio:3/4;height:auto;transition:filter .3s,transform .6s}.wh-photo:hover img{filter:brightness(1.04)}.wh-photo:nth-child(3n+2){margin-top:48px}.wh-photo span{color:#826c5b;margin-top:15px;font:14px/1.6 WeddingLetter,serif;display:block}.wh-cats{justify-content:center;align-items:center;gap:32px;margin:90px 30px 0;display:flex}.wh-cats img{object-fit:cover;border-radius:50%;width:95px;height:95px}.wh-cats img:first-child{object-position:50% 66%}.wh-cats img:last-child{object-position:44% 45%}.wh-cats p{text-align:center;font:19px/1.9 WeddingLetter,serif}.wh-cats p span{color:#9a816b;font:12px Arial,sans-serif}.wh-wedding{background:#f0e6d5;grid-template-columns:1fr 1fr;display:grid}.wh-wedding-photo{min-height:760px}.wh-wedding-photo img{object-position:50% 28%}.wh-wedding-copy{align-self:center;padding:70px min(7vw,100px)}.wh-wedding h2{letter-spacing:3px;font-size:clamp(32px,3.3vw,47px);line-height:1.5}.wh-wedding .wh-eyebrow{color:var(--wh-red)}.wh-date{border-block:1px solid #9e7c573d;flex-direction:column;gap:5px;margin:27px 0 31px;padding:23px 0;display:flex}.wh-date>span{letter-spacing:3px;color:#927454;font-size:12px}.wh-date strong{color:var(--wh-red);letter-spacing:5px;font:64px/1.2 Georgia,serif}.wh-date strong span{opacity:.6;font-size:30px}.wh-wedding address{flex-direction:column;gap:8px;margin-bottom:18px;font-style:normal;display:flex}.wh-wedding address strong{font:22px WeddingLetter,serif}.wh-wedding address span{color:#80684f;font-size:13px}.wh-copy{vertical-align:middle;background:0 0;align-items:center;gap:6px;min-height:44px;margin-left:18px;display:inline-flex;color:#816f60!important;font-size:11px!important}.wh-venue-note{color:#947b64;font-size:11px;line-height:1.9;margin:13px 0 27px!important}.wh-wedding .wh-button{width:100%}.wh-footer{text-align:center;color:#fff1dc;background:#962e40;padding:70px 20px 40px}.wh-footer>span{font:42px WeddingLetter,serif}.wh-footer>p{letter-spacing:4px;margin:20px 0 12px;font:23px WeddingLetter,serif}.wh-footer>small{letter-spacing:2px;opacity:.75;font-size:11px}.wh-footer>div{opacity:.6;margin-top:45px;font-size:10px}.wh-footer a{text-decoration:underline}.wh-mobile-dock{display:none}.wh-all-photos{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px 14px;margin-top:22px;display:grid}.wh-all-photos button{text-align:left;color:#765b4e;cursor:pointer;background:0 0;border:0}.wh-all-photos img{object-fit:cover;width:100%;height:180px}.wh-all-photos span{margin-top:7px;font-size:11px;display:block}.wh-lightbox-image{width:100%;height:min(67svh,760px);object-fit:contain!important}.wh-lightbox-nav{color:#8e4150;justify-content:space-between;align-items:center;padding-top:12px;display:flex}.wh-lightbox-nav button{cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;min-width:44px;min-height:44px;font-size:12px;display:flex}.wh-receipt>p{color:#7b4a45;margin:20px 0;font:18px/2 WeddingLetter,serif}@keyframes wh-copy-in{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@keyframes wh-photo-in{0%{transform:scale(1.025)}to{transform:scale(1)}}@media (max-width:1000px){.wh-story-layout{grid-template-columns:minmax(0,1fr) 250px;gap:10px;padding-right:25px}.wh-wedding-copy{padding:50px 7%}.wh-header nav{gap:20px}.wh-wedding-photo{min-height:700px}}@media (max-width:759px){.wedding-home{padding-top:56px}.wh-header{gap:10px;height:56px;padding:0 17px}.wh-mark{gap:8px}.wh-mark b{font-size:31px}.wh-mark span{letter-spacing:1px;font-size:11px}.wh-header nav{display:none}.wh-music{width:32px;margin-left:auto}.wh-header-rsvp{gap:8px;min-height:38px;padding:0 13px;font-size:11px}.wh-hero{height:calc(100svh - 56px);min-height:630px;max-height:900px}.wh-hero img{object-position:50% 20%}.wh-hero-shade{background:linear-gradient(#0000 30%,#33252014 44%,#31221dad 77%,#271b18de)}.wh-hero-copy{bottom:36px;left:20px;right:20px}.wh-hero h1{letter-spacing:3px;gap:13px;font-size:38px}.wh-hero h1 i{font-size:25px}.wh-eyebrow{letter-spacing:3px;font-size:9px;margin-bottom:15px!important}.wh-hero-message{letter-spacing:2px;font-size:14px;margin:12px 0 22px!important}.wh-hero-date time{font-size:24px}.wh-hero-address{letter-spacing:0;gap:4px;font-size:11px}.wh-hero-address svg{flex-shrink:0;width:13px}.wh-hero-date span{font-size:10px}.wh-hero-actions{gap:26px;margin-top:24px}.wh-button{gap:20px;min-height:48px;padding:12px 22px;font-size:13px}.wh-hero-story{gap:9px;font-size:12px}.wh-hero-side{letter-spacing:3px;font-size:9px;top:12%;right:13px}.wh-letter{padding:64px 23px 67px}.wh-letter h2{margin:15px 0 20px;font-size:28px;line-height:1.6}.wh-letter p{font-size:12px;line-height:2}.wh-seal{margin-bottom:22px}.wh-mobile-break{display:block}.wh-section-heading{margin-bottom:15px;padding:0 24px;display:block}.wh-section-heading h2{font-size:27px}.wh-section-heading>p{margin-top:17px;font-size:12px}.wh-story{padding:48px 0 50px}.wh-story-layout{padding:0;display:block}.pc-book.pc-embedded{grid-template-rows:70px minmax(260px,1fr) auto;height:calc(100svh - 160px);min-height:560px;max-height:810px}.pc-book.pc-embedded .pc-bottom{padding:0 20px}.pc-heading h3{letter-spacing:1px;font-size:23px}.pc-embedded .pc-heading p{letter-spacing:1px;font-size:10px}.pc-embedded .pc-caption{min-height:49px;font-size:14px}.pc-embedded .pc-last-line{min-height:24px;font-size:10px}.wh-memory{grid-template-columns:43% 1fr;align-items:center;gap:22px;margin:35px 24px 0;display:grid}.wh-memory>button{padding:8px 8px 0!important}.wh-memory>button>span{padding:10px 0;font-size:9px}.wh-memory>button>span svg:first-child{display:none}.wh-memory>button>span svg{width:12px}.wh-memory figcaption{padding:0}.wh-memory h3{margin:9px 0 12px;font-size:20px}.wh-memory figcaption>p{font-size:10px}.wh-memory figcaption>span{font-size:11px}.wh-album{padding:57px 0 65px}.wh-album .wh-text-button{margin-top:13px;font-size:11px!important}.wh-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 15px;margin-top:28px;padding:0 24px}.wh-photo:nth-child(3n+2){margin-top:0}.wh-photo:nth-child(2n){margin-top:28px}.wh-photo span{margin-top:10px;font-size:11px}.wh-cats{gap:16px;margin:60px 20px 0}.wh-cats img{width:62px;height:62px}.wh-cats p{font-size:15px;line-height:1.8}.wh-cats p span{font-size:10px}.wh-wedding{grid-template-columns:1fr}.wh-wedding-photo{height:470px;min-height:0}.wh-wedding-copy{padding:43px 30px 52px}.wh-wedding h2{font-size:34px;line-height:1.5}.wh-date strong{font-size:65px}.wh-wedding address strong{font-size:23px}.wh-wedding .wh-text-button{gap:10px;font-size:12px!important}.wh-copy{margin-left:17px;font-size:10px!important}.wh-footer{padding-bottom:calc(110px + env(safe-area-inset-bottom))}.wh-mobile-dock{z-index:30;inset:auto 12px calc(12px + env(safe-area-inset-bottom));opacity:0;visibility:hidden;pointer-events:none;background:#f8f2e9;border:1px solid #ffffffb3;border-radius:999px;justify-content:space-between;align-items:center;gap:4px;max-width:420px;margin-inline:auto;padding:7px;transition:transform .35s,opacity .25s,visibility .35s;display:flex;position:fixed;transform:translateY(18px);box-shadow:0 8px 28px #452b271c,0 2px 6px #452b270d}.wh-mobile-dock[data-visible=true]{opacity:1;visibility:visible;pointer-events:auto;transform:none}.wh-mobile-dock a,.wh-mobile-dock button{border-radius:999px;justify-content:center;align-items:center;gap:9px;min-height:48px;font-size:14px;transition:background-color .2s,transform .2s;display:flex}.wh-mobile-dock a{color:var(--wh-red);flex:1}.wh-mobile-dock button{background:var(--wh-red);color:#fff;flex:1.1}.wh-mobile-dock a:active,.wh-mobile-dock button:active{transform:scale(.97)}:is(.wh-mobile-dock a:focus-visible,.wh-mobile-dock button:focus-visible){outline:2px solid var(--wh-red);outline-offset:2px}@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.wh-mobile-dock{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#f8f2e9eb}}.wh-all-photos{grid-template-columns:repeat(2,minmax(0,1fr))}.wh-all-photos img{height:150px}.wh-lightbox-image{height:58svh}.wh-lightbox-nav{padding-top:4px}}@media (max-width:359px){.wh-header{gap:4px;padding:0 10px}.wh-hero h1{gap:10px;font-size:31px}.wh-hero-copy{left:14px;right:14px}.wh-hero-actions{gap:20px}.wh-hero{min-height:600px}.pc-heading h3{font-size:21px}.wh-memory{gap:15px;margin-inline:20px}.wh-memory h3{font-size:18px}.wh-wedding-copy{padding-inline:23px}.wh-cats{gap:11px}.wh-cats img{width:52px;height:52px}}@media (prefers-reduced-motion:reduce){.wedding-home *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}#wedding-day{scroll-margin-top:70px}.wh-story-layout{max-width:1100px;margin:auto;display:block}.pc-embedded .pc-imprint{display:none}.pc-book.pc-embedded{height:min(800px,100svh - 110px);min-height:560px}@media (max-width:759px){.pc-book.pc-embedded{grid-template-rows:62px minmax(210px,1fr) auto;height:calc(100svh - 148px);min-height:490px}.pc-embedded .pc-caption{min-height:39px;font-size:13px}.pc-embedded .pc-last-line{margin-top:5px}}html{-moz-text-size-adjust:100%;text-size-adjust:100%}.pc-navigation button,.pc-chapters button,.wh-header-rsvp,.wh-mobile-dock a,.wh-mobile-dock button{white-space:nowrap}.pc-navigation svg,.wh-header svg,.wh-mobile-dock svg{flex-shrink:0}.pc-navigation .pc-previous{flex:none}.pc-navigation .pc-next{flex:0 60%;min-width:0}@media (max-width:759px){.wh-header{gap:8px;height:auto;min-height:56px;padding-block:6px}.wh-mark{flex:1;gap:7px;min-width:0}.wh-mark span{letter-spacing:.5px}.wh-mark i{margin-inline:2px}.wh-music{flex:0 0 36px;width:36px}.wh-header-rsvp{flex:none;gap:6px;padding-inline:12px}.pc-book.pc-embedded{grid-template-rows:auto auto auto;height:auto;min-height:0;max-height:none;scroll-margin-top:76px;overflow:visible}.pc-book.pc-embedded .pc-heading{min-height:76px;padding:14px 16px 8px}.pc-heading h3{letter-spacing:.6px;overflow-wrap:anywhere;font-size:clamp(20px,5.8vw,25px);line-height:1.5}.pc-book.pc-embedded .pc-stage{height:clamp(260px,88vw,410px);min-height:0;max-height:none}.pc-book.pc-embedded .pc-bottom{min-width:0;padding-inline:16px}.pc-embedded .pc-caption{height:auto;min-height:48px;padding:6px 0;font-size:14px;line-height:1.7}.pc-chapters{grid-template-columns:repeat(6,minmax(0,1fr))}.pc-chapters button{min-width:0;padding-inline:0}.pc-navigation{gap:12px}.pc-navigation .pc-next{gap:10px;min-width:0;padding-inline:14px}.pc-navigation .pc-previous{padding-inline:0}.pc-book.pc-embedded .pc-last-line{min-height:32px;padding:8px 0}.wh-mobile-dock{gap:4px;padding-inline:7px}.wh-mobile-dock a,.wh-mobile-dock button{gap:6px;min-width:0}}@media (max-width:359px){.wh-header{gap:5px;padding-inline:10px}.wh-mark span{letter-spacing:0;font-size:10px}.wh-header-rsvp{padding-inline:9px;font-size:12px}}.wedding-home{padding-top:var(--wh-header-h,64px)}.wedding-home section[id],#wedding-day{scroll-margin-top:calc(var(--wh-header-h,64px) + 12px)}.wh-hero-copy>*{animation:.85s cubic-bezier(.22,1,.36,1) wh-copy-in}.wh-hero-copy>h1{animation-duration:1.05s}.wh-hero-copy>.wh-hero-date{animation-duration:1.25s}.wh-hero img{animation:1.8s cubic-bezier(.22,1,.36,1) wh-photo-in}.wh-letter{padding-block:clamp(80px,11vw,155px)}.wh-letter h2{text-wrap:balance;font-size:clamp(30px,4.3vw,56px);line-height:1.65}.wh-letter h2>span{display:block}.wh-letter h2>br{display:none}.wh-letter>p:not(.wh-signature){color:#705548;font-size:clamp(15px,1.25vw,17px)}.wh-section-heading h2{text-wrap:balance}.wh-date strong{font-variant-numeric:lining-nums tabular-nums}@media (max-width:759px){.wh-letter{padding:76px 24px 84px}.wh-letter h2{letter-spacing:1px}}@media (prefers-reduced-motion:reduce){.wedding-home .wh-hero-copy>*,.wedding-home .wh-hero img{animation:none}.wedding-home .wh-hero picture{transform:none!important}}.wh-letter>p{text-wrap:pretty}.wh-story-layout{padding:0}.pc-book.pc-embedded{grid-template-rows:auto auto auto;height:auto;min-height:0;max-height:none;overflow:visible}.pc-book.pc-embedded .pc-heading{min-height:0;padding:18px 18px 4px}.pc-book.pc-embedded .pc-stage{height:clamp(300px,43vw,460px);min-height:0}.pc-book.pc-embedded .pc-bottom{padding:0 24px 10px}.wh-story{padding-block:48px}@media (min-width:760px){.wh-mobile-dock{z-index:30;opacity:0;visibility:hidden;pointer-events:none;background:#f8f2e9f5;border:1px solid #ffffffb3;border-radius:999px;gap:4px;max-width:420px;margin-inline:auto;padding:7px;transition:transform .35s,opacity .25s,visibility .35s;display:flex;position:fixed;inset:auto 12px 18px;transform:translateY(18px);box-shadow:0 8px 28px #452b271c}.wh-mobile-dock[data-visible=true]{opacity:1;visibility:visible;pointer-events:auto;transform:none}.wh-mobile-dock a,.wh-mobile-dock button{min-height:48px;color:var(--wh-red);border-radius:999px;flex:1;justify-content:center;align-items:center;gap:9px;font-size:14px;display:flex}.wh-mobile-dock button{color:#fff;background:var(--wh-red)}}@media (max-width:759px){.wh-story{padding-block:32px}.wh-story>.wh-section-heading{gap:12px}.wh-story .wh-section-heading h2{font-size:27px}.pc-book.pc-embedded .pc-stage{height:clamp(265px,87vw,380px)}.pc-book.pc-embedded .pc-bottom{padding:0 18px 8px}}@media (prefers-reduced-motion:reduce){.wh-mobile-dock{transition:none}}.wh-story>.wh-section-heading{margin-bottom:2px}.wh-story-duration{color:#775e50;align-items:center;gap:8px;font-size:13px;display:flex;margin-top:12px!important}.pc-book.pc-embedded{grid-template-rows:auto auto}.pc-book.pc-embedded .pc-stage{grid-row:1}.pc-book.pc-embedded .pc-bottom{grid-row:2}.wh-book-placeholder{height:clamp(420px,55vw,560px)}.pc-book.pc-embedded .pc-bottom .pc-caption{max-width:660px;min-height:85px;margin:0 auto 5px;padding-top:4px;font-size:clamp(20px,2vw,25px);line-height:1.65}.wh-wedding{background:#f0e5d3}.wh-wedding-copy{padding:60px clamp(30px,5vw,80px)}.wh-wedding h2{letter-spacing:1px;font-size:clamp(30px,3vw,43px)}.wh-calendar-row{align-items:center;gap:28px;margin:30px 0 36px;display:flex}.wh-calendar{text-align:center;color:#8b293c;background:#fff9ed;border:1px solid #cdb397;border-radius:5px;flex-direction:column;flex:0 0 142px;display:flex;position:relative;box-shadow:0 4px 0 -1px #fff9ed,0 4px #cdb397,0 8px 16px #68482a0a}.wh-calendar-month{color:#fff3df;letter-spacing:2px;background:#8b293c;border-radius:4px 4px 0 0;padding:9px 6px;font-size:14px}.wh-calendar strong{padding:7px 0 0;font:74px/1.05 Georgia,serif}.wh-calendar-week{color:#795a47;padding:0 0 11px;font-size:13px}.wh-calendar-copy>span{color:#865340;align-items:center;gap:7px;font-size:13px;display:flex}.wh-calendar-copy>p{margin-top:10px;font:23px/1.6 WeddingLetter,serif}.wh-place{border-top:1px solid #cdb99e;margin-bottom:28px;padding:25px 0 0}.wh-place-heading{align-items:flex-start;gap:14px;display:flex}.wh-place-pin{color:#962e40;flex-shrink:0;margin-top:1px}.wh-wedding .wh-place address{gap:9px;margin:0}.wh-wedding .wh-place address strong{font-size:25px}.wh-wedding .wh-place address span{color:#765a48;font-size:14px;line-height:1.65}.wh-place-actions{gap:12px;margin-top:20px;display:flex}.wh-place-actions .wh-navigate{color:#8b293c;background:#fff9ee88;border:1px solid #a06166;border-radius:6px;flex:1;justify-content:space-between;align-items:center;gap:12px;min-height:48px;padding:11px 15px;font-size:15px;display:inline-flex}.wh-place-actions .wh-copy{gap:7px;margin:0;padding:0 5px;color:#6f5444!important;font-size:13px!important}.wh-place .wh-venue-note{color:#795f4c;font-size:12px;line-height:1.7;margin:13px 0 0!important}.wh-wedding .wh-button{border-radius:6px;min-height:54px;font-size:16px}.wedding-home .wh-hero img{animation:none;transform:scale(1.035)}.wedding-home .wh-hero-copy>*{animation:none}.wedding-home .wh-satin{isolation:isolate;background-color:#922b3e;background-image:linear-gradient(120deg,#aa4050,#922b3e 48%,#752536);position:relative;overflow:hidden}.wh-satin:before{content:"";z-index:-1;pointer-events:none;background:linear-gradient(112deg,#0000 36%,#fff0ca0e 44%,#fff0ca19 48%,#0000 58%);animation:12s ease-in-out infinite alternate paused wh-paper-light;position:absolute;inset:-50% -90%;transform:translate(-14%)}.wh-satin[data-motion-visible=true]:before{animation-play-state:running}.wedding-home[data-page-hidden=true] .wh-satin:before,.wedding-home[data-motion-paused=true] .wh-satin:before,.wh-mobile-dock:not([data-visible=true]) .wh-satin:before{animation-play-state:paused}.wh-footer.wh-satin{background-image:repeating-linear-gradient(106deg,#fff3da03 0 1px,#0000 1px 5px),linear-gradient(125deg,#aa4050,#922b3e 50%,#732336);padding-block:64px 80px}.wh-footer:after{content:"";pointer-events:none;z-index:-1;border:1px solid #f4d1a73b;border-radius:48% 48% 2px 2px/28% 28% 2px 2px;position:absolute;inset:18px}.wh-footer>span{color:#f6d9b0;font-size:48px;display:block}.wh-footer>p{margin:18px 0 13px}.wh-footer>small{color:#fff1dc;opacity:.88;font-size:12px}.wh-footer>div{opacity:.75;margin-top:35px}@keyframes wh-paper-light{to{transform:translate(14%)}}@media (max-width:759px){.wh-story .wh-section-heading h2{font-size:26px}.wh-story-duration{margin-top:9px!important}.wh-wedding-copy{padding:34px 24px 38px}.wh-wedding h2{font-size:30px}.wh-calendar-row{gap:24px;margin:26px 0 30px}.wh-calendar{flex-basis:128px}.wh-calendar strong{font-size:68px}.wh-calendar-copy>p{font-size:21px}.wh-wedding .wh-place address strong{font-size:23px}.wh-footer.wh-satin{padding-bottom:calc(112px + env(safe-area-inset-bottom))}}@media (max-width:359px){.wh-calendar-row{gap:18px}.wh-calendar{flex-basis:112px}.wh-calendar-copy>p{font-size:20px}.wh-place-actions{gap:8px}.wh-place-actions .wh-copy{font-size:12px!important}}@media (prefers-reduced-motion:reduce){.wedding-home .wh-satin:before{animation:none}.wedding-home .wh-hero img{transform:none}}@font-face{font-family:WeddingBrush;src:url(/fonts/celebration-brush-v49.woff2)format("woff2");font-display:swap}.wedding-celebration{--wh-paper:#faf7f0;--wh-red:#931d32;--wh-ink:#572d2e;background:var(--wh-paper);font-size:16px;line-height:1.8}.wedding-celebration .wh-header{-webkit-backdrop-filter:none;backdrop-filter:none;background:#faf7f0f7;border-bottom-color:#931d321c}.wedding-celebration .wh-mark b{color:#931d32}.wedding-celebration .cc-music{touch-action:manipulation;background:0 0;border-radius:50%;place-items:center;width:44px;min-width:44px;height:44px;padding:2px;display:grid;position:relative}.cc-music-disc{color:#fff6e8;background:#931d32;border-radius:50%;place-items:center;width:38px;height:38px;animation:12s linear infinite paused cc-music-turn;display:grid;position:relative;box-shadow:inset 0 0 0 1px #fff6e84d,inset 0 0 0 5px #931d32,inset 0 0 0 6px #fff6e824}.cc-music[data-state=playing] .cc-music-disc{animation-play-state:running}.cc-music[data-state=paused]:after{content:"";pointer-events:none;background:#fff6e8;width:19px;height:2px;position:absolute;transform:rotate(-45deg);box-shadow:0 1px #931d32,0 -1px #931d32}.cc-music[data-state=loading] .cc-music-disc:after{content:"";border:2px solid #0000;border-top-color:#931d32;border-radius:50%;animation:1s linear infinite cc-music-turn;position:absolute;inset:-2px}.cc-music:focus-visible{outline-offset:3px;outline:2px solid #931d32}@keyframes cc-music-turn{to{transform:rotate(360deg)}}.cc-pages{overflow:clip}.cc-wrap{width:min(100% - 80px,1080px);margin-inline:auto}.wedding-celebration .cc-calligraphy{color:#931d32;text-wrap:balance;font-family:WeddingBrush,WeddingLetter,KaiTi,serif;font-weight:400;line-height:1.3}.cc-cover{max-width:940px;padding-top:34px;padding-bottom:44px}.cc-cover-top{letter-spacing:3px;color:#8b3e45;justify-content:space-between;font-size:13px;display:flex}.wedding-celebration .cc-cover-title{letter-spacing:-.025em;justify-content:center;align-items:center;margin:26px 0 32px;font-size:clamp(76px,11vw,120px);line-height:1.15;display:flex;overflow:visible}.cc-cover-title span:nth-child(2){padding-top:20px}.cc-cover-title span:nth-child(4){padding-top:10px}.cc-cover-stage{grid-template-columns:160px minmax(0,1fr);max-width:680px;margin:auto;padding-bottom:50px;display:grid;position:relative}.cc-names{color:#862235;flex-direction:column;justify-content:center;align-items:center;padding-bottom:90px;display:flex}.cc-names>span{letter-spacing:5px;font-size:13px}.cc-names>strong{letter-spacing:4px;font-family:WeddingLetter,serif;font-size:25px;font-weight:400;line-height:1.7}.cc-names>i{margin:15px 0;font:italic 27px Georgia,serif}.wedding-celebration .cc-photo{transform-origin:50%;cursor:zoom-in;touch-action:pan-y;background:#e6e2df;border-radius:0;width:100%;padding:0;line-height:0;display:block;position:relative;overflow:hidden}.cc-photo picture{width:100%;height:100%;display:block}.wedding-celebration .cc-photo img{object-fit:cover;width:100%;height:100%;display:block}.wedding-celebration .cc-cover-photo{aspect-ratio:3/4;max-height:620px;box-shadow:9px 10px #eaded4}.cc-cover-photo img{object-position:50% 35%}.cc-script{color:#a54250;letter-spacing:-1px;font:italic 48px/1.08 Times New Roman,serif;display:block}.cc-cover-script{z-index:1;pointer-events:none;text-shadow:0 1px #faf7f0;font-size:64px;position:absolute;bottom:6px;left:40px;transform:rotate(-9deg)}.cc-seal{color:#fff7e9;letter-spacing:3px;writing-mode:vertical-rl;background:#a0293c;border:3px double #faf7f0;outline:1px solid #a0293c;padding:8px 5px;font-family:WeddingLetter,serif;font-size:17px;line-height:1.2;position:absolute;top:22px;right:-19px;transform:rotate(5deg)}.cc-cover-bottom{text-align:center;margin:30px 0 20px}.cc-cover-bottom p{font-family:WeddingLetter,serif;font-size:20px}.cc-cover-bottom a{color:#931d32;align-items:center;gap:20px;margin-top:14px;font-size:14px;display:inline-flex}.cc-cover-bottom time{letter-spacing:2px;font:23px Georgia,serif}.cc-scroll{color:#875a56;align-items:center;gap:10px;width:fit-content;margin:30px auto 0;font-size:13px;display:flex}.cc-scroll svg{animation:1.7s ease-in-out 3 cc-arrow}@keyframes cc-arrow{0%,to{transform:translateY(-2px)}50%{transform:translateY(4px)}}.cc-welcome{grid-template-columns:1.15fr 1fr;align-items:center;gap:70px;padding:65px 0 80px;display:grid}.wedding-celebration .cc-wide-photo{aspect-ratio:1.6;outline-offset:7px;background:#dad7d5;outline:1px solid #a6434e}.cc-wide-photo img{object-position:50% 48%}.cc-welcome-copy{text-align:center;position:relative}.cc-welcome-copy h2{font-size:42px;position:relative}.cc-welcome-copy>p{margin-top:28px;font-family:WeddingLetter,serif;font-size:18px;line-height:2.15;position:relative}.cc-watermark{color:#931d320b;pointer-events:none;font:190px/1 WeddingLetter,serif;position:absolute;top:40%;left:50%;translate:-50% -50%}.cc-date-section{background:#f2e8df;border-block:1px solid #b179681c;padding:75px 0;scroll-margin-top:76px}.cc-date-layout{grid-template-columns:.95fr 1fr;align-items:center;gap:64px;display:grid}.cc-calendar{color:#922b3b}.cc-month{border-bottom:1px solid #aa68705c;justify-content:space-between;align-items:baseline;padding-bottom:16px;display:flex}.cc-month>span:first-child{font:30px Georgia,serif}.cc-month strong{font:34px WeddingBrush,serif}.cc-month>span:last-child{letter-spacing:3px;font:12px Georgia,serif}.cc-week,.cc-days{text-align:center;grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.cc-week{padding:17px 0 8px;font-size:14px}.cc-days>span{place-items:center;min-height:38px;font:16px Georgia,serif;display:grid;position:relative}.cc-wedding-date{color:#a52139}.cc-wedding-date svg{width:39px;height:39px}.cc-wedding-date b{color:#fff;font-size:17px;font-weight:400;position:absolute;top:9px;left:0;right:0}.cc-calendar>p{text-align:center;letter-spacing:2px;padding-top:22px;font-size:13px}.cc-venue-group{min-width:0}.cc-venue{color:#fff6e8;background:#931d32;padding:32px}.cc-venue-label{letter-spacing:2px;justify-content:space-between;align-items:center;font-size:15px;display:flex}.wedding-celebration .cc-venue h2{color:#fff6e8;text-align:left;margin:12px 0 16px;font-size:64px;line-height:1.2}.cc-address{text-wrap:pretty;font-size:16px;font-style:normal;line-height:1.8}.cc-navigation{background:#fff6e8;justify-content:space-between;align-items:center;gap:16px;min-height:52px;margin-top:24px;padding:12px 20px;font-size:16px;display:flex;color:#931d32!important}.cc-navigation svg,.cc-copy svg{flex-shrink:0}.cc-map-details{flex-wrap:wrap;justify-content:space-between;align-items:center;column-gap:16px;margin-top:8px;font-size:14px;display:flex}.cc-copy{white-space:nowrap;background:0 0;align-items:center;gap:8px;min-height:44px;padding:12px 0;display:inline-flex;color:#fff6e8!important;font-size:14px!important}.wedding-celebration .cc-time-note{color:#70423e;margin-top:16px;font-size:14px;line-height:1.8}.cc-promise{padding-top:100px;padding-bottom:85px}.cc-promise-head{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:40px;display:flex}.cc-promise-head h2{font-size:37px}.cc-promise-head .cc-script{font-size:44px}.cc-photo-pair{grid-template-columns:1fr 1fr;align-items:start;gap:24px;display:grid}.cc-photo-pair .cc-photo{aspect-ratio:3/4}.cc-photo-pair .cc-photo:nth-child(2){margin-top:70px}.cc-pair-caption{text-align:center;font-family:WeddingLetter,serif;font-size:19px;line-height:2.1;margin-top:40px!important}.cc-story{background:#f4eddf;padding:65px 0 45px;scroll-margin-top:76px}.cc-book{max-width:900px;margin:120px auto 0}.cc-book .pc-book{background:0 0!important}.cc-book .pc-stage{height:clamp(330px,52vw,500px)!important;min-height:0!important}.cc-book .pc-bottom{padding-top:0}.cc-book .pc-caption{min-height:54px!important;padding:10px 22px!important;font-size:21px!important;line-height:1.65!important}.cc-book .pc-reader-bar{max-width:620px;margin:4px auto 0}.cc-book .pc-page-number{display:none}.cc-album{grid-template-columns:1.25fr 1fr;align-items:center;gap:70px;padding-top:100px;padding-bottom:110px;display:grid}.cc-finale-photo{padding-bottom:20px;position:relative}.cc-finale-photo .cc-photo{aspect-ratio:3/4}.cc-finale-photo>.cc-script{pointer-events:none;font-size:58px;position:absolute;bottom:0;left:-25px;transform:rotate(-8deg)}.cc-finale-copy h2{font-size:36px}.cc-finale-copy .cc-photo{aspect-ratio:3/4;width:65%;margin:32px 0 0 auto}.cc-album-link{background:0 0;align-items:center;gap:15px;margin-left:auto;padding:10px 0;display:flex;border-bottom:1px solid #b16e74!important;font-size:15px!important}.cc-chinese{background:#f2e8df;padding:64px 0;scroll-margin-top:76px}.cc-chinese-heading{justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:32px;display:flex}.cc-chinese-heading h2{font-size:44px}.cc-chinese-heading p{font-family:WeddingLetter,serif;font-size:18px}.cc-chinese-layout{grid-template-columns:1fr 1fr;align-items:center;gap:24px;display:grid}.cc-chinese .cc-chinese-lead{aspect-ratio:2/3}.cc-chinese-pair{grid-template-columns:1fr 1fr;align-items:start;gap:16px;display:grid}.cc-chinese-pair .cc-photo{aspect-ratio:2/3}.cc-chinese-pair .cc-photo:nth-child(2){margin-top:32px}.cc-chinese .cc-chinese-close{aspect-ratio:4/3;margin-top:24px}.cc-chinese-close img{object-position:50% 20%}.cc-chinese .cc-album-link{min-height:48px;margin:32px auto 0;font-size:16px!important}.cc-reply{color:#fff6e8;text-align:center;background:#901c30;padding:70px 0 65px;position:relative;overflow:hidden}.cc-reply:before{content:"";pointer-events:none;background:radial-gradient(at 20% 0,#d9907930,#0000 65%);position:absolute;inset:0}.cc-reply-mark{margin-bottom:23px;font:60px WeddingLetter,serif;display:block}.cc-reply .cc-calligraphy{color:#fff6e8;font-size:42px;position:relative}.cc-reply p{margin:25px 0 28px;font-size:16px;line-height:2.15;position:relative}.wedding-celebration .cc-rsvp{color:#901c30;background:#fff6e8;justify-content:space-between;align-items:center;gap:30px;min-width:240px;min-height:56px;padding:15px 30px;font-size:17px;display:inline-flex;position:relative}.cc-footer{color:#815852;flex-direction:column;align-items:center;gap:25px;padding:42px 20px 110px;font-size:16px;display:flex}.cc-footer>span{letter-spacing:3px;font-family:WeddingLetter,serif}.cc-footer>small{font-size:12px}.wedding-celebration .wh-mobile-dock{-webkit-backdrop-filter:none;backdrop-filter:none;background:#fffaf2f7}.wedding-celebration .wh-mobile-dock button{background:#931d32}.wedding-celebration .wh-satin:before{display:none}@media (min-width:1000px){.wedding-celebration .wh-mobile-dock{display:none}.cc-cover{grid-template-columns:1fr 1.25fr;align-items:center;column-gap:50px;min-height:790px;padding-top:45px;display:grid}.cc-cover-top{grid-column:1/-1}.wedding-celebration .cc-cover-title{flex-wrap:wrap;grid-column:1;place-self:end center;width:230px;margin-bottom:20px;font-size:95px}.cc-cover-title span:nth-child(n){padding:0}.cc-cover-stage{grid-area:2/2/5;grid-template-columns:90px 1fr;width:100%;margin-top:25px}.cc-names>strong{letter-spacing:2px;font-size:22px}.cc-cover-script{font-size:60px;left:-55px}.cc-cover-bottom{grid-column:1;align-self:start;margin:0}.cc-cover-bottom p{font-size:18px}.cc-cover-bottom a{gap:10px}.cc-cover-bottom time{font-size:22px}.cc-scroll{grid-column:1;align-self:start;margin:0 auto 35px}.cc-cover-photo{height:520px}.cc-cover-top{margin-bottom:0}}@media (max-width:759px){.cc-wrap{width:calc(100% - 48px)}.cc-cover{padding-top:22px;padding-bottom:25px}.cc-cover-top{letter-spacing:2px;font-size:12px}.wedding-celebration .cc-cover-title{margin:18px 0 15px;font-size:clamp(64px,20vw,95px)}.cc-cover-title span:nth-child(2){padding-top:17px}.cc-cover-title span:nth-child(4){padding-top:6px}.cc-cover-stage{grid-template-columns:70px minmax(0,1fr);padding-bottom:35px}.cc-names{align-items:flex-start;padding-bottom:50px}.cc-names>span{letter-spacing:3px;font-size:12px}.cc-names>strong{letter-spacing:1px;font-size:18px}.cc-names>i{margin:13px 0 10px 18px;font-size:24px}.cc-cover-photo{box-shadow:6px 7px #eaded4!important}.cc-cover-script{font-size:40px;bottom:0;left:9px}.cc-seal{letter-spacing:2px;padding:6px 3px;font-size:13px;top:16px;right:-10px}.cc-cover-bottom{margin-top:25px;margin-bottom:16px}.cc-cover-bottom p{font-size:17px}.cc-cover-bottom time{font-size:21px}.cc-cover-bottom a{gap:13px;margin-top:12px;font-size:13px}.cc-scroll{margin-top:24px;font-size:12px}.cc-welcome{padding:55px 0 52px;display:block}.cc-welcome-copy{margin-top:48px}.cc-welcome-copy h2{font-size:36px}.cc-welcome-copy>p{margin-top:22px;font-size:16px;line-height:2.1}.cc-watermark{font-size:175px}.cc-date-section{padding:40px 0 45px}.cc-date-layout{flex-direction:column;gap:32px;display:flex}.cc-calendar{width:100%;max-width:350px}.cc-month>span:first-child{font-size:29px}.cc-month strong{font-size:32px}.cc-days>span{min-height:35px}.cc-venue-group{width:100%}.cc-venue{padding:24px}.cc-promise{padding:55px 0 45px}.cc-promise-head{margin-bottom:28px;display:block}.cc-promise-head .cc-script{margin-bottom:16px;font-size:35px}.cc-promise-head h2{text-align:right;font-size:31px}.cc-photo-pair{gap:13px}.cc-photo-pair .cc-photo:nth-child(2){margin-top:40px}.cc-pair-caption{font-size:16px;margin-top:27px!important}.cc-story{padding:38px 0 28px}.cc-book{margin-top:124px}.cc-book .pc-stage{height:340px!important}.cc-book .pc-caption{min-height:50px!important;font-size:18px!important}.cc-book .pc-reader-bar{margin:0 24px;font-size:12px}.cc-book .pc-reader-toggle{font-size:13px}.cc-album{padding:55px 0;display:block}.cc-finale-photo{width:86%;margin-left:auto;padding-bottom:26px}.cc-finale-photo>.cc-script{font-size:43px;bottom:0;left:-37px}.cc-finale-copy{grid-template-columns:1fr 42%;align-items:center;gap:0 20px;margin-top:34px;display:grid}.cc-finale-copy h2{margin:0;font-size:31px}.cc-finale-copy .cc-photo{grid-area:1/2;width:100%;margin:0}.cc-chinese{padding:40px 0}.cc-chinese-heading{margin-bottom:24px;display:block}.cc-chinese-heading h2{font-size:36px}.cc-chinese-heading p{margin-top:8px;font-size:16px}.cc-chinese-layout{grid-template-columns:1fr}.cc-chinese .cc-chinese-lead{aspect-ratio:4/5}.cc-chinese-lead img{object-position:50% 20%}.cc-chinese-pair{gap:12px}.cc-chinese-pair .cc-photo:nth-child(2){margin-top:24px}.cc-reply{padding:50px 0 45px}.cc-reply-mark{margin-bottom:20px;font-size:45px}.cc-reply .cc-calligraphy{font-size:34px}.cc-reply p{font-size:15px}.wedding-celebration .cc-rsvp{width:100%;font-size:17px}.cc-footer{padding:35px 20px 105px}.wedding-celebration .wh-header nav{display:none}}@media (max-width:350px){.cc-wrap{width:calc(100% - 36px)}.cc-names>strong{font-size:16px}.cc-cover-stage{grid-template-columns:62px 1fr}.cc-map-details{column-gap:8px}.cc-finale-copy{column-gap:12px}.cc-book .pc-stage{height:300px!important}}@media (prefers-reduced-motion:reduce){.cc-music-disc,.cc-music-disc:after{animation:none!important}.cc-pages *,.cc-pages :before{transition:none!important;animation:none!important}}.cc-book .pc-book[data-caption-layout=scene] .pc-stage{width:78%;margin-left:22%}.cc-book .pc-book[data-caption-layout=scene] .pc-canvas,.cc-book .pc-book[data-caption-layout=scene] .pc-fallback{transform-origin:50%;transform:scale(1.16)}.cc-book .pc-swipe-cue{color:#873747;touch-action:pan-y;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;gap:10px;height:60px;font:14px/1.5 Arial,PingFang SC,Microsoft YaHei,sans-serif;display:flex}.pc-swipe-gesture{justify-content:space-between;align-items:center;width:76px;height:28px;display:inline-flex}.pc-swipe-direction{opacity:.55}.pc-swipe-finger{animation:3s cubic-bezier(.22,1,.36,1) infinite paused pc-swipe-guide}.pc-swipe-cue[data-moving=true] .pc-swipe-finger{animation-play-state:running}@keyframes pc-swipe-guide{0%,12%,to{transform:translate(0)}35%,42%{transform:translate(-11px)}68%,75%{transform:translate(11px)}}@media (prefers-reduced-motion:reduce){.pc-swipe-finger{animation:none}}.cc-book .pc-book[data-caption-layout=scene] .pc-caption{text-align:left;color:#572d2e;letter-spacing:.02em;pointer-events:none;width:max-content;max-width:calc(100% - 64px);margin:0;display:block;position:absolute;top:-100px;left:32px;min-height:0!important;padding:0!important;font-size:clamp(28px,3vw,40px)!important;line-height:1.55!important}.cc-book .pc-book[data-caption-layout=scene] .pc-caption .pc-scene-kicker{color:#8b594f;letter-spacing:.2em;margin-bottom:16px;font:400 12px/1.5 Arial,PingFang SC,Microsoft YaHei,sans-serif;display:block}.cc-book .pc-book[data-caption-layout=scene] .pc-caption .pc-scene-line,.cc-book .pc-book[data-caption-layout=scene] .pc-caption .pc-scene-emphasis{white-space:nowrap;display:block}.cc-book .pc-book[data-caption-layout=scene] .pc-caption .pc-scene-emphasis{color:#931d32;margin-left:1em;font-weight:400}@media (max-width:759px){.cc-book .pc-book[data-caption-layout=scene] .pc-stage{width:100%;margin-left:0}.cc-book .pc-book[data-caption-layout=scene] .pc-canvas,.cc-book .pc-book[data-caption-layout=scene] .pc-fallback{transform:scale(1.025)}.cc-book .pc-swipe-cue{height:55px}.cc-book .pc-book[data-caption-layout=scene] .pc-caption{max-width:calc(100% - 56px);top:-120px;left:28px;font-size:clamp(24px,7.6vw,32px)!important;line-height:1.65!important}.cc-book .pc-book[data-caption-layout=scene] .pc-caption .pc-scene-kicker{margin-bottom:12px;font-size:11px}}
