:root{--ink:#30252a;--muted:#786a70;--rose:#e3486b;--rose2:#c92f55;--paper:#fffdfb;--line:#eadcdf;--bg:#fff7f8;--shadow:0 22px 70px rgba(91,38,53,.14)}*{box-sizing:border-box}html{font-size:16px}body{margin:0;background:radial-gradient(circle at 10% 12%,#ffdce5 0,transparent 28%),radial-gradient(circle at 92% 86%,#eedcf4 0,transparent 26%),var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;min-height:100vh}button,input,select,textarea{font:inherit}button{cursor:pointer}.sitebar{width:min(1160px,calc(100% - 32px));margin:auto;padding:24px 0;display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:.88rem}.brand{font:700 1.35rem Georgia,serif;text-decoration:none;color:var(--ink)}.brand b{display:inline-grid;place-items:center;background:var(--rose);color:#fff;border-radius:11px;width:36px;height:36px;margin-right:8px}footer{text-align:center;color:var(--muted);font-size:.82rem;padding:34px 16px}.kicker{text-transform:uppercase;letter-spacing:.13em;font-size:.76rem;font-weight:850;color:var(--rose2)}
.create-layout{width:min(1160px,calc(100% - 32px));margin:8px auto 35px;display:grid;grid-template-columns:minmax(0,1.12fr) minmax(340px,.88fr);gap:28px;align-items:start}.creator,.preview-card,.status-card,.center-card{background:rgba(255,253,251,.94);border:1px solid var(--line);border-radius:28px;box-shadow:var(--shadow)}.creator{padding:38px}.creator h1{font:700 clamp(2.2rem,5vw,4.2rem)/.98 Georgia,serif;letter-spacing:-.045em;margin:8px 0 30px}.creator label{display:block;font-weight:750;font-size:.9rem;margin:0 0 19px}.creator label span{font-weight:400;color:var(--muted)}input,select,textarea{width:100%;border:1.5px solid var(--line);background:#fff;border-radius:13px;padding:13px 14px;color:var(--ink);outline:0;margin-top:7px}input:focus,select:focus,textarea:focus{border-color:var(--rose);box-shadow:0 0 0 4px rgba(227,72,107,.1)}textarea{min-height:105px;resize:vertical}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.quick-choices{display:flex;flex-wrap:wrap;gap:8px;margin:-8px 0 23px}.quick-choices button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 11px;color:var(--ink)}.quick-choices button:hover{border-color:var(--rose);background:#fff1f4}fieldset{border:0;padding:0;margin:2px 0 22px}legend{font-weight:800;font-size:.9rem;margin-bottom:10px}.template-picker{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.template-picker label{margin:0;text-align:center;border:1.5px solid var(--line);border-radius:14px;padding:10px 6px;background:#fff;font-size:.78rem}.template-picker label:has(input:checked){border-color:var(--rose);background:#fff1f4}.template-picker input{position:absolute;opacity:0;width:1px}.swatch{display:grid!important;place-items:center;width:40px;height:40px;border-radius:50%;margin:0 auto 6px;color:#fff!important;font-weight:800!important}.swatch.romantic{background:#e3486b}.swatch.elegant{background:#1f2430;font-family:Georgia}.swatch.playful{background:#7d54d8}.swatch.minimal{background:#dfe0e2;color:#333!important}.check{display:flex!important;gap:11px;align-items:flex-start;border:1px solid var(--line);padding:13px;border-radius:14px;background:#fff}.check input{width:19px;height:19px;margin:2px 0}.check span{color:var(--ink)!important}.check small{display:block;font-weight:400;color:var(--muted);margin-top:3px}.form-note,.privacy-note{color:var(--muted);font-size:.8rem;line-height:1.5}.submit,.answer,.copyline button,.dialog-actions button{border:0;border-radius:999px;background:var(--rose);color:#fff;padding:13px 19px;font-weight:850}.submit{width:100%;font-size:1rem;margin-top:4px}.submit:hover,.answer.yes:hover{background:var(--rose2)}.form-error{color:#a91e3f;font-weight:700;min-height:20px}.preview-card{position:sticky;top:20px;padding:18px}.preview-letter{text-align:center;border:1px solid var(--line);border-radius:20px;padding:42px 27px;min-height:540px;background:var(--paper)}.seal{display:grid;place-items:center;width:70px;height:70px;margin:0 auto 26px;border-radius:50%;background:var(--rose);color:#fff;font-size:2rem;box-shadow:0 10px 25px rgba(227,72,107,.25)}.preview-letter h2,.letter-card h1{font:700 clamp(2.1rem,5vw,3.5rem)/1 Georgia,serif;margin:12px 0 18px;letter-spacing:-.04em}.preview-letter>p:not(.kicker){font:italic 1.08rem/1.7 Georgia,serif;color:#655057}.mini-details{display:flex;justify-content:center;gap:12px;margin:28px 0;padding:17px 0;border-block:1px solid var(--line)}.mini-details span{font-size:.85rem;font-weight:750}
.invite-page{width:min(760px,calc(100% - 28px));margin:15px auto 38px}.letter-card{position:relative;text-align:center;background:var(--paper);border:1px solid var(--line);border-radius:30px;box-shadow:var(--shadow);padding:54px 55px;overflow:hidden}.letter-card:before{content:"";position:absolute;inset:16px;border:1px solid var(--line);border-radius:20px;pointer-events:none}.letter-card>*{position:relative}.question{font:italic clamp(1.3rem,3vw,1.75rem)/1.5 Georgia,serif;margin:15px auto;max-width:580px}.personal-message{color:var(--muted);line-height:1.65;margin:20px auto;max-width:530px}.event-details{display:flex;justify-content:center;gap:45px;margin:30px auto;padding:20px 10px;border-block:1px solid var(--line)}.event-details small{display:block;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-size:.68rem;margin-bottom:5px}.signature{line-height:1.65;color:var(--muted);margin:25px 0}.signature strong{color:var(--ink)}.answer-zone{display:flex;justify-content:center;align-items:center;gap:12px;min-height:70px}.answer.no{background:#f1e8ea;color:var(--ink);transition:transform .28s ease}.already-answered{background:#f6eef0;border-radius:14px;padding:15px}.theme-elegant .letter-card{background:#f9f8f4;border-color:#d6d1c7}.theme-elegant .seal{background:#20242e;font-family:Georgia}.theme-elegant .kicker{color:#765f37}.theme-playful .letter-card{background:linear-gradient(145deg,#fff9d9,#f8efff)}.theme-playful .seal{background:#7655d5}.theme-playful .kicker{color:#6440be}.theme-minimal .letter-card{box-shadow:0 18px 50px rgba(20,20,20,.08);border-color:#e5e5e5}.theme-minimal .letter-card:before{display:none}.theme-minimal .seal{background:#fff;color:#333;border:2px solid #333;box-shadow:none}.theme-minimal .kicker{color:#555}
dialog{border:0;border-radius:24px;padding:0;box-shadow:0 24px 80px rgba(35,16,22,.25);max-width:min(500px,calc(100% - 30px));color:var(--ink)}dialog::backdrop{background:rgba(39,24,29,.58);backdrop-filter:blur(4px)}dialog form,dialog>div{padding:30px}dialog h2{font:700 1.8rem Georgia,serif;margin:0 0 9px}dialog p{color:var(--muted);line-height:1.6}dialog textarea{margin:8px 0}.dialog-actions{display:flex;gap:9px;justify-content:flex-end;margin-top:20px}.dialog-actions .secondary{background:#eee7e9;color:var(--ink)}.dialog-actions .danger{background:#343034}.response-result{margin-top:18px;padding:26px;background:#fff;border-radius:20px;text-align:center;box-shadow:var(--shadow)}.hidden{display:none!important}
.status-page,.center-card{width:min(650px,calc(100% - 30px));margin:25px auto 45px}.status-card,.center-card{padding:38px}.status-card h1,.center-card h1{font:700 2.6rem Georgia,serif;margin:6px 0 20px}.success-mark{display:grid;place-items:center;width:62px;height:62px;border-radius:50%;background:#e4f7eb;color:#17653a;font-size:1.7rem;font-weight:900;margin-bottom:18px}.big-status{padding:17px;border-radius:15px;background:#fff3cc;color:#765700;font-weight:850;margin:18px 0}.status-yes{background:#e5f7ec;color:#17653a}.status-no{background:#f4ebed;color:#6b303e}.status-card dl{margin:25px 0}.status-card dl div{display:flex;justify-content:space-between;padding:13px 0;border-bottom:1px solid var(--line)}dt{color:var(--muted)}dd{font-weight:750;margin:0}.status-card blockquote{margin:20px 0;padding:18px;border-left:4px solid var(--rose);background:#fff5f7}.copyline{display:flex;gap:7px;margin:7px 0 16px}.copyline input{margin:0;min-width:0}.copyline button{border-radius:11px;padding:10px 13px;min-width:88px}
@media(max-width:850px){.create-layout{grid-template-columns:1fr}.preview-card{position:static}.sitebar>span{display:none}}@media(max-width:560px){.create-layout{width:min(100% - 16px,1160px)}.creator{padding:25px 19px}.creator,.preview-card,.letter-card{border-radius:21px}.form-grid,.template-picker{grid-template-columns:1fr 1fr}.letter-card{padding:44px 24px}.event-details{flex-direction:column;gap:16px}.answer-zone{flex-direction:column}.answer{width:100%}.dialog-actions{flex-direction:column}.dialog-actions button{width:100%}.sitebar{padding:15px 0}.status-card{padding:28px 20px}}

/* Landing page */
.sitebar nav{display:flex;align-items:center;gap:22px}.sitebar nav a{color:var(--muted);text-decoration:none;font-weight:750}.sitebar nav a:hover{color:var(--ink)}.sitebar .nav-cta{background:var(--rose);color:#fff;padding:10px 16px;border-radius:999px}.sitebar .nav-cta:hover{background:var(--rose2);color:#fff}.landing{overflow:hidden}.hero{width:min(1160px,calc(100% - 32px));margin:20px auto 80px;display:grid;grid-template-columns:1fr .92fr;align-items:center;gap:56px;min-height:610px}.hero h1{font:700 clamp(3.2rem,6vw,5.8rem)/.92 Georgia,serif;letter-spacing:-.055em;margin:13px 0 24px;max-width:720px}.hero-text{font-size:1.14rem;line-height:1.7;color:var(--muted);max-width:630px}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin:30px 0 20px}.cta{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:14px 21px;text-decoration:none;font-weight:850;transition:.2s}.primary-cta{background:var(--rose);color:#fff;box-shadow:0 12px 28px rgba(227,72,107,.25)}.primary-cta:hover{background:var(--rose2);transform:translateY(-2px)}.secondary-cta{background:#fff;color:var(--ink);border:1px solid var(--line)}.secondary-cta:hover{border-color:var(--rose)}.trust-row{display:flex;flex-wrap:wrap;gap:10px 18px;color:var(--muted);font-size:.83rem}.hero-visual{position:relative}.hero-visual:before{content:"";position:absolute;inset:7% -8%;background:var(--rose);opacity:.1;border-radius:50%;filter:blur(45px)}.hero-visual img{position:relative;width:100%;height:auto;border-radius:28px;box-shadow:var(--shadow)}.landing-section{width:min(1100px,calc(100% - 32px));margin:0 auto;padding:88px 0}.section-heading{text-align:center;max-width:760px;margin:0 auto 40px}.section-heading h2,.why h2,.final-cta h2{font:700 clamp(2.2rem,4vw,3.8rem)/1.05 Georgia,serif;letter-spacing:-.04em;margin:10px 0 14px}.section-heading>p:last-child{color:var(--muted);font-size:1.05rem}.three-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.three-grid article{background:rgba(255,255,255,.86);border:1px solid var(--line);border-radius:22px;padding:28px;box-shadow:0 12px 40px rgba(91,38,53,.06)}.three-grid h3,.occasion-grid h3{font:700 1.25rem Georgia,serif;margin:15px 0 9px}.three-grid p,.occasion-grid p{color:var(--muted);line-height:1.6}.step-number{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--rose);color:#fff;font-weight:900}.center-cta{text-align:center;margin-top:32px}.occasions{width:100%;max-width:none;background:rgba(255,255,255,.48);padding-inline:max(16px,calc((100% - 1100px)/2))}.occasion-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.occasion-grid>a{display:block;background:#fff;border:1px solid var(--line);border-radius:22px;padding:25px;text-decoration:none;color:var(--ink);transition:.2s}.occasion-grid>a:hover{border-color:var(--rose);transform:translateY(-4px);box-shadow:0 16px 38px rgba(91,38,53,.1)}.occasion-grid>a>span{font-size:1.9rem}.occasion-grid b{display:block;color:var(--rose2);margin-top:18px;font-size:.88rem}.why-card{display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:65px;background:#30252a;color:#fff;border-radius:32px;padding:55px}.why-card .kicker{color:#ff9bb2}.why-card>div>p{color:#d8ccd0;line-height:1.7}.why-card ul{padding-left:20px;line-height:2;color:#f5e9ec}.mini-letter{text-align:center;background:#fffdfb;color:var(--ink);border-radius:22px;padding:32px;transform:rotate(2deg);box-shadow:0 20px 50px rgba(0,0,0,.2)}.mini-letter .seal{width:52px;height:52px;font-size:1.3rem;margin-bottom:18px}.mini-letter small{text-transform:uppercase;letter-spacing:.11em;color:var(--rose2)}.mini-letter h3{font:700 2.6rem Georgia,serif;margin:8px}.mini-letter p{font:italic 1.1rem Georgia,serif!important;color:#655057!important}.mini-letter span{display:inline-block;margin-top:14px;background:var(--rose);color:#fff;padding:11px 15px;border-radius:999px;font-weight:800}.three-grid.compact article{box-shadow:none}.three-grid.compact h3{font-family:inherit}.final-cta{width:min(1000px,calc(100% - 32px));margin:70px auto 35px;text-align:center;background:linear-gradient(140deg,#ffe1e8,#fff8f6);border:1px solid var(--line);border-radius:32px;padding:70px 28px}.final-cta p:not(.kicker){color:var(--muted);margin-bottom:28px}.landing footer a,footer a{color:inherit}

@media(max-width:900px){.hero{grid-template-columns:1fr;min-height:auto;margin-top:35px}.hero-visual{max-width:680px}.occasion-grid{grid-template-columns:1fr 1fr}.why-card{grid-template-columns:1fr}.sitebar nav>a:not(.nav-cta){display:none}}@media(max-width:650px){.hero{width:min(100% - 24px,1160px);gap:34px;margin-bottom:35px}.hero h1{font-size:3.15rem}.hero-actions{flex-direction:column}.hero-actions .cta{width:100%}.trust-row{display:grid}.landing-section{padding:60px 0}.three-grid,.occasion-grid{grid-template-columns:1fr}.why-card{padding:32px 22px;border-radius:24px;gap:35px}.section-heading{text-align:left}.final-cta{padding:50px 22px}.sitebar{width:min(100% - 22px,1160px)}.sitebar .nav-cta{padding:9px 13px;font-size:.84rem}.brand{font-size:1.1rem}.brand b{width:32px;height:32px}}
