:root{font-family:DM Sans,sans-serif;color:#49383a;background:#fff8f3;font-synthesis:none;text-rendering:optimizeLegibility;--ink:#49383a;--muted:#967f7d;--rose:#b76570;--rose-dark:#914b57;--pink:#f0d4d1;--paper:#fffdfa;--cream:#fff8f3}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:72px}body{margin:0;min-width:320px}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}.topbar{height:66px;padding:0 clamp(20px,6vw,90px);display:flex;align-items:center;justify-content:space-between;background:#fff8f3e6;position:absolute;z-index:5;top:0;left:0;right:0;border-bottom:1px solid rgba(166,102,108,.12)}.brand{text-decoration:none;color:var(--ink);font-family:Playfair Display,serif;font-style:italic;font-size:18px;display:flex;align-items:center;gap:9px}.brand-mark{color:var(--rose);font-size:25px}.sound-toggle{border:1px solid #ead8d3;background:#ffffff8c;border-radius:30px;padding:8px 12px;color:#8c7271;display:flex;gap:7px;align-items:center;font-size:11px}.hero{min-height:740px;height:100svh;max-height:940px;position:relative;overflow:hidden;display:grid;place-items:center;background:radial-gradient(ellipse at 50% 45%,#fff,#fff9f5 43%,#f8e9e4);text-align:center;padding:100px 22px 56px}.hero:before,.hero:after{content:"";position:absolute;width:330px;height:330px;border:1px solid rgba(183,101,112,.13);border-radius:50%;top:50%;left:50%;transform:translate(-50%,-50%)}.hero:after{width:440px;height:440px;border-style:dashed;opacity:.55}.hero-grain{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.18;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='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.12'/%3E%3C/svg%3E");pointer-events:none}.hero-content{position:relative;z-index:1;max-width:680px}.eyebrow,.section-kicker,.date-label,.paper-top{font-size:9px;letter-spacing:.22em;color:#a78984;font-weight:700}.eyebrow{display:flex;align-items:center;justify-content:center;gap:12px}.eyebrow span{width:24px;height:1px;background:#d9b5b1}.hero-heart{width:68px;height:68px;border:1px solid #e8c9c5;border-radius:50%;display:grid;place-items:center;color:var(--rose);margin:35px auto 16px;box-shadow:0 0 0 8px #e8c9c526}.script{font-family:Caveat,cursive;font-weight:500}.hero-script{font-size:25px;color:#a56b70;margin:0 0 7px}.hero h1,h2,h3{font-family:Playfair Display,serif;font-weight:500;letter-spacing:-.04em}.hero h1{font-size:clamp(65px,11vw,112px);line-height:.94;margin:0;color:#4b393a}.hero h1 em,.section-wrap h2 em{font-weight:500;color:var(--rose);font-style:italic}.hero-sub{color:#907c79;line-height:1.8;font-size:14px;margin:25px 0 26px}.primary-btn{border:0;border-radius:50px;background:#a95966;color:#fff;padding:15px 23px;display:inline-flex;align-items:center;gap:18px;font-size:12px;box-shadow:0 8px 22px #b7657033;transition:.25s}.primary-btn:hover{transform:translateY(-2px);background:#914b57}.hero-foot{font-size:8px;letter-spacing:.17em;color:#b39b96;margin-top:66px;display:flex;align-items:center;justify-content:center;gap:10px}.floating{position:absolute;color:#d69ba0;font-family:Playfair Display,serif}.f1{top:24%;left:18%;font-size:28px}.f2{top:31%;right:17%;font-size:35px;transform:rotate(14deg)}.f3{bottom:19%;left:22%;font-size:28px}.hero-sticker{position:absolute;border:1px solid #e5c9c3;color:#aa7c7d;font-family:Caveat,cursive;font-size:17px;padding:9px 14px;transform:rotate(-9deg);background:#fffaf6c9}.hero-sticker svg{vertical-align:middle}.sticker-left{bottom:18%;left:8%}.sticker-right{right:9%;top:25%;transform:rotate(8deg);font-size:15px}.sticker-right span{font-size:11px}.section-wrap{max-width:1040px;margin:0 auto;padding:112px 36px}.section-kicker{margin-bottom:38px}.intro-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:center}.accent-script{font-size:26px;color:#b66c75;margin:0 0 5px}.section-wrap h2{font-size:clamp(42px,6vw,68px);line-height:1.08;margin:0 0 23px}.body-copy{max-width:450px;color:#897775;font-size:14px;line-height:1.95}.date-card{position:relative;background:#f3dfda;min-height:270px;padding:45px 25px 30px;text-align:center;transform:rotate(2deg);box-shadow:7px 12px #ead0cb}.date-flower{position:absolute;right:22px;top:12px;color:#c08083;font-size:25px}.date-label{display:block;letter-spacing:.25em}.date-card strong{display:block;font:500 70px Playfair Display,serif;color:#9d5b65;margin:22px 0 12px}.date-card strong i{font-size:22px;font-weight:400}.date-divider{font-size:12px;color:#bc8387}.date-card p{font:italic 15px Playfair Display,serif;color:#986c6b}.date-hand{display:block;font:21px Caveat,cursive;color:#ac7075;margin-top:18px}.reasons-section,.letters-section{background:#f7e9e4;padding:1px 0 40px;position:relative;overflow:hidden}.reasons-section:before,.letters-section:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(#d7aaa4 .7px,transparent .7px);background-size:18px 18px;opacity:.17;pointer-events:none}.reasons-section .section-wrap,.letters-section .section-wrap{position:relative}.section-heading{display:flex;justify-content:space-between;align-items:end}.heading-doodle{font:100px Playfair Display,serif;color:#d6a3a1;line-height:1;transform:rotate(12deg);margin:0 35px 25px}.reason-stage{max-width:530px;margin:20px auto 0;text-align:center;position:relative;padding:0 12px}.reason-card{height:300px;max-width:460px;margin:auto;background:#fffdf9;box-shadow:0 15px 45px #80575a12;position:relative;padding:38px 35px 25px;display:flex;align-items:center;justify-content:center;flex-direction:column;transform:rotate(-1deg);border:1px solid #f3e8e0}.tape{position:absolute;width:88px;height:25px;top:-11px;left:calc(50% - 44px);background:#dfb9ae88;transform:rotate(-2deg)}.card-number{position:absolute;top:25px;left:25px;color:#b68d87;font-size:10px;letter-spacing:.1em}.card-number i{font-style:normal;color:#d1bbb4}.big-heart{font-size:42px;color:#bd7b81;margin-bottom:16px}.reason-card p{font:italic 25px/1.45 Playfair Display,serif;max-width:340px;color:#655052;margin:0}.card-sign{position:absolute;bottom:20px;right:24px;font:19px Caveat,cursive;color:#b27a7c}.paper-shadow{position:absolute;width:450px;height:300px;left:50%;top:8px;transform:translate(-48%) rotate(3deg);background:#e9d4cc}.reason-controls{display:flex;justify-content:center;align-items:center;gap:24px;margin-top:30px}.round-btn{border:1px solid #d8b8b1;background:transparent;color:#986d70;width:38px;height:38px;border-radius:50%;display:grid;place-items:center}.round-btn.filled{background:#a95966;color:#fff;border-color:#a95966}.dots{display:flex;gap:8px}.dot{border:0;background:#d7b9b3;width:6px;height:6px;border-radius:10px;padding:0;transition:.2s}.dot.active{width:21px;background:#a95966}.swipe-hint{font-size:10px;color:#a78e89;margin:15px 0 0}.memories-head{display:flex;justify-content:space-between;align-items:center}.outline-icon{color:#bc8182;stroke-width:1}.memories-copy{margin-top:0;margin-bottom:35px}.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;align-items:start}.photo-card{position:relative;background:#fffefa;border:0;padding:12px 12px 20px;box-shadow:0 8px 25px #704b4b12;text-align:left;cursor:pointer;transition:.25s}.photo-card:hover{transform:translateY(-6px) rotate(0)!important}.photo-1{transform:rotate(-2deg);margin-top:16px}.photo-2{transform:rotate(1.5deg)}.photo-3{transform:rotate(-1deg);margin-top:27px}.photo-placeholder{height:210px;background:linear-gradient(145deg,#f2dfd9,#ead3cf);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;color:#a67878;font-size:9px;letter-spacing:.12em}.photo-icon{width:45px;height:45px;border:1px solid #c99c98;border-radius:50%;display:grid;place-items:center}.photo-placeholder small{font-size:9px;letter-spacing:0;text-transform:none;font-style:italic}.photo-caption{padding:15px 6px 0}.photo-caption span{font-size:9px;color:#b08481;letter-spacing:.1em;text-transform:uppercase}.photo-caption strong{display:block;font:20px Playfair Display,serif;margin:6px 0;color:#604b4b}.photo-caption p{font-size:10px;color:#9a8580;line-height:1.55;margin:0}.photo-heart{position:absolute;right:19px;top:18px;color:#b56c75;font-size:19px}.letters-section{background:#f3e1dc}.letters-section .body-copy{margin-top:-3px}.envelopes{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-top:38px}.envelope{min-height:175px;border:1px solid #e8cfc8;background:#fffaf5;color:#9e666b;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;position:relative;transition:.25s;box-shadow:0 7px 16px #79595a0d}.envelope:hover{transform:translateY(-5px) rotate(-1deg);box-shadow:0 12px 25px #79595a16}.envelope svg{margin:10px 0 2px}.envelope strong{font:19px Playfair Display,serif;color:#604c4c}.envelope small{font-size:9px;color:#ad8d86}.envelope-stamp{position:absolute;right:12px;top:9px;font-size:13px;color:#c58c8c}.little-joy{padding-top:80px;padding-bottom:80px}.joy-card{text-align:center;position:relative;background:#f2ded9;padding:55px 25px 48px;max-width:700px;margin:auto}.joy-spark{font-size:25px;color:#b56c75}.joy-card .script{font-size:24px;color:#ad7276;margin:8px 0}.joy-card h2{font-size:34px;line-height:1.3;max-width:520px;margin:0 auto 25px}.text-btn{display:inline-flex;align-items:center;gap:9px;border:0;border-bottom:1px solid #be9290;background:none;padding:8px 0;color:#976267;font-size:11px}.letter-final{padding-top:30px}.final-paper{max-width:700px;margin:0 auto;position:relative;background:#fffefa;padding:58px clamp(28px,7vw,76px) 48px;box-shadow:0 15px 50px #754f4f10;border:1px solid #f2e8e0}.final-paper:before{content:"";position:absolute;top:10px;right:10px;bottom:10px;left:10px;border:1px solid #f0e3dc;pointer-events:none}.paper-top{display:block;text-align:center;margin-bottom:45px;font-size:8px}.final-paper>.script{margin-left:8px}.final-paper h2{font-size:45px!important;margin-bottom:25px!important}.letter-body{font:15px/1.95 Playfair Display,serif;color:#786463}.letter-body p{margin:0 0 14px}.letter-sign{display:flex;align-items:center;justify-content:flex-end;gap:10px;color:#ae6772;margin-top:35px}.letter-sign .script{font-size:25px}.paper-seal{position:absolute;bottom:-22px;left:calc(50% - 23px);width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:#ae6570;color:#fff;font-size:22px;box-shadow:0 4px 12px #aa6b7133}.ending{background:#49383a;color:#fff4ef;text-align:center;position:relative;padding:80px 20px 30px;overflow:hidden}.ending:before,.ending:after{content:"♡";position:absolute;color:#ffffff0c;font:250px Playfair Display,serif;top:-25px;left:4%;transform:rotate(-20deg)}.ending:after{left:auto;right:5%;top:80px;transform:rotate(18deg)}.ending-inner{position:relative;z-index:1;max-width:600px;margin:auto;min-height:340px}.ending-heart{font-size:40px;color:#e6aeb0}.ending-inner .script{font-size:24px;color:#e8b5b4;margin:12px 0}.ending h2{font:italic 56px Playfair Display,serif;margin:0}.ending h2 span{color:#e1a3a5}.ending-inner>p:not(.script){font-size:11px;color:#d3bcb5;letter-spacing:.1em}.surprise-btn{margin-top:25px;border:1px solid #936b6d;background:transparent;color:#f6dcd6;border-radius:30px;padding:11px 17px;display:inline-flex;align-items:center;gap:8px;font-size:11px}.surprise-note{margin:17px auto 0;max-width:350px;color:#f1c6c4;font:21px Caveat,cursive}.ending footer{font-size:8px;letter-spacing:.18em;color:#a88d89;margin-top:35px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;background:#37282bd9;display:grid;place-items:center;padding:22px;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.note-modal,.photo-modal{width:min(100%,430px);background:#fffaf5;position:relative;padding:48px 35px 35px;text-align:center;box-shadow:0 25px 80px #1f121255}.note-modal:before{content:"";position:absolute;top:10px;right:10px;bottom:10px;left:10px;border:1px solid #eddbd4;pointer-events:none}.modal-close{position:absolute;right:17px;top:16px;border:0;background:transparent;color:#9d7774;padding:5px;z-index:1}.note-modal .accent-script{font-size:23px}.modal-heart{display:block;font:42px Playfair Display,serif;color:#bb737b;margin:17px 0 5px}.note-modal h3,.photo-modal h3{font-size:33px;margin:0 0 15px}.note-modal>p,.photo-modal>p{font:15px/1.8 Playfair Display,serif;color:#806b69}.modal-sign{display:block;font:21px Caveat,cursive;color:#b36f76;margin-top:20px}.photo-modal{padding:48px 20px 25px}.photo-placeholder.large{height:280px;margin-bottom:20px}.photo-modal h3{font-size:27px}.photo-modal>p{font-size:13px;margin-bottom:0}@media(max-width:700px){.topbar{height:58px;padding:0 18px}.brand{font-size:16px}.sound-toggle{padding:7px 9px}.sound-toggle span{font-size:0}.sound-toggle svg{width:17px}.hero{min-height:720px;max-height:900px;padding-top:80px}.hero:before{width:270px;height:270px}.hero:after{width:350px;height:350px}.hero h1{font-size:clamp(65px,18vw,93px)}.hero-script{font-size:23px}.hero-sub{font-size:13px}.hero-foot{margin-top:58px;font-size:7px}.f1{left:7%;top:24%}.f2{right:7%;top:31%}.f3{left:10%;bottom:16%}.sticker-left{left:5%;bottom:10%;font-size:14px}.sticker-right{right:5%;top:17%}.section-wrap{padding:78px 23px}.section-kicker{font-size:8px;margin-bottom:28px}.intro-grid{grid-template-columns:1fr;gap:40px}.section-wrap h2{font-size:48px}.date-card{max-width:380px;width:90%;margin:0 auto;min-height:245px}.date-card strong{font-size:62px}.section-heading{align-items:center}.heading-doodle{font-size:66px;margin:0 5px 22px}.reason-card{height:290px;padding:35px 23px}.reason-card p{font-size:22px}.paper-shadow{width:calc(100% - 45px);height:290px}.photo-grid{grid-template-columns:1fr 1fr;gap:17px}.photo-card{padding:9px 9px 15px}.photo-3{grid-column:1/3;width:72%;justify-self:center;margin-top:2px}.photo-placeholder{height:155px}.photo-3 .photo-placeholder{height:185px}.photo-caption strong{font-size:17px}.photo-caption p{font-size:9px}.envelopes{grid-template-columns:1fr 1fr;gap:12px}.envelope{min-height:150px}.envelope strong{font-size:17px}.joy-card{padding:45px 20px}.joy-card h2{font-size:28px}.final-paper{padding:48px 28px 42px}.final-paper h2{font-size:39px!important}.letter-body{font-size:14px}.ending h2{font-size:43px}.ending{padding-top:68px}.ending-inner{min-height:325px}}@media(max-width:380px){.hero h1{font-size:62px}.hero-sticker{font-size:13px}.section-wrap{padding-left:18px;padding-right:18px}.section-wrap h2{font-size:43px}.photo-grid{gap:11px}.photo-placeholder{height:135px}.reason-card p{font-size:20px}.envelope strong{font-size:15px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}.memories{position:relative;overflow:visible}.photobooth-pair{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0}.photobooth{position:absolute;width:108px;height:315px;overflow:hidden;background:#fffdf9;border:1px solid #f0e6df;padding:0;box-shadow:0 9px 28px #704b4b18}.photobooth img{position:absolute;top:0;width:222px;height:315px;max-width:none;object-fit:fill}.photobooth-left{left:-82px;top:155px;transform:rotate(-5deg)}.photobooth-left img{left:0}.photobooth-right{right:-82px;top:455px;transform:rotate(5deg)}.photobooth-right img{left:-114px}.memories>.section-kicker,.memories>.memories-head,.memories>.memories-copy,.memories>.photo-grid{position:relative;z-index:1}@media(max-width:700px){.photobooth-pair{position:relative;inset:auto;display:flex;justify-content:space-around;align-items:flex-start;gap:24px;margin:24px auto 32px;height:auto;z-index:1}.photobooth{position:relative;left:auto;right:auto;top:auto;width:82px;height:239px;flex:0 0 82px}.photobooth-left{transform:rotate(-5deg)}.photobooth-right{transform:rotate(5deg)}.photobooth img{width:168px;height:239px}.photobooth-left img{left:0}.photobooth-right img{left:-86px}}.memories:before{content:"";position:absolute;top:90px;right:4%;bottom:20px;left:4%;z-index:0;pointer-events:none;background:url(/photos/archive-collage.webp) center 45% / min(70vw,420px) auto no-repeat;opacity:.075;filter:blur(.7px)}.photobooth img{width:216px;height:315px;max-width:none;object-fit:fill}.photobooth-right img{left:-108px}@media(max-width:700px){.photobooth img{width:168px;height:239px}.photobooth-right img{left:-84px}.memories:before{top:120px;right:0;bottom:0;left:0;background-size:260px auto;opacity:.055}}.hero-emoji{position:absolute;z-index:1;font-size:22px;opacity:.72;filter:saturate(.72)}.hero-emoji-left{left:16%;top:34%;transform:rotate(-14deg)}.hero-emoji-right{right:15%;bottom:24%;transform:rotate(12deg)}.memories{isolation:isolate}.memories:before{content:"";position:absolute;top:80px;right:3%;bottom:20px;left:3%;z-index:-1;pointer-events:none;background:url(/photos/archive-collage.webp) center 48% / min(72vw,520px) auto no-repeat;opacity:.065;filter:blur(1px)}.photobooth-pair{position:relative;display:flex;justify-content:center;align-items:flex-start;gap:clamp(26px,8vw,90px);margin:28px auto 40px;pointer-events:none}.photobooth{width:112px;background:#fffefa;padding:7px 7px 10px;box-shadow:0 10px 26px #704b4b18;display:flex;flex-direction:column;gap:5px}.photobooth-left{transform:rotate(-5deg);margin-top:10px}.photobooth-right{transform:rotate(5deg);margin-top:36px}.photobooth-frame{height:104px;width:100%;background-image:url(/photos/archive-collage.webp);background-size:200% 300%;background-repeat:no-repeat;background-color:#f0ded9}.photobooth-frame:first-child{border-top:1px solid #f2e5df}.moment-photo{height:210px;background-image:url(/photos/archive-collage.webp);background-size:200% 300%;background-repeat:no-repeat;background-color:#f0ded9}.memory-love-note{display:flex;justify-content:center;gap:17px;margin:35px auto 0;font-size:18px;opacity:.72}.photo-modal-image{height:300px;margin:0 auto 20px;max-width:360px;background-image:url(/photos/archive-collage.webp);background-size:200% 300%;background-repeat:no-repeat;background-color:#f0ded9}.photo-heart{font-size:21px}@media(max-width:700px){.hero-emoji-left{left:8%;top:30%}.hero-emoji-right{right:8%;bottom:22%}.photobooth-pair{gap:30px;margin:22px auto 32px}.photobooth{width:94px;padding:6px 6px 8px;gap:4px}.photobooth-frame{height:88px}.photobooth-right{margin-top:27px}.moment-photo{height:155px}.photo-3 .moment-photo{height:185px}.memories:before{top:110px;right:0;bottom:0;left:0;background-size:300px auto;opacity:.05}.photo-modal-image{height:260px}}@media(max-width:380px){.photobooth{width:84px}.photobooth-frame{height:80px}.moment-photo{height:135px}}.photobooth{position:relative;height:auto;overflow:visible}.photobooth-left,.photobooth-right{left:auto;right:auto;top:auto}.memories:before{z-index:0}.memories:before{background-image:url(/photos/archive-collage.webp);background-size:min(78vw,620px) auto;background-position:center 42%;opacity:.07}@media(max-width:700px){.memories:before{background-size:310px auto;opacity:.055}}.memory-index{display:flex;align-items:center;gap:13px;max-width:620px;margin:24px auto 28px;padding:10px 0;border-top:1px solid #ead8d1;border-bottom:1px solid #ead8d1;color:#a2827e;font-size:8px;letter-spacing:.18em}.memory-index i{height:1px;background:#dfc5bd;flex:1}.memory-index b{font:italic 13px Playfair Display,serif;letter-spacing:.04em;color:#b56f76}.photo-card{border:1px solid #f0e5de}.photo-card:after{content:"";position:absolute;top:5px;right:5px;bottom:5px;left:5px;border:1px solid rgba(190,150,143,.16);pointer-events:none}.photo-card .moment-photo,.photo-caption{position:relative}.photo-caption:before{content:"";display:block;width:25px;height:1px;background:#d6aaa2;margin:0 0 10px}.photobooth:after{content:"SOUVENIRS";display:block;text-align:center;padding:5px 0 0;color:#b28a84;font:7px DM Sans,sans-serif;letter-spacing:.2em}.memories-head .outline-icon{border:1px solid #e7cfca;border-radius:50%;padding:8px;width:48px;height:48px}.hero-sticker{letter-spacing:.02em}.date-card{outline:1px solid rgba(183,101,112,.12);outline-offset:7px}@media(max-width:700px){.memory-index{gap:8px;font-size:7px;letter-spacing:.12em;margin:20px auto 24px}.memory-index b{font-size:11px}.memories-head .outline-icon{width:42px;height:42px}}.photobooth-frame,.moment-photo,.photo-modal-image{background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important}.photobooth-frame,.moment-photo,.photo-modal-image{background-color:#f0ded9}.memories{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 8% 22%,rgba(232,190,181,.2),transparent 28%),radial-gradient(ellipse at 92% 72%,rgba(214,169,164,.16),transparent 30%)}.memories:before{content:"";position:absolute;z-index:-1;top:7%;right:0;bottom:7%;left:0;pointer-events:none;opacity:.22;background:radial-gradient(circle at 12% 18%,#d7a6a0 1px,transparent 1.7px),radial-gradient(circle at 86% 64%,#d7a6a0 1px,transparent 1.7px);background-size:26px 26px,31px 31px;-webkit-mask-image:linear-gradient(to bottom,transparent,#000 14%,#000 82%,transparent);mask-image:linear-gradient(to bottom,transparent,#000 14%,#000 82%,transparent)}.memories-head{margin-bottom:12px}.memories-copy{max-width:560px;margin-bottom:42px}.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,3vw,34px);align-items:stretch;padding:12px 4px 18px}.photo-card{min-width:0;padding:10px 10px 18px;border:1px solid #eadbd4;background:linear-gradient(155deg,#fffefa,#fffaf5);box-shadow:0 15px 35px #5b3a3914,0 2px 5px #5b3a390a;transform:none!important;border-radius:2px}.photo-card:nth-child(2){margin-top:28px}.photo-card:nth-child(3){margin-top:56px}.photo-card:hover{transform:translateY(-5px)!important;box-shadow:0 20px 42px #5b3a391f}.photo-card:after{top:5px;right:5px;bottom:5px;left:5px;border-color:#be968f38}.moment-photo{width:100%;aspect-ratio:4/5;height:auto!important;background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important;background-color:#f0ded9}.photo-caption{padding:18px 8px 2px}.photo-caption:before{width:34px;margin-bottom:13px}.photo-caption span{font-size:9px;letter-spacing:.16em;line-height:1.7}.photo-caption strong{font-size:clamp(18px,2vw,22px);line-height:1.25;margin:9px 0}.photo-caption p{font-size:12px;line-height:1.65}.photo-heart{right:18px;top:17px;font-size:25px;text-shadow:0 1px 8px rgba(255,255,255,.8)}.card-sign{font-size:28px;right:25px;bottom:18px}.letter-sign{justify-content:flex-end}.letter-sign svg{color:var(--rose);width:22px;height:22px}@media(max-width:700px){.memories{overflow:hidden}.memories-head{align-items:flex-end}.memories-copy{margin-bottom:26px}.photo-grid{grid-template-columns:minmax(0,1fr);gap:24px;padding:8px 3px 14px}.photo-card,.photo-1,.photo-2,.photo-3{width:100%;margin:0!important;padding:10px 10px 18px;transform:none!important}.moment-photo,.photo-3 .moment-photo{aspect-ratio:16/10;height:auto!important}.photo-caption{padding:17px 9px 3px}.photo-caption strong{font-size:21px}.photo-caption p{font-size:12px}.photo-heart{font-size:25px}}@media(prefers-reduced-motion:reduce){.photo-card:hover{transform:none!important}}@media screen and (max-width:900px){html,body,#root,main{max-width:100%;overflow-x:hidden}.memories.section-wrap{width:100%;max-width:100%;padding-left:clamp(16px,5vw,28px);padding-right:clamp(16px,5vw,28px)}.memories .photo-grid{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:22px!important;width:100%!important;max-width:100%!important;margin:0!important;padding:8px 0 16px!important}.memories .photo-grid>.photo-card,.memories .photo-grid>.photo-card.photo-1,.memories .photo-grid>.photo-card.photo-2,.memories .photo-grid>.photo-card.photo-3{display:block!important;position:relative!important;float:none!important;flex:0 0 auto!important;width:100%!important;max-width:100%!important;min-width:0!important;margin:0!important;padding:10px 10px 18px!important;transform:none!important}.memories .photo-grid>.photo-card .moment-photo{display:block!important;width:100%!important;height:auto!important;aspect-ratio:16/10!important;background-size:contain!important;background-position:center!important;background-repeat:no-repeat!important}.memories .photo-grid>.photo-card .photo-caption{display:block!important;width:100%!important;padding:17px 9px 3px!important;white-space:normal!important;overflow-wrap:anywhere}.memories .photo-grid>.photo-card .photo-caption strong{display:block!important;font-size:clamp(19px,5vw,23px)!important;line-height:1.3!important;white-space:normal!important}.memories .photo-grid>.photo-card .photo-caption p{font-size:13px!important;line-height:1.65!important}}body{background-color:#fff8f3;background-image:radial-gradient(ellipse at 8% 12%,rgba(193,119,126,.075) 0 1px,transparent 2px),radial-gradient(ellipse at 91% 38%,rgba(193,119,126,.07) 0 1px,transparent 2px),radial-gradient(ellipse at 18% 82%,rgba(193,119,126,.06) 0 1px,transparent 2px);background-size:34px 34px,42px 42px,29px 29px}.memories,.letter-section,.letters,.closing-section{position:relative;isolation:isolate}.memories:after,.letter-section:after,.letters:after,.closing-section:after{content:"";position:absolute;z-index:-1;pointer-events:none;width:190px;height:190px;opacity:.42;background-repeat:no-repeat;background-size:contain;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200' fill='none' stroke='%23c58b8d' stroke-width='1.15' stroke-linecap='round'%3E%3Cpath d='M20 175C55 145 44 94 91 65c22-14 44-12 69-43M42 151c-2-21-19-28-30-22 2 18 14 27 30 22Zm15-25c-3-22 9-34 25-35 4 17-7 31-25 35Zm27-32c-1-21 12-31 27-29 2 16-10 27-27 29Zm-38 44c-19-5-29 3-31 17 15 8 27-1 31-17Zm55-55c-15-17-12-31 0-40 14 10 14 25 0 40Z'/%3E%3Cpath d='M25 179c38-20 62-51 83-83' stroke-dasharray='2 5'/%3E%3C/svg%3E")}.memories:after{right:-38px;top:10%;transform:rotate(12deg)}.letter-section:after,.letters:after{left:-42px;bottom:4%;transform:rotate(-22deg)}.closing-section:after{right:-35px;top:8%;transform:rotate(28deg)}.memories .photo-card{box-shadow:0 16px 34px #64423d17,0 2px 7px #64423d0d}.memories .photo-card:before{content:"";position:absolute;width:42px;height:42px;right:19px;top:17px;border:1px solid rgba(190,124,133,.42);border-radius:50%;pointer-events:none}@media(max-width:900px){.memories:after,.letter-section:after,.letters:after,.closing-section:after{width:125px;height:125px;opacity:.27}.memories:after{right:-35px;top:4%}}.memories .photo-card{overflow:hidden}.memories .photo-card .moment-photo{display:block;width:100%;height:auto;max-height:620px;aspect-ratio:auto;object-fit:contain;object-position:center;background:#f1e2dc}.photo-modal-image{display:block;width:100%;height:auto;max-height:72vh;object-fit:contain;object-position:center;background:#f1e2dc}@media(max-width:900px){.memories.section-wrap{box-sizing:border-box;width:100%;padding-left:18px;padding-right:18px}.memories .photo-grid{display:grid!important;grid-template-columns:minmax(0,1fr)!important;grid-auto-flow:row!important;gap:22px!important;width:100%!important;margin:0!important;padding:8px 0 18px!important}.memories .photo-grid>.photo-card{box-sizing:border-box!important;width:100%!important;min-width:0!important;max-width:100%!important;margin:0!important;justify-self:stretch!important;align-self:stretch!important;transform:none!important}.memories .photo-card .moment-photo{width:100%!important;height:auto!important;max-height:none!important;aspect-ratio:auto!important;object-fit:contain!important}.memories .photo-caption{min-width:0;overflow-wrap:anywhere}.memories .photo-caption strong{font-size:clamp(19px,5.4vw,24px);line-height:1.28}}:root{--ink:#463638;--muted:#8e7775;--rose:#b66d78;--rose-dark:#96545f;--paper:#fffdfa;--cream:#fff8f4}body{background:radial-gradient(ellipse at 12% 18%,rgba(208,158,151,.12),transparent 28%),radial-gradient(ellipse at 88% 68%,rgba(208,158,151,.1),transparent 30%),#fff8f3}.topbar{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fff8f3d1;border-bottom-color:#a6666c2e}.brand-mark{font-size:28px}.hero{background:radial-gradient(ellipse at 50% 42%,#fff,#fff9f5 46%,#f2dfda)}.hero:before{width:min(62vw,510px);height:min(62vw,510px);border-color:#b7657029}.hero:after{width:min(76vw,620px);height:min(76vw,620px);border-color:#b7657021}.hero-content:after{content:"♡";display:block;position:absolute;right:-74px;top:22%;color:#d6a0a0;font:36px Playfair Display,serif;transform:rotate(16deg)}.primary-btn{background:linear-gradient(135deg,#b66d78,#98535f);box-shadow:0 12px 28px #96545f38}.section-wrap{position:relative}.intro{background:linear-gradient(180deg,#fff8f38c,#fff8f3f0)}.intro-grid>div:first-child{position:relative}.intro-grid>div:first-child:after{content:"";display:block;width:76px;height:1px;margin-top:30px;background:linear-gradient(90deg,#c98f8d,transparent)}.date-card{border:1px solid rgba(179,126,124,.18);background:linear-gradient(145deg,#f5e4df,#eed8d3);box-shadow:8px 12px #dcbeb78c,0 20px 45px #5f3c3a14}.reasons-section{background:linear-gradient(135deg,#f8ece7,#f2dfda 70%,#f8e9e4)}.reason-card{border:1px solid #efdfd8;box-shadow:0 22px 50px #5b3a391a,inset 0 0 0 5px #ffffff8c}.reason-card:after{content:"";position:absolute;top:10px;right:10px;bottom:10px;left:10px;border:1px solid rgba(199,151,145,.18);pointer-events:none}.tape{z-index:1}.memories{overflow:hidden}.memories-head{margin-bottom:4px}.memories-head:after{content:"";position:absolute;right:62px;bottom:-16px;width:80px;height:1px;background:#d9b7b0}.memories .photo-grid{gap:clamp(18px,3vw,34px);align-items:start}.memories .photo-card{border:1px solid #eadbd4;border-radius:2px;padding:11px 11px 19px;background:linear-gradient(155deg,#fffefa,#fffaf6);box-shadow:0 17px 36px #5b3a3917,0 2px 5px #5b3a390a}.memories .photo-card:nth-child(2){margin-top:34px}.memories .photo-card:nth-child(3){margin-top:68px}.memories .photo-card:after{content:"";position:absolute;top:5px;right:5px;bottom:5px;left:5px;border:1px solid rgba(190,150,143,.2);pointer-events:none}.memories .photo-card .moment-photo{background:#f0ded9}.memories .photo-caption{padding:18px 8px 3px}.memories .photo-caption:before{content:"";display:block;width:34px;height:1px;background:#c98d8d;margin-bottom:14px}.memories .photo-caption span{font-size:9px;letter-spacing:.16em}.memories .photo-caption strong{font-size:clamp(18px,2vw,23px);line-height:1.28}.memories .photo-caption p{font-size:12px;line-height:1.65}.photo-heart{z-index:2;font-size:26px!important;text-shadow:0 1px 8px rgba(255,255,255,.85)}.letters-section{background:linear-gradient(145deg,#f5e5e0,#f1dfda)}.envelope{border-radius:2px;background:linear-gradient(145deg,#fffefa,#fff7f2);box-shadow:0 12px 25px #5b3a390f}.envelope:after{content:"";position:absolute;top:6px;right:6px;bottom:6px;left:6px;border:1px solid rgba(190,150,143,.18);pointer-events:none}.envelope-stamp{font-size:19px}.joy-card{background:linear-gradient(135deg,#f4e3de,#ecd4d0);border:1px solid rgba(184,131,128,.18);box-shadow:12px 14px #e1c6bf8c,0 20px 50px #5b3a390f}.final-paper{box-shadow:0 22px 55px #5b3a3917;border-color:#eadbd4}.final-paper:after{content:"";position:absolute;left:30px;top:30px;width:28px;height:28px;border-left:1px solid #d7aaa4;border-top:1px solid #d7aaa4;pointer-events:none}.ending{background:radial-gradient(ellipse at 50% 0%,#65494b,#49383a 65%)}.ending:before,.ending:after{font-size:210px;color:#ffffff09}.hero-sticker,.photobooth-pair,.photobooth{display:none!important}@media(max-width:900px){.hero-content:after{right:0;top:12%;font-size:28px}.intro-grid{gap:30px}.memories .photo-grid{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:22px!important}.memories .photo-card,.memories .photo-card:nth-child(2),.memories .photo-card:nth-child(3){width:100%!important;margin:0!important;transform:none!important}.memories .photo-card .moment-photo{width:100%!important;height:auto!important;max-height:none!important;aspect-ratio:auto!important;object-fit:contain!important}.memories .photo-caption strong{font-size:clamp(20px,5.4vw,25px)}.memories .photo-caption p{font-size:13px}.memories-head:after{right:54px;width:46px}.date-card{transform:none}}@media(max-width:480px){.topbar{padding:0 16px}.hero{min-height:690px;padding-left:20px;padding-right:20px}.hero h1{font-size:clamp(60px,17vw,78px)}.hero-heart{margin-top:28px}.hero-foot{max-width:260px;margin:48px auto 0;line-height:1.8}.section-wrap{padding:68px 18px}.section-wrap h2{font-size:clamp(39px,11vw,48px)}.section-kicker{letter-spacing:.16em;line-height:1.8}.reason-card{height:auto;min-height:270px;padding:44px 24px}.reason-card p{font-size:21px}.envelopes{gap:10px}.envelope{min-height:145px}.final-paper{padding:44px 24px 38px}.paper-top{font-size:7px;letter-spacing:.13em}.letter-body{font-size:14px;line-height:1.85}.ending h2{font-size:clamp(36px,10vw,44px)}}@media(prefers-reduced-motion:reduce){.photo-card:hover,.envelope:hover{transform:none!important}}html,body,#root{width:100%;min-width:320px;max-width:100%}body{overflow-x:clip}#root,main{display:block;width:100%;min-width:0;max-width:100%}main>section{display:block;width:100%;min-width:0;max-width:100%}main>section>*{min-width:0}img{max-width:100%}.memories.section-wrap{width:100%;max-width:1112px;margin-inline:auto}.memories .photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;width:100%}.memories .photo-card{display:block;min-width:0;width:100%;max-width:100%;height:auto;margin:0;padding:11px 11px 19px;overflow:hidden}.memories .photo-card .moment-photo{display:block;width:100%;max-width:100%;height:auto;max-height:none;aspect-ratio:4 / 5;object-fit:cover;object-position:center}.memories .photo-card .photo-caption{display:block;width:100%;min-width:0;white-space:normal;overflow-wrap:anywhere}@media(max-width:900px){.section-wrap{width:100%;max-width:100%}.intro-grid{grid-template-columns:minmax(0,1fr)}.memories.section-wrap{padding-inline:clamp(16px,5vw,24px)}.memories .photo-grid{display:grid!important;grid-template-columns:minmax(0,1fr)!important;grid-auto-flow:row;gap:22px!important;width:100%!important;margin:0!important;padding:8px 0 18px!important}.memories .photo-grid>.photo-card,.memories .photo-grid>.photo-card:nth-child(2),.memories .photo-grid>.photo-card:nth-child(3){display:block!important;position:relative!important;width:100%!important;max-width:100%!important;min-width:0!important;height:auto!important;margin:0!important;padding:10px 10px 18px!important;transform:none!important;float:none!important;justify-self:stretch!important}.memories .photo-grid>.photo-card .moment-photo{display:block!important;width:100%!important;max-width:100%!important;height:auto!important;max-height:none!important;aspect-ratio:4 / 5!important;object-fit:cover!important;object-position:center!important}.memories .photo-grid>.photo-card .photo-caption{display:block!important;width:100%!important;padding:17px 9px 3px!important;white-space:normal!important;overflow-wrap:anywhere!important}.memories .photo-grid>.photo-card .photo-caption strong{display:block!important;font-size:clamp(20px,5.4vw,25px)!important;line-height:1.3!important}.memories .photo-grid>.photo-card .photo-caption p{font-size:13px!important;line-height:1.65!important}.memories .photo-card:before{pointer-events:none}}@media(max-width:480px){.topbar,.hero{width:100%}.section-wrap{padding-inline:18px}.memories .photo-grid{gap:18px!important}.memories .photo-grid>.photo-card .moment-photo{aspect-ratio:4 / 5!important}}
