@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,500;0,600;1,500;1,600&family=Montserrat:wght@400;500;600;700&display=swap');
:root{--rose:#9b3659;--dark:#572e3c;--pink:#f8c8d6;--cream:#fff8ef}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--dark);font-family:Montserrat,Arial,sans-serif;background-color:#e8ba9e;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='165' height='145' viewBox='0 0 165 145'%3E%3Cpath d='M13 24c-6-13 10-20 17-11 9-4 17 6 11 13-6 7-5 15-15 13-8 4-16-5-13-15Z' fill='%23864f45'/%3E%3Cpath d='M20 23c-2-7 7-10 10-4 6-2 9 5 5 8-2 5-11 5-15-4Z' fill='%23e4a991'/%3E%3Cpath d='M92 12c9-9 18-2 16 5 9 4 6 15-3 16-6 7-17 3-16-5-8-3-5-12 3-16Z' fill='%237f4d45'/%3E%3Cpath d='M95 18c5-5 10-1 8 3 5 4-4 10-8 6-4 0-4-6 0-9Z' fill='%23e6a890'/%3E%3Cpath d='M55 73c-8-6-3-17 5-16 7-8 17-2 16 6 8 5 2 15-6 14-5 8-16 4-15-4Z' fill='%23824c43'/%3E%3Cpath d='M61 66c1-6 9-6 10 0 6 4-2 9-7 6-4 0-6-3-3-6Z' fill='%23e5a58c'/%3E%3Cpath d='M132 76c-8-9 1-17 9-14 7-6 16 1 13 9 6 7-1 14-8 13-5 7-17 2-14-8Z' fill='%23865347'/%3E%3Cpath d='M138 72c-1-6 7-7 9-2 4 5-3 9-7 7-3 0-4-2-2-5Z' fill='%23e6a990'/%3E%3Cpath d='M10 112c6-8 14-3 14 3 8 2 7 10 0 13-5 7-13 3-13-3-7-2-7-9-1-13Zm86 3c-5-9 5-15 11-9 8-3 13 5 8 10 1 8-10 11-14 5-5 0-8-3-5-6Z' fill='%23824c43'/%3E%3Cpath d='M14 116c4-4 8 0 7 3 3 4-4 7-7 3-3-1-2-4 0-6Zm88-4c3-3 8-1 8 2 3 4-4 7-7 3-3 0-3-3-1-5Z' fill='%23e5a58c'/%3E%3C/svg%3E");padding:20px}.sparkles{position:fixed;right:2%;top:3%;color:#fff9;font-size:24px;pointer-events:none}main,footer{max-width:1280px;margin:auto}.hero{background:#f9d1de;border:1px solid #a65d70;display:grid;grid-template-columns:1.05fr .95fr;position:relative;overflow:hidden}.ribbon{grid-column:1/-1;text-align:center;background:#9b3659;color:#fff6f5;padding:10px;text-transform:uppercase;letter-spacing:.25em;font-size:10px;font-weight:700}.hero-inner{padding:clamp(55px,8vw,125px) 6vw 85px;position:relative;text-align:center}.eyebrow{font-size:10px;letter-spacing:.25em;font-weight:700;color:#a84a69}h1,h2,p{margin-top:0}h1,h2{font-family:'Cormorant Garamond',Georgia,serif;font-weight:600;line-height:.96}h1{font-size:clamp(65px,8vw,118px);margin:30px 0;color:#823652}h1 span{color:#cf7895}h1 em,h2 em{font-weight:500;color:#c55c80}.hero-copy{font-family:'Cormorant Garamond',Georgia,serif;font-size:23px;line-height:1.3;max-width:390px;margin:0 auto 28px}.button,button{display:inline-block;border:0;border-radius:50px;background:#a93c63;color:white;text-decoration:none;padding:17px 26px;font:600 12px Montserrat,Arial,sans-serif;cursor:pointer;box-shadow:0 6px 0 #e8a0b6}.button span{margin-left:12px}.love-note{margin:30px 0 0;font-family:Georgia,serif;font-style:italic;color:#a84a69}.hero-photo{position:relative;min-height:590px;padding:30px 30px 30px 0}.hero-photo img{width:100%;height:100%;position:absolute;inset:30px 30px 30px 0;width:calc(100% - 30px);height:calc(100% - 60px);object-fit:cover;object-position:center 35%;border-radius:46% 46% 4px 4px;border:8px solid #fff6ef}.photo-sticker{position:absolute;right:6%;bottom:9%;width:105px;height:105px;border-radius:50%;background:#fff8ef;color:#b44a6c;display:grid;place-content:center;text-align:center;transform:rotate(12deg);font:italic 26px/0.9 Georgia;box-shadow:0 2px 15px #67384933}.flower{position:absolute;font-size:65px;color:#fff9ef;text-shadow:0 2px #db8da7}.flower-a{left:7%;top:12%;transform:rotate(-15deg)}.flower-b{right:4%;bottom:8%;font-size:45px}.hero-bottom{grid-column:1/-1;background:#eea9bf;color:#8d3a56;text-align:center;padding:13px;font-size:9px;letter-spacing:.2em;font-weight:700}.letter-wrap{padding:90px 20px}.letter{position:relative;max-width:850px;margin:auto;background:var(--cream);padding:28px clamp(25px,8vw,105px) 35px;text-align:center;border:1px solid #b87478;box-shadow:9px 9px 0 #bd788088}.letter-top{display:flex;justify-content:space-between;text-transform:uppercase;letter-spacing:.25em;font-size:10px;color:#b86b7f;border-bottom:1px solid #eac9c3;padding-bottom:18px}.letter-flower{font-size:55px;color:#e3a1b5;margin:30px 0 5px}.script{font:italic 24px Georgia;color:#c25d7f}.letter h2,.wish h2{font-size:clamp(48px,6vw,76px);color:#8e3b58;margin:20px 0 30px}.letter-copy{max-width:570px;margin:auto;font:20px/1.6 'Cormorant Garamond',Georgia,serif}.signature{font:italic 20px/1.5 Georgia;color:#af5271;margin:30px 0}.signature strong{font-weight:normal;font-size:24px}.letter-bottom{border-top:1px solid #eac9c3;padding-top:22px;text-transform:uppercase;letter-spacing:.2em;font-size:9px;color:#b86b7f}.gallery{background:#fff4ec;padding:75px clamp(24px,6vw,80px) 90px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:35px}.section-heading h2{font-size:clamp(56px,7vw,85px);margin:15px 0 0;color:#8e3b58}.section-heading>p{font:italic 19px/1.4 Georgia;color:#ad6379}.photo-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.photo-grid figure{margin:0;background:#fff;padding:10px 10px 17px;box-shadow:0 4px 14px #773e3e1c;transform:rotate(-2deg)}.photo-grid figure:nth-child(even){transform:rotate(2deg);margin-top:25px}.photo-grid img{display:block;width:100%;aspect-ratio:3/4;object-fit:cover}.photo-grid figcaption{text-align:center;font:italic 16px Georgia;color:#a5506b;padding-top:14px}.wish{position:relative;overflow:hidden;background:#f8c6d6;text-align:center;padding:90px 20px 100px}.wish-flower{font-size:70px;color:#fff5e8}.wish>p:not(.eyebrow){font:20px Georgia;line-height:1.4}.wish button{margin-top:15px}#confetti{position:absolute;inset:0;pointer-events:none;overflow:hidden}.confetti-piece{position:absolute;top:-30px;animation:fall 2.5s ease-in forwards;color:#a53e62;font-size:24px}@keyframes fall{to{transform:translate(var(--x),110vh) rotate(480deg);opacity:0}}footer{background:#8b3856;color:#ffedf0;padding:22px 35px;display:flex;justify-content:space-between;gap:20px;font-size:9px;font-weight:700;letter-spacing:.16em}@media(max-width:700px){body{padding:10px}.hero{grid-template-columns:1fr}.ribbon{font-size:9px}.hero-inner{padding:75px 22px 45px}.hero-photo{min-height:450px;padding:0 20px 25px}.hero-photo img{inset:0 20px 25px;width:calc(100% - 40px);height:calc(100% - 25px)}.flower-a{top:7%;font-size:48px}.flower-b{right:8%;bottom:4%}.hero-bottom{font-size:8px;line-height:1.7}.letter-wrap{padding:55px 10px}.letter{padding:23px 24px 30px}.letter-copy{font-size:19px}.gallery{padding:60px 20px 75px}.section-heading{display:block}.section-heading>p{margin:20px 0 0}.photo-grid{grid-template-columns:repeat(2,1fr);gap:13px}.photo-grid figure:nth-child(even){margin-top:12px}.photo-grid figcaption{font-size:13px}.wish{padding:70px 20px 80px}footer{flex-direction:column;text-align:center;line-height:1.6}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.confetti-piece{animation:none;display:none}}
.hero-art{min-height:590px;padding:30px 30px 30px 0;display:flex}.art-frame{position:relative;overflow:hidden;flex:1;border:8px solid #fff6ef;border-radius:46% 46% 4px 4px;background:radial-gradient(ellipse at 50% 45%,#fff8ef 0 34%,#f6b4c9 35% 36%,#f5ccda 37% 100%);display:flex;flex-direction:column;align-items:center;justify-content:center;color:#a84164}.art-frame p{font:600 clamp(48px,6vw,80px)/.9 'Cormorant Garamond',Georgia,serif;text-align:center;z-index:1}.art-frame p em{font-weight:500;color:#cf7692}.art-bow{font-size:65px;margin-bottom:10px}.art-sparkle,.art-heart,.art-flower{position:absolute;color:#fff8ef;font-size:95px}.art-sparkle{left:12%;top:19%}.art-heart{right:12%;top:27%;color:#c35c7c}.art-flower{right:13%;bottom:13%;color:#fff8ef;font-size:125px}.art-mini{letter-spacing:.2em;color:#be6a85}.little-wishes{text-align:center;background:#fff4ec;padding:80px 25px}.little-wishes h2{font-size:clamp(46px,6vw,75px);color:#8e3b58;margin:20px auto 50px}.wish-list{display:flex;justify-content:center;gap:clamp(30px,8vw,110px);font:italic 21px/1.8 Georgia;color:#a84a69}.wish-list span:first-line{font-size:45px;color:#dc89a5}@media(max-width:700px){.hero-art{min-height:430px;padding:0 20px 25px}.little-wishes{padding:65px 20px}.wish-list{gap:20px;font-size:15px}.art-flower{font-size:90px}}
