:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#fff8ef;background:#302538;font-synthesis:none;--ink:#302538;--rose:#e7acb2;--moon:#e9b98d;--paper:#fff8ef}*{box-sizing:border-box}body{margin:0;min-height:100svh}button,input,textarea{font:inherit}.scene{position:relative;min-height:100svh;overflow:hidden;background:#302538}.scene>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:64% center}.veil{position:absolute;inset:0;background:linear-gradient(90deg,#302538f7,#302538c7 40%,#30253814 74%)}.brand{position:absolute;top:max(24px,env(safe-area-inset-top));left:clamp(24px,6vw,84px);color:var(--paper);font-family:Georgia,serif;font-size:20px;letter-spacing:.06em;text-decoration:none}.content{position:relative;display:grid;align-items:center;min-height:100svh;width:min(100%,1280px);padding:96px clamp(24px,6vw,84px) 48px}.invitation{width:min(520px,100%)}.from{display:block;color:#f1cfd0;font-size:14px;letter-spacing:.08em;margin-bottom:18px}.invitation h1{font-family:Georgia,Songti SC,serif;font-size:clamp(42px,6vw,76px);font-weight:500;line-height:1.02;letter-spacing:-.03em;margin:0 0 22px;text-wrap:balance}.invitation p{color:#e8d8df;font-size:17px;line-height:1.65;max-width:38ch;margin:0 0 34px}form{display:grid;gap:10px;max-width:420px}label{font-size:14px;color:#f2d8dd}input,textarea{width:100%;border:1px solid rgba(255,248,239,.26);border-radius:14px;background:#241a2cc7;color:#fff8ef;padding:16px 18px;outline:none;box-shadow:0 12px 36px #120a1829}textarea{min-height:132px;resize:vertical;margin:10px 0}input:focus,textarea:focus{border-color:var(--moon);box-shadow:0 0 0 3px #e9b98d33}button,.button{display:flex;align-items:center;justify-content:center;gap:10px;min-height:52px;border:0;border-radius:14px;background:var(--moon);color:var(--ink);font-weight:700;padding:14px 20px;cursor:pointer;text-decoration:none;box-shadow:0 12px 28px #160c1b3d;transition:transform .18s ease-out,box-shadow .18s ease-out}button:hover,.button:hover{transform:translateY(-2px);box-shadow:0 16px 32px #160c1b4d}button:focus-visible,.button:focus-visible{outline:3px solid #fff;outline-offset:3px}button:disabled{opacity:.58;cursor:default;transform:none}.secondary{margin-top:12px;background:#fff8ef24;color:var(--paper)}button.text{background:transparent;color:#f1cfd0;box-shadow:none}.privacy{display:flex;gap:9px;align-items:center;margin-top:22px!important;font-size:13px!important}.privacy svg,button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8}.answers{display:grid;gap:12px;margin:24px 0}.answers blockquote{margin:0;padding:16px 18px;border-radius:14px;background:#fff8ef1f;font-family:Georgia,Songti SC,serif;font-size:20px;line-height:1.45}output{min-height:22px;color:#ffd0cd;font-size:14px}.loading{padding:40px}.room h1{font-size:clamp(38px,5vw,64px)}::selection{background:var(--rose);color:var(--ink)}@media(max-width:700px){.scene{display:flex;align-items:flex-end}.scene>img{height:52svh;object-position:68% center}.veil{background:linear-gradient(0deg,#302538 0% 48%,#30253814 74%)}.content{align-items:end;padding:42svh 22px max(30px,env(safe-area-inset-bottom))}.brand{left:22px}.invitation h1{font-size:42px}.invitation p{margin-bottom:24px}.privacy{margin-bottom:0!important}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
