.garden{--lace-height: 64px}.lace-border{position:absolute;inset:auto 0 -1px;height:var(--lace-height, 64px);z-index:3;pointer-events:none;background:var(--paper);-webkit-mask:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='120'%20height='76'%20viewBox='0%200%20120%2076'%20role='img'%20aria-labelledby='title%20desc'%3e%3ctitle%20id='title'%3eScalloped%20floral%20lace%20trim%3c/title%3e%3cdesc%20id='desc'%3eA%20seamless%20repeating%20tile%20of%20openwork%20ivory%20flowers,%20embroidered%20loops%20and%20diamond%20stitches.%20The%20solid%20lower%20edge%20joins%20the%20paper%20beneath%20it.%3c/desc%3e%3cdefs%3e%3cg%20id='joining-stitch'%20fill='none'%20stroke='%23f2efdf'%20stroke-linecap='round'%20stroke-linejoin='round'%3e%3cpath%20stroke-width='1.7'%20d='M0%2033C-2%2037-5%2039-5%2042L0%2047L5%2042C5%2039%202%2037%200%2033Z'/%3e%3cpath%20stroke-width='1.25'%20d='M0%2038L-2%2042L0%2044L2%2042Z'/%3e%3cpath%20stroke-width='2'%20d='M0%2051C-9%2042-19%2044-16%2049C-14%2053-6%2053%200%2056C6%2053%2014%2053%2016%2049C19%2044%209%2042%200%2051Z'/%3e%3cpath%20stroke-width='1.25'%20d='M-19%2054Q-10%2054%200%2061Q10%2054%2019%2054'/%3e%3cpath%20stroke-width='1.6'%20d='M-7%2060L0%2066L7%2060M-4%2065L0%2069L4%2065'/%3e%3ccircle%20cy='29.5'%20r='1'%20fill='%23f2efdf'%20stroke='none'/%3e%3c/g%3e%3c/defs%3e%3c!--%20The%20endpoints%20and%20tangents%20match,%20including%20the%20half-stitches%20at%20each%20seam.%20--%3e%3cpath%20fill='%23f2efdf'%20d='M0%2065C9%2065%2016%2058%2024%2057C38%2055%2047%2065%2060%2068C73%2065%2082%2055%2096%2057C104%2058%20111%2065%20120%2065V76H0Z'/%3e%3cg%20fill='none'%20stroke='%23f2efdf'%20stroke-linecap='round'%20stroke-linejoin='round'%3e%3c!--%20Paired%20rounded%20crowns%20make%20the%20scalloped,%20embroidered%20outer%20edge.%20--%3e%3cpath%20stroke-width='2.9'%20d='M60%2061C53%2057%2043%2052%2034%2044C25%2037%2020%2031%2022%2022C24%2011%2037%208%2046%2016C49%2019%2050%2019%2053%2015C57%209%2063%209%2067%2015C70%2019%2071%2019%2074%2016C83%208%2096%2011%2098%2022C100%2031%2095%2037%2086%2044C77%2052%2067%2057%2060%2061Z'/%3e%3cpath%20stroke-width='1.05'%20d='M60%2057C51%2051%2037%2043%2031%2035C24%2027%2025%2020%2031%2017C36%2014%2042%2017%2046%2021C51%2026%2053%2020%2055%2017C58%2013%2062%2013%2065%2017C67%2020%2069%2026%2074%2021C78%2017%2084%2014%2089%2017C95%2020%2096%2027%2089%2035C83%2043%2069%2051%2060%2057Z'/%3e%3c!--%20Separate%20open%20petals,%20not%20a%20solid%20floral%20silhouette.%20--%3e%3cpath%20stroke-width='2.2'%20d='M57%2049C48%2044%2033%2032%2033%2025C33%2021%2037%2020%2040%2024C46%2030%2052%2041%2057%2049Z'/%3e%3cpath%20stroke-width='2.2'%20d='M63%2049C72%2044%2087%2032%2087%2025C87%2021%2083%2020%2080%2024C74%2030%2068%2041%2063%2049Z'/%3e%3cpath%20stroke-width='2.15'%20d='M60%2047C56%2039%2051%2030%2053%2025C55%2020%2060%2024%2060%2029C60%2024%2065%2020%2067%2025C69%2030%2064%2039%2060%2047Z'/%3e%3cpath%20stroke-width='1.8'%20d='M54%2049C46%2049%2038%2046%2036%2041C35%2037%2040%2038%2044%2041L54%2049ZM66%2049C74%2049%2082%2046%2084%2041C85%2037%2080%2038%2076%2041L66%2049Z'/%3e%3cpath%20stroke-width='1.2'%20d='M49%2054Q60%2048%2071%2054M52%2056Q60%2052%2068%2056'/%3e%3cpath%20stroke-width='1.3'%20d='M19%2029Q15%2033%2019%2037M101%2029Q105%2033%20101%2037M19%2041L23%2044M101%2041L97%2044'/%3e%3c!--%20Fine%20scallops%20just%20above%20the%20opaque%20paper%20edge.%20--%3e%3cpath%20stroke-width='1.35'%20d='M0%2060C9%2060%2015%2053%2024%2052C38%2050%2049%2061%2060%2064C71%2061%2082%2050%2096%2052C105%2053%20111%2060%20120%2060'/%3e%3cg%20fill='%23f2efdf'%20stroke='none'%3e%3ccircle%20cx='15.5'%20cy='39.5'%20r='1.05'/%3e%3ccircle%20cx='104.5'%20cy='39.5'%20r='1.05'/%3e%3ccircle%20cx='60'%20cy='7'%20r='.85'/%3e%3c/g%3e%3c/g%3e%3cuse%20href='%23joining-stitch'/%3e%3cuse%20href='%23joining-stitch'%20transform='translate(120%200)'/%3e%3c/svg%3e") center bottom / auto 100% repeat-x;mask:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='120'%20height='76'%20viewBox='0%200%20120%2076'%20role='img'%20aria-labelledby='title%20desc'%3e%3ctitle%20id='title'%3eScalloped%20floral%20lace%20trim%3c/title%3e%3cdesc%20id='desc'%3eA%20seamless%20repeating%20tile%20of%20openwork%20ivory%20flowers,%20embroidered%20loops%20and%20diamond%20stitches.%20The%20solid%20lower%20edge%20joins%20the%20paper%20beneath%20it.%3c/desc%3e%3cdefs%3e%3cg%20id='joining-stitch'%20fill='none'%20stroke='%23f2efdf'%20stroke-linecap='round'%20stroke-linejoin='round'%3e%3cpath%20stroke-width='1.7'%20d='M0%2033C-2%2037-5%2039-5%2042L0%2047L5%2042C5%2039%202%2037%200%2033Z'/%3e%3cpath%20stroke-width='1.25'%20d='M0%2038L-2%2042L0%2044L2%2042Z'/%3e%3cpath%20stroke-width='2'%20d='M0%2051C-9%2042-19%2044-16%2049C-14%2053-6%2053%200%2056C6%2053%2014%2053%2016%2049C19%2044%209%2042%200%2051Z'/%3e%3cpath%20stroke-width='1.25'%20d='M-19%2054Q-10%2054%200%2061Q10%2054%2019%2054'/%3e%3cpath%20stroke-width='1.6'%20d='M-7%2060L0%2066L7%2060M-4%2065L0%2069L4%2065'/%3e%3ccircle%20cy='29.5'%20r='1'%20fill='%23f2efdf'%20stroke='none'/%3e%3c/g%3e%3c/defs%3e%3c!--%20The%20endpoints%20and%20tangents%20match,%20including%20the%20half-stitches%20at%20each%20seam.%20--%3e%3cpath%20fill='%23f2efdf'%20d='M0%2065C9%2065%2016%2058%2024%2057C38%2055%2047%2065%2060%2068C73%2065%2082%2055%2096%2057C104%2058%20111%2065%20120%2065V76H0Z'/%3e%3cg%20fill='none'%20stroke='%23f2efdf'%20stroke-linecap='round'%20stroke-linejoin='round'%3e%3c!--%20Paired%20rounded%20crowns%20make%20the%20scalloped,%20embroidered%20outer%20edge.%20--%3e%3cpath%20stroke-width='2.9'%20d='M60%2061C53%2057%2043%2052%2034%2044C25%2037%2020%2031%2022%2022C24%2011%2037%208%2046%2016C49%2019%2050%2019%2053%2015C57%209%2063%209%2067%2015C70%2019%2071%2019%2074%2016C83%208%2096%2011%2098%2022C100%2031%2095%2037%2086%2044C77%2052%2067%2057%2060%2061Z'/%3e%3cpath%20stroke-width='1.05'%20d='M60%2057C51%2051%2037%2043%2031%2035C24%2027%2025%2020%2031%2017C36%2014%2042%2017%2046%2021C51%2026%2053%2020%2055%2017C58%2013%2062%2013%2065%2017C67%2020%2069%2026%2074%2021C78%2017%2084%2014%2089%2017C95%2020%2096%2027%2089%2035C83%2043%2069%2051%2060%2057Z'/%3e%3c!--%20Separate%20open%20petals,%20not%20a%20solid%20floral%20silhouette.%20--%3e%3cpath%20stroke-width='2.2'%20d='M57%2049C48%2044%2033%2032%2033%2025C33%2021%2037%2020%2040%2024C46%2030%2052%2041%2057%2049Z'/%3e%3cpath%20stroke-width='2.2'%20d='M63%2049C72%2044%2087%2032%2087%2025C87%2021%2083%2020%2080%2024C74%2030%2068%2041%2063%2049Z'/%3e%3cpath%20stroke-width='2.15'%20d='M60%2047C56%2039%2051%2030%2053%2025C55%2020%2060%2024%2060%2029C60%2024%2065%2020%2067%2025C69%2030%2064%2039%2060%2047Z'/%3e%3cpath%20stroke-width='1.8'%20d='M54%2049C46%2049%2038%2046%2036%2041C35%2037%2040%2038%2044%2041L54%2049ZM66%2049C74%2049%2082%2046%2084%2041C85%2037%2080%2038%2076%2041L66%2049Z'/%3e%3cpath%20stroke-width='1.2'%20d='M49%2054Q60%2048%2071%2054M52%2056Q60%2052%2068%2056'/%3e%3cpath%20stroke-width='1.3'%20d='M19%2029Q15%2033%2019%2037M101%2029Q105%2033%20101%2037M19%2041L23%2044M101%2041L97%2044'/%3e%3c!--%20Fine%20scallops%20just%20above%20the%20opaque%20paper%20edge.%20--%3e%3cpath%20stroke-width='1.35'%20d='M0%2060C9%2060%2015%2053%2024%2052C38%2050%2049%2061%2060%2064C71%2061%2082%2050%2096%2052C105%2053%20111%2060%20120%2060'/%3e%3cg%20fill='%23f2efdf'%20stroke='none'%3e%3ccircle%20cx='15.5'%20cy='39.5'%20r='1.05'/%3e%3ccircle%20cx='104.5'%20cy='39.5'%20r='1.05'/%3e%3ccircle%20cx='60'%20cy='7'%20r='.85'/%3e%3c/g%3e%3c/g%3e%3cuse%20href='%23joining-stitch'/%3e%3cuse%20href='%23joining-stitch'%20transform='translate(120%200)'/%3e%3c/svg%3e") center bottom / auto 100% repeat-x}.garden .garden-controls{bottom:calc(var(--lace-height) + 16px)}@media(max-width:700px){.garden{--lace-height: 44px}}.wedding-chat{--chat-ink: #51402e;--chat-paper: #f3e5c8;position:fixed;right:max(20px,env(safe-area-inset-right));bottom:max(20px,env(safe-area-inset-bottom));z-index:40;color:var(--chat-ink);font-family:Lora,serif}.wedding-chat button{cursor:pointer}.wedding-chat-launcher{position:relative;display:flex;align-items:center;gap:12px;min-height:64px;padding:8px 24px 8px 10px;border:1px solid #a08a60;border-radius:6px 28px 8px;background:radial-gradient(ellipse at 50% 0,#fffbeb,transparent 75%),linear-gradient(110deg,#ddc59b,#f5e8ca 30%,#eddbb7);color:var(--chat-ink);box-shadow:inset 0 0 0 4px #f7ebd3,inset 0 0 0 5px #a68b5b66,0 6px 24px #332b2533;font:700 27px/1.1 Tangerine,cursive;transition:transform .2s}.wedding-chat-launcher>span:first-child{display:grid;place-items:center;width:46px;height:46px;border:3px double #edc0ac77;border-radius:48% 45% 49% 44%;background:radial-gradient(circle at 35% 25%,#bd6570,#8c3847 60%,#682d39);color:#f9d5bf;box-shadow:inset 0 0 0 3px #722b3c66,1px 3px 4px #58322340;font:30px/1 Lora,serif;transform:rotate(-12deg)}.chat-sparkle{color:#98763c;font:24px/1 Lora,serif}.wedding-chat-launcher:hover{transform:translateY(-3px) rotate(-1deg)}.wedding-chat-panel{position:absolute;isolation:isolate;right:12px;bottom:82px;width:min(410px,calc(100vw - 64px));height:calc(100dvh - 132px);display:flex;flex-direction:column;overflow:visible;border:1px solid #a58a5d;border-radius:10px;padding:20px 0;background:radial-gradient(ellipse at 0 0,#b68b4e38,transparent 45%),radial-gradient(ellipse at 100% 100%,#b68b4e33,transparent 40%),repeating-linear-gradient(3deg,#7b562205 0 1px,transparent 1px 4px),linear-gradient(100deg,#e8d3aa,#fbf0d7 12%,#f3e5c8 80%,#e3cba1);box-shadow:inset 0 0 24px #90662a25,0 18px 65px #332b2545,3px 4px 0 -1px #eddfc2,4px 5px #a58a5d;text-align:left;animation:chat-scroll-unroll .8s cubic-bezier(.22,.65,.3,1) both}.chat-scroll-roll{position:absolute;left:0;right:0;height:24px;z-index:2;border:1px solid #a58a5d;border-radius:12px;background:linear-gradient(to bottom,#aa8250,#e4cca0 14%,#fff1d2 37%,#ebd6b0 58%,#b4915e 85%,#876337);box-shadow:0 3px 6px #61452640,inset 5px 0 4px #8c653a33,inset -5px 0 4px #8c653a33;pointer-events:none}.chat-scroll-roll-top{top:0;animation:chat-scroll-rise .8s cubic-bezier(.22,.65,.3,1) both}.chat-scroll-roll-bottom{bottom:0}.chat-scroll-roll:before,.chat-scroll-roll:after{content:"";position:absolute;top:-1px;width:12px;height:24px;border:3px double #d5b875;border-radius:5px;background:linear-gradient(#5a3822,#aa7945 35%,#69432a 75%,#402819);box-shadow:1px 2px 3px #40281955}.chat-scroll-roll:before{left:-5px}.chat-scroll-roll:after{right:-5px}.chat-scroll-handle{position:absolute;top:5px;width:25px;height:12px;border:1px solid #51351f;border-radius:4px;background:linear-gradient(#5b3822,#b0844b 35%,#845930 60%,#432a1b);box-shadow:0 3px 4px #40281944}.chat-scroll-handle.left{left:-24px}.chat-scroll-handle.right{right:-24px;transform:scaleX(-1)}.chat-scroll-handle:before{content:"";position:absolute;left:-2px;top:-6px;width:12px;height:24px;border:1px solid #51351f;border-radius:45%;background:linear-gradient(100deg,#4d301e,#aa7d46 35%,#c39b5c 48%,#714a2b 80%);box-shadow:inset 2px 0 2px #f4d48c44,1px 2px 3px #40281955}.chat-scroll-handle:after{content:"";position:absolute;left:11px;top:-2px;width:4px;height:16px;border-radius:2px;background:linear-gradient(#806032,#e1c88c 35%,#a1844b 75%,#69502c)}.wedding-chat-panel>:not(.chat-scroll-roll){animation:chat-scroll-ink .8s ease-out both}.wedding-chat-panel.is-closing{animation:chat-scroll-roll-up .55s cubic-bezier(.55,0,.7,.4) both}.wedding-chat-panel.is-closing .chat-scroll-roll-top{animation:chat-scroll-lower .55s cubic-bezier(.55,0,.7,.4) both}.wedding-chat-panel.is-closing>:not(.chat-scroll-roll){animation:chat-scroll-ink-out .55s ease-in both}.wedding-chat-panel:before{content:"";position:absolute;top:7px;right:7px;bottom:7px;left:7px;z-index:-1;border:1px solid #a48b5955;border-radius:15px 2px 12px;pointer-events:none}.wedding-chat-heading{position:relative;display:flex;align-items:center;flex-shrink:0;gap:10px;padding:24px 16px 26px;background:url(./eucalyptus-02-DiGgAuX8.png) right -30px top -50px / 130px auto no-repeat}.wedding-chat-heading:after{content:"✧ ───── ❀ ───── ✧";position:absolute;left:20px;right:20px;bottom:-3px;color:#9b8050;text-align:center;font-size:13px;letter-spacing:4px;pointer-events:none}.wedding-chat-heading h2{margin:0;font:700 37px/1 Tangerine,cursive;letter-spacing:0}.wedding-chat-heading p{margin:8px 0 0;font-size:10px;letter-spacing:1.4px;text-transform:uppercase}.chat-flower{font-size:35px;color:#7d845e;text-shadow:0 1px #fff8e5}.wedding-chat-heading button{align-self:flex-start;margin-left:auto;min-width:44px;min-height:44px;border:0;border-radius:50%;background:#fbf0d7df;color:var(--chat-ink);font-size:26px}.wedding-chat-messages{flex:1;min-height:0;overflow-y:auto;padding:24px 22px 12px;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#af966b transparent}.wedding-chat-messages{-webkit-mask-image:linear-gradient(to bottom,transparent,#000 24px,#000 calc(100% - 16px),transparent);mask-image:linear-gradient(to bottom,transparent,#000 24px,#000 calc(100% - 16px),transparent)}.chat-bubble{position:relative;max-width:94%;margin:0 0 20px;padding:15px 16px;border:1px solid #b39a6a55;border-radius:2px 10px 8px 12px;background:linear-gradient(120deg,#fff9eabf,#f5e8cd99);box-shadow:1px 3px 5px #80623b0f;font-size:14px;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere}.chat-bubble.assistant:before{content:"❧";display:block;margin-bottom:4px;color:#7d845e;font-size:23px;line-height:1}.chat-bubble.assistant{white-space:normal}.chat-bubble.assistant>:first-child{margin-top:0}.chat-bubble.assistant>:last-child{margin-bottom:0}.chat-bubble.assistant p{margin:0 0 12px}.chat-bubble.assistant :is(h1,h2,h3,h4,h5,h6){margin:16px 0 8px;font:600 16px/1.5 Lora,serif;letter-spacing:0}.chat-bubble.assistant :is(ul,ol){margin:8px 0 12px;padding-left:22px}.chat-bubble.assistant li+li{margin-top:6px}.chat-bubble.assistant li>p{margin-bottom:6px}.chat-bubble.assistant a{color:#654222;text-underline-offset:3px}.chat-bubble.assistant blockquote{margin:12px 0;padding-left:12px;border-left:2px solid #a48b59}.chat-bubble.assistant code{padding:2px 4px;border-radius:3px;background:#a48b5920;font-size:.9em}.chat-bubble.assistant pre{max-width:100%;overflow-x:auto;padding:10px;background:#a48b5915}.chat-bubble.assistant pre code{padding:0;background:none}.chat-bubble.assistant hr{border:0;border-top:1px solid #a48b5955;margin:16px 0}.chat-bubble.user{margin-left:auto;border-color:#7b835955;background:linear-gradient(120deg,#e5e7cf,#d7dcc0);border-radius:10px 2px 12px 8px;color:#3f4935}.chat-thinking{color:#706044;font-size:14px;font-style:italic}.chat-error{color:#7d3643;font-size:13px;line-height:1.6}.wedding-chat-notice{flex-shrink:0;margin:0;padding:0 22px 6px;color:#6f6049;font-size:11px;line-height:1.6}.wedding-chat-notice summary{min-height:24px;cursor:pointer}.wedding-chat-notice p{margin:4px 0 8px}.wedding-chat-form{display:flex;align-items:center;flex-shrink:0;gap:10px;margin:0 16px;padding:14px 0 20px;border-top:1px solid #a48b5966}.wedding-chat-form input{min-width:0;flex:1;border:0;border-bottom:1px solid #a48b59;border-radius:0;padding:12px 4px;background:#fff9ea55;color:var(--chat-ink);font:italic 16px/1.5 Lora,serif}.wedding-chat-form input::placeholder{color:#77684e;opacity:1;font-size:13px}.wedding-chat-form button{min-width:48px;min-height:48px;border:3px double #edc0ac88;border-radius:45% 49% 44% 48%;background:radial-gradient(circle at 35% 25%,#bd6570,#8c3847 60%,#682d39);color:#ffe7cb;box-shadow:inset 0 0 0 3px #722b3c66,1px 3px 4px #58322340;font-size:25px}.wedding-chat-form button:disabled{opacity:.5;cursor:default}.wedding-chat :focus-visible{outline:2px solid #80512f;outline-offset:3px}@keyframes chat-scroll-unroll{0%{clip-path:inset(calc(100% - 24px) -80px -80px)}to{clip-path:inset(0 -80px -80px)}}@keyframes chat-scroll-rise{0%{top:calc(100% - 24px)}to{top:0}}@keyframes chat-scroll-ink{0%,20%{opacity:0}to{opacity:1}}@keyframes chat-scroll-roll-up{0%{clip-path:inset(0 -80px -80px)}to{clip-path:inset(calc(100% - 24px) -80px -80px)}}@keyframes chat-scroll-lower{0%{top:0}to{top:calc(100% - 24px)}}@keyframes chat-scroll-ink-out{0%{opacity:1}70%,to{opacity:0}}@media(prefers-reduced-motion:reduce){.wedding-chat-panel,.chat-scroll-roll-top,.wedding-chat-panel>:not(.chat-scroll-roll),.wedding-chat-panel.is-closing,.wedding-chat-panel.is-closing .chat-scroll-roll-top,.wedding-chat-panel.is-closing>:not(.chat-scroll-roll){animation:none}.wedding-chat-launcher{transition:none}.wedding-chat-launcher:hover{transform:none}}@media(max-width:600px){.wedding-chat{right:16px;bottom:max(16px,env(safe-area-inset-bottom))}.wedding-chat-heading{padding-left:12px;gap:8px}.wedding-chat-heading h2{font-size:clamp(28px,8vw,37px)}.wedding-chat-messages{padding-left:16px;padding-right:16px}}.chat-rsvp-review{border-top:1px solid #a48b5966;margin-top:16px;padding-top:16px}.chat-rsvp-review dl{margin:12px 0}.chat-rsvp-review dt{font-size:12px;color:#6f6049}.chat-rsvp-review dd{margin:0 0 10px;overflow-wrap:anywhere}.chat-rsvp-review button{min-height:44px;border:1px solid #66724e;border-radius:6px;padding:10px 16px;background:#65715c;color:#fffaf0;font:inherit}.chat-rsvp-review button:disabled{opacity:.5;cursor:default}:root{color-scheme:light;--paper: #f3ecdf;--ink: #514332;--muted: #8a7b65;--envelope-width: min(400px, 76vw);--photo-offset: clamp(130px, 24vw, 260px);font-family:Lora,serif;color:var(--ink);background:var(--paper)}*{box-sizing:border-box}body{margin:0}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:20;opacity:.065;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23000' filter='url(%23n)' opacity='.5' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}button:focus-visible,a:focus-visible{outline:2px solid var(--ink);outline-offset:7px}.masthead{margin:0 5%;height:108px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #39463c20}.monogram{font-family:Tangerine,cursive;font-size:32px;text-decoration:none;color:var(--ink);letter-spacing:-3px}.monogram span{font-size:22px;font-style:italic;margin:0 3px}.masthead-note,.edition,.eyebrow,footer,.detail-number,.preview-note{font-size:10px;letter-spacing:2px;font-weight:500}.edition{color:var(--muted);font-size:9px;letter-spacing:1.5px}.invitation{padding:66px 16px 48px;text-align:center;overflow:hidden}.eyebrow{margin:0 0 21px;color:var(--muted)}h1,h2,h3{font-family:Tangerine,cursive;font-weight:400}h1{font-size:clamp(46px,6.5vw,78px);line-height:1.05;margin:0;letter-spacing:-2.5px}h1 em,h2 em{font-weight:400;color:#7b876b}.subtitle{font-size:13px;color:var(--muted);margin:21px 0 0;line-height:1.8}.scene{width:100%;max-width:1040px;height:450px;margin:-98px auto 0;position:relative;perspective:1400px}.scene.is-open:not(.is-animated){height:550px;margin-top:100px}.envelope-back,.envelope-front,.envelope-lining,.envelope-flap{position:absolute;left:50%;width:var(--envelope-width);top:230px;margin-left:calc(var(--envelope-width) / -2)}.envelope-back{height:240px;background:#e7e4da;border-radius:4px;box-shadow:0 3px 5px #49351e1c;z-index:1}.envelope-lining{height:220px;background:radial-gradient(ellipse at 50% 100%,#d4d0c4,#f5f3ec 80%);z-index:2;border:9px solid #eeece3;box-shadow:inset 0 8px 14px #746e5f24}.envelope-front{height:240px;z-index:5;background:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='400'%20height='240'%20viewBox='0%200%20400%20240'%3e%3cdefs%3e%3cclipPath%20id='pocket'%3e%3cpath%20d='M2%202%20Q91%2058%20174%20109%20Q200%20124%20226%20109%20Q309%2058%20398%202%20L399%20237%20Q290%20241%20201%20238%20L72%20239%202%20237Z'/%3e%3c/clipPath%3e%3clinearGradient%20id='paper'%20x2='.35'%20y2='1'%3e%3cstop%20stop-color='%23fffefa'/%3e%3cstop%20offset='.5'%20stop-color='%23f9f8f3'/%3e%3cstop%20offset='1'%20stop-color='%23e9e7df'/%3e%3c/linearGradient%3e%3clinearGradient%20id='fold'%20x2='0'%20y2='1'%3e%3cstop%20stop-color='%23fdfcf8'/%3e%3cstop%20offset='1'%20stop-color='%23f0eee7'/%3e%3c/linearGradient%3e%3cfilter%20id='fibre'%3e%3cfeTurbulence%20type='fractalNoise'%20baseFrequency='.7'%20numOctaves='3'%20stitchTiles='stitch'/%3e%3cfeColorMatrix%20type='saturate'%20values='0'/%3e%3cfeComponentTransfer%3e%3cfeFuncA%20type='linear'%20slope='.035'/%3e%3c/feComponentTransfer%3e%3cfeBlend%20in='SourceGraphic'%20mode='multiply'/%3e%3c/filter%3e%3c/defs%3e%3cg%20clip-path='url(%23pocket)'%3e%3cg%20filter='url(%23fibre)'%3e%3cpath%20d='M3%202%20Q83%200%20150%202%20L272%201%20397%203%20399%2083%20398%20163%20399%20237%20Q290%20241%20201%20238%20L72%20239%202%20237%201%20148Z'%20fill='url(%23paper)'/%3e%3cpath%20d='M2%203%20Q96%2065%20203%20134%20Q101%20186%202%20237Z'%20fill='%23dedbd1'%20opacity='.24'/%3e%3cpath%20d='M398%203%20Q303%2071%20199%20135%20Q301%20187%20398%20237Z'%20fill='%23d8d5cb'%20opacity='.2'/%3e%3cpath%20d='M3%20236%20Q91%20161%20174%20119%20Q199%20105%20224%20119%20Q321%20173%20397%20237Z'%20fill='url(%23fold)'/%3e%3cpath%20d='M3%20235%20Q101%20163%20175%20119%20Q199%20105%20224%20119%20Q310%20168%20397%20236'%20fill='none'%20stroke='%23c3bfb3'%20stroke-opacity='.28'/%3e%3cpath%20d='M3%20233%20Q101%20161%20175%20117%20Q199%20103%20224%20117%20Q310%20166%20397%20234'%20fill='none'%20stroke='%23fff'%20stroke-opacity='.8'/%3e%3cpath%20d='M3%20236%20Q200%20239%20397%20236'%20fill='none'%20stroke='%23cac6bb'%20stroke-opacity='.35'/%3e%3c/g%3e%3c/g%3e%3cpath%20d='M3%203%20Q91%2059%20174%20110%20Q200%20125%20226%20110%20Q309%2059%20397%203'%20fill='none'%20stroke='%23c3bfb3'%20stroke-opacity='.5'/%3e%3c/svg%3e") center / 100% 100% no-repeat;filter:drop-shadow(0 12px 10px #51371e24)}.envelope-front:before,.flap-outside:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='400'%20height='240'%20viewBox='0%200%20400%20240'%3e%3cdefs%3e%3cfilter%20id='relief'%20x='-15%25'%20y='-15%25'%20width='130%25'%20height='130%25'%3e%3cfeDropShadow%20dx='.8'%20dy='1'%20stdDeviation='.55'%20flood-color='%239c978b'%20flood-opacity='.48'/%3e%3cfeDropShadow%20dx='-.6'%20dy='-.8'%20stdDeviation='.3'%20flood-color='%23fff'%20flood-opacity='1'/%3e%3c/filter%3e%3cg%20id='scroll'%20fill='none'%20stroke='%23faf9f5'%20stroke-width='1.7'%20stroke-linecap='round'%20stroke-linejoin='round'%3e%3cpath%20d='M50%20102C49%2085%2024%2083%2017%2068C7%2047%2017%2026%2032%2030C47%2034%2043%2052%2032%2050C24%2049%2026%2039%2032%2041'/%3e%3cpath%20d='M48%2085C35%2077%2030%2064%2035%2059C44%2051%2048%2066%2042%2070C39%2072%2036%2069%2038%2066'/%3e%3cpath%20d='M22%2078C8%2080%202%2070%208%2063C11%2060%2014%2062%2014%2065'/%3e%3cpath%20d='M16%2058C5%2053%202%2043%2010%2039M19%2039C11%2031%2014%2019%2023%2017C31%2015%2037%2020%2034%2025'/%3e%3cpath%20d='M29%2031C31%2019%2042%2015%2044%207'/%3e%3cpath%20d='M46%2096C35%2092%2026%2095%2025%20102C33%20105%2040%20103%2046%2096ZM27%2081C23%2089%2013%2091%209%2086C12%2079%2020%2077%2027%2081ZM17%2058C8%2060%203%2056%203%2050C10%2048%2015%2051%2017%2058ZM25%2023C19%2021%2017%2015%2021%2010C28%2011%2030%2017%2025%2023Z'%20fill='%23faf9f5'%20stroke-width='.8'/%3e%3cpath%20d='M27%20101%2039%2098M12%2085%2022%2082M6%2052%2013%2055M22%2013%2025%2020'%20stroke='%23eeece5'%20stroke-width='.7'/%3e%3c/g%3e%3cg%20id='flower'%20fill='%23faf9f5'%20stroke='%23fdfcf9'%20stroke-width='.8'%3e%3cpath%20d='M50%2027C34%2022%2035%209%2043%2012C43%201%2057%201%2057%2012C66%209%2067%2022%2050%2027Z'/%3e%3cpath%20d='M50%2024C38%2030%2031%2021%2037%2017C30%209%2040%203%2045%2011C49%203%2059%208%2055%2015C66%2015%2064%2028%2050%2024Z'/%3e%3cpath%20d='M50%2022C43%2025%2039%2017%2044%2015C44%209%2053%209%2053%2015C59%2015%2057%2024%2050%2022Z'/%3e%3cpath%20d='M47%2018Q50%2012%2053%2018Q52%2022%2048%2020'%20fill='none'%20stroke='%23e5e2d9'/%3e%3c/g%3e%3cpattern%20id='lace'%20width='100'%20height='112'%20patternUnits='userSpaceOnUse'%3e%3cg%20filter='url(%23relief)'%3e%3cuse%20href='%23scroll'/%3e%3cuse%20href='%23scroll'%20transform='translate(100%200)%20scale(-1%201)'/%3e%3cuse%20href='%23flower'/%3e%3cpath%20d='M50%2035Q39%2045%2050%2055Q61%2045%2050%2035ZM50%2059Q43%2066%2050%2073Q57%2066%2050%2059Z'%20fill='none'%20stroke='%23faf9f5'%20stroke-width='1.6'/%3e%3cg%20fill='%23faf9f5'%3e%3ccircle%20cx='50'%20cy='81'%20r='1.6'/%3e%3ccircle%20cx='50'%20cy='88'%20r='1.3'/%3e%3ccircle%20cx='4'%20cy='106'%20r='1.5'/%3e%3ccircle%20cx='96'%20cy='106'%20r='1.5'/%3e%3c/g%3e%3c/g%3e%3c/pattern%3e%3c/defs%3e%3cpath%20d='M0%200H400V240H0Z'%20fill='url(%23lace)'/%3e%3c/svg%3e") center top / 100% auto no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.envelope-front:before{-webkit-mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20400%20240'%3e%3c!--%20Each%20paper%20panel%20has%20its%20own%20undecorated%20fold%20allowance.%20--%3e%3cg%20fill='white'%3e%3cpath%20d='M12%2026%20Q80%2069%20158%20120%20Q82%20165%2012%20213Z'/%3e%3cpath%20d='M388%2026%20Q320%2069%20242%20120%20Q318%20165%20388%20213Z'/%3e%3cpath%20d='M25%20225%20Q106%20166%20180%20128%20Q200%20116%20220%20128%20Q294%20166%20375%20225Z'/%3e%3c/g%3e%3c/svg%3e");mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20400%20240'%3e%3c!--%20Each%20paper%20panel%20has%20its%20own%20undecorated%20fold%20allowance.%20--%3e%3cg%20fill='white'%3e%3cpath%20d='M12%2026%20Q80%2069%20158%20120%20Q82%20165%2012%20213Z'/%3e%3cpath%20d='M388%2026%20Q320%2069%20242%20120%20Q318%20165%20388%20213Z'/%3e%3cpath%20d='M25%20225%20Q106%20166%20180%20128%20Q200%20116%20220%20128%20Q294%20166%20375%20225Z'/%3e%3c/g%3e%3c/svg%3e");opacity:.8}.flap-outside:before{-webkit-mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20400%20144'%3e%3c!--%20Leave%20the%20hinge,%20beaded%20hem,%20and%20cut%20edges%20free%20of%20raised%20decoration.%20--%3e%3cpath%20d='M29%2012%20Q200%208%20371%2012%20Q302%2061%20214%20120%20Q200%20131%20186%20120%20Q98%2061%2029%2012Z'%20fill='white'/%3e%3c/svg%3e");mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20400%20144'%3e%3c!--%20Leave%20the%20hinge,%20beaded%20hem,%20and%20cut%20edges%20free%20of%20raised%20decoration.%20--%3e%3cpath%20d='M29%2012%20Q200%208%20371%2012%20Q302%2061%20214%20120%20Q200%20131%20186%20120%20Q98%2061%2029%2012Z'%20fill='white'/%3e%3c/svg%3e");background-position:9px 5px}.envelope-flap{height:144px;transform-origin:center 2px;transform-style:preserve-3d;z-index:6}.flap-face{position:absolute;top:0;right:0;bottom:0;left:0;backface-visibility:hidden;-webkit-backface-visibility:hidden}.flap-outside{background:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='400'%20height='144'%20viewBox='0%200%20400%20144'%20preserveAspectRatio='none'%3e%3cdefs%3e%3cclipPath%20id='flap'%3e%3cpath%20d='M2%202%20Q105%200%20200%202%20Q300%200%20398%202%20Q323%2052%20220%20127%20Q200%20144%20180%20127%20Q78%2053%202%202Z'/%3e%3c/clipPath%3e%3clinearGradient%20id='p'%20x2='.2'%20y2='1'%3e%3cstop%20stop-color='%23fffefa'/%3e%3cstop%20offset='.7'%20stop-color='%23f7f6f0'/%3e%3cstop%20offset='1'%20stop-color='%23e8e5dc'/%3e%3c/linearGradient%3e%3cfilter%20id='f'%3e%3cfeTurbulence%20type='fractalNoise'%20baseFrequency='.7'%20numOctaves='3'%20stitchTiles='stitch'/%3e%3cfeColorMatrix%20type='saturate'%20values='0'/%3e%3cfeComponentTransfer%3e%3cfeFuncA%20type='linear'%20slope='.035'/%3e%3c/feComponentTransfer%3e%3cfeBlend%20in='SourceGraphic'%20mode='multiply'/%3e%3c/filter%3e%3c/defs%3e%3cg%20clip-path='url(%23flap)'%3e%3cpath%20d='M2%202%20Q105%200%20200%202%20Q300%200%20398%202%20Q323%2052%20220%20127%20Q200%20144%20180%20127%20Q78%2053%202%202Z'%20fill='url(%23p)'%20filter='url(%23f)'/%3e%3c/g%3e%3cpath%20d='M5%205%20Q91%2064%20181%20129%20Q200%20144%20219%20129%20Q313%2062%20395%205'%20fill='none'%20stroke='%23c7c3b7'%20opacity='.6'/%3e%3cpath%20d='M10%205%20Q98%2065%20182%20124%20Q200%20138%20218%20124%20Q308%2062%20390%205'%20fill='none'%20stroke='%23fffefa'%20stroke-width='3'%20stroke-linecap='round'%20stroke-dasharray='1%205'/%3e%3cpath%20d='M14%205%20Q100%2063%20183%20120%20Q200%20134%20217%20120%20Q305%2061%20386%205'%20fill='none'%20stroke='%23d5d1c6'%20stroke-width='.7'%20opacity='.7'/%3e%3cpath%20d='M4%203%20Q200%200%20396%203'%20fill='none'%20stroke='%23d8d4c9'%20opacity='.4'/%3e%3c/svg%3e") center / 100% 100% no-repeat;filter:drop-shadow(0 3px 2px #77716430)}.flap-inside{transform:rotateY(180deg);background:linear-gradient(#e8e5dc,#f8f6ef);mask:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='400'%20height='144'%20viewBox='0%200%20400%20144'%20preserveAspectRatio='none'%3e%3cdefs%3e%3cclipPath%20id='flap'%3e%3cpath%20d='M2%202%20Q105%200%20200%202%20Q300%200%20398%202%20Q323%2052%20220%20127%20Q200%20144%20180%20127%20Q78%2053%202%202Z'/%3e%3c/clipPath%3e%3clinearGradient%20id='p'%20x2='.2'%20y2='1'%3e%3cstop%20stop-color='%23fffefa'/%3e%3cstop%20offset='.7'%20stop-color='%23f7f6f0'/%3e%3cstop%20offset='1'%20stop-color='%23e8e5dc'/%3e%3c/linearGradient%3e%3cfilter%20id='f'%3e%3cfeTurbulence%20type='fractalNoise'%20baseFrequency='.7'%20numOctaves='3'%20stitchTiles='stitch'/%3e%3cfeColorMatrix%20type='saturate'%20values='0'/%3e%3cfeComponentTransfer%3e%3cfeFuncA%20type='linear'%20slope='.035'/%3e%3c/feComponentTransfer%3e%3cfeBlend%20in='SourceGraphic'%20mode='multiply'/%3e%3c/filter%3e%3c/defs%3e%3cg%20clip-path='url(%23flap)'%3e%3cpath%20d='M2%202%20Q105%200%20200%202%20Q300%200%20398%202%20Q323%2052%20220%20127%20Q200%20144%20180%20127%20Q78%2053%202%202Z'%20fill='url(%23p)'%20filter='url(%23f)'/%3e%3c/g%3e%3cpath%20d='M5%205%20Q91%2064%20181%20129%20Q200%20144%20219%20129%20Q313%2062%20395%205'%20fill='none'%20stroke='%23c7c3b7'%20opacity='.6'/%3e%3cpath%20d='M10%205%20Q98%2065%20182%20124%20Q200%20138%20218%20124%20Q308%2062%20390%205'%20fill='none'%20stroke='%23fffefa'%20stroke-width='3'%20stroke-linecap='round'%20stroke-dasharray='1%205'/%3e%3cpath%20d='M14%205%20Q100%2063%20183%20120%20Q200%20134%20217%20120%20Q305%2061%20386%205'%20fill='none'%20stroke='%23d5d1c6'%20stroke-width='.7'%20opacity='.7'/%3e%3cpath%20d='M4%203%20Q200%200%20396%203'%20fill='none'%20stroke='%23d8d4c9'%20opacity='.4'/%3e%3c/svg%3e") center / 100% 100% no-repeat}.envelope-shadow{position:absolute;left:50%;top:457px;width:min(380px,72vw);height:18px;border-radius:50%;background:#51371e38;filter:blur(15px);transform:translate(-50%)}.seal{position:absolute;top:335px;left:50%;margin-left:-32px;width:64px;height:64px;border-radius:43% 49% 45% 47%/46% 42% 49% 45%;z-index:7;cursor:pointer;color:#7d1824;border:1px solid #8a1c2c;background:radial-gradient(ellipse at 28% 22%,#e9797066 0,transparent 55%),radial-gradient(ellipse at 65% 75%,#7c1328,#b72e3e 75%);box-shadow:2px 5px 7px #3c11184d,inset 0 0 0 3px #be3d49,inset 0 0 0 4px #8e1c2d,inset 0 0 7px 5px #6e112633}.seal:before{content:"";position:absolute;width:var(--envelope-width);height:240px;left:calc(50% - var(--envelope-width) / 2);top:-105px}.seal:hover .seal-monogram{color:#63101f}.seal-monogram{display:inline-block;border:1px solid #79172899;border-radius:50%;width:43px;height:43px;line-height:39px;font-family:Tangerine,cursive;font-size:26px;letter-spacing:-3px;text-shadow:0 1px 1px #e66c70,0 -1px 1px #62101d}.seal-monogram span{font-size:18px;font-style:italic;margin-right:2px}.handwritten{font-family:Tangerine,cursive;font-style:normal;font-size:24px;color:#859074}.margin-note{position:absolute;z-index:7;left:calc(50% + 236px);top:234px;transform:rotate(9deg);white-space:nowrap;pointer-events:none}.margin-note .love-arrow{display:block;width:110px;height:85px;margin:4px 0 0 -20px}.botanical{position:absolute;left:calc(50% - 289px);top:371px;font-family:Georgia,serif;font-size:107px;color:#8e9a7a;transform:rotate(-39deg);z-index:6;pointer-events:none}.keepsakes{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:3;clip-path:inset(-160px calc((100% - var(--envelope-width)) / 2) max(0px,calc(100% - 530px)))}.photo,.invitation-card{position:absolute;top:230px;left:50%;margin:0;opacity:0;transform:translate(-50%,160px) scale(.72)}.photo{z-index:1;width:clamp(135px,19vw,195px);background:#fffdf7;padding:10px 10px 0;box-shadow:0 7px 22px #2f38262a}.photo-image{height:clamp(145px,18vw,210px);overflow:hidden;background:#d1d3c2}.photo-image>img{display:block;width:100%;height:100%;object-fit:cover;filter:saturate(.65)}.photo-together .photo-image>img{object-position:60% 60%}.photo-began .photo-image>img{filter:sepia(.18) saturate(.75) contrast(.9) brightness(1.15)}.photo figcaption{display:flex;align-items:center;justify-content:center;min-height:50px;font-family:Lora,serif;font-size:clamp(9px,.9vw,11px);font-style:italic;line-height:1.35;padding:9px 4px 13px;text-wrap:balance}.invitation-card{width:var(--envelope-width);height:460px;z-index:2;perspective:1200px}.letter-half{position:absolute;left:0;width:100%;height:50%}.letter-crop{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;backface-visibility:hidden}.letter-bottom{bottom:0;z-index:1}.letter-top{top:0;z-index:2;transform-origin:center bottom;transform-style:preserve-3d}.letter-top .letter-crop{transform:rotateX(0)}.letter-top:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(#e7d2aa,#f5e8cd 80%,#d2b88a);border:1px solid #cbb58e;backface-visibility:hidden;transform:rotateX(180deg);box-shadow:0 3px 8px #51433226}.letter-bottom .letter-paper{top:-100%}.letter-bottom:after{content:"";position:absolute;top:-3px;left:0;right:0;height:7px;z-index:3;background:linear-gradient(to bottom,transparent,#8a633b18 35%,#8a633b40 48%,#fff9e980 58%,transparent);pointer-events:none;opacity:var(--crease-opacity, 0)}.scene.is-open:not(.is-animated) .invitation-card{--crease-opacity: 1}.letter-paper{position:absolute;top:0;left:0;width:100%;height:200%;background:radial-gradient(ellipse at 45% 35%,#fff9e9 20%,#f1e2c3 75%,#d8bc88);padding:45px 40px 105px;box-shadow:inset 0 0 18px #9e73352e,inset 0 0 3px #8e622e55,0 5px 19px #2f382629;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid #cbb58e;border-radius:2px 3px 2px 4px;isolation:isolate}.letter-paper:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;opacity:.12;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='paper'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23866b46' filter='url(%23paper)' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}.card-frame{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:fill;opacity:.65;z-index:-1;pointer-events:none;mix-blend-mode:multiply}.card-frame img{display:block;width:100%;height:100%;object-fit:fill}.pressed-flowers{position:absolute;top:var(--envelope-top);left:50%;width:var(--envelope-width);height:360px;z-index:1;pointer-events:none;opacity:0;transform:translate(-50%,160px) scale(.72)}.pressed-flowers img{position:absolute;object-fit:contain;filter:drop-shadow(1px 3px 2px #382e2426)}.pressed-eucalyptus-one{left:-6%;top:-12%;width:23%;height:90%;transform:rotate(-7deg)}.pressed-eucalyptus-two{right:-7%;top:-15%;width:24%;height:85%;transform:rotate(8deg)}.pressed-eucalyptus-four{right:-4%;top:24%;width:20%;height:65%;transform:rotate(5deg)}.pressed-leaves-one{left:-5%;top:52%;width:19%;height:27%;transform:rotate(-9deg)}.pressed-leaves-two{right:-4%;top:36%;width:18%;height:29%;transform:rotate(10deg)}.scene.is-open:not(.is-animated) .pressed-flowers{opacity:1;transform:translate(-50%,-300px)}.card-content{position:absolute;top:16%;right:17%;bottom:32%;left:17%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center}.card-content>span{max-width:100%;flex-shrink:0;text-wrap:balance}.card-label{font:400 11px/1.4 Lora,serif;overflow-wrap:anywhere}.card-headline{font:500 clamp(22px,4vw,30px)/1.12 "Lora",serif}.card-date{font:500 clamp(16px,3.8vw,20px)/1.4 "Lora",serif}.card-flourish{flex-shrink:0;width:100px;max-width:65%;height:14px;color:#ad946c}.card-invitation{font-size:11px;line-height:1.5}.card-names{font:400 26px/1.1 Tangerine,cursive}.vinyl-record{position:absolute;top:230px;left:50%;opacity:0;transform:translate(-50%,160px) scale(.72)}.vinyl-sleeve{position:absolute;top:0;right:0;bottom:0;left:0;z-index:6;pointer-events:none;transform:translateZ(0);will-change:clip-path}.vinyl-record{width:140px;height:140px;z-index:6;pointer-events:none;will-change:transform}.vinyl-disc{position:relative;width:100%;height:100%;border-radius:50%;border:2px solid #171918;background:repeating-radial-gradient(circle,#171b19 0,#171b19 1px,#292d29,#292d29,#151815 2.5px,#151815 4px);box-shadow:0 5px 12px #17261c66;animation:vinyl-spin 9s linear infinite;animation-play-state:paused}.vinyl-disc:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:conic-gradient(transparent 0deg,#fff8d92b 35deg,transparent 65deg 180deg,#fff8d926 215deg,transparent 245deg)}.vinyl-label{position:absolute;top:28%;right:28%;bottom:28%;left:28%;border-radius:50%;background:#9e3340;color:#fae8cb;display:flex;align-items:center;flex-direction:column;justify-content:center;font:700 20px Tangerine,cursive}.vinyl-label>span{position:absolute;top:4%;font-size:.75em;line-height:1}.vinyl-label-caption{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:visible}.vinyl-label-caption text{fill:currentColor;font:8px Lora,serif;letter-spacing:1px}.vinyl-hole{position:absolute;top:50%;left:50%;width:5px;height:5px;border-radius:50%;background:#e7d9be;transform:translate(-50%,-50%)}.vinyl-control{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;border:0;border-radius:50%;background:transparent;cursor:pointer;pointer-events:auto;color:#fff7e4}.vinyl-control>span{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:22px;height:22px;border:1px solid #fff7e470;border-radius:50%;background:#171918d9;font-size:13px}.vinyl-control:hover>span{background:#9e3340}.scene.is-open .vinyl-record.is-playing .vinyl-disc{animation-play-state:running}.garden.is-still .vinyl-disc{animation-play-state:paused}@keyframes vinyl-spin{to{transform:rotate(360deg)}}.scene.is-open:not(.is-animated) .vinyl-record{opacity:1;transform:translate(calc(-50% - var(--envelope-width) / 2),230px)}.scene.is-open:not(.is-animated) .seal{opacity:0;visibility:hidden}.scene.is-open:not(.is-animated) .envelope-flap{transform:translateY(60px) rotateX(-180deg);z-index:2}.scene.is-open:not(.is-animated) .envelope-back,.scene.is-open:not(.is-animated) .envelope-front,.scene.is-open:not(.is-animated) .envelope-lining{transform:translateY(60px)}.scene.is-open:not(.is-animated) .envelope-shadow{transform:translate(-50%,60px)}.scene.is-open:not(.is-animated) .margin-note{opacity:0}.scene.is-open:not(.is-animated) .botanical{transform:translate(-14px,59px) rotate(-53deg)}.scene.is-open:not(.is-animated) .keepsakes{z-index:4;clip-path:none}.scene.is-open:not(.is-animated) .photo-left{transform:translate(calc(-50% - var(--photo-offset)),-255px) rotate(-13deg);opacity:1}.scene.is-open:not(.is-animated) .photo-right{transform:translate(calc(-50% + var(--photo-offset)),-245px) rotate(11deg);opacity:1}.scene.is-open:not(.is-animated) .invitation-card{transform:translate(-50%,-395px) rotate(-2deg);opacity:1}.invitation-hint{margin-top:46px}.invitation-hint p{color:var(--muted);font-family:Tangerine,cursive;font-style:normal;font-size:20px;margin:0 0 14px}.text-button{background:none;border:none;border-bottom:1px solid #98a18b;padding:8px 0;cursor:pointer;color:var(--ink);font-size:9px;letter-spacing:2px}.text-button span{margin-left:14px;font-size:14px}.wedding-details,.rsvp-section{padding:65px 4% 56px;margin:0 auto;border-top:1px solid #39463c20;text-align:center}h2{font-size:clamp(34px,4vw,52px);line-height:1.17;margin:0 0 23px;letter-spacing:-1px}.details-heading>p:last-child{font-size:13px;line-height:1.9;color:var(--muted)}.details-grid{display:grid;grid-template-columns:repeat(3,1fr);max-width:1325px;margin:56px auto}.details-grid article{padding:10px 20px}.details-grid article+article{border-left:1px solid #39463c20}.detail-number{color:var(--ink);font-size:14px;letter-spacing:1.5px}h3{font-size:28px;margin:16px 0 10px}.details-grid h3{font-family:Lora,serif;font-size:28px;font-weight:500;line-height:1.3;text-wrap:balance}.details-grid p{font-size:18px;color:var(--ink);line-height:1.7}.wedding-details,.rsvp-section{position:relative;padding-bottom:120px}.wedding-details>.lace-border{top:calc(100% - 1px);bottom:auto;background:#f3ecdf;transform:scaleY(-1)}.wedding-details+.rsvp-section{padding-top:calc(65px + var(--lace-height, 64px))}.schedule-link{margin-top:28px}.schedule-link a{color:inherit;text-underline-offset:6px}.rsvp-section{--paper: #514332;--ink: #f3ecdf;--muted: #e0d3bf;max-width:none;border-top:0;background:var(--paper);color:var(--ink);scroll-margin-top:32px}.rsvp-section>.lace-border{background:#f3ecdf}.rsvp-section a:focus-visible,.rsvp-section button:focus-visible{outline-color:var(--ink)}.rsvp-section>p:not(.eyebrow){font-size:18px;line-height:1.7}.rsvp-button{display:inline-block;padding:14px 38px;border:1px solid var(--ink);border-radius:3px;background:var(--ink);color:var(--paper);font:500 18px Lora,serif;text-decoration:none;cursor:pointer}.rsvp-button:hover:not(:disabled){background:var(--paper);color:var(--ink)}.rsvp-button:disabled{opacity:.55;cursor:not-allowed}.rsvp-form{display:grid;gap:24px;max-width:560px;margin:36px auto 0;text-align:left}.rsvp-form label{display:grid;gap:10px;font-size:16px;line-height:1.5}.rsvp-form input:not([type=radio]):not([type=checkbox]),.rsvp-form textarea{width:100%;min-height:48px;padding:12px;border:1px solid var(--muted);border-radius:3px;background:transparent;color:var(--ink);font:inherit}.rsvp-attendance{display:flex;flex-wrap:wrap;gap:12px;min-width:0;margin:0;padding:0;border:0}.rsvp-attendance legend{margin-bottom:14px;font-size:16px;line-height:1.5}.rsvp-attendance label{display:flex;flex:1 1 220px;align-items:center;gap:14px;min-height:72px;padding:18px;border:1px solid #f3ecdf66;border-radius:8px;background:transparent;font:500 18px/1.5 Lora,serif;cursor:pointer}.rsvp-attendance label:has(input:focus-visible){text-decoration:underline;text-underline-offset:5px}.rsvp-attendance input{width:22px;height:22px;margin:0;accent-color:var(--ink);flex-shrink:0}.rsvp-form input:not([type=radio]):not([type=checkbox]),.rsvp-form textarea,.rsvp-attendance label{border:8px solid transparent;border-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2040%2040'%20fill='none'%3e%3cpath%20d='M3%2010%20Q1%201%2010%203%20Q15%201%2020%203%20T30%203%20Q39%201%2037%2010%20Q39%2015%2037%2020%20T37%2030%20Q39%2039%2030%2037%20Q25%2039%2020%2037%20T10%2037%20Q1%2039%203%2030%20Q1%2025%203%2020%20T3%2010Z'%20stroke='%23e0d3bf'%20stroke-width='1'/%3e%3c/svg%3e") 10 / 8px / 0 round;border-radius:0}.rsvp-form label.rsvp-plus-one{position:relative;display:flex;align-items:center;gap:22px;padding:10px 8px;font:500 18px/1.5 Lora,serif;cursor:pointer;touch-action:manipulation}.plus-one-stamp{position:relative;display:grid;place-items:center;flex:0 0 76px;width:76px;height:76px;border:1px solid #8a1c2c;border-radius:43% 49% 45% 47%/46% 42% 49% 45%;color:#701926;background:radial-gradient(ellipse at 28% 22%,#e9797066,transparent 55%),radial-gradient(ellipse at 65% 75%,#7c1328,#b72e3e 75%);box-shadow:2px 5px 7px #27110c66,inset 0 0 0 3px #be3d49,inset 0 0 0 4px #8e1c2d,inset 0 0 7px 5px #6e112633}.plus-one-stamp>span{display:grid;place-items:center;width:54px;height:54px;border:1px solid #791728;border-radius:50%;outline:1px dotted #e7797566;outline-offset:-5px;font:500 28px/1 Lora,serif;text-shadow:0 1px 1px #e66c70,0 -1px 1px #62101d}.plus-one-stamp:after{content:"✓";position:absolute;right:-4px;bottom:-2px;display:grid;place-items:center;width:25px;height:25px;border:2px solid var(--paper);border-radius:50%;background:var(--ink);color:var(--paper);font:700 16px/1 serif;visibility:hidden}.rsvp-plus-one:hover:has(input:enabled) .plus-one-stamp{filter:brightness(1.12)}.rsvp-plus-one:has(input:checked) .plus-one-stamp{outline:1px solid var(--muted);outline-offset:5px}.rsvp-plus-one:has(input:checked) .plus-one-stamp:after{visibility:visible}.rsvp-plus-one:has(input:disabled){opacity:.55;cursor:not-allowed}.rsvp-plus-one:has(input:focus-visible) .plus-one-stamp{outline:3px double var(--ink);outline-offset:5px}@media(forced-colors:active){.rsvp-plus-one input{position:static;width:24px;height:24px;margin:0;clip-path:none;-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}.plus-one-stamp{display:none}}.rsvp-form textarea{resize:vertical}.rsvp-form input:focus-visible,.rsvp-form textarea:focus-visible{outline:none;box-shadow:none}.rsvp-form input:not([type=radio]):not([type=checkbox]):focus-visible,.rsvp-form textarea:focus-visible,.rsvp-attendance label:hover,.rsvp-attendance label:has(input:checked),.rsvp-attendance label:has(input:focus-visible){background:transparent;border-image-source:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2040%2040'%20fill='none'%3e%3cpath%20d='M3%2010%20Q1%201%2010%203%20Q15%201%2020%203%20T30%203%20Q39%201%2037%2010%20Q39%2015%2037%2020%20T37%2030%20Q39%2039%2030%2037%20Q25%2039%2020%2037%20T10%2037%20Q1%2039%203%2030%20Q1%2025%203%2020%20T3%2010Z'%20stroke='%23f4c87b'%20stroke-width='1'/%3e%3c/svg%3e")}@media(forced-colors:active){.rsvp-form input:focus-visible,.rsvp-form textarea:focus-visible{outline:2px solid Highlight}.rsvp-attendance label:hover,.rsvp-attendance label:has(input:checked),.rsvp-attendance label:has(input:focus-visible){border-image:none;border-color:Highlight}}.rsvp-form>p{margin:0;font-size:16px;line-height:1.6}.preview-note{margin:44px 0 0;font-size:9px;line-height:1.8;letter-spacing:.5px;color:var(--muted)}footer{margin:0 5%;border-top:1px solid #39463c20;padding:25px 0;display:flex;justify-content:space-between;align-items:center;gap:15px;font-size:8px;letter-spacing:1.5px;color:var(--muted)}footer>span:nth-child(2){font-size:23px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}@keyframes reveal{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}@media(max-width:700px){.masthead{height:80px}.masthead-note{display:none}.invitation{padding-top:50px}.eyebrow{font-size:8px;letter-spacing:1.6px}h1{letter-spacing:-1.5px}.subtitle{font-size:11px;max-width:260px;margin:18px auto 0}.scene{margin-top:-110px}.scene.is-open:not(.is-animated){margin-top:92px}.margin-note{display:none}.botanical{left:calc(50% - 188px);font-size:80px;top:394px}.invitation-hint{margin-top:40px}.invitation-card{height:420px}.vinyl-record{width:110px;height:110px}.vinyl-label{font-size:16px}.scene.is-open:not(.is-animated) .vinyl-record{transform:translate(calc(-50% - var(--envelope-width) / 2),245px)}.details-grid{grid-template-columns:1fr;margin:30px 0}.details-grid article{padding:25px 10px}.details-grid article+article{border-left:0;border-top:1px solid #39463c20}.desktop-break{display:none}footer{font-size:6px;letter-spacing:1px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}html{scroll-behavior:smooth}.garden{position:relative;isolation:isolate;height:100svh;min-height:620px;overflow:hidden;color:#f9f5e9;background:#435743;text-align:center}.garden-world{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;background:#435743}.garden-world:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(#203b282e,#1b32264d),url(./church-saints-peter-and-paul-Dp-uCduk.webp) center 58% / cover no-repeat;transform:scale(1.06);transform-origin:50% 58%}.garden.is-playing .garden-world:before{animation:garden-background-zoom 5s ease-in-out both}@keyframes garden-background-zoom{0%{transform:scale(1)}to{transform:scale(1.06)}}.garden-world:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse,transparent 20%,#142b244d 85%),linear-gradient(0deg,#17332670,transparent 35%,#17332640);pointer-events:none}.garden-glow{position:absolute;top:-20%;right:-20%;bottom:-20%;left:-20%;background:conic-gradient(from 165deg at 50% 0%,transparent 0deg,#fff9dc55 9deg,transparent 19deg,#fff9dc40 25deg,transparent 36deg);filter:blur(25px);opacity:.6}.garden-tree{position:absolute;bottom:-16vh;width:86vw;height:132%;transform-origin:50% 85%;transform:translate(var(--end-x)) scale(var(--end-scale));pointer-events:none}.garden-tree img{display:block;width:100%;height:100%;object-fit:contain;object-position:center bottom;transform:scaleX(var(--mirror, 1))}.tree-left{left:-28vw;--direction: -1}.tree-right{right:-28vw;--direction: 1;--mirror: -1}.tree-far{bottom:-9vh;height:103%;width:66vw;--start-x: calc(var(--direction) * -4vw);--end-x: calc(var(--direction) * 7vw);--start-scale: .7;--end-scale: 1.04;filter:saturate(.55) brightness(.92);opacity:.65}.tree-far.tree-left{left:-25vw}.tree-far.tree-right{right:-25vw}.tree-middle{--start-x: calc(var(--direction) * -6vw);--end-x: calc(var(--direction) * 38vw);--start-scale: .92;--end-scale: 1.15;filter:saturate(.65) brightness(.76)}.tree-near{bottom:-30vh;width:100vw;height:162%;--start-x: calc(var(--direction) * -7vw);--end-x: calc(var(--direction) * 80vw);--start-scale: 1.02;--end-scale: 1.3;filter:saturate(.65) brightness(.64) blur(1.2px)}.tree-near.tree-left{left:-35vw}.tree-near.tree-right{right:-35vw}.garden-flowerbed{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.garden-flowerbed:after{content:"";position:absolute;bottom:0;left:0;right:0;height:14%;background:linear-gradient(transparent,#243e3066)}.garden-stem{position:absolute;bottom:-7vh;left:var(--stem-left);height:var(--stem-height);transform-origin:50% 100%;animation:garden-breeze var(--breeze-duration, 6s) ease-in-out var(--breeze-delay, -2s) infinite alternate;filter:saturate(.72) brightness(.95)}.garden-stem img{display:block;height:100%;width:auto;transform:scaleX(var(--mirror, 1))}.stem-blossom{--stem-left: -4%;--stem-height: 47vh;--breeze-duration: 7s}.stem-ivory{--stem-left: 9%;--stem-height: 34vh;--breeze-delay: -4s}.stem-blue{--stem-left: 21%;--stem-height: 23vh;--breeze-duration: 5s}.stem-pink{--stem-left: 33%;--stem-height: 18vh;--breeze-delay: -5s}.stem-reflected{left:auto;right:var(--stem-left);--mirror: -1;--breeze-delay: -1s}.garden.is-still .garden-stem{animation-play-state:paused}.garden-mist{position:absolute;top:-35%;right:-35%;bottom:-35%;left:-35%;background:radial-gradient(ellipse at 36% 60%,#f8f4df85,transparent 42%),radial-gradient(ellipse at 72% 70%,#edf0d877,transparent 35%);filter:blur(35px);pointer-events:none}.garden-mist-front{opacity:.35;transform:translateY(20%)}.garden-edition{position:absolute;z-index:2;top:46px;left:20px;right:20px;font-size:9px;letter-spacing:3px;text-shadow:0 1px 12px #203c27}.garden-title{position:absolute;z-index:2;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:70px 24px;color:#fff7e4;text-shadow:0 2px 18px #152d23,0 1px 3px #152d23}.garden-prelude{font-family:Tangerine,cursive;font-style:normal;font-size:clamp(22px,2.5vw,32px);margin:0 0 24px}.garden-title h2{font-size:clamp(64px,10vw,150px);line-height:.95;letter-spacing:-4px;margin:0}.garden-title h2 span{display:inline-block;font-style:italic;font-size:.65em;color:#e7dfb8}.garden-date{font-size:9px;letter-spacing:2.5px;line-height:2;margin:32px 0 0}.garden-date span{margin:0 12px}.garden-enter{display:inline-flex;align-items:center;gap:30px;margin-top:50px;padding:12px 0;border-bottom:1px solid #fff7e480;color:inherit;text-decoration:none;font-family:Tangerine,cursive;font-size:23px;font-style:normal}.garden-enter span{font-size:19px}.garden-controls{position:absolute;bottom:28px;left:32px;right:32px;z-index:3;display:flex;justify-content:space-between;gap:12px}.garden-controls[hidden]{display:none}.garden-controls button{background:#213d3066;color:#faf7eb;border:1px solid #ffffff40;border-radius:30px;padding:11px 18px;cursor:pointer;font-size:10px;letter-spacing:1px}.garden-controls button[hidden]{display:none}.garden button:focus-visible,.garden a:focus-visible{outline-color:currentColor}.garden-petals{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.garden-petals i{position:absolute;left:15%;top:24%;width:5px;height:9px;border-radius:80% 10%;background:#fff3d7;box-shadow:0 0 16px #fff5d4;opacity:.5}.garden-petals i:nth-child(2){left:72%;top:63%}.garden-petals i:nth-child(3){left:39%;top:80%}.garden-petals i:nth-child(4){left:86%;top:32%}.garden-petals i:nth-child(5){left:23%;top:59%}.garden-petals i:nth-child(6){left:61%;top:16%}.garden-petals i:nth-child(7){left:92%;top:85%}.garden-petals i:nth-child(8){left:48%;top:42%}.garden.is-pending .garden-title{opacity:0}.garden:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;background:#fffefa;opacity:0;pointer-events:none}.garden.is-pending:after{opacity:1}.garden.is-playing:after{animation:heavenly-reveal 1.8s ease-out both}.garden .garden-controls{z-index:4}@keyframes heavenly-reveal{0%{opacity:1}to{opacity:0}}.garden.is-playing .garden-title{animation:garden-title 5s both}.garden.is-playing .garden-title:focus-within{animation:none}.garden.is-playing .garden-tree{animation:garden-travel 5s cubic-bezier(.3,.05,.25,1) both}.garden.is-playing .tree-middle{animation-duration:4.5s;animation-delay:.25s}.garden.is-playing .tree-near{animation-duration:4s}.garden.is-playing .garden-mist{animation:garden-mist 5s ease-out both}.garden.is-playing .garden-petals i{animation:garden-petal 5s ease-in-out both}.garden.is-playing .garden-petals i:nth-child(2n){animation-direction:reverse}@keyframes garden-travel{0%{transform:translate(var(--start-x)) scale(var(--start-scale))}to{transform:translate(var(--end-x)) scale(var(--end-scale))}}@keyframes garden-breeze{0%{transform:translate(-7px) rotate(-3deg)}to{transform:translate(9px) rotate(3deg)}}@keyframes garden-title{0%,48%{opacity:0;transform:translateY(calc(var(--title-offset, 170px) - 50% + 24px)) scale(.94)}72%{opacity:1;transform:translateY(calc(var(--title-offset, 170px) - 50%))}to{opacity:1;transform:none}}@keyframes garden-mist{0%{opacity:.15;transform:translate(-6%,10%) scale(.8)}to{opacity:.65;transform:translate(6%) scale(1.1)}}@keyframes garden-petal{0%{transform:translate(-25px,-35px) rotate(-20deg);opacity:0}25%{opacity:.65}to{transform:translate(65px,90px) rotate(160deg);opacity:.1}}.garden.has-invitation{min-height:840px}.garden .garden-invitation{position:absolute;z-index:2;top:calc(50% - 250px);left:0;right:0;padding:0 16px;overflow:visible;color:var(--ink)}.garden-invitation .intro{display:none}.garden-invitation .scene{height:500px!important;margin:0 auto!important}.garden-invitation .scene.is-open:not(.is-animated){transform:translateY(45px)}.garden-invitation .invitation-hint{margin-top:20px}.garden-invitation:has(.scene.is-open) .invitation-hint{margin-top:77px}.garden-invitation:has(.scene.is-open) .invitation-hint p{display:none}.garden-invitation .invitation-hint p,.garden-invitation .text-button,.garden-invitation .margin-note{color:#fff7e4;text-shadow:0 1px 3px #152d23,0 2px 12px #152d23}.garden-invitation .margin-note,.garden-invitation .invitation-hint p{font:700 32px/1.3 Tangerine,cursive}.garden-invitation .text-button{border-color:#fff7e480}.garden.is-pending .garden-invitation,.garden.is-playing .garden-invitation{visibility:hidden;opacity:0;pointer-events:none}.garden.is-finished .garden-invitation{transform-origin:50% calc(var(--envelope-top, 230px) + 120px);animation:envelope-arrive 1.4s cubic-bezier(.16,1,.3,1) both}.garden.has-invitation .garden-title h2{max-width:none;font-size:clamp(76px,9vw,128px);letter-spacing:-1px}.garden.has-invitation .garden-title h2 span{display:inline;margin:0}.garden.has-invitation .garden-prelude,.garden.has-invitation .garden-date,.garden.has-invitation .garden-enter{display:none}.garden.has-invitation .garden-title{inset:calc(50% - var(--title-offset, 170px)) 16px auto;padding:0;pointer-events:none}.garden.is-finished:has(.scene.is-open:not(.is-animated)) .garden-title{top:75px}@keyframes envelope-arrive{0%{opacity:0;transform:scale(.86)}to{opacity:1;transform:scale(1)}}@media(max-width:700px){.garden{min-height:580px}.garden-tree{width:150vw;height:128%}.tree-middle{--end-x: calc(var(--direction) * 110vw)}.tree-far{--end-x: calc(var(--direction) * 40vw)}.tree-near{--end-x: calc(var(--direction) * 200vw)}.tree-left{left:-80vw}.tree-right{right:-80vw}.tree-far{width:120vw;height:95%}.tree-far.tree-left{left:-75vw}.tree-far.tree-right{right:-75vw}.tree-near{width:190vw;height:155%}.tree-near.tree-left{left:-110vw}.tree-near.tree-right{right:-110vw}.stem-blossom{--stem-left: -18%;--stem-height: 37vh}.stem-ivory{--stem-left: -2%;--stem-height: 28vh}.stem-blue{--stem-left: 15%;--stem-height: 20vh}.stem-pink{--stem-left: 30%;--stem-height: 14vh}.garden-title h2{max-width:340px;font-size:clamp(62px,17vw,100px);letter-spacing:-2px}.garden-title h2 span{display:block;margin:12px 0}.garden-prelude{font-size:23px;margin-bottom:26px}.garden-date{font-size:8px;letter-spacing:1.5px;max-width:260px}.garden-enter{margin-top:28px}.garden-edition{top:30px;font-size:8px;letter-spacing:2px}.garden-controls{left:18px;right:18px;bottom:20px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.garden *,.garden *:before,.garden *:after{animation:none!important}#garden-wind{display:none}}.garden .garden-invitation{top:calc(50% - var(--stage-anchor))}.scene .envelope-back,.scene .envelope-front,.scene .envelope-lining,.scene .envelope-flap,.scene .photo,.scene .invitation-card,.scene .vinyl-record{top:var(--envelope-top)}.scene .invitation-card{width:var(--letter-width);height:var(--letter-height)}.scene .photo-left{width:var(--left-photo-width)}.scene .photo-left .photo-image{height:var(--left-photo-height)}.scene .photo-right{width:var(--right-photo-width)}.scene .photo-right .photo-image{height:var(--right-photo-height)}.scene .vinyl-record{width:var(--vinyl-size);height:var(--vinyl-size)}.garden.is-playing .garden-world:before,.garden.is-playing .garden-title,.garden.is-playing .garden-tree,.garden.is-playing .garden-mist,.garden.is-playing .garden-petals i{animation-duration:var(--intro-duration)}.garden.is-playing .tree-middle{animation-duration:calc(var(--intro-duration) * .9);animation-delay:calc(var(--intro-duration) * .05)}.garden.is-playing .tree-near{animation-duration:calc(var(--intro-duration) * .8)}.garden.is-finished .garden-invitation{animation-duration:var(--entrance-duration)}.site-header{position:fixed;inset:0 0 auto;z-index:30;background:transparent;color:var(--ink);-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);transition:background .3s,color .3s,box-shadow .3s}.site-header.over-dark{color:#f3ecdf}.site-header.is-scrolled{background:#514332f5;color:#f3ecdf;box-shadow:0 2px 16px #5143320d}.site-header.is-scrolled.over-dark{background:#f3ecdff5;color:#514332}.site-header.is-scrolled>.lace-border{background:#514332}.site-header.is-scrolled.over-dark>.lace-border{background:#f3ecdf}.site-header.over-dark .skip-link{background:#514332;color:#f3ecdf}.site-header .nav-flower{color:inherit;opacity:.65}.site-header a:focus-visible{outline-color:currentColor}.garden .garden-edition{top:90px}.site-header-inner{max-width:1440px;min-height:56px;padding:4px 5%;margin:auto;display:flex;align-items:center;justify-content:center;gap:24px}.site-header>.lace-border{top:calc(100% - 1px);bottom:auto;height:8px;transform:rotate(180deg);opacity:0;transition:opacity .3s}.site-header.is-scrolled>.lace-border{opacity:1}.site-header.is-scrolled.over-hero{background:transparent;color:#f3ecdf;box-shadow:none}.site-header.over-hero>.lace-border{opacity:0}.site-header nav{display:flex;align-items:center;gap:clamp(16px,3vw,40px)}.site-header nav a{display:inline-flex;align-items:center;min-height:44px;color:inherit;font:500 16px/1.5 Lora,serif;text-decoration:none;text-underline-offset:7px}.site-header nav a:hover,.site-header nav a[aria-current=page]{text-decoration:underline;text-decoration-thickness:1px}.nav-flower{color:var(--muted);font-size:18px}.skip-link{position:absolute;left:16px;top:-100px;padding:12px;background:var(--paper);color:var(--ink)}.skip-link:focus{top:12px;z-index:1}#wedding-details,#rsvp,#main-content{scroll-margin-top:88px}.guest-info{text-align:center}.guest-info-heading{max-width:1100px;margin:auto;padding:120px 6% 0}.guest-info h1{font:500 clamp(30px,5vw,48px)/1.3 "Lora",serif;letter-spacing:-1px}.guest-intro{max-width:650px;margin:24px auto 48px;font-size:18px;line-height:1.8}.guest-section-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:16px 32px}.guest-section-nav a{display:inline-flex;align-items:center;gap:10px;min-height:44px;color:var(--ink);font:500 16px/1.5 Lora,serif;text-underline-offset:6px}.guest-section-nav a>span:first-child{font-size:13px;letter-spacing:2px}.guest-info-grid>section{scroll-margin-top:120px;border-top:0}.guest-info-grid h2{margin:16px 0 24px}.guest-info-grid p{max-width:750px;margin:0 auto;font-size:18px;line-height:1.8}.guest-info-grid .rsvp-button{margin-top:36px}.guest-guide{max-width:750px;margin:32px auto 0;text-align:left}.guest-guide h3{margin:40px 0 16px}.guest-guide p+p{margin-top:20px}.guest-guide ol{padding-left:24px;font-size:18px;line-height:1.8}.guest-guide li+li{margin-top:16px}.guest-guide .guest-note{margin:24px 0;padding:16px 20px;border-left:2px solid currentColor;background:#51433209}.guest-resource-links{display:flex;flex-wrap:wrap;gap:12px 24px;margin:20px 0}.guest-resource-links a{display:inline-flex;align-items:center;min-height:44px;color:inherit;text-underline-offset:5px}@media(max-width:600px){.site-header-inner{flex-direction:column;gap:8px;padding:4px 16px}.site-header nav{justify-content:center;flex-wrap:wrap;gap:8px 18px}.site-header nav a{font-size:15px}.nav-flower{display:none}#wedding-details,#rsvp,#main-content{scroll-margin-top:88px}.guest-info-heading{padding-top:104px}.guest-section-nav{flex-direction:column;align-items:center;gap:4px}}.schedule-location{margin:0 auto;max-width:750px;font-size:18px;line-height:1.8}.day-timeline{max-width:750px;margin:44px auto 0;padding:0;list-style:none;text-align:left}.day-timeline li{position:relative;display:grid;grid-template-columns:110px 1fr;gap:28px;padding:0 0 36px 24px;border-left:1px solid currentColor}.day-timeline li:before{content:"✳";position:absolute;left:-9px;top:0;width:18px;background:var(--paper);font-size:18px;line-height:1.5}.day-timeline li:last-child{padding-bottom:0;border-left-color:transparent}.schedule-time{padding-top:5px;font-size:12px;letter-spacing:1px;text-transform:uppercase}.day-timeline h3{margin:0 0 10px;font:500 23px/1.4 Lora,serif}.day-timeline p{margin:0;font-size:17px;line-height:1.8}@media(max-width:600px){.site-header nav{gap:6px 12px}.site-header nav a{font-size:14px}.day-timeline li{grid-template-columns:1fr;gap:8px}}.site-header-inner{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}.site-header nav{grid-column:2;justify-content:center;margin-inline:0}.site-header .language-selector{grid-column:3;justify-self:end}.site-header.over-hero .language-selector{background:#17291f80;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 2px 12px #152d2320}.language-selector{display:inline-flex;flex-shrink:0;align-items:center;gap:2px;margin-left:auto;padding:3px;border:1px solid color-mix(in srgb,currentColor 25%,transparent);border-radius:999px}.language-flag{font-size:18px;line-height:1;letter-spacing:0}.language-selector button{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:44px;min-height:44px;padding:10px 8px;border:0;border-radius:999px;background:transparent;color:inherit;font:500 12px/1.5 Lora,serif;letter-spacing:1px;cursor:pointer;transition:background .2s}.language-selector button:hover{background:color-mix(in srgb,currentColor 8%,transparent)}.language-selector button[aria-pressed=true]{background:color-mix(in srgb,currentColor 14%,transparent)}.language-selector button[aria-pressed=true]:after{content:"";position:absolute;bottom:5px;left:calc(50% - 2px);width:4px;height:4px;background:currentColor;transform:rotate(45deg)}.language-selector button:focus-visible{outline:2px solid currentColor;outline-offset:3px}footer{flex-wrap:wrap}@media(max-width:1100px){.site-header-inner{grid-template-columns:minmax(0,1fr);gap:0}.site-header nav{grid-column:1;width:100%;gap:4px 12px}.site-header .language-selector{grid-column:1}#wedding-details,#rsvp,#main-content{scroll-margin-top:144px}.garden .garden-edition{top:140px}.guest-info{padding-top:160px}}
