*{box-sizing:border-box}body{color:#554542;background:#faf6ef;margin:0;font-family:Tahoma,Arial,sans-serif}button,input,textarea{font:inherit}button{cursor:pointer}button:focus-visible{outline-offset:5px;outline:3px solid #a26c7c}main{max-width:1100px;margin:auto;padding:0 24px}header{border-bottom:1px solid #e6ddd0;justify-content:space-between;align-items:center;padding:25px 0;font-size:13px;display:flex}.brand{font-weight:700}.occasion{color:#9a7d5e}.intro{text-align:center;margin-top:44px}.eyebrow{color:#9c7851;letter-spacing:1px;font-size:12px}h1{margin:4px 0 6px;font-family:Times New Roman,serif;font-size:90px;font-weight:400;line-height:1.3}h1 em{color:#a9657b;font-style:normal}.dedication{margin:4px;font-size:18px}.dedication strong{color:#9b5e70;font-weight:400}.quote{margin:20px 0 0;font-family:Times New Roman,serif;font-size:27px;line-height:1.6}.gift{text-align:center;max-width:560px;margin:0 auto;position:relative}.halo{background:radial-gradient(#f1dedc88,#0000 65%);border-radius:50%;position:absolute;inset:10% 5% 18%}.bouquet{width:100%;max-width:480px;height:340px;margin:auto;position:relative}.stems{width:100%;height:100%;position:absolute;inset:0}.flower{filter:drop-shadow(0 5px 4px #80574e20);background:0 0;border:0;width:105px;padding:0;transition:filter .2s;position:absolute}.flower:hover{filter:drop-shadow(0 0 9px #bd6f8c99)}.flower svg{width:100%;display:block}.bouquet-caption{color:#927b70;font-size:13px;line-height:1.8;position:relative}.actions{text-align:center;margin:26px 0 0}.primary,.secondary{border:1px solid #c7afa5;border-radius:40px;padding:14px 27px;font-size:14px;transition:background .2s}.primary{color:#fff;background:#9f6576;border-color:#9f6576}.primary:hover{background:#875165}.primary span{margin-right:18px}.secondary{color:#856a61;background:0 0;margin:0 8px}.secondary:hover{background:#f1e6e0}.actions p{color:#947762;margin:22px 0;font-family:Times New Roman,serif;font-size:20px}footer{text-align:center;color:#968579;border-top:1px solid #e6ddd0;margin-top:40px;padding:25px 0;font-size:12px;line-height:2}footer small{font-size:11px}.notice{text-align:center;background:#f1e6df;border-radius:14px;max-width:560px;margin:18px auto;padding:15px}.notice button{color:#954f69;background:0 0;border:0;text-decoration:underline}.overlay{-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);z-index:10;background:#493b376b;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0;overflow:auto}.modal{background:#fffaf4;border:1px solid #e1d0bd;border-radius:24px;width:100%;max-width:540px;max-height:90dvh;padding:42px;position:relative;overflow:auto;box-shadow:0 25px 100px #33251c30}.close{color:#9a8175;background:0 0;border:0;width:36px;height:36px;font-size:30px;position:absolute;top:12px;left:16px}.small-flower{width:75px;margin:0 auto 20px}.modal:has(.letter){text-align:center}.letter{white-space:pre-wrap;overflow-wrap:anywhere;font-family:Times New Roman,serif;font-size:27px;line-height:1.8}.signature{color:#a16679;margin:28px 0}h2{margin:10px 0;font-family:Times New Roman,serif;font-size:36px}form>p{color:#907c72;font-size:14px;line-height:1.9}label{margin:18px 0 8px;font-size:14px;display:block}input,textarea{color:#554542;resize:vertical;background:#fffdf9;border:1px solid #d8c8bc;border-radius:10px;width:100%;padding:13px;line-height:1.8}form>small{color:#9e8a80;text-align:left;font-size:11px;display:block}fieldset{border:0;margin:18px 0;padding:0}legend{font-size:13px}.color-options{gap:12px;margin:10px 0;display:flex}.color-options button{background:0 0;border:1px solid #0000;border-radius:50%;width:55px;height:55px;padding:3px}.color-options .selected{background:#f4e4e9;border-color:#ac6d84}form .primary{width:100%}.more{flex-wrap:wrap;justify-content:center;gap:20px;margin-top:25px;display:flex}.more button{background:0 0;border:0;width:90px;font-size:12px}.more svg{width:65px}button:disabled{opacity:.6;cursor:wait}@media (max-width:600px){main{padding:0 18px}header{padding:20px 0;font-size:11px}.intro{margin-top:30px}h1{font-size:72px}.quote{margin-top:18px;font-size:24px}.bouquet{height:290px}.flower{width:80px}.actions{flex-direction:column;align-items:center;gap:10px;margin-top:22px;display:flex}.actions p{margin:8px 0;font-size:18px}.modal{padding:38px 23px 26px}.letter{font-size:25px}footer{margin-top:28px}}@media (prefers-reduced-motion:reduce){*{transition:none!important}}
