:root{--rose: #e8748a;--rose-light: #f4a0b0;--rose-pale: #fde8ec;--cream: #fdf6f0;--cream-dark: #f5ece4;--blush: #f9d5dc;--text-dark: #2d1f26;--text-mid: #6b4a56;--text-light: #a8788a;--white: #ffffff;--shadow: 0 8px 32px rgba(232, 116, 138, .15);--shadow-heavy: 0 16px 48px rgba(232, 116, 138, .25)}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{width:100%;min-height:100vh;font-family:DM Sans,sans-serif;background:var(--cream);color:var(--text-dark);overflow-x:hidden}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:var(--cream)}::-webkit-scrollbar-thumb{background:var(--rose-light);border-radius:4px}.page{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;background:var(--cream);position:relative}.page-card{background:#fff;border-radius:2.5rem;padding:2.5rem;width:100%;max-width:480px;box-shadow:var(--shadow-heavy);position:relative;overflow:hidden}@media(min-width:768px){.page-card{max-width:760px;padding:3.5rem 4rem}.page{padding:2rem 3rem}}@media(min-width:1100px){.page-card{max-width:900px;padding:4rem 5rem}}.page-card:before{content:"";position:absolute;top:-60px;right:-60px;width:240px;height:240px;background:radial-gradient(circle,var(--rose-pale) 0%,transparent 70%);pointer-events:none}.logo{font-family:Cormorant Garamond,serif;font-size:3rem;font-weight:300;letter-spacing:.12em;color:var(--rose);text-align:center;margin-bottom:.25rem}.logo-tagline{font-size:.82rem;color:var(--text-light);text-align:center;letter-spacing:.2em;text-transform:uppercase;margin-bottom:2rem}.btn-primary{width:100%;padding:1rem 2rem;background:linear-gradient(135deg,var(--rose),var(--rose-light));color:#fff;border:none;border-radius:50px;font-family:DM Sans,sans-serif;font-size:1rem;font-weight:500;cursor:pointer;letter-spacing:.05em;transition:all .3s ease;box-shadow:0 4px 20px #e8748a66}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 28px #e8748a80}.btn-primary:active{transform:translateY(0)}.btn-outline{width:100%;padding:.9rem 2rem;background:transparent;color:var(--rose);border:2px solid var(--rose-light);border-radius:50px;font-family:DM Sans,sans-serif;font-size:1rem;font-weight:500;cursor:pointer;transition:all .3s ease}.btn-outline:hover{background:var(--rose-pale)}.input-group{margin-bottom:1.25rem}.input-group label{display:block;font-size:.82rem;color:var(--text-light);letter-spacing:.08em;text-transform:uppercase;margin-bottom:.5rem}.input-group input,.input-group select,.input-group textarea{width:100%;padding:.9rem 1.2rem;border:2px solid var(--blush);border-radius:14px;background:var(--cream);font-family:DM Sans,sans-serif;font-size:.95rem;color:var(--text-dark);outline:none;transition:border-color .2s}.input-group input:focus,.input-group select:focus,.input-group textarea:focus{border-color:var(--rose-light);background:#fff}.progress-bar-wrap{width:100%;height:5px;background:var(--blush);border-radius:4px;margin-bottom:2rem;overflow:hidden}.progress-bar-fill{height:100%;background:linear-gradient(90deg,var(--rose),var(--rose-light));border-radius:4px;transition:width .5s ease}.step-title{font-family:Cormorant Garamond,serif;font-size:2.2rem;font-weight:400;color:var(--text-dark);margin-bottom:.5rem;line-height:1.2}.step-subtitle{font-size:.95rem;color:var(--text-light);margin-bottom:1.75rem;line-height:1.5}@media(min-width:768px){.form-two-col{display:grid;grid-template-columns:1fr 1fr;gap:0 1.5rem}.grid-two{display:grid;grid-template-columns:1fr 1fr;gap:16px}.grid-three{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.fade-up{animation:fadeUp .5s ease both}@keyframes vibrate{0%,to{transform:translate(0)}20%{transform:translate(-3px) rotate(-1deg)}40%{transform:translate(3px) rotate(1deg)}60%{transform:translate(-2px)}80%{transform:translate(2px)}}.vibrate{animation:vibrate .35s ease}.bg-blob{position:fixed;border-radius:50%;filter:blur(80px);pointer-events:none;z-index:0;opacity:.35}.bg-blob-1{width:500px;height:500px;background:var(--rose-pale);top:-120px;right:-120px}.bg-blob-2{width:400px;height:400px;background:var(--blush);bottom:-100px;left:-100px}
