*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,sans-serif;color:#182033;background:#fffaf7}.container{width:min(1120px,calc(100% - 28px));margin:auto}.top{background:#fffaf7;border-bottom:1px solid #eee1dc;position:sticky;top:0;z-index:20}.nav{height:72px;display:flex;align-items:center;gap:16px}.brand{text-decoration:none;color:#182033;font:700 27px Georgia,serif}.brand:before{content:'♡';color:#d83f61;font-size:42px;vertical-align:-5px;margin-right:8px}.nav .spacer{margin-left:auto}.btn{display:inline-block;text-decoration:none;border:0;border-radius:12px;padding:12px 17px;font-weight:800;cursor:pointer}.primary{background:linear-gradient(135deg,#dc4968,#c92d50);color:#fff}.light{background:#fff;border:1px solid #e8ddd8;color:#182033}.hero{padding:64px 0;background:linear-gradient(180deg,#fff6f1,#fff)}.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center}.hero h1{font:700 clamp(48px,6vw,76px)/1.02 Georgia,serif;margin:8px 0 20px}.hero h1 span{color:#c63e5b}.lead{font-size:18px;line-height:1.65;color:#5d6778}.mock{background:#f2e5d8;border-radius:28px;padding:26px}.phone{width:260px;min-height:470px;margin:auto;background:#fff;border:10px solid #111;border-radius:38px;text-align:center;padding:70px 20px 30px;box-shadow:0 22px 44px #0002}.phone h3{font:700 34px Georgia,serif}.section{padding:52px 0}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.card{background:#fff;border:1px solid #eadfda;border-radius:20px;padding:24px}.auth{min-height:calc(100vh - 72px);display:grid;place-items:center;padding:30px 14px}.auth-card{width:min(520px,100%);background:#fff;border:1px solid #eadfda;border-radius:24px;padding:28px;box-shadow:0 20px 55px #00000012}.auth-card h1,.dash h1{font:700 40px Georgia,serif}.group{margin:15px 0}.group label{display:block;font-weight:800;font-size:13px;margin-bottom:7px}.input,.select,.textarea{width:100%;padding:13px;border:1px solid #d8d0cc;border-radius:12px;font:inherit;background:#fff}.textarea{min-height:120px}.error{background:#fff0f3;color:#a22c45;border:1px solid #f0c3cd;padding:12px;border-radius:12px;margin:12px 0}.dash{padding:34px 0 70px}.dash-head{display:flex;justify-content:space-between;gap:14px;align-items:center}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:22px 0}.stat,.inv{background:#fff;border:1px solid #eadfda;border-radius:18px;padding:18px}.stat b{font-size:30px;display:block}.inv{display:flex;justify-content:space-between;gap:16px;align-items:center;margin:12px 0}.badge{display:inline-block;background:#fff0f4;color:#bd3652;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:800}.types{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.type{border:1px solid #e7ddd8;border-radius:14px;padding:14px;text-align:center;background:#fff}.type input{display:none}.type:has(input:checked){border-color:#d83f61;background:#fff3f6}.grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.full{grid-column:1/-1}.muted{color:#6f7888}@media(max-width:800px){.hero-grid,.cards{grid-template-columns:1fr}.stats{grid-template-columns:1fr}.types{grid-template-columns:repeat(2,1fr)}.grid{grid-template-columns:1fr}.full{grid-column:auto}.dash-head,.inv{align-items:flex-start;flex-direction:column}.nav .hide-mobile{display:none}.hero h1{font-size:48px}}
.theme-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:16px 0}
.theme-card{border:1px solid #e5dad5;border-radius:18px;padding:0;overflow:hidden;background:#fff;cursor:pointer}
.theme-card input{display:none}
.theme-card .thumb{height:160px;display:grid;place-items:center;font:700 28px Georgia,serif}
.theme-card .theme-meta{padding:14px}
.theme-card:has(input:checked){border-color:#d83f61;box-shadow:0 0 0 3px rgba(216,63,97,.09)}
.theme-romantic .thumb{background:linear-gradient(145deg,#fff7ef,#ead8c6);color:#76523f}
.theme-modern .thumb{background:linear-gradient(145deg,#f8f8f8,#dfe6ef);color:#1d2939}
.theme-night .thumb{background:linear-gradient(145deg,#0e0f13,#30230c);color:#e9c36c}
.tabbar{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}
.tabbar a{padding:10px 14px;border-radius:999px;background:#fff;border:1px solid #e5dad5;color:#253047;text-decoration:none;font-weight:800}
.tabbar a.active{background:#182033;color:#fff}
.rsvp-box{margin-top:30px;border-top:1px solid #e8ddd6;padding-top:24px}
.rsvp-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.qr-placeholder{width:180px;height:180px;margin:auto;background:
linear-gradient(90deg,#111 10px,transparent 10px) 0 0/24px 24px,
linear-gradient(#111 10px,transparent 10px) 0 0/24px 24px,#fff;
border:12px solid #fff;box-shadow:0 8px 20px #0002}
.notice{background:#fff7e6;color:#775c22;border:1px solid #efd79b;padding:12px 14px;border-radius:12px}
.success{background:#eefaf3;color:#246944;border:1px solid #bfe3cd;padding:12px 14px;border-radius:12px}
@media(max-width:800px){.theme-grid{grid-template-columns:1fr}.rsvp-grid{grid-template-columns:1fr}}

.paywall{border:1px solid #f0c9d2;background:#fff5f7;border-radius:18px;padding:18px;margin:18px 0}
.cards .card ul{margin:16px 0}
