:root{--bg:#fdfbf7;--surface:#faf6f0;--ink:#2a2320;--ink-soft:#4a3f36;--muted:#7a6a5a;--accent:#b39a7a;--border:#e0d4c2;--font-heading:"Georgia", serif;--font-body:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif}*{box-sizing:border-box}.banner[data-v-0ce60f22]{color:var(--ink-soft);background:#f0e4c8;border-bottom:1px solid #d4b676;justify-content:space-between;align-items:center;gap:16px;padding:12px 24px;font-size:14px;display:flex}.body[data-v-0ce60f22]{flex:1;min-width:0}.title[data-v-0ce60f22]{color:var(--ink);margin:0 0 2px;font-weight:600}.text[data-v-0ce60f22]{margin:0;line-height:1.5}.close[data-v-0ce60f22]{color:#7a5c2c;cursor:pointer;background:0 0;border:0;border-radius:4px;flex-shrink:0;padding:4px 8px;font-size:22px;line-height:1;transition:background .15s}.close[data-v-0ce60f22]:hover{background:#7a5c2c1a}body{font-family:var(--font-body);background:var(--bg);color:var(--ink);margin:0}nav{text-align:center;border-bottom:1px solid var(--border);background:var(--bg);padding:20px 24px}nav a{color:var(--ink-soft);letter-spacing:.1em;text-transform:uppercase;margin:0 12px;font-size:13px;text-decoration:none;transition:color .2s}nav a:hover{color:var(--accent)}nav a.router-link-exact-active{color:var(--accent);border-bottom:1px solid var(--accent);padding-bottom:4px}.loading,.load-error{text-align:center;min-height:100vh;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;padding:32px;font-style:italic;display:flex}.load-error h1{font-family:var(--font-heading);color:var(--ink);margin:0 0 12px;font-weight:400}.load-error .hint{max-width:480px;margin-top:12px;font-size:14px;line-height:1.6}.load-error code{background:var(--surface);border-radius:3px;padding:2px 6px;font-family:Courier New,monospace}.load-error .back{color:var(--muted);letter-spacing:.15em;text-transform:uppercase;margin-top:24px;font-size:13px;text-decoration:none}.load-error .back:hover{color:var(--accent)}.admin-shell[data-v-33652a73]{background:#f6f2ea;grid-template-columns:260px 1fr;min-height:100vh;display:grid}.sidebar[data-v-33652a73]{background:var(--ink);color:var(--bg);flex-direction:column;height:100vh;padding:32px 24px;display:flex;position:sticky;top:0}.brand-eyebrow[data-v-33652a73]{text-transform:uppercase;letter-spacing:.3em;color:var(--accent);margin:0 0 8px;font-size:10px}.brand-couple[data-v-33652a73]{font-family:var(--font-heading);color:var(--bg);margin:0 0 8px;font-size:20px;line-height:1.3}.switch-link[data-v-33652a73]{letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-bottom:32px;font-size:11px;text-decoration:none;transition:color .15s;display:inline-block}.switch-link[data-v-33652a73]:hover{color:var(--bg)}.brand-user[data-v-33652a73]{color:#a08a70;margin:8px 0 32px;font-size:11px;font-style:italic}.side-nav[data-v-33652a73]{flex-direction:column;flex:1;gap:4px;display:flex}.nav-heading[data-v-33652a73]{letter-spacing:.25em;text-transform:uppercase;color:var(--muted);margin:20px 16px 6px;font-size:10px}.nav-item[data-v-33652a73]{color:#d0c4b2;letter-spacing:.05em;border-radius:4px;padding:10px 16px;font-size:14px;text-decoration:none;transition:background .15s,color .15s}.nav-item[data-v-33652a73]:hover{color:var(--bg);background:#ffffff0d}.nav-item.router-link-exact-active[data-v-33652a73]{background:var(--ink-soft);color:var(--bg)}.side-footer[data-v-33652a73]{border-top:1px solid #ffffff1a;flex-direction:column;gap:8px;padding-top:16px;display:flex}.foot-link[data-v-33652a73],.foot-btn[data-v-33652a73]{color:#a08a70;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:4px;padding:10px 16px;font-family:inherit;font-size:13px;text-decoration:none;transition:color .15s,background .15s}.foot-link[data-v-33652a73]:hover,.foot-btn[data-v-33652a73]:hover{color:var(--bg);background:#ffffff0d}.content[data-v-33652a73]{padding:40px;overflow-x:auto}@media (width<=780px){.admin-shell[data-v-33652a73]{grid-template-columns:1fr}.sidebar[data-v-33652a73]{height:auto;padding:20px 24px;position:static}.brand-couple[data-v-33652a73]{margin-bottom:20px}.side-nav[data-v-33652a73]{flex-direction:row;gap:4px;overflow-x:auto}.content[data-v-33652a73]{padding:24px}}.landing[data-v-be202f20]{background:var(--bg);color:var(--ink)}.nav[data-v-be202f20]{justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto;padding:20px 24px;display:flex}.brand[data-v-be202f20]{font-family:var(--font-heading);color:var(--ink);letter-spacing:.02em;font-size:22px;text-decoration:none}.nav-links[data-v-be202f20]{align-items:center;gap:24px;display:flex}.nav-link[data-v-be202f20]{color:var(--ink-soft);letter-spacing:.04em;font-size:13px;text-decoration:none;transition:color .15s}.nav-link[data-v-be202f20]:hover{color:var(--accent)}.nav-cta[data-v-be202f20]{letter-spacing:.08em;text-transform:uppercase;background:var(--ink);color:var(--bg);border-radius:2px;padding:10px 18px;font-size:13px;text-decoration:none;transition:background .15s}.nav-cta[data-v-be202f20]:hover{background:var(--ink-soft)}.hero[data-v-be202f20]{text-align:center;max-width:900px;margin:0 auto;padding:96px 24px 120px}.eyebrow[data-v-be202f20]{text-transform:uppercase;letter-spacing:.3em;color:var(--muted);margin:0 0 16px;font-size:11px}.hero h1[data-v-be202f20]{font-family:var(--font-heading);color:var(--ink);margin:0 0 24px;font-size:clamp(40px,6vw,72px);font-weight:400;line-height:1.1}.lede[data-v-be202f20]{color:var(--muted);max-width:620px;margin:0 auto 40px;font-size:17px;font-style:italic;line-height:1.7}.hero-cta[data-v-be202f20]{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.btn[data-v-be202f20]{letter-spacing:.15em;text-transform:uppercase;border-radius:2px;padding:14px 28px;font-size:13px;text-decoration:none;transition:all .15s;display:inline-block}.btn-primary[data-v-be202f20]{background:var(--ink);color:var(--bg)}.btn-primary[data-v-be202f20]:hover{background:var(--ink-soft)}.btn-ghost[data-v-be202f20]{color:var(--ink);border:1px solid var(--border);background:0 0}.btn-ghost[data-v-be202f20]:hover{border-color:var(--accent);color:var(--accent)}.section-head[data-v-be202f20]{text-align:center;margin-bottom:56px}.section-head h2[data-v-be202f20]{font-family:var(--font-heading);color:var(--ink);margin:0 0 16px;font-size:clamp(30px,4vw,44px);font-weight:400}.section-lede[data-v-be202f20]{color:var(--muted);max-width:520px;margin:0 auto;font-style:italic;line-height:1.6}.features[data-v-be202f20]{background:var(--surface);border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:96px 24px}.feature-grid[data-v-be202f20]{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:32px;max-width:1080px;margin:0 auto;display:grid}.feature[data-v-be202f20]{padding:8px 4px}.feature h3[data-v-be202f20]{font-family:var(--font-heading);color:var(--ink);margin:0 0 12px;font-size:22px;font-weight:400}.feature p[data-v-be202f20]{color:var(--ink-soft);margin:0;line-height:1.7}.how[data-v-be202f20]{max-width:1080px;margin:0 auto;padding:96px 24px}.steps[data-v-be202f20]{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:40px;margin:0;padding:0;list-style:none;display:grid}.step[data-v-be202f20]{text-align:center}.step-num[data-v-be202f20]{font-family:var(--font-heading);letter-spacing:.2em;color:var(--accent);margin-bottom:16px;font-size:14px;display:inline-block}.step h3[data-v-be202f20]{font-family:var(--font-heading);color:var(--ink);margin:0 0 12px;font-size:24px;font-weight:400}.step p[data-v-be202f20]{color:var(--ink-soft);max-width:260px;margin:0 auto;line-height:1.7}.weddings[data-v-be202f20]{background:var(--surface);border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:96px 24px}.grid[data-v-be202f20]{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;max-width:1080px;margin:0 auto;padding:0;list-style:none;display:grid}.card[data-v-be202f20]{display:block}.card-link[data-v-be202f20]{color:inherit;border-radius:4px;text-decoration:none;transition:transform .15s;display:block}.card-link[data-v-be202f20]:hover{transform:translateY(-2px)}.preview[data-v-be202f20]{border:1px solid var(--border);text-align:center;background:var(--bg);border-radius:4px;padding:48px 24px;transition:box-shadow .15s}.card-link:hover .preview[data-v-be202f20]{box-shadow:0 8px 24px #2a23201f}.couple[data-v-be202f20]{font-family:var(--font-heading);margin:0 0 8px;font-size:24px;line-height:1.3}.date[data-v-be202f20]{letter-spacing:.05em;margin:0 0 16px;font-size:13px}.hashtag[data-v-be202f20]{letter-spacing:.05em;margin:0;font-size:13px;font-style:italic}.slug[data-v-be202f20]{text-align:center;color:var(--muted);letter-spacing:.05em;margin:8px 0 0;font-family:Courier New,monospace;font-size:12px}.empty[data-v-be202f20]{text-align:center;color:var(--muted);padding:48px 24px;font-style:italic}.cta[data-v-be202f20]{text-align:center;max-width:800px;margin:0 auto;padding:120px 24px}.cta h2[data-v-be202f20]{font-family:var(--font-heading);color:var(--ink);margin:0 0 16px;font-size:clamp(32px,4.5vw,48px);font-weight:400;line-height:1.2}.cta p[data-v-be202f20]{color:var(--muted);margin:0 0 40px;font-size:17px;font-style:italic}.foot[data-v-be202f20]{background:var(--ink);color:var(--surface);padding:64px 24px 32px}.foot-inner[data-v-be202f20]{border-bottom:1px solid #e0d4c226;flex-wrap:wrap;justify-content:space-between;gap:48px;max-width:1080px;margin:0 auto;padding-bottom:48px;display:flex}.foot-brand .brand[data-v-be202f20]{color:var(--surface);font-family:var(--font-heading);margin:0 0 8px;font-size:22px}.foot-tag[data-v-be202f20]{color:var(--accent);margin:0;font-size:14px;font-style:italic}.foot-cols[data-v-be202f20]{flex-wrap:wrap;gap:64px;display:flex}.foot-col[data-v-be202f20]{flex-direction:column;gap:10px;display:flex}.foot-heading[data-v-be202f20]{text-transform:uppercase;letter-spacing:.2em;color:var(--accent);margin:0 0 8px;font-size:11px}.foot-col a[data-v-be202f20]{color:var(--surface);opacity:.8;font-size:14px;text-decoration:none;transition:opacity .15s}.foot-col a[data-v-be202f20]:hover{opacity:1}.copyright[data-v-be202f20]{text-align:center;color:var(--surface);opacity:.5;letter-spacing:.1em;margin:32px 0 0;font-size:12px}@media (width<=640px){.nav-links[data-v-be202f20]{gap:12px}.nav-link[data-v-be202f20]{display:none}.nav-link[data-v-be202f20]:last-of-type,.nav-cta[data-v-be202f20]{display:inline-block}.hero[data-v-be202f20]{padding:64px 24px 80px}}
