@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;700&family=Playfair+Display:wght@500;700&display=swap');
*{box-sizing:border-box}body{margin:0;color:#351d2c;background:radial-gradient(circle at 20% 10%,#ffe9f0,transparent 30%),linear-gradient(135deg,#fff8fb,#fff0f5);font-family:'DM Sans',sans-serif;min-height:100vh}.nav{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 7%;border-bottom:1px solid #ffffffaa;background:#ffffff70;backdrop-filter:blur(14px);position:sticky;top:0;z-index:5}.logo{font-family:'Playfair Display';font-size:22px;color:#7c2949;text-decoration:none}.nav nav{display:flex;gap:24px}.nav nav a{color:#633247;text-decoration:none;font-size:14px}.hero,.page{max-width:1050px;margin:auto;padding:75px 24px}.hero{text-align:center}.badge,.tiny{letter-spacing:2px;text-transform:uppercase;font-size:11px;color:#a44c6c;font-weight:700}.hero h1,.page h1{font-family:'Playfair Display';font-size:clamp(48px,8vw,88px);line-height:.98;margin:18px 0;color:#3a1e2d}.hero h1 span{color:#c13d68}.lead{max-width:650px;margin:25px auto;color:#765967;font-size:18px;line-height:1.7}.hero-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin:30px 0 50px}.btn{display:inline-block;border:0;background:#b93462;color:white;padding:14px 22px;border-radius:999px;text-decoration:none;font-weight:700;cursor:pointer;box-shadow:0 10px 25px #b9346230}.btn.ghost{background:#fff;color:#9a3156;border:1px solid #edc4d2;box-shadow:none}.photo-card{max-width:800px;margin:auto;background:#fff;border-radius:28px;padding:14px;box-shadow:0 25px 70px #8e3b5420;text-align:left}.photo-card img{width:100%;display:block;border-radius:20px}.photo-card div{padding:18px}.photo-card small{display:block;color:#987282;margin-top:5px}.page{max-width:1000px}.paper{max-width:760px;margin:auto;background:#fffdfb;border:1px solid #f0dce3;padding:55px clamp(25px,7vw,75px);border-radius:24px;box-shadow:0 25px 70px #8e3b5418}.paper h1{font-size:52px;margin-top:15px}.paper p{font-family:'Playfair Display';font-size:18px;line-height:1.9;color:#604552}.signature{color:#b93462!important;font-weight:700}.section-head{text-align:center;margin-bottom:40px}.section-head h1{font-size:55px}.section-head p{color:#765967}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.memory{background:#fff;padding:14px;border-radius:22px;box-shadow:0 18px 50px #8e3b5415}.memory img{width:100%;border-radius:15px}.memory h2{font-family:'Playfair Display';margin:14px 6px 5px}.memory p{color:#765967;margin:6px}.quote{margin:45px auto 0;text-align:center;font-family:'Playfair Display';font-size:28px;color:#9a3156;max-width:700px}.center{text-align:center}.center h1{font-size:58px}.promise-box{max-width:650px;margin:35px auto;background:#fff;padding:45px;border-radius:28px;box-shadow:0 25px 70px #8e3b5420}.promise-box>div{font-size:48px}.promise-box h2{font-family:'Playfair Display';font-size:30px}.promise-box p{color:#765967;line-height:1.7}.secret{display:none;color:#b93462!important;font-weight:700}.secret.show{display:block;animation:pop .5s ease}.back{display:inline-block;margin-top:30px;color:#9a3156;text-decoration:none}footer{text-align:center;padding:35px;color:#a07989;font-size:13px}.hearts:before,.hearts:after{content:'❤';position:fixed;color:#d85b80;opacity:.08;font-size:130px;z-index:-1}.hearts:before{left:5%;top:25%}.hearts:after{right:5%;bottom:20%}@keyframes pop{from{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}@media(max-width:700px){.nav{height:auto;padding:18px 5%;gap:12px;align-items:flex-start}.nav nav{gap:10px;flex-wrap:wrap;justify-content:flex-end}.nav nav a{font-size:12px}.grid{grid-template-columns:1fr}.hero,.page{padding-top:50px}.paper h1,.center h1,.section-head h1{font-size:42px}.promise-box{padding:30px 20px}}

.name{color:#c13d68}.secret-note{font-size:17px;line-height:1.8;color:#765967}.unlock-wrap{max-width:460px;margin:80px auto;text-align:center;background:#fff;padding:45px 30px;border-radius:28px;box-shadow:0 25px 70px #8e3b5420}.unlock-wrap input{width:100%;padding:15px;border:1px solid #edc4d2;border-radius:14px;margin:15px 0;font-size:16px;outline:none}.error{color:#b93462;min-height:22px}.nav nav a{white-space:nowrap}
