@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:400;font-display:swap;src:url(../media/9cc5c0547f229dea-s.26a4qkxezf9-r.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:400;font-display:swap;src:url(../media/b0947914c9718a1e-s.p.1hzlq6xrrxf6u.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:400;font-display:swap;src:url(../media/d0b60be57f16ee32-s.33on4mq75bz97.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:400;font-display:swap;src:url(../media/1f9e983605289f29-s.2xsoqmjk136f4.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:400;font-display:swap;src:url(../media/01e4147cff8141ee-s.p.0v7knm2wof07y.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:500;font-display:swap;src:url(../media/9cc5c0547f229dea-s.26a4qkxezf9-r.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:500;font-display:swap;src:url(../media/b0947914c9718a1e-s.p.1hzlq6xrrxf6u.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:500;font-display:swap;src:url(../media/d0b60be57f16ee32-s.33on4mq75bz97.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:500;font-display:swap;src:url(../media/1f9e983605289f29-s.2xsoqmjk136f4.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:500;font-display:swap;src:url(../media/01e4147cff8141ee-s.p.0v7knm2wof07y.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:600;font-display:swap;src:url(../media/9cc5c0547f229dea-s.26a4qkxezf9-r.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:600;font-display:swap;src:url(../media/b0947914c9718a1e-s.p.1hzlq6xrrxf6u.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:600;font-display:swap;src:url(../media/d0b60be57f16ee32-s.33on4mq75bz97.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:600;font-display:swap;src:url(../media/1f9e983605289f29-s.2xsoqmjk136f4.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:600;font-display:swap;src:url(../media/01e4147cff8141ee-s.p.0v7knm2wof07y.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cormorant Garamond Fallback;src:local(Times New Roman);ascent-override:95.27%;descent-override:29.59%;line-gap-override:0.0%;size-adjust:96.98%}.cormorant_garamond_bf2aaec8-module__TRNL_a__className{font-family:Cormorant Garamond,Cormorant Garamond Fallback;font-style:normal}.cormorant_garamond_bf2aaec8-module__TRNL_a__variable{--font-serif:"Cormorant Garamond", "Cormorant Garamond Fallback"}
@font-face{font-family:Manrope;font-style:normal;font-weight:400;font-display:swap;src:url(../media/a342834df7752944-s.1ypl14jhz9yyw.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Manrope;font-style:normal;font-weight:400;font-display:swap;src:url(../media/d3fe2f289711ac3f-s.p.2g9li78_0_it5.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Manrope;font-style:normal;font-weight:400;font-display:swap;src:url(../media/58c4895d0a0ef7cc-s.00u3xrku2lqty.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Manrope;font-style:normal;font-weight:400;font-display:swap;src:url(../media/bfc7db5c00d21bc5-s.2vepgg3wcdr2q.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Manrope;font-style:normal;font-weight:400;font-display:swap;src:url(../media/6ab0db14f70d8ed6-s.2ttjmmx-9gnz1.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Manrope;font-style:normal;font-weight:400;font-display:swap;src:url(../media/a343f882a40d2cc9-s.p.3259ncl47-hqj.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url(../media/a342834df7752944-s.1ypl14jhz9yyw.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url(../media/d3fe2f289711ac3f-s.p.2g9li78_0_it5.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url(../media/58c4895d0a0ef7cc-s.00u3xrku2lqty.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url(../media/bfc7db5c00d21bc5-s.2vepgg3wcdr2q.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url(../media/6ab0db14f70d8ed6-s.2ttjmmx-9gnz1.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url(../media/a343f882a40d2cc9-s.p.3259ncl47-hqj.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Manrope;font-style:normal;font-weight:600;font-display:swap;src:url(../media/a342834df7752944-s.1ypl14jhz9yyw.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Manrope;font-style:normal;font-weight:600;font-display:swap;src:url(../media/d3fe2f289711ac3f-s.p.2g9li78_0_it5.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Manrope;font-style:normal;font-weight:600;font-display:swap;src:url(../media/58c4895d0a0ef7cc-s.00u3xrku2lqty.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Manrope;font-style:normal;font-weight:600;font-display:swap;src:url(../media/bfc7db5c00d21bc5-s.2vepgg3wcdr2q.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Manrope;font-style:normal;font-weight:600;font-display:swap;src:url(../media/6ab0db14f70d8ed6-s.2ttjmmx-9gnz1.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Manrope;font-style:normal;font-weight:600;font-display:swap;src:url(../media/a343f882a40d2cc9-s.p.3259ncl47-hqj.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Manrope Fallback;src:local(Arial);ascent-override:103.31%;descent-override:29.07%;line-gap-override:0.0%;size-adjust:103.19%}.manrope_2d20a568-module__azYMGa__className{font-family:Manrope,Manrope Fallback;font-style:normal}.manrope_2d20a568-module__azYMGa__variable{--font-sans:"Manrope", "Manrope Fallback"}
@font-face{font-family:Marck Script;font-style:normal;font-weight:400;font-display:swap;src:url(../media/45e8051ae1707a78-s.p.15bk479muu6ps.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Marck Script;font-style:normal;font-weight:400;font-display:swap;src:url(../media/b760b1dafcd78554-s.2p9zytlep7dih.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Marck Script;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e4bf00cfb41b665c-s.p.3gjzh5ps-yt18.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Marck Script Fallback;src:local(Arial);ascent-override:93.04%;descent-override:41.46%;line-gap-override:0.0%;size-adjust:92.87%}.marck_script_ab422294-module__usBxZq__className{font-family:Marck Script,Marck Script Fallback;font-style:normal;font-weight:400}.marck_script_ab422294-module__usBxZq__variable{--font-script:"Marck Script", "Marck Script Fallback"}
:root{--chocolate-950:#21120c;--chocolate-900:#2d1a11;--chocolate-800:#3d2618;--chocolate-700:#553725;--mocha:#cbb6a7;--mocha-light:#e4d6cc;--ivory:#f5f0e8;--paper:#f8f4ed;--olive:#606343;--rose:#ad6c70;--ink:#34251d;--gold:#b99a68;--shadow:0 24px 80px #23130c2e}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--paper)}html.intro-locked{overflow:hidden}body{background:var(--paper);min-width:320px;color:var(--ink);font-family:var(--font-sans), sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;overflow-x:clip}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit}.invitation{width:100%;min-height:100svh;overflow:clip}.main-content{opacity:0;width:100%;transform:translateY(18px)}.invitation.is-open .main-content{animation:1.2s cubic-bezier(.22,.8,.24,1) .7s forwards content-in}.envelope-intro{z-index:100;perspective:1800px;background:radial-gradient(circle at 50% 115%,#d3b2963b,#0000 38%),linear-gradient(145deg,#4c3020 0%,#2c190f 56%,#1e100a 100%);transition:visibility 0s 2.1s;position:fixed;inset:0;overflow:hidden}.envelope-grain,.envelope-back,.envelope-flap,.envelope-left,.envelope-right,.envelope-front{position:absolute;inset:0}.envelope-grain{z-index:8;opacity:.16;pointer-events:none;mix-blend-mode:soft-light;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='.92' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.28'/%3E%3C/svg%3E")}.envelope-back{z-index:1;background:linear-gradient(165deg,#513522,#362116)}.envelope-flap{z-index:7;clip-path:polygon(0 0,100% 0,50% 92%);transform-origin:50% 0;filter:drop-shadow(0 20px 22px #0d060359);backface-visibility:hidden;background:linear-gradient(154deg,#ffffff12,#0000 38%),linear-gradient(130deg,#64432e 0%,#3d271a 55%,#2b190f 100%);height:64%;transition:transform 1.25s cubic-bezier(.72,.02,.22,1),z-index 0s .55s}.envelope-left{z-index:4;clip-path:polygon(0 0,54% 61%,0 100%);background:linear-gradient(125deg,#3e281b,#2b190f)}.envelope-right{z-index:4;clip-path:polygon(100% 0,46% 61%,100% 100%);background:linear-gradient(235deg,#533622,#2c1a10)}.envelope-front{z-index:5;clip-path:polygon(0 100%,0 74%,50% 40%,100% 74%,100% 100%);filter:drop-shadow(0 -14px 20px #160b0624);background:linear-gradient(172deg,#4d3121,#29170e 86%)}.envelope-letter-preview{z-index:3;height:66%;color:var(--chocolate-800);background:var(--ivory);flex-direction:column;align-items:center;padding-top:10vh;transition:transform 1.4s cubic-bezier(.18,.76,.24,1) .48s;display:flex;position:absolute;bottom:-40%;left:12%;right:12%;box-shadow:0 0 55px #00000040}.envelope-letter-preview:before{content:"";border:1px solid #55372540;position:absolute;inset:16px}.envelope-letter-preview span{letter-spacing:.28em;text-transform:uppercase;font-size:clamp(.65rem,1.2vw,.78rem);position:relative}.envelope-letter-preview strong{font:500 clamp(2rem, 6vw, 5rem)/1 var(--font-serif), serif;margin-top:1.25rem;position:relative}.intro-names{color:#f3e8dd;text-shadow:0 4px 20px #00000040;white-space:nowrap;justify-content:center;align-items:center;gap:clamp(1rem,3vw,2.5rem);width:min(90vw,880px);display:flex;position:absolute;top:17%;left:50%;transform:translate(-50%)}.intro-names span{font:500 clamp(2.8rem, 7vw, 7rem)/1 var(--font-serif), serif;letter-spacing:-.03em}.intro-names i{font:400 clamp(2.3rem, 5vw, 5rem)/1 var(--font-script), cursive;color:var(--mocha)}.wax-seal{z-index:10;aspect-ratio:1;color:#f4e7db;cursor:pointer;background:radial-gradient(circle at 36% 26%,#ffffff38,#0000 18%),radial-gradient(circle,#76503a 0 54%,#51301f 56% 66%,#815842 68% 71%,#3a2116 74% 100%);border:0;border-radius:50%;place-items:center;width:clamp(112px,12vw,148px);padding:0;transition:transform .35s,filter .35s,opacity .4s .3s;display:grid;position:absolute;top:59%;left:50%;transform:translate(-50%,-50%);box-shadow:0 8px 24px #0f07036b,inset 0 2px 5px #ffffff2e}.wax-seal:before,.wax-seal:after{content:"";border:1px solid #e8d2c12e;border-radius:47% 53% 51% 49%;position:absolute;inset:-4px;transform:rotate(12deg)}.wax-seal:after{border-color:#eedbcb40;inset:12px;transform:rotate(-8deg)}.wax-seal:hover{filter:brightness(1.08);transform:translate(-50%,-50%)scale(1.05)}.wax-seal:focus-visible{outline-offset:7px;outline:3px solid #f5e7da}.seal-monogram{font:500 clamp(1.45rem, 2.4vw, 2rem)/1 var(--font-serif), serif;letter-spacing:.02em}.seal-monogram i{font-family:var(--font-script);font-weight:400}.seal-action{font:400 .66rem/1 var(--font-sans);letter-spacing:.22em;text-transform:uppercase;white-space:nowrap;opacity:.72;position:absolute;top:calc(100% + 15px)}.intro-date{z-index:9;color:#eaded3;font:500 clamp(1.8rem, 3vw, 2.9rem)/1 var(--font-serif), serif;letter-spacing:.08em;margin:0;position:absolute;bottom:7%;left:50%;transform:translate(-50%)}.intro-hint{display:none}.is-open .envelope-flap{z-index:2;transform:rotateX(-178deg)}.is-open .envelope-letter-preview{transform:translateY(-105%)}.is-open .wax-seal{opacity:0;pointer-events:none;transform:translate(-50%,-80%)scale(.82)}.is-open .intro-date{animation:.45s forwards fade-away}.is-open .envelope-intro{pointer-events:none;animation:.8s 1.4s forwards intro-away}.paper-section,.dark-section{padding:clamp(5.5rem,10vw,9rem) max(5vw,50vw - 540px);position:relative}.paper-section{background:radial-gradient(circle at 20% 20%, #9170590d 0 1px, transparent 2px), radial-gradient(circle at 80% 70%, #9170590a 0 1px, transparent 2px), var(--paper);background-size:19px 19px,23px 23px,auto}.dark-section{color:#f5eee7;background:radial-gradient(circle at 10% 5%, #cbb6a721, transparent 26%), linear-gradient(145deg, var(--chocolate-800), var(--chocolate-950))}.dark-section:after{content:"";opacity:.08;pointer-events:none;mix-blend-mode:soft-light;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='.75' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.35'/%3E%3C/svg%3E");position:absolute;inset:0}.section-heading{z-index:1;text-align:center;max-width:720px;margin:0 auto clamp(3rem,7vw,5rem);position:relative}.section-heading h2,.story-heading h1{font:500 clamp(3.25rem, 8vw, 6.2rem)/.9 var(--font-serif), serif;letter-spacing:-.045em;text-wrap:balance;margin:.3rem 0 1rem}.section-heading p:last-child,.story-heading>p:last-child{max-width:600px;font:400 clamp(.95rem, 1.6vw, 1.08rem)/1.75 var(--font-sans);text-wrap:balance;opacity:.76;margin:1.25rem auto 0}.section-heading.light h2{color:#f4e9df}.eyebrow{letter-spacing:.3em;text-transform:uppercase;color:var(--rose);margin:0;font-size:.68rem;font-weight:600}.light .eyebrow{color:var(--mocha)}.reveal{opacity:0;transition:opacity .9s var(--reveal-delay) ease, transform 1s var(--reveal-delay) cubic-bezier(.2,.75,.2,1);transform:translateY(28px)}.reveal.is-visible{opacity:1;transform:translateY(0)}.ornament{justify-content:center;align-items:center;gap:.65rem;width:min(270px,70%);margin:1.4rem auto;display:flex}.ornament span{background:var(--mocha);flex:1;height:1px}.ornament svg{fill:none;width:38px;stroke:var(--rose);stroke-width:1px}.story-section{align-content:center;min-height:100svh;display:grid}.story-heading{text-align:center}.story-heading h1{color:var(--chocolate-800)}.story-heading>p:last-child{max-width:440px}.video-frame{aspect-ratio:9/16;background:#1c100b;width:100%;max-width:390px;margin:2rem auto 0;position:relative;overflow:hidden;box-shadow:0 22px 60px #23130c38}.video-frame video{object-fit:cover;background:#1c100b;width:100%;height:100%;display:block}.letter-section{background-color:#ded0c6;place-items:center;min-height:850px;display:grid;overflow:hidden}.letter-section:before{content:"";background:linear-gradient(140deg,#ccb9ab,#eadfd6);position:absolute;inset:0}.letter-envelope-art{clip-path:polygon(0 0,50% 56%,100% 0,100% 100%,0 100%);background:#b89f8d;position:absolute;inset:9% 8% 7%;box-shadow:0 24px 80px #3a251938}.letter-envelope-art:before,.letter-envelope-art:after{content:"";background:#c8b3a3;position:absolute;inset:0}.letter-envelope-art:before{clip-path:polygon(0 0,50% 56%,0 100%)}.letter-envelope-art:after{clip-path:polygon(100% 0,50% 56%,100% 100%);background:#ae927f}.letter-card{z-index:3;text-align:center;background:var(--ivory);width:100%;max-width:680px;padding:clamp(3rem,7vw,6rem) clamp(1.7rem,7vw,5.5rem);position:relative;box-shadow:0 28px 80px #3a25193d}.letter-card:before{content:"";pointer-events:none;border:1px solid #55372547;position:absolute;inset:16px}.letter-card p{max-width:480px;font:500 clamp(1rem, 2vw, 1.18rem)/1.65 var(--font-serif), serif;text-wrap:pretty;margin:1.15rem auto}.letter-card .script-title{color:var(--chocolate-700);font:400 clamp(2.6rem, 7vw, 4.4rem)/1 var(--font-script), cursive}.date-emphasis{color:var(--rose);justify-content:center;align-items:baseline;gap:.55rem;display:flex}.date-emphasis span{font-size:3.1em;line-height:.8}.signature{font:500 clamp(2rem, 5vw, 3.2rem)/1 var(--font-serif), serif;margin-top:2rem}.signature i{font-family:var(--font-script);color:var(--rose)}.calendar{background:#ffffff52;border:1px solid #5537254d;width:100%;max-width:630px;margin:auto;padding:clamp(1.2rem,3vw,2rem);box-shadow:0 16px 50px #3a251914}.calendar-top{border-bottom:1px solid #55372533;grid-template-columns:1fr auto 1fr;align-items:end;padding:.2rem .5rem 1.4rem;display:grid}.calendar-top span{letter-spacing:.25em;color:var(--rose);font-size:.68rem}.calendar-top span:last-child{text-align:right}.calendar-top strong{font:500 clamp(2rem, 5vw, 3.1rem)/1 var(--font-serif), serif;letter-spacing:.08em}.weekdays,.calendar-grid{text-align:center;grid-template-columns:repeat(7,1fr);display:grid}.weekdays{padding:1.4rem 0 .55rem}.weekdays span{letter-spacing:.08em;text-transform:uppercase;opacity:.55;font-size:.62rem;font-weight:600}.calendar-grid>span{min-height:clamp(42px,8vw,66px);font:500 clamp(.95rem, 2.1vw, 1.22rem)/1 var(--font-serif), serif;place-items:center;display:grid;position:relative}.wedding-day i{z-index:0;color:var(--rose);font-size:clamp(3rem,7.5vw,4.6rem);font-style:normal;line-height:1;position:absolute;transform:translateY(6px)}.wedding-day b{z-index:1;color:#fff;text-shadow:0 1px 3px #4a242459;font-weight:700;position:relative;transform:translateY(1px)}.calendar>p{text-align:center;color:var(--rose);font:400 clamp(1.2rem, 2.4vw, 1.5rem)/1 var(--font-script), cursive;margin:1.5rem 0 .2rem}.venue-section{text-align:center}.venue-photo{z-index:1;aspect-ratio:3/2;width:100%;max-width:760px;margin:0 auto 2.25rem;position:relative;overflow:hidden;box-shadow:0 26px 80px #00000042}.venue-photo img{object-fit:cover;transition:transform 1.5s}.venue-photo:hover img{transform:scale(1.025)}.venue-caption{letter-spacing:.1em;text-transform:uppercase;background:linear-gradient(#0000,#160c07bf);padding:2.8rem 1rem 1rem;font-size:.7rem;position:absolute;bottom:0;left:0;right:0}.outline-button,.primary-button{z-index:1;letter-spacing:.12em;text-transform:uppercase;border-radius:100px;justify-content:center;align-items:center;gap:1rem;min-height:54px;padding:.8rem 1.6rem;font-size:.72rem;font-weight:600;text-decoration:none;transition:background .3s,color .3s,transform .3s;display:inline-flex;position:relative}.outline-button{border:1px solid #f5eee78c}.outline-button svg{fill:none;stroke:currentColor;stroke-width:1.5px;width:17px}.outline-button:hover{color:var(--chocolate-900);background:#f5eee7;transform:translateY(-2px)}.timeline{width:100%;max-width:760px;margin:0 auto;position:relative}.timeline:before{content:"";background:linear-gradient(var(--mocha), var(--rose), var(--mocha));width:1px;position:absolute;top:42px;bottom:42px;left:50%}.timeline-item{grid-template-columns:1fr 104px 1fr;align-items:center;min-height:150px;display:grid}.timeline-item time{text-align:right;font:500 clamp(2rem, 5vw, 3.2rem)/1 var(--font-serif), serif;color:var(--rose)}.timeline-dot{z-index:1;aspect-ratio:1;width:76px;color:var(--chocolate-700);background:var(--paper);border:1px solid var(--mocha);border-radius:50%;place-items:center;margin:auto;display:grid;position:relative;box-shadow:0 8px 25px #3a25191a}.timeline-dot svg{fill:none;stroke:currentColor;stroke-width:1.4px;stroke-linecap:round;stroke-linejoin:round;width:39px}.timeline-item h3{font:500 clamp(1.5rem, 3vw, 2rem)/1.15 var(--font-serif), serif;margin:0}.dress-section{overflow:hidden}.fabric-grid{z-index:1;grid-template-columns:repeat(6,minmax(0,1fr));gap:clamp(1rem,2.5vw,1.75rem);width:100%;max-width:860px;margin:auto;display:grid;position:relative}.fabric-card{text-align:center;min-width:0}.fabric-swatch{aspect-ratio:1;background:#3a2417;border:2px solid #f5eee747;border-radius:50%;width:100%;max-width:118px;margin:0 auto;position:relative;overflow:hidden;box-shadow:0 14px 34px #0000003d}.fabric-swatch img{object-fit:cover;transition:transform 1.1s cubic-bezier(.2,.75,.2,1)}.fabric-card:hover .fabric-swatch img{transform:scale(1.06)}.countdown{grid-template-columns:repeat(4,1fr);gap:clamp(.6rem,2vw,1.3rem);width:100%;max-width:820px;margin:0 auto 3rem;display:grid}.countdown>div{text-align:center;border-top:1px solid var(--mocha);border-bottom:1px solid var(--mocha);padding:1.6rem .5rem;position:relative}.countdown>div:not(:last-child):after{content:":";color:var(--rose);font:400 1.6rem/1 var(--font-serif);position:absolute;top:31%;right:calc(clamp(.6rem,2vw,1.3rem)/-2 - 3px)}.countdown strong{font:500 clamp(2.4rem, 7vw, 5.2rem)/.9 var(--font-serif), serif;font-variant-numeric:tabular-nums;display:block}.countdown span{letter-spacing:.2em;text-transform:uppercase;opacity:.58;margin-top:.75rem;font-size:.6rem;display:block}.rsvp-prompt{text-align:center}.rsvp-prompt p{margin-bottom:1.6rem;line-height:1.7}.primary-button{color:#fff;background:var(--chocolate-800);box-shadow:0 10px 30px #3a25192e}.primary-button:hover{background:var(--chocolate-700);transform:translateY(-2px)}.details-section{background-color:#e7d9cf}.detail-cards{grid-template-columns:repeat(2,1fr);gap:1.2rem;width:100%;max-width:900px;margin:auto;display:grid}.detail-card{background:#f8f4edb8;border:1px solid #5537253d;min-height:290px;padding:clamp(2rem,5vw,3.4rem);position:relative}.detail-number{color:var(--rose);font:500 2.5rem/1 var(--font-serif), serif;opacity:.65}.detail-card p{font:500 clamp(1.12rem, 2.2vw, 1.35rem)/1.6 var(--font-serif), serif;text-wrap:pretty;margin:2.5rem 0 0}.rsvp-card{z-index:1;width:100%;max-width:640px;color:var(--ink);background:var(--ivory);margin:auto;padding:clamp(1.4rem,5vw,3.2rem);position:relative;box-shadow:0 28px 80px #00000042}.rsvp-card form{gap:1.45rem;display:grid}.rsvp-card label>span,.rsvp-card legend{font:600 .72rem/1.4 var(--font-sans);letter-spacing:.06em;margin-bottom:.55rem;display:block}.rsvp-card small{opacity:.6;font-weight:400}.rsvp-card input[type=text],.rsvp-card textarea,.rsvp-card select{width:100%;color:var(--ink);background:0 0;border:0;border-bottom:1px solid #55372557;border-radius:0;outline:0;padding:.9rem .1rem;transition:border .25s}.rsvp-card input:focus,.rsvp-card textarea:focus,.rsvp-card select:focus{border-color:var(--rose)}.rsvp-card textarea{resize:vertical}.rsvp-card fieldset{border:0;gap:.65rem;padding:0;display:grid}.radio-option{cursor:pointer;align-items:center;gap:.7rem;display:flex}.radio-option input{width:18px;height:18px;accent-color:var(--chocolate-700)}.radio-option span{font-family:var(--font-serif)!important;letter-spacing:0!important;margin:0!important;font-size:1.05rem!important;font-weight:500!important}.honeypot{position:absolute;left:-10000px}.form-button{color:#fff;cursor:pointer;background:var(--chocolate-800);letter-spacing:.13em;text-transform:uppercase;border:0;border-radius:100px;min-height:56px;font-size:.72rem;font-weight:600;transition:transform .25s,background .25s}.form-button:hover:not(:disabled){background:var(--chocolate-700);transform:translateY(-2px)}.form-button:disabled{opacity:.65;cursor:wait}.form-message{text-align:center;min-height:1.4em;margin:-.5rem 0 0;font-size:.82rem}.form-message.success{color:var(--olive)}.form-message.error{color:#9a3d3d}.closing-section{color:#fff;place-items:center;min-height:min(900px,100svh);display:grid;position:relative;overflow:hidden}.closing-section>img{object-fit:cover;object-position:center 22%}.closing-shade{background:linear-gradient(#1a0d0733,#1a0d0761 45%,#1a0d07d1);position:absolute;inset:0}.closing-copy{z-index:1;text-align:center;text-shadow:0 4px 28px #00000073;align-self:end;padding:0 1rem clamp(4rem,9vw,7rem);position:relative}.closing-copy p{font:400 clamp(2.3rem, 6vw, 4.4rem)/1 var(--font-script), cursive;margin:0}.closing-copy h2{font:500 clamp(3rem, 8vw, 7rem)/.9 var(--font-serif), serif;letter-spacing:-.04em;margin:.7rem 0}.closing-copy h2 i{color:var(--mocha-light);font-family:var(--font-script);font-weight:400}.closing-copy span{font:500 1rem/1 var(--font-serif);letter-spacing:.25em;margin:1.5rem 0 2.1rem;display:block}.closing-copy strong{letter-spacing:.35em;text-transform:uppercase;font-size:.66rem}@keyframes content-in{to{opacity:1;transform:translateY(0)}}@keyframes fade-away{to{opacity:0;transform:translate(-50%,15px)}}@keyframes intro-away{to{opacity:0;visibility:hidden;transform:scale(1.02)}}@media (max-width:720px){.envelope-flap{clip-path:polygon(0 0,100% 0,50% 76%);height:59%}.intro-names{flex-direction:column;gap:0;width:95vw;top:15%}.intro-names span{font-size:clamp(3.4rem,16vw,5rem)}.intro-names i{margin:-.35rem 0;font-size:2.8rem}.wax-seal{width:116px;top:55%}.intro-date{font-size:1.85rem;bottom:10%}.intro-hint{z-index:9;color:#f3e8dd7a;letter-spacing:.18em;text-transform:uppercase;white-space:nowrap;margin:0;font-size:.6rem;display:block;position:absolute;bottom:5.7%;left:50%;transform:translate(-50%)}.envelope-letter-preview{left:7%;right:7%}.paper-section,.dark-section{padding-left:20px;padding-right:20px}.story-section{padding-top:5.5rem;padding-bottom:5.5rem}.story-heading>p:last-child{max-width:320px;line-height:1.6}.video-frame{width:min(100%,340px)}.letter-section{min-height:760px}.letter-envelope-art{inset:15% 0 5%}.letter-card{width:100%}.fabric-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.35rem .75rem;max-width:390px}.fabric-swatch{width:min(100%,92px)}.timeline:before{left:67px}.timeline-item{grid-template-columns:47px 70px 1fr;min-height:128px}.timeline-item time{writing-mode:vertical-rl;font-size:1.4rem;transform:rotate(180deg)}.timeline-dot{width:58px}.timeline-dot svg{width:31px}.timeline-item h3{padding-left:.7rem;font-size:1.45rem}.countdown{gap:.35rem}.countdown>div{padding:1.2rem .15rem}.countdown>div:not(:last-child):after{display:none}.countdown strong{font-size:clamp(2.1rem,11vw,3.3rem)}.countdown span{letter-spacing:.1em;font-size:.51rem}.detail-cards{grid-template-columns:1fr}.detail-card{min-height:auto}.closing-section{min-height:100svh}.closing-section>img{object-position:54% center}}@media (max-width:390px){.intro-names span{font-size:3.2rem}.wax-seal{width:105px}.section-heading h2,.story-heading h1{font-size:3rem}.calendar{width:100%}.calendar-grid>span{min-height:39px}.wedding-day i{font-size:3.25rem;transform:translateY(6px)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.reveal{opacity:1;transform:none}}
