@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}}
