: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}}.photo-shell{min-height:100vh;background:radial-gradient(circle at 50% -10%,#684b73,#21162b 55%,#100b16);color:#fff;padding:20px}.photo-shell header{max-width:900px;margin:auto;display:flex;justify-content:space-between;opacity:.8}.photo-shell header a{color:#fff;text-decoration:none;font-weight:700}.photo-card,.photo-stage{max-width:760px;margin:8vh auto 0;text-align:center}.photo-card{max-width:520px;background:#ffffff12;border:1px solid #ffffff22;border-radius:28px;padding:42px 28px;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.photo-orbit{width:72px;height:72px;border-radius:50%;display:grid;place-items:center;margin:auto;background:#ebc087;color:#4b304c;font-size:28px}.eyebrow{text-transform:uppercase;letter-spacing:.13em;font-size:.75rem;color:#ebc087}.photo-card h1,.photo-stage h1{font-size:clamp(2rem,5vw,4.2rem);line-height:1.05;margin:.4em 0}.photo-card form{display:grid;gap:12px;margin:28px auto 18px}.photo-card input,.photo-card button,.photo-actions button,.photo-button{border:0;border-radius:16px;padding:16px;font:inherit}.photo-card button,.photo-actions button,.photo-button{background:#ebc087;color:#24172a;font-weight:700;cursor:pointer;text-decoration:none}.photo-card input{background:#fff;color:#201526}.photo-grid{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:12px;aspect-ratio:16/9}.photo-grid video,.photo-preview{width:100%;height:100%;object-fit:cover;border-radius:24px;background:#0c0810;transform:scaleX(-1)}.photo-preview{position:absolute;inset:0;transform:none}.photo-actions{display:flex;justify-content:center;gap:12px;margin-top:24px}.photo-actions button,.photo-button{min-width:180px}.photo-actions .secondary{margin-top:0;background:#ffffff18;color:#fff;border:1px solid #ffffff33}@media(max-width:640px){.photo-grid{aspect-ratio:3/4}.photo-shell{padding:14px}.photo-card{margin-top:4vh}.photo-actions{flex-direction:column}.photo-actions button{width:100%}}.photo-decorate{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:18px}.photo-decorate span{font-size:.75rem;opacity:.65;margin-left:8px}.photo-decorate button{min-height:36px;padding:7px 12px;border-radius:999px;background:#ffffff12;color:#fff;box-shadow:none}.photo-decorate button.chosen{background:#ebc087;color:#24172a}
