.wedding-page{background:#f7f7f2;color:#25372f}.wedding-page .site-header{color:#fffffff5}.wedding-page .site-header.is-scrolled{color:#25372f}.wedding-cinematic{overflow:clip}.wedding-cinematic h1,.wedding-cinematic h2,.wedding-cinematic p,.wedding-cinematic figure{margin:0}.wedding-opening{position:relative;isolation:isolate;display:grid;height:100svh;min-height:100svh;place-items:center;overflow:hidden;background:#d6d2c9;color:#fff}.wedding-opening-image.wedding-story-image{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 100%;transform:scale(1.08);transform-origin:50% 100%}.wedding-opening:after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(38,52,45,.34) 0%,rgba(38,52,45,.12) 42%,transparent 72%);pointer-events:none}.wedding-opening-copy{position:absolute;z-index:2;left:max(24px,calc((100vw - 1320px)/2));bottom:11%;width:min(520px,calc(100% - 48px))}.wedding-opening-copy p,.wedding-story-heading>p{font-size:10px;font-weight:700;letter-spacing:.18em}.wedding-opening-copy p{font-size:14px;letter-spacing:.16em}.wedding-opening h1,.wedding-story h2{font-family:Songti SC,STSong,"Noto Serif SC",serif;font-weight:500;letter-spacing:-.075em;line-height:1.05;text-wrap:balance}.wedding-opening h1{margin-top:18px;font-size:clamp(54px,6vw,86px)}.wedding-opening-copy span{display:block;margin-top:26px;font-size:19px;letter-spacing:.12em}.wedding-handnote{font:italic 19px/1 Snell Roundhand,Bradley Hand,cursive}.wedding-handnote--hero{position:absolute;z-index:2;right:12%;top:23%;color:#ffffffe0;transform:rotate(-8deg)}.wedding-story{position:relative;min-height:100svh}.wedding-story-intro{position:relative;z-index:2;padding:clamp(58px,6vw,84px) max(24px,calc((100vw - 1320px)/2)) clamp(36px,4.5vw,58px);background:#fbfaf6}.wedding-story-stage{position:relative;display:grid;width:min(100%,1320px);min-height:min(660px,62vw);margin:0 auto;place-items:center;overflow:hidden;background:#f4eee5}.wedding-story-stage-backdrop{position:absolute;z-index:0;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;opacity:.5;filter:saturate(1.08) brightness(1.14);transform:scale(1.04)}.wedding-story-stage-ornament{position:absolute;inset:0;background:radial-gradient(circle at 14% 20%,rgba(196,177,208,.32) 0 1px,transparent 2px),radial-gradient(circle at 82% 74%,rgba(164,192,176,.36) 0 1px,transparent 2px),linear-gradient(125deg,transparent 0 24%,rgba(178,143,176,.28) 24.1% 24.25%,transparent 24.4% 100%),linear-gradient(28deg,transparent 0 76%,rgba(150,179,161,.23) 76.1% 76.25%,transparent 76.4% 100%);background-size:80px 80px,116px 116px,100% 100%,100% 100%}.wedding-story-stage:after{content:"";position:absolute;z-index:0;inset:0;background:linear-gradient(90deg,rgba(255,255,252,.16),transparent 35%,rgba(255,255,252,.1));pointer-events:none}.wedding-story-stage-portrait{position:relative;z-index:1;width:min(39vw,500px);margin:clamp(48px,6vw,90px) 0;padding:clamp(9px,1vw,14px);background:#fefdf9;box-shadow:0 24px 70px #3437302e}.wedding-story-stage-triptych{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(10px,1.4vw,20px);width:min(84%,1040px);margin:clamp(46px,6vw,88px) 0}.wedding-story-stage-triptych-frame{min-width:0;margin:0;padding:clamp(6px,.75vw,10px);background:#fefdf9;box-shadow:0 20px 52px #34373024}.wedding-story-stage-triptych-frame .wedding-story-image{aspect-ratio:3 / 4;height:100%;object-fit:cover}.wedding-story-stage-word{position:absolute;z-index:2;top:8%;left:8%;color:#fff;font:500 clamp(50px,8.5vw,124px)/.88 "Songti SC",STSong,serif;letter-spacing:-.075em;white-space:nowrap;text-shadow:0 2px 18px rgba(27,46,54,.22)}.wedding-story-heading--intro{width:fit-content;min-width:min(700px,calc(100% - 72px));max-width:min(1040px,calc(100% - 72px));margin:clamp(34px,3.5vw,48px) auto 0;padding:clamp(28px,3vw,42px) clamp(36px,4vw,58px);background:#fffffce8;box-shadow:0 15px 46px #33413712;text-align:left;backdrop-filter:blur(8px)}.wedding-story-heading--intro:before{right:clamp(10px,2vw,28px);top:-14px;border-radius:50%;transform:none}.wedding-story-heading--intro:after{right:clamp(18px,3vw,42px);top:23px}.wedding-story-heading--intro>span{margin-inline:0}.wedding-story-heading--intro .wedding-story-mark{right:8%;bottom:-22px}.wedding-story-heading--intro .wedding-handnote{right:4%;bottom:-42px}.wedding-story-backdrop{position:sticky;z-index:0;top:0;display:grid;width:100%;height:100svh;place-items:center;overflow:hidden;background:var(--backdrop, #e8e3db)}.wedding-story-backdrop .wedding-story-image{width:100%;height:100%;object-fit:contain;opacity:.76;filter:saturate(.84) brightness(1.05)}.wedding-story-backdrop:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#f7f7f20f,#f7f7f23d)}.wedding-story-backdrop-label{position:absolute;right:clamp(24px,6vw,90px);bottom:30px;color:#ffffffb8;font:400 clamp(80px,15vw,210px)/.8 "Songti SC",STSong,serif;letter-spacing:-.12em}.wedding-story--proposal{--backdrop: #e9dccc}.wedding-story--certification{--backdrop: #e6eee8}.wedding-story--ceremony{--backdrop: #e3e1d9}.wedding-story--comic{--backdrop: #e9e3eb}.wedding-story-content{position:relative;z-index:1;width:min(1320px,calc(100% - 48px));margin:-100svh auto 0;padding:clamp(58px,7vw,92px) 0 clamp(80px,10vw,132px)}.wedding-story-content--static{width:min(1120px,calc(100% - 48px));margin:0 auto;padding:clamp(70px,9vw,120px) 0 clamp(110px,12vw,168px)}.wedding-story-heading{position:relative;width:min(620px,calc(100% - 28px));margin:0 0 clamp(72px,12vw,150px);padding:clamp(38px,5vw,70px);background:#fbfaf6eb;box-shadow:0 18px 62px #33413714;backdrop-filter:blur(10px)}.wedding-story-heading:before{content:"";position:absolute;width:77px;height:77px;right:-29px;top:-30px;border:1px solid rgba(177,143,176,.8);border-radius:50%;transform:none}.wedding-story-heading:after{content:"";position:absolute;right:4px;top:7px;width:128px;border-top:1px solid rgba(177,143,176,.7);transform:rotate(-34deg);transform-origin:right}.wedding-story-heading h2{margin-top:20px;font-size:clamp(43px,5.1vw,74px)}.wedding-story-heading--intro h2{font-size:clamp(42px,4.15vw,64px);white-space:nowrap}.wedding-story-heading--intro>p{font-size:13px;letter-spacing:.16em}.wedding-story-heading>span{display:block;max-width:29ch;margin-top:26px;color:#66756d;font-size:15px;line-height:1.9}.wedding-story-heading--intro>span{max-width:none;white-space:nowrap}.wedding-story-mark{position:absolute;right:12%;bottom:-21px;z-index:1;color:#af85ae;font:43px/1 Comic Sans MS,cursive;transform:rotate(-12deg)}.wedding-story-heading .wedding-handnote{position:absolute;right:-18px;bottom:-55px;color:#8d778c;transform:rotate(-6deg);white-space:nowrap}.wedding-photo-grid{--photo-gap: clamp(14px, 2.4vw, 34px);display:grid;gap:var(--photo-gap)}.wedding-photo-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:var(--photo-gap);width:min(100%,1200px);margin:0 auto}.wedding-photo-row--wide{grid-template-columns:minmax(0,1fr);width:min(100%,1200px)}.wedding-photo-row--single{grid-template-columns:minmax(0,1fr);width:min(48%,520px)}.wedding-story-frame{overflow:visible;min-width:0;padding:clamp(8px,1vw,14px);background:#fcfcf8f5;box-shadow:0 20px 56px #2e3c3329}.wedding-photo-open{display:block;width:100%;height:100%;padding:0;border:0;background:transparent;cursor:zoom-in}.wedding-story-image{display:block;width:100%;height:auto;max-height:none;object-fit:contain;background:transparent}.wedding-story-image--message{object-position:center 47%}.wedding-story-frame--message{aspect-ratio:4 / 5;overflow:hidden}.wedding-story-frame--message .wedding-photo-open,.wedding-story-frame--message .wedding-story-image{height:100%}.wedding-story-frame--message .wedding-story-image{object-fit:cover;object-position:center 47%}.wedding-photo-row:not(.wedding-photo-row--wide):not(.wedding-photo-row--single) .wedding-story-frame{aspect-ratio:var(--photo-ratio);overflow:hidden}.wedding-photo-row:not(.wedding-photo-row--wide):not(.wedding-photo-row--single) .wedding-story-frame .wedding-photo-open,.wedding-photo-row:not(.wedding-photo-row--wide):not(.wedding-photo-row--single) .wedding-story-frame .wedding-story-image{height:100%}.wedding-photo-row:not(.wedding-photo-row--wide):not(.wedding-photo-row--single) .wedding-story-frame .wedding-story-image{object-fit:cover}.wedding-photo-row--wide .wedding-story-frame{padding:clamp(10px,1.3vw,18px)}.wedding-story-frame--wide{aspect-ratio:var(--photo-ratio);overflow:hidden}.wedding-story-frame--wide .wedding-photo-open,.wedding-story-frame--wide .wedding-story-image{height:100%}.wedding-story-frame--wide .wedding-story-image{object-fit:cover}.wedding-photo-row:nth-child(2n) .wedding-story-frame:first-child{transform:none}.wedding-story--comic .wedding-photo-row{width:min(720px,100%)}.wedding-story--comic .wedding-story-frame{background:#fffefa;box-shadow:0 18px 48px #5c485a24}.wedding-story--proposal .wedding-story-stage{background:#ebe6dc}.wedding-story--certification .wedding-story-stage{background:#eaf0eb}.wedding-story--ceremony .wedding-story-stage{background:#ecebe5}.wedding-story--comic .wedding-story-stage{background:#eee8ee}.wedding-story--proposal .wedding-story-stage-portrait{width:min(40vw,496px)}.wedding-story--certification .wedding-story-stage-portrait{width:min(50vw,620px)}.wedding-story--ceremony .wedding-story-stage-portrait{width:min(38vw,490px)}.wedding-story--comic .wedding-story-stage-portrait{width:min(36vw,450px)}.wedding-story--proposal .wedding-story-stage-portrait{width:min(48vw,620px)}.wedding-story--proposal .wedding-story-stage{background:#e8eff2}.wedding-story--proposal .wedding-story-stage-backdrop{opacity:.56;filter:saturate(1.18) brightness(1.14)}.wedding-story--ceremony .wedding-story-stage-backdrop{opacity:.52;filter:saturate(.9) brightness(1.14)}.wedding-story--certification .wedding-story-stage{background:#f1e7e6}.wedding-story--ceremony .wedding-story-stage{background:#f0f2ee}.wedding-story--comic .wedding-story-intro{padding-bottom:clamp(96px,12vw,150px)}.wedding-story--comic .wedding-story-stage{min-height:min(860px,82vw);background:#eef2e8}.wedding-story--comic .wedding-story-stage:after{background:linear-gradient(135deg,rgba(255,255,255,.2),transparent 48%)}.wedding-story--comic .wedding-story-stage-portrait{width:min(52vw,680px);box-shadow:0 26px 72px #535c4b2e}.wedding-lightbox{width:min(96vw,1280px);max-width:none;max-height:94svh;padding:12px;border:0;background:#151d19f5;box-shadow:0 30px 100px #00000073}.wedding-lightbox::backdrop{background:#121915c2;backdrop-filter:blur(5px)}.wedding-lightbox img{display:block;width:auto;max-width:100%;height:auto;max-height:calc(94svh - 24px);margin:0 auto}.wedding-lightbox-close{position:absolute;z-index:1;top:-44px;right:0;width:36px;height:36px;border:1px solid rgba(255,255,255,.55);border-radius:50%;background:transparent;color:#fff;font:28px/1 sans-serif;cursor:pointer}@media(max-width:820px){.wedding-opening{height:100svh;min-height:100svh}.wedding-opening-image.wedding-story-image{height:100%}.wedding-opening-copy{bottom:48px}.wedding-opening h1{font-size:clamp(47px,13vw,63px)}.wedding-handnote--hero{right:7%;top:18%}.wedding-opening-copy p{font-size:11px}.wedding-opening-copy span{font-size:16px}.wedding-story-intro{min-height:0;padding:64px 16px 40px}.wedding-story-stage{min-height:490px}.wedding-story-stage-portrait{width:min(67vw,330px)!important}.wedding-story-stage-triptych{width:calc(100% - 30px);gap:8px;margin-block:38px}.wedding-story-stage-triptych-frame{padding:4px}.wedding-story-stage-word{top:8%;left:7%;font-size:clamp(36px,12vw,62px)}.wedding-story-heading--intro{min-width:0;width:calc(100% - 22px);margin-top:42px;text-align:left}.wedding-story-heading--intro h2{font-size:clamp(36px,9.8vw,52px);white-space:normal}.wedding-story-heading--intro>span{margin-inline:0;white-space:normal}.wedding-story-heading--intro>p{font-size:12px}.wedding-story-backdrop{position:relative;height:auto;min-height:0;padding:20px}.wedding-story-backdrop .wedding-story-image{height:auto;max-height:58svh}.wedding-story-backdrop-label{right:28px;bottom:26px;font-size:90px}.wedding-story-content{width:min(100% - 32px,680px);margin:-28px auto 0;padding-block:70px 84px}.wedding-story-content--static{margin:0 auto;padding-block:65px 85px}.wedding-story-heading{width:calc(100% - 12px);margin-bottom:72px;padding:35px 28px}.wedding-story-heading h2{font-size:clamp(39px,10.5vw,55px)}.wedding-story-heading .wedding-handnote{font-size:16px}.wedding-photo-grid{gap:34px}.wedding-photo-row{gap:12px}.wedding-photo-row--single{width:min(72%,400px)}.wedding-photo-row:nth-child(2n) .wedding-story-frame:first-child{transform:none}.wedding-story-frame{padding:6px}}@media(prefers-reduced-motion:reduce){.wedding-story-frame,.wedding-story-heading{opacity:1!important;transform:none!important}}.wedding-story-stage-triptych-frame .wedding-photo-open{display:block;width:100%;padding:0;border:0;background:transparent;cursor:zoom-in}.wedding-story-stage-portrait .wedding-photo-open{cursor:zoom-in}
