:root{--ink:#1c1c1c;--cream:#f6f1e9;--parchment:#ede7da;--gold:#b8935a;--gold-l:#d4aa72;--gold-d:#9a7a47;--sage:#4a6741;--sage-l:#6a8c60;--charcoal:#2e2e2e;--surface:#faf7f2;--border:rgba(184,147,90,.2);--border-s:rgba(184,147,90,.35);--text-sec:#6b6459;--error:#9b3a3a;--ok:#4a6741;--radius:6px}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;height:100%}body{font-family:DM Sans,sans-serif;background:var(--cream);color:var(--ink);min-height:100svh;overflow-x:hidden;-webkit-font-smoothing:antialiased}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:var(--parchment)}::-webkit-scrollbar-thumb{background:var(--gold);border-radius:10px}body:before{content:"";position:fixed;inset:0;z-index:1;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.022'/%3E%3C/svg%3E");opacity:.42}.page-shell{position:relative;z-index:2;min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:20px 16px 40px}@media(min-width:640px){.page-shell{justify-content:center;padding:40px 20px}}.back-btn{position:fixed;top:20px;left:20px;z-index:100;display:flex;align-items:center;gap:7px;background:hsla(37,42%,94%,.9);backdrop-filter:blur(12px);border:1px solid var(--border);border-radius:100px;padding:8px 16px 8px 12px;font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;color:var(--charcoal);cursor:pointer;text-decoration:none;transition:all .22s;box-shadow:0 2px 12px rgba(28,28,28,.06)}.back-btn svg{width:14px;height:14px;stroke:var(--gold);stroke-width:2;fill:none;flex-shrink:0}.back-btn:hover{border-color:var(--gold);color:var(--gold)}.auth-card{background:hsla(38,44%,96%,.92);backdrop-filter:blur(28px);border:1px solid var(--border);border-radius:16px;width:100%;max-width:460px;padding:36px 28px 32px;box-shadow:0 4px 32px rgba(184,147,90,.07),inset 0 1px 0 hsla(0,0%,100%,.8);position:relative;margin-top:60px}@media(min-width:640px){.auth-card{padding:44px 40px 38px;margin-top:0}}.auth-card:before{content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);width:40%;height:2px;background:linear-gradient(90deg,transparent,var(--gold),transparent);border-radius:0 0 4px 4px}.card-logo{flex-direction:column;margin-bottom:28px}.card-logo,.logo-icon{display:flex;align-items:center}.logo-icon{width:40px;height:40px;background:var(--ink);border-radius:var(--radius);justify-content:center;position:relative;overflow:hidden;margin-bottom:10px}.logo-icon:after{content:"";position:absolute;bottom:7px;left:50%;transform:translateX(-50%);width:16px;height:1.5px;background:var(--gold);border-radius:2px;box-shadow:0 -5px 0 var(--gold-l),0 -10px 0 var(--cream)}.logo-name{font-family:Cormorant Garamond,serif;font-size:1.45rem;font-weight:600;color:var(--ink);letter-spacing:.04em}.logo-name span{color:var(--gold)}.card-heading{font-family:Cormorant Garamond,serif;font-size:clamp(1.5rem,4vw,2rem);font-weight:400;line-height:1.15;color:var(--ink);margin-bottom:6px}.card-sub{font-size:.8rem;color:var(--text-sec);font-weight:300;line-height:1.6;margin-bottom:26px}.form-stack{gap:14px}.fg,.form-stack{display:flex;flex-direction:column}.fg{gap:5px}.fl{font-size:.67rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text-sec)}.fi{padding:11px 13px;background:var(--cream);border:1px solid var(--border);font-family:DM Sans,sans-serif;font-size:.84rem;color:var(--ink);border-radius:var(--radius);outline:none;transition:border-color .2s,box-shadow .2s;width:100%}.fi:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(184,147,90,.08)}.fi::placeholder{color:#bbb4ac}.fi-err{border-color:var(--error)!important;box-shadow:0 0 0 3px rgba(155,58,58,.06)!important}.fi-good{border-color:var(--sage)!important;box-shadow:0 0 0 3px rgba(74,103,65,.06)!important}.pw-wrap{position:relative}.pw-wrap .fi{padding-right:40px}.pw-eye{position:absolute;right:12px;top:50%;transform:translateY(-50%);cursor:pointer;color:var(--text-sec);transition:color .2s;background:none;border:none;padding:2px;display:flex;align-items:center}.pw-eye:hover{color:var(--gold)}.pw-eye svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.8}.phone-row{display:flex;gap:8px}.phone-pfx{padding:11px 12px;background:var(--parchment);border:1px solid var(--border);border-radius:var(--radius);font-size:.8rem;color:var(--text-sec);white-space:nowrap;flex-shrink:0}.phone-row .fi{flex:1}.msg{font-size:.71rem;letter-spacing:.03em;margin-top:2px;display:flex;align-items:center;gap:4px;min-height:16px}.msg-err{color:var(--error)}.msg-ok{color:var(--sage)}.msg-info{color:var(--text-sec)}.check-row{display:flex;align-items:flex-start;gap:10px;cursor:pointer}.check-row input[type=checkbox]{width:16px;height:16px;flex-shrink:0;margin-top:2px;accent-color:var(--gold);cursor:pointer}.check-label{font-size:.78rem;color:var(--text-sec);line-height:1.55}.check-label a{color:var(--gold);text-decoration:underline;text-underline-offset:2px;cursor:pointer}.btn-primary{width:100%;padding:13px;background:var(--ink);color:var(--cream);border:1px solid var(--ink);font-family:DM Sans,sans-serif;font-size:.78rem;font-weight:400;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;border-radius:var(--radius);transition:all .3s;position:relative;overflow:hidden;margin-top:4px}.btn-primary:after{content:"";position:absolute;inset:0;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .35s ease;z-index:0}.btn-primary span{position:relative;z-index:1}.btn-primary:hover{border-color:var(--gold)}.btn-primary:hover:after{transform:scaleX(1)}.btn-primary:active{transform:scale(.97)}.btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-primary:disabled:after{display:none}.switch-row{text-align:center;margin-top:20px;font-size:.78rem;color:var(--text-sec)}.switch-link{color:var(--gold);text-decoration:none;font-weight:500;cursor:pointer;transition:color .2s;border:none;background:none;font-family:DM Sans,sans-serif;font-size:.78rem;padding:0;letter-spacing:0}.switch-link:hover{color:var(--gold-d);text-decoration:underline;text-underline-offset:2px}.divider-text{display:flex;align-items:center;gap:12px;margin:4px 0;color:var(--text-sec);font-size:.72rem}.divider-text:after,.divider-text:before{content:"";flex:1;height:1px;background:var(--border)}.strength-bar{display:flex;gap:3px;margin-top:5px}.strength-seg{flex:1;height:3px;border-radius:100px;background:var(--parchment);transition:background .3s}.un-checking{display:inline-flex;align-items:center;gap:5px}.un-spinner{width:10px;height:10px;border-radius:50%;border:1.5px solid var(--border);border-top-color:var(--gold);animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.success-state{flex-direction:column;text-align:center;padding:10px 0 4px;gap:14px}.success-icon,.success-state{display:flex;align-items:center}.success-icon{width:56px;height:56px;border-radius:50%;background:rgba(74,103,65,.1);border:1px solid rgba(74,103,65,.25);justify-content:center;font-size:1.4rem}.success-title{font-family:Cormorant Garamond,serif;font-size:1.5rem;font-weight:400;color:var(--ink)}.success-body{font-size:.8rem;color:var(--text-sec);font-weight:300;line-height:1.75;max-width:300px}.toast{position:fixed;top:20px;left:50%;transform:translateX(-50%) translateY(-90px);background:rgba(28,28,28,.97);border:1px solid rgba(184,147,90,.3);border-radius:10px;padding:11px 24px;z-index:9000;color:var(--gold);font-size:.76rem;letter-spacing:.06em;box-shadow:0 8px 28px rgba(0,0,0,.15);transition:transform .4s cubic-bezier(.16,1,.3,1);white-space:nowrap;pointer-events:none}.toast.show{transform:translateX(-50%) translateY(0)}.toast.ok{border-color:rgba(74,103,65,.4);color:var(--sage-l,#6a8c60)}.toast.err{border-color:rgba(155,58,58,.4);color:#c97070}.page-caption{position:fixed;bottom:16px;left:0;right:0;text-align:center;z-index:2;font-size:.65rem;letter-spacing:.08em;color:hsla(37,9%,38%,.45);pointer-events:none}.req-list{display:flex;flex-direction:column;gap:5px;padding:10px 14px;background:rgba(184,147,90,.04);border:1px solid var(--border);border-radius:var(--radius)}.req-item{display:flex;align-items:center;gap:7px;font-size:.72rem;color:var(--text-sec)}.req-dot{width:7px;height:7px;border-radius:50%;background:var(--parchment);border:1.5px solid rgba(184,147,90,.3);flex-shrink:0;transition:all .25s}.req-dot.met{background:var(--sage);border-color:var(--sage)}