:root{--paper:#f7f5ef;--ink:#46423b;--muted:#817b70;--line:#d9d3c8;--olive:#777e65;--cream:#fcfbf8}*{box-sizing:border-box}body{margin:0;background:#e9e6df;color:var(--ink);font-family:'DM Sans',sans-serif;-webkit-font-smoothing:antialiased}.page{min-height:100vh;display:flex;justify-content:center;padding:32px 18px}.frame{position:relative;width:min(100%,720px);min-height:900px;background:var(--paper);padding:45px clamp(24px,7vw,80px) 34px;text-align:center;box-shadow:0 14px 60px #403d3510}.frame:before{content:"";position:absolute;inset:15px;border:1px solid var(--line);pointer-events:none}.masthead,.hero,.upload-card,footer{position:relative;z-index:1}.eyebrow,.names,.section-label,footer{letter-spacing:.22em;font-size:10px}.eyebrow{margin:0 0 15px;color:var(--muted)}.monogram{display:flex;justify-content:center;align-items:baseline;gap:3px;font-family:'Cormorant Garamond',serif;font-size:72px;line-height:.95;letter-spacing:-.12em;font-weight:400}.monogram .amp{font-size:34px;font-style:italic;margin:0 6px;letter-spacing:0;color:var(--olive)}.names{margin:16px 0 0;font-size:10px}.names span{margin:0 9px;color:var(--olive)}.hero{padding:36px 0 30px}.ornament{width:104px;margin:0 auto 24px;color:var(--olive)}.ornament svg{display:block;width:100%}.section-label{color:var(--olive);margin:0 0 16px}h1,h2{font-family:'Cormorant Garamond',serif;font-weight:400}h1{font-size:clamp(49px,9vw,75px);line-height:.94;letter-spacing:-.035em;margin:0}h1 em{font-weight:400;color:var(--olive)}.intro{font-size:13px;line-height:1.9;color:var(--muted);max-width:385px;margin:26px auto 0}.upload-card{border:1px solid var(--line);background:var(--cream);padding:26px 20px 25px;max-width:440px;margin:0 auto}.flower{width:40px;height:40px;color:var(--olive);margin:0 auto 7px}.flower svg{width:100%}.upload-card h2{font-size:32px;line-height:1.05;margin:0}.upload-card>p{font-size:12px;line-height:1.7;color:var(--muted);margin:12px auto 20px;max-width:280px}.primary-button{font:500 11px 'DM Sans',sans-serif;letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--olive);background:var(--olive);color:white;padding:16px 19px;cursor:pointer;min-width:230px;transition:background .2s}.primary-button:hover{background:#626a52}.primary-button span{font-size:17px;margin-left:10px}.upload-card .micro{font-size:10px;margin:13px 0 0}.selection{margin-top:19px;border-top:1px solid var(--line);padding-top:16px}.selection p{font-size:12px;color:var(--ink)}.previews{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:12px}.previews img{aspect-ratio:1;object-fit:cover;width:100%}.selection .notice{font-size:11px;line-height:1.6;color:#8a674e}footer{margin-top:42px;color:var(--muted)}.footer-line{width:35px;height:1px;background:var(--olive);margin:0 auto 18px}footer p{margin:0 0 8px}footer span{font-size:9px;letter-spacing:.15em}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:520px){.page{padding:0}.frame{min-height:100dvh;padding:44px 30px 34px;box-shadow:none}.frame:before{inset:11px}.monogram{font-size:62px}.hero{padding:31px 0 26px}h1{font-size:clamp(48px,12vw,66px)}.intro{font-size:12px;margin-top:23px}.upload-card{padding:23px 15px}.upload-card h2{font-size:28px}footer{margin-top:34px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
