:root{
  --pink:#ff5fa2; --pink-soft:#ffe3ef; --rose:#ffb3d1; --lilac:#e6d9ff; --cream:#fff8f3; --ink:#2b1630; --muted:#7a6580;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:'DM Sans',system-ui,sans-serif;color:var(--ink);background:var(--cream);position:relative;overflow-x:hidden;line-height:1.5}
.blob{position:fixed;z-index:-1;border-radius:50%;filter:blur(70px);opacity:.7}
.b1{width:420px;height:420px;background:var(--rose);top:-120px;left:-120px}
.b2{width:460px;height:460px;background:var(--lilac);bottom:-160px;right:-140px}

.hero{text-align:center;padding:64px 20px 28px;max-width:760px;margin:0 auto}
.tag{display:inline-block;font-family:'Caveat',cursive;font-size:1.6rem;color:var(--pink);transform:rotate(-3deg);margin:0 0 8px;background:#fff;padding:2px 16px;border-radius:999px;box-shadow:0 4px 0 var(--rose)}
h1{font-family:'Fraunces',serif;font-size:clamp(2rem,6vw,3.6rem);line-height:1.1;margin:12px 0}
h1 em{color:var(--pink);font-style:italic}
.lead{color:var(--muted);font-size:1.1rem;max-width:560px;margin:0 auto}

main{max-width:760px;margin:0 auto;padding:0 16px 40px}
.card{background:rgba(255,255,255,.85);backdrop-filter:blur(10px);border:2px solid #fff;border-radius:28px;padding:28px;box-shadow:0 20px 50px rgba(255,95,162,.15)}
fieldset{border:0;padding:0;margin:0 0 30px}
legend{font-family:'Fraunces',serif;font-size:1.4rem;font-weight:600;margin-bottom:14px;display:flex;align-items:center;gap:10px}
legend span{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--pink);color:#fff;font-size:1rem;transform:rotate(-6deg)}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
label{display:block;font-weight:500;font-size:.92rem}
input[type=text],input:not([type=radio]):not([type=checkbox]),textarea{width:100%;margin-top:6px;padding:13px 14px;border:2px solid var(--pink-soft);border-radius:14px;font:inherit;background:#fff;color:var(--ink);transition:border-color .2s,box-shadow .2s}
input:focus,textarea:focus{outline:0;border-color:var(--pink);box-shadow:0 0 0 4px rgba(255,95,162,.18)}
.q{font-weight:700;margin:20px 0 10px}
.q small{font-weight:400;color:var(--muted)}
.chips{display:flex;flex-wrap:wrap;gap:10px}
.chips label{margin:0}
.chips input{position:absolute;opacity:0;pointer-events:none}
.chips span{display:inline-block;padding:10px 16px;border-radius:999px;background:var(--pink-soft);cursor:pointer;transition:transform .15s,background .2s,color .2s}
.chips span:hover{transform:translateY(-2px) rotate(-1deg)}
.chips input:checked+span{background:var(--pink);color:#fff;box-shadow:0 4px 0 #d63d82}
.chips input:focus-visible+span{outline:3px solid var(--ink);outline-offset:2px}
.chips.invalid{outline:2px dashed #d63d3d;outline-offset:6px;border-radius:12px}
.hp{position:absolute;left:-9999px}
.error{color:#c0392b;background:#ffecec;padding:12px 16px;border-radius:12px;font-weight:500}
button{width:100%;padding:17px;border:0;border-radius:18px;background:linear-gradient(135deg,var(--pink),#ff8a65);color:#fff;font:700 1.1rem 'DM Sans',sans-serif;cursor:pointer;box-shadow:0 6px 0 #d63d82;transition:transform .15s,box-shadow .15s}
button:hover{transform:translateY(-2px)}
button:active{transform:translateY(4px);box-shadow:0 2px 0 #d63d82}
button:disabled{opacity:.6;cursor:wait}
.thanks{text-align:center;padding:60px 28px}
.thanks h2{font-family:'Fraunces',serif;font-size:2.4rem;margin:0 0 10px;color:var(--pink)}
footer{text-align:center;color:var(--muted);padding:0 0 40px;font-size:.9rem}
footer a{color:var(--pink)}
@media(max-width:600px){.grid{grid-template-columns:1fr}.card{padding:20px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
