@font-face{font-family:Cormorant;src:url(../fonts/cormorant-latin.woff2)format("woff2");font-weight:300 700;font-display:swap}@font-face{font-family:Cormorant;src:url(../fonts/cormorant-italic-latin.woff2)format("woff2");font-weight:300 700;font-style:italic;font-display:swap}@font-face{font-family:La Belle Aurore;src:url(../fonts/la-belle-aurore-latin.woff2)format("woff2");font-display:swap}@font-face{font-family:Caveat;src:url(../fonts/caveat-latin.woff2)format("woff2");font-weight:400 700;font-display:swap}:root{color:#413e34;font-synthesis:none;--paper:#f6f1e7;--wine:#773d48;--muted:#777364;--gold:#a38c56;background:#f6f1e7;font-family:Cormorant,Georgia,serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:radial-gradient(ellipse at 50% 33%, #fffdf55e, transparent 65%), var(--paper);min-width:320px;margin:0}body:after{content:"";pointer-events:none;z-index:20;opacity:.17;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.88' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23807155' opacity='.32' filter='url(%23noise)' d='M0 0h180v180H0z'/%3E%3C/svg%3E");position:fixed;inset:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button:disabled{cursor:default}button,a{touch-action:manipulation}button:focus-visible,a:focus-visible{outline:2px solid var(--wine);outline-offset:7px}button{border:0}a{color:inherit}svg{width:24px;height:24px}[hidden]{display:none!important}.svg-definitions{width:0;height:0;position:absolute;overflow:hidden}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip-link{z-index:30;background:var(--paper);opacity:0;padding:12px 20px;position:fixed;top:12px;left:12px;transform:translateY(-150%)}.skip-link:focus{opacity:1;transform:translateY(0)}.site-header{border-bottom:1px solid #79705526;justify-content:space-between;align-items:center;gap:24px;height:106px;margin:0 5.1%;display:flex}.wordmark{letter-spacing:-.9px;white-space:nowrap;font-size:29px;font-weight:500;text-decoration:none}.brand-star{color:var(--gold);vertical-align:-3px;margin-right:8px;font-size:33px;display:inline-block}.brand-dot{color:var(--wine)}.chapter-nav{align-items:center;gap:24px;margin-left:-25px;display:flex}.chapter{background:0 0;align-items:center;gap:10px;padding:10px 0;font-size:16px;display:flex}.chapter>span:first-child{letter-spacing:1px;color:var(--gold);font-family:Georgia,serif;font-size:10px}.chapter.active{color:var(--wine)}.chapter:disabled{color:#8c887d}.nav-line{background:#b8ad9266;width:40px;height:1px}.tiny-star{color:#ab9871;font-size:17px}.sound-toggle{background:#fffdf526;border:1px solid #a3987b4d;border-radius:30px;align-items:center;gap:10px;padding:10px 15px;font-size:14px;display:flex}.sound-toggle svg{width:15px;height:15px}.sound-toggle[aria-pressed=true]{background:#e9e6d7}.entrance{text-align:center;padding:52px 24px 31px;position:relative;overflow:hidden}.hero-heading{z-index:1;position:relative}.eyebrow{letter-spacing:2.8px;color:#82775c;font-family:Arial,sans-serif;font-size:9px;font-weight:400;line-height:1.8}.hero-heading .eyebrow{justify-content:center;align-items:center;gap:16px;margin:0 0 22px;display:flex}.eyebrow>span{background:#aa997c73;width:26px;height:1px}h1{letter-spacing:-2px;margin:0;font-size:clamp(42px,4.8vw,68px);font-weight:400;line-height:1.04}h1 em{color:var(--wine);font-weight:400}.hero-description{color:var(--muted);margin:21px 0 0;font-size:17px;line-height:1.5}.mobile-break{display:none}.botanical{color:#8c906e;opacity:.61;pointer-events:none;width:200px;height:340px;position:absolute}.botanical-left{top:183px;left:-49px;transform:rotate(24deg)}.botanical-right{opacity:.43;width:230px;height:320px;top:14px;right:-37px;transform:rotate(-148deg)}.envelope-scene{perspective:1200px;place-items:center;max-width:840px;height:280px;margin:44px auto 0;transition:margin-top .65s;display:grid;position:relative}.envelope-scene:has(.opening){margin-top:140px}.envelope{isolation:isolate;filter:drop-shadow(2px 20px 18px #59442221);background:0 0;width:398px;height:246px;padding:0;transition:transform .5s,filter .5s;display:block;position:relative;transform:rotate(-5deg)}.envelope:hover{filter:drop-shadow(2px 25px 22px #59442230);transform:rotate(-2deg)translateY(-5px)}.envelope-back{background:#dfceae;border:1px solid #cbb993;border-radius:3px;position:absolute;inset:0}.envelope-insert{z-index:1;text-align:left;background:#faf2db;flex-direction:column;padding:29px;transition:transform .65s .75s;display:flex;position:absolute;inset:12px 16px 8px}.envelope-insert span:first-child{color:var(--wine);font-family:La Belle Aurore,cursive;font-size:29px}.envelope-insert span:last-child{margin-top:15px;font-size:14px;font-style:italic}.envelope-folds{z-index:2;clip-path:polygon(0 0,50% 55%,100% 0,100% 100%,0 100%);background:linear-gradient(32deg,#0000 49.7%,#a8956f50 50%,#0000 50.5%) 0/50% 100% no-repeat,linear-gradient(-32deg,#0000 49.7%,#a8956f50 50%,#0000 50.5%) 100%/50% 100% no-repeat,linear-gradient(120deg,#e5d5b7,#eddfc3 50%,#e3d0aa);border-radius:2px;position:absolute;inset:0;overflow:hidden}.envelope-flap{z-index:3;clip-path:polygon(0 0,100% 0,50% 100%);transform-origin:top;filter:drop-shadow(0 2px 1px #94826288);background:linear-gradient(177deg,#eee1c8,#e3d1ac);transition:transform .7s .15s,z-index 0s .5s;position:absolute;inset:0 0 42%}.envelope-flap:after{content:"";background:linear-gradient(35deg,#0000 49.65%,#a48c6650 50%,#0000 50.4%) 0/50% 100% no-repeat,linear-gradient(-35deg,#0000 49.65%,#a48c6650 50%,#0000 50.4%) 100%/50% 100% no-repeat;position:absolute;inset:0}.envelope-address{z-index:4;color:#766344;font-family:La Belle Aurore,cursive;font-size:27px;position:absolute;bottom:49px;left:0;right:0;transform:rotate(1deg)}.wax-seal{z-index:5;background:radial-gradient(circle at 38% 30%,#a35a62,#8a424c 45%,#682e39 75%,#8b4e52 92%);border-radius:48% 44% 48% 43%;place-items:center;width:65px;height:65px;transition:transform .4s,opacity .35s;display:grid;position:absolute;top:100px;left:calc(50% - 32px);transform:rotate(-9deg);box-shadow:2px 4px 7px #583b3947,inset 1px 2px 2px #b6777977,inset -2px -3px 3px #552530}.wax-seal:before{content:"";border:1px solid #4f202950;border-radius:50%;position:absolute;inset:7px;box-shadow:0 1px 1px #c6858277,inset 0 1px 2px #53263377}.wax-seal svg{color:#d69994;filter:drop-shadow(0 1px 1px #451a24);width:25px;height:25px;transform:rotate(9deg)}.seal-dot{color:#ca8b85;font-size:7px;position:absolute;bottom:10px}.envelope-bottom{z-index:4;letter-spacing:2px;color:#948064;font-family:Arial,sans-serif;font-size:6px;position:absolute;bottom:26px;left:0;right:0}.envelope.opening{pointer-events:none;transform:rotate(0)}.envelope.opening .wax-seal{opacity:0;transform:scale(1.25)rotate(10deg)}.envelope.opening .envelope-flap{z-index:0;transform:rotateX(180deg)}.envelope.opening .envelope-insert{transform:translateY(-85px)}.envelope-scene:has(.opening) .side-note{opacity:0}.side-note{color:#8a826a;font-family:La Belle Aurore,cursive;font-size:20px;line-height:1.6;transition:opacity .3s;position:absolute;top:55px;right:-13px;transform:rotate(8deg)}.note-arrow{pointer-events:none;width:92px;height:51px;position:absolute;top:calc(100% - 1px);left:-4px;transform:rotate(-8deg)}.sparkle{color:#ac965c;pointer-events:none;animation:5s ease-in-out infinite shimmer;position:absolute}.sparkle-one{font-size:26px;top:7px;left:139px}.sparkle-two{font-size:29px;animation-delay:-2s;bottom:31px;right:161px}.sparkle-three{font-size:13px;animation-delay:-1s;top:39px;right:227px}.invitation{margin-top:24px}.primary-button{background:var(--wine);color:#fff5e8;border-radius:3px;justify-content:center;align-items:center;gap:15px;min-height:48px;padding:13px 25px;font-size:16px;transition:background .2s,transform .2s;display:inline-flex;box-shadow:0 4px 10px #582e3810}.primary-button:hover{background:#66303c;transform:translateY(-2px)}.primary-button svg{width:16px;height:16px}.primary-button>span{opacity:.7;margin-left:10px}.invitation>p{color:#8c836f;margin-top:13px;font-size:13px;font-style:italic}.chapter-footer{justify-content:center;align-items:center;gap:18px;margin:43px auto 0;display:flex}.chapter-footer p{letter-spacing:2.1px;color:#8a7f65;margin:0;font-family:Arial,sans-serif;font-size:8px}.chapter-footer svg{color:#9a8a6c;width:12px;height:12px;margin-left:-6px}.footer-line{background:#afa0804a;width:70px;height:1px}.bottom-whisper{color:#8a806b;margin:15px 0 0;font-size:15px;font-style:italic}.site-footer{color:#898373;border-top:1px solid #79705526;justify-content:space-between;align-items:center;margin:0 5.1%;padding:21px 0;font-size:12px;display:flex}.footer-mark{color:#a5946f;font-size:19px}.site-footer>span:last-child>span{color:var(--wine);margin-left:8px}.parchment{text-align:left;background:radial-gradient(at 50% 40%,#fff9e9,#f0e2c4);border:1px solid #c8b38b5e;max-width:690px;margin:50px auto 12px;padding:42px 65px 36px;scroll-margin-top:30px;animation:.9s both page-appear;position:relative;box-shadow:0 14px 45px #5d492217,inset 0 0 55px #a5833c0d}.parchment:before{content:"";pointer-events:none;border:1px solid #ae996b26;position:absolute;inset:10px}.parchment-rule{color:var(--gold);justify-content:center;align-items:center;gap:17px;font-size:29px;display:flex}.parchment-rule:before,.parchment-rule:after{content:"";background:#b8a37666;width:65px;height:1px}.parchment>.eyebrow{text-align:center;margin:12px 0 30px;font-size:8px}.parchment h2{color:var(--wine);margin:0 0 14px;font-family:La Belle Aurore,cursive;font-size:34px;font-weight:400}.letter-body{font-family:Caveat,La Belle Aurore,cursive;font-size:27px;line-height:1.5}.letter-body p{margin:0 0 18px}.ink{opacity:0}.ink.written{opacity:1;animation:.55s ease-out both ink-appear}.letter-body.complete .ink{opacity:1;animation:none}.letter-signature{color:var(--wine);flex-direction:column;align-items:flex-start;gap:5px;margin:26px 0 15px;font-size:19px;animation:.6s both page-appear;display:flex}.letter-signature strong{font-family:La Belle Aurore,cursive;font-size:34px;font-weight:400}.letter-signature svg{width:22px;height:22px;margin:4px 0 0 38px}.letter-actions{text-align:center;margin-top:23px}.text-button{color:var(--wine);text-underline-offset:5px;background:0 0;padding:10px 4px;font-size:16px}.text-button:hover{text-decoration:underline}.memories-section{text-align:center;background:#ece8dc55;border-top:1px solid #a3977c33;padding:52px 6% 50px;scroll-margin-top:20px;animation:1.2s both page-appear;position:relative}.section-ornament{color:var(--gold);margin-bottom:16px;font-size:31px}.memories-section h2{letter-spacing:-1.2px;margin:17px 0 18px;font-size:clamp(40px,4.2vw,58px);font-weight:400;line-height:1.1}.memories-section h2 em{color:var(--wine);font-weight:400}.section-description{color:var(--muted);font-size:18px;line-height:1.5}.memory-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:47px 37px;max-width:1010px;margin:60px auto;display:grid}.memory-card{text-align:center;background:#fbf8ef;border:1px solid #b2a78d20;width:100%;padding:13px 13px 21px;transition:transform .35s,box-shadow .35s;display:block;position:relative;transform:rotate(-2deg);box-shadow:0 4px 14px #58472c13}.memory-card:nth-child(3n+2){transform:rotate(2deg)translateY(18px)}.memory-card:nth-child(3n){transform:rotate(-1deg)}.memory-card:before{content:"";z-index:1;clip-path:polygon(3% 0,99% 5%,95% 30%,100% 55%,96% 100%,0 93%,3% 66%,0 40%);background:#d5c5a96e;width:75px;height:24px;position:absolute;top:-10px;left:calc(50% - 37px);transform:rotate(-5deg)}.memory-card:hover{transform:rotate(0)translateY(-6px);box-shadow:0 12px 25px #58472c22}.memory-card img{object-fit:contain;width:100%;height:250px;display:block}.memory-card .eyebrow{letter-spacing:2px;margin:19px 0 7px;font-size:8px}.memory-card h3{color:#68434a;margin:0;font-family:La Belle Aurore,cursive;font-size:25px;font-weight:400}.memory-card .memory-caption{color:var(--muted);margin:4px 0;font-size:14px;font-style:italic}.keepsake-stats{border-block:1px solid #a3977c40;justify-content:center;align-items:center;gap:60px;max-width:820px;margin:90px auto 50px;padding:40px 15px;display:flex}.keepsake-stats div{flex-direction:column;gap:10px;display:flex}.keepsake-stats strong{color:var(--wine);font-size:50px;font-weight:400;line-height:1}.keepsake-stats div>span{letter-spacing:2px;color:var(--muted);font-family:Arial,sans-serif;font-size:8px}.stat-star{color:var(--gold);font-size:22px}.closing-note>svg{color:var(--wine);width:26px;height:26px}.closing-note>p:first-of-type{margin:18px 0;font-size:31px;line-height:1.4}.closing-note em{color:var(--wine)}.closing-note .text-button{font-size:16px}.closing-note .text-button span{margin-left:12px}.secret-note{max-width:480px;color:var(--wine);background:#f5ecda;margin:18px auto;padding:24px;font-family:La Belle Aurore,cursive;font-size:24px;line-height:1.7;transform:rotate(-2deg);box-shadow:0 5px 13px #54412010}.replay-button{color:var(--muted);margin-top:43px;font-size:14px}.date-invitation{background:#f9f2e3;border:1px solid #ad95665c;max-width:760px;margin:65px auto 0;padding:42px 45px 32px;position:relative;box-shadow:0 10px 35px #59442212}.date-invitation:before{content:"";pointer-events:none;border:1px solid #ad956633;position:absolute;inset:9px}.date-invitation h2{color:var(--wine);font-size:clamp(32px,4vw,44px);font-style:italic}.date-message{max-width:470px;margin:20px auto 28px;font-size:20px;line-height:1.5}.date-details{border-block:1px solid #ad956647;grid-template-columns:1fr 1fr;gap:24px;margin:0;padding:24px 0;display:grid}.date-details>div:last-child{grid-column:1/-1}.date-details dt{letter-spacing:2px;color:#82775c;font-family:Arial,sans-serif;font-size:8px}.date-details dd{overflow-wrap:anywhere;margin:9px 0 0;font-size:22px}.date-directions{margin:24px 0;padding:0;font-size:19px;line-height:1.5;list-style:none}.date-directions li+li{margin-top:10px}.date-invitation .primary-button{text-decoration:none}.date-signoff{color:var(--wine);margin:27px 0 16px;font-family:Caveat,cursive;font-size:29px}.date-invitation>svg{color:var(--wine);width:20px;height:20px}.memory-dialog{color:#413e34;background:var(--paper);border:1px solid #aa987a;width:calc(100% - 40px);max-width:800px;max-height:90dvh;padding:0;box-shadow:0 25px 90px #20180f66}.memory-dialog[open]{grid-template-columns:1fr 1fr;animation:.3s page-appear;display:grid}.memory-dialog::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#2d251caa}.memory-dialog>img{object-fit:contain;align-self:center;width:100%;height:min(70dvh,600px)}.dialog-close{background:var(--paper);width:36px;height:36px;color:var(--wine);border-radius:50%;font-family:Georgia,serif;font-size:26px;line-height:1;position:absolute;top:12px;right:12px}.dialog-copy{align-self:center;padding:54px 32px 24px}.dialog-copy h2{color:var(--wine);font-family:La Belle Aurore,cursive;font-size:33px;font-weight:400;line-height:1.3}.dialog-copy>p:not(.eyebrow){font-size:20px;line-height:1.6}.dialog-navigation{justify-content:space-between;align-items:center;margin-top:25px;display:flex}.dialog-navigation button{background:0 0;border:1px solid #a4977c77;border-radius:50%;width:44px;height:44px;font-size:22px}.dialog-navigation span{color:var(--muted);font-style:italic}.noscript-message{background:var(--wine);color:#fff;text-align:center;z-index:30;width:100%;padding:18px;position:fixed;bottom:0}@keyframes shimmer{0%,to{opacity:.4;transform:scale(.85)}50%{opacity:1;transform:scale(1.1)}}@keyframes page-appear{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}@keyframes ink-appear{0%{opacity:0;color:#c5a060;text-shadow:0 0 9px #b99a58}to{opacity:1;color:inherit;text-shadow:none}}@media (width>=1500px){.entrance{padding-top:70px}.envelope-scene{height:320px;margin-top:56px}.invitation{margin-top:34px}.chapter-footer{margin-top:55px}}@media (width<=1000px){.side-note{width:145px;font-size:17px;top:74px;right:0}.envelope-scene{max-width:750px}.botanical-left{left:-85px}.botanical-right{right:-78px}.chapter-nav{gap:15px;margin-left:0}.memory-grid{gap:35px 24px}.memory-card img{height:210px}.memory-card h3{font-size:23px}.keepsake-stats{gap:35px}}@media (width<=760px){.site-header{gap:12px;height:87px;margin:0 6%}.wordmark{font-size:25px}.brand-star{margin-right:4px;font-size:28px}.chapter-nav{display:none}.sound-toggle{padding:9px 12px;font-size:12px}.entrance{padding-top:40px}h1{letter-spacing:-1.4px;font-size:clamp(39px,6.6vw,53px)}.hero-heading .eyebrow{letter-spacing:2.1px;gap:12px;margin-bottom:23px;font-size:8px}.hero-description{margin-top:19px;font-size:16px}.mobile-break{display:block}.botanical-left{opacity:.5;width:150px;height:260px;top:236px;left:-76px}.botanical-right{width:150px;height:230px;top:-25px;right:-72px}.envelope-scene{height:252px;margin-top:28px}.envelope{width:330px;height:212px}.wax-seal{width:58px;height:58px;top:82px;left:calc(50% - 29px)}.envelope-address{font-size:24px;bottom:40px}.envelope-bottom{font-size:5px;bottom:23px}.side-note{display:none}.sparkle-one{font-size:20px;top:6px;left:9%}.sparkle-two{font-size:24px;bottom:7px;right:5%}.sparkle-three{top:15px;right:8%}.invitation{margin-top:17px}.chapter-footer{gap:12px;margin-top:36px}.footer-line{width:35px}.chapter-footer p{letter-spacing:1.5px;font-size:7px}.bottom-whisper{font-size:14px}.site-footer{gap:10px;margin:0 6%;padding:20px 0;font-size:11px}.footer-mark{display:none}.parchment{margin-top:35px;padding:29px 28px}.parchment>.eyebrow{letter-spacing:1.7px;font-size:7px}.parchment h2{font-size:29px}.letter-body{font-size:25px}.letter-actions .primary-button{gap:7px;padding:12px 14px;font-size:14px}.memory-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 24px;margin-top:42px}.memory-card{padding:9px 9px 17px}.memory-card img{height:210px}.memory-card:nth-child(3n+2){transform:rotate(2deg)}.memory-card:nth-child(2n){transform:rotate(2deg)translateY(14px)}.memory-card h3{font-size:22px}.memory-caption{line-height:1.4}.keepsake-stats{gap:20px;margin-top:65px;padding:30px 0}.keepsake-stats strong{font-size:40px}.keepsake-stats div>span{letter-spacing:1px;font-size:7px}.stat-star{font-size:17px}.date-invitation{margin-top:45px;padding:30px 25px 24px}.date-message,.date-details dd{font-size:20px}.date-details{grid-template-columns:1fr}.memory-dialog[open]{max-width:450px;display:block}.memory-dialog>img{height:260px;min-height:0}.dialog-copy{padding:20px 26px}.dialog-copy h2{margin:10px 0}.dialog-copy>p:not(.eyebrow){font-size:18px}}@media (width<=420px){.entrance{padding-inline:17px}h1{font-size:38px}.envelope{width:290px;height:192px}.wax-seal{top:72px}.envelope-address{font-size:22px;bottom:34px}.envelope-bottom{bottom:17px}.envelope-scene{height:226px}.hero-heading .eyebrow{letter-spacing:1.8px}.memory-grid{grid-template-columns:1fr;gap:34px;max-width:290px}.memory-card img{height:270px}.memory-card:nth-child(2n){transform:rotate(2deg)}.memory-card h3{font-size:28px}.keepsake-stats{gap:14px}.stat-star{display:none}.keepsake-stats div{flex:1}.section-description{font-size:17px}.section-description br{display:none}.parchment{padding-inline:25px}.parchment h2{font-size:27px}.letter-body{font-size:24px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}
