 *, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
        :root {
            --rose: #E8547A;
            --rose-deep: #C43060;
            --plum: #2E1028;
        }
        html, body { height:100%; font-family:'DM Sans', sans-serif; background: var(--plum); overflow:hidden; }

        /* Background */
        .bg { position:fixed; inset:0; background: linear-gradient(135deg, #1A0818 0%, #2E1028 40%, #1E0A30 100%); overflow:hidden; }
        .orb { position:absolute; border-radius:50%; filter:blur(60px); opacity:0.5; animation:drift 12s ease-in-out infinite alternate; }
        .orb-1 { width:500px; height:500px; top:-120px; left:-100px; background: radial-gradient(circle, rgba(232,84,122,0.35) 0%, transparent 70%); }
        .orb-2 { width:400px; height:400px; bottom:-80px; right:-80px; background: radial-gradient(circle, rgba(196,48,96,0.3) 0%, transparent 70%); animation-delay:-4s; }
        .orb-3 { width:300px; height:300px; top:40%; left:55%; background: radial-gradient(circle, rgba(196,168,216,0.2) 0%, transparent 70%); animation-delay:-8s; }
        @keyframes drift { from {transform:translate(0,0) scale(1);} to {transform:translate(30px,20px) scale(1.08);} }

        .petal { position:absolute; pointer-events:none; font-size:18px; opacity:0; animation:fall linear infinite; }
        @keyframes fall { 0% {transform:translateY(-40px) rotate(0deg); opacity:0;} 10% {opacity:0.6;} 90% {opacity:0.3;} 100% {transform:translateY(110vh) rotate(360deg); opacity:0;} }

        .grid-lines { position:absolute; inset:0; background-image:
            linear-gradient(rgba(232,84,122,0.04) 1px, transparent 1px),
            linear-gradient(90deg, rgba(232,84,122,0.04) 1px, transparent 1px);
            background-size:48px 48px;
        }

        /* Layout */
        .page { position:relative; z-index:10; min-height:100vh; display:grid; grid-template-columns:1fr 1fr; }
        .left-panel { display:flex; flex-direction:column; justify-content:center; align-items:flex-start; padding:60px 64px; animation:slideIn 0.9s cubic-bezier(0.22,1,0.36,1) both; }
        @keyframes slideIn { from {opacity:0; transform:translateX(-32px);} to {opacity:1; transform:translateX(0);} }

        .brand { display:flex; align-items:center; gap:14px; margin-bottom:60px; }
        .brand-icon { width:50px; height:50px; border-radius:16px; background: linear-gradient(135deg, var(--rose), var(--rose-deep)); display:flex; align-items:center; justify-content:center; font-size:24px; box-shadow:0 8px 24px rgba(232,84,122,0.45); }
        .brand-name { font-family:'Cormorant Garamond', serif; font-size:28px; font-weight:600; color:#fff; letter-spacing:0.5px; }
        .brand-tag { font-size:10px; color:rgba(255,255,255,0.35); letter-spacing:3px; text-transform:uppercase; margin-top:2px; }

        .hero-heading { font-family:'Cormorant Garamond', serif; font-size:58px; line-height:1.08; color:#fff; font-weight:400; margin-bottom:20px; max-width:480px; }
        .hero-heading em { font-style:italic; color:var(--rose); }
        .hero-sub { font-size:15px; color:rgba(255,255,255,0.45); line-height:1.7; max-width:380px; font-weight:300; }

        .stats-row { display:flex; gap:32px; margin-top:52px; }
        .stat-num { font-family:'Cormorant Garamond', serif; font-size:32px; font-weight:600; color:#fff; }
        .stat-label { font-size:11px; color:rgba(255,255,255,0.35); letter-spacing:1px; text-transform:uppercase; margin-top:2px; }
        .stat-divider { width:1px; background:rgba(255,255,255,0.1); align-self:stretch; }

        .arc-decoration { position:absolute; left:42%; top:0; bottom:0; width:2px; background: linear-gradient(to bottom, transparent, rgba(232,84,122,0.3) 30%, rgba(232,84,122,0.3) 70%, transparent); }
        .arc-decoration::before { content:''; position:absolute; left:-8px; top:50%; transform:translateY(-50%); width:18px; height:18px; border-radius:50%; background:var(--rose); box-shadow:0 0 24px rgba(232,84,122,0.8); }

        .right-panel { display:flex; flex-direction:column; justify-content:center; align-items:center; padding:60px 64px; animation:fadeUp 0.9s cubic-bezier(0.22,1,0.36,1) 0.15s both; }
        @keyframes fadeUp { from {opacity:0; transform:translateY(24px);} to {opacity:1; transform:translateY(0);} }

        .form-card { width:100%; max-width:420px; background:rgba(255,255,255,0.04); backdrop-filter:blur(24px); border:1px solid rgba(255,255,255,0.1); border-radius:24px; padding:44px 40px; box-shadow:0 32px 64px rgba(0,0,0,0.4), inset 0 1px 0 rgba(255,255,255,0.08); }
        .phase-pill { display:inline-flex; align-items:center; gap:6px; background: rgba(126,206,196,0.12); border:1px solid rgba(126,206,196,0.2); border-radius:20px; padding:5px 12px; font-size:11px; color: rgba(126,206,196,0.8); margin-bottom:28px; letter-spacing:0.5px; }
        .phase-dot { width:6px; height:6px; border-radius:50%; background:#7ECEC4; animation:pulse 2s ease-in-out infinite; }
        @keyframes pulse {0%,100%{opacity:1; transform:scale(1);}50%{opacity:0.5; transform:scale(0.8);}}

        .form-title { font-family:'Cormorant Garamond', serif; font-size:32px; font-weight:600; color:#fff; margin-bottom:6px; }
        .form-subtitle { font-size:13px; color:rgba(255,255,255,0.4); margin-bottom:36px; font-weight:300; }

        .alert-error { background: rgba(232,84,122,0.12); border:1px solid rgba(232,84,122,0.3); border-radius:10px; padding:11px 14px; font-size:13px; color:#F9A0B8; margin-bottom:20px; display:none; align-items:center; gap:8px; }

        .field { margin-bottom:20px; }
        .field-label { display:block; font-size:11px; font-weight:500; color:rgba(255,255,255,0.5); letter-spacing:1.5px; text-transform:uppercase; margin-bottom:8px; }
        .field-wrap { position:relative; }
        .field-icon { position:absolute; left:14px; top:50%; transform:translateY(-50%); font-size:15px; pointer-events:none; opacity:0.5; }
        .field-input { width:100%; padding:13px 14px 13px 42px; background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.1); border-radius:12px; outline:none; font-size:14px; color:#fff; transition:border-color 0.2s, background 0.2s, box-shadow 0.2s; }
        .field-input::placeholder { color:rgba(255,255,255,0.2); }
        .field-input:focus { border-color:var(--rose); background: rgba(232,84,122,0.06); box-shadow:0 0 0 3px rgba(232,84,122,0.12); }

        .pw-toggle { position:absolute; right:14px; top:50%; transform:translateY(-50%); cursor:pointer; font-size:15px; opacity:0.4; transition:opacity 0.2s; }
        .pw-toggle:hover { opacity:0.8; }

        .form-extras { display:flex; align-items:center; justify-content:space-between; margin-bottom:26px; margin-top:-4px; }
        .remember { display:flex; align-items:center; gap:7px; cursor:pointer; }
        .remember input[type="checkbox"] { display:none; }
        .check-box { width:16px; height:16px; border-radius:4px; border:1px solid rgba(255,255,255,0.2); display:flex; align-items:center; justify-content:center; transition:all 0.2s; }
        .remember:has(input:checked) .check-box { background:var(--rose); border-color:var(--rose); }
        .remember:has(input:checked) .check-box::after { content:'?'; font-size:10px; color:#fff; }
        .remember span { font-size:12px; color:rgba(255,255,255,0.4); }
        .forgot { font-size:12px; color:var(--rose); text-decoration:none; opacity:0.8; }
        .forgot:hover { opacity:1; }

        .btn-signin { width:100%; padding:14px; background:linear-gradient(135deg,var(--rose),var(--rose-deep)); border:none; border-radius:12px; font-size:15px; font-weight:500; color:#fff; cursor:pointer; letter-spacing:0.3px; box-shadow:0 8px 24px rgba(232,84,122,0.4); transition:transform 0.15s, box-shadow 0.15s; position:relative; overflow:hidden; }
        .btn-signin:hover { transform:translateY(-1px); box-shadow:0 12px 32px rgba(232,84,122,0.5); }
        .btn-signin:active { transform:translateY(0); }

        .divider { display:flex; align-items:center; gap:12px; margin:24px 0; }
        .divider::before, .divider::after { content:''; flex:1; height:1px; background: rgba(255,255,255,0.08); }
        .divider span { font-size:11px; color: rgba(255,255,255,0.25); white-space:nowrap; }

        .secure-badge { display:flex; align-items:center; justify-content:center; gap:6px; font-size:11px; color:rgba(255,255,255,0.25); margin-top:20px; }

        .page-footer { position:fixed; bottom:0; left:0; right:0; text-align:center; padding:16px; font-size:11px; color:rgba(255,255,255,0.18); z-index:20; }
        .page-footer a { color:rgba(232,84,122,0.5); text-decoration:none; }