:root{--ink:#35272d;--muted:#806e75;--rose:#e96d8c;--rose2:#d94f74;--soft:#fff3f5;--paper:rgba(255,255,255,.83);--line:#f0dce1;--shadow:0 28px 80px rgba(108,54,71,.18)}
*{box-sizing:border-box}html{min-height:100%}body{margin:0;min-height:100vh;font-family:'DM Sans',sans-serif;color:var(--ink);background:linear-gradient(145deg,#fff9f7 0%,#fff1f4 50%,#f7efff 100%);overflow-x:hidden}.ambient{position:fixed;border-radius:999px;filter:blur(1px);opacity:.55;pointer-events:none}.ambient-1{width:360px;height:360px;background:radial-gradient(circle,#ffc7d5,transparent 67%);left:-120px;top:-100px}.ambient-2{width:440px;height:440px;background:radial-gradient(circle,#ead9ff,transparent 67%);right:-170px;bottom:-160px}.shell{min-height:100vh;display:grid;place-items:center;padding:32px 16px}.card{display:none;width:min(720px,100%);background:var(--paper);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.8);box-shadow:var(--shadow);border-radius:32px;padding:48px;position:relative;overflow:hidden}.card.active{display:block;animation:rise .55s cubic-bezier(.2,.8,.2,1)}@keyframes rise{from{opacity:0;transform:translateY(16px) scale(.985)}to{opacity:1;transform:none}}.intro-card{text-align:center;padding:64px 54px}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.73rem;font-weight:700;color:var(--rose2);margin-bottom:18px}.heart-seal{width:64px;height:64px;margin:4px auto 22px;display:grid;place-items:center;border-radius:50%;background:linear-gradient(145deg,#ff9db4,#e8557b);color:white;font-size:25px;box-shadow:0 12px 30px rgba(219,79,116,.27)}h1,h2{font-family:'Playfair Display',serif;margin:0;color:#3e2b32}h1{font-size:clamp(2.45rem,7vw,4.4rem);line-height:1.03;letter-spacing:-.045em}h1 span{font-style:italic;color:var(--rose2)}h2{font-size:clamp(2rem,5vw,3rem);line-height:1.05}.lead{font-size:1.06rem;line-height:1.75;color:var(--muted);max-width:560px;margin:24px auto 30px}.primary{border:0;border-radius:999px;background:linear-gradient(135deg,var(--rose),var(--rose2));color:#fff;padding:16px 24px;font:700 1rem 'DM Sans',sans-serif;cursor:pointer;box-shadow:0 12px 30px rgba(217,79,116,.25);transition:.2s transform,.2s box-shadow}.primary:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(217,79,116,.31)}.primary span{margin-left:9px}.tiny{font-size:.78rem;color:#a99199;margin:18px 0 0}.progress{height:5px;background:#f7e9ed;border-radius:10px;margin:-8px 0 34px;overflow:hidden}.progress span{display:block;height:100%;width:25%;border-radius:10px;background:linear-gradient(90deg,#f18ba4,#d94f74);transition:width .35s ease}.form-head{display:flex;align-items:flex-start;gap:18px;margin-bottom:28px}.form-head .eyebrow{margin:0 0 8px}.back{width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--ink);font-size:18px;cursor:pointer;flex:none}.step{display:none}.step.active{display:block;animation:fade .28s ease}@keyframes fade{from{opacity:0;transform:translateX(8px)}to{opacity:1;transform:none}}.helper{color:var(--muted);line-height:1.5;margin:-8px 0 24px}.field-label{display:block;font-size:.86rem;font-weight:700;margin:16px 0 9px}.field-label span{color:#ab969d;font-weight:500}input[type=date],input[type=text],.sub-input,textarea{width:100%;border:1px solid var(--line);background:rgba(255,255,255,.8);border-radius:16px;padding:15px 16px;font:500 1rem 'DM Sans';color:var(--ink);outline:none;transition:.2s}input:focus,textarea:focus{border-color:#e990a6;box-shadow:0 0 0 4px rgba(233,109,140,.1)}textarea{min-height:130px;resize:vertical}.quick-grid,.option-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:16px}.choice,.option{border:1px solid var(--line);background:rgba(255,255,255,.74);border-radius:18px;padding:16px;text-align:left;cursor:pointer;transition:.2s}.choice:hover,.option:hover{border-color:#e9a2b3;transform:translateY(-2px)}.choice{font:700 .91rem 'DM Sans';color:var(--ink)}.choice span,.option small{display:block;margin-top:5px;color:var(--muted);font-weight:500;font-size:.75rem;line-height:1.35}.option{position:relative;min-height:130px}.option input{position:absolute;opacity:0}.option:has(input:checked){border-color:#e36d8c;background:#fff5f7;box-shadow:0 0 0 3px rgba(233,109,140,.09)}.option b{display:block;margin-top:9px}.emoji{font-size:1.65rem}.dress-grid{grid-template-columns:repeat(2,1fr)}.sub-input{margin-top:14px}.consent{display:flex;align-items:flex-start;gap:10px;color:var(--muted);font-size:.83rem;line-height:1.45;margin-top:18px}.consent input{margin-top:3px;accent-color:var(--rose2)}.actions{display:flex;justify-content:flex-end;margin-top:28px}.submit{display:none}.message{min-height:20px;text-align:center;color:#b33f5f;font-size:.86rem}.success-card{text-align:center;padding:68px 48px}.success-icon{font-size:58px;margin-bottom:18px;animation:pulse 1.4s infinite}@keyframes pulse{50%{transform:scale(1.08)}}.success-card p{color:var(--muted);font-size:1.04rem;line-height:1.65}.quote{margin:28px auto 0;padding:20px;border-top:1px solid var(--line);font-family:'Playfair Display',serif;font-style:italic;color:#795a66;max-width:500px}
@media(max-width:620px){.card{padding:30px 20px;border-radius:24px}.intro-card,.success-card{padding:48px 24px}.quick-grid,.option-grid,.dress-grid{grid-template-columns:1fr}.option{min-height:auto}.form-head{gap:12px}.back{width:38px;height:38px}.shell{padding:16px 12px}.lead{font-size:.98rem}}
