:root{--ink:#252b23;--ink2:#4a5245;--muted:#6f756b;--line:#e3e5df;--page:#f5f5f5;--card:#fff;--green:#00d632;--go:#2e8f3e;--go-hover:#26783a;--soft:#e2f4d6;--error:#a1281c;--error-soft:#f8e0dc;font-family:Jost,Futura,Trebuchet MS,sans-serif;color:var(--ink);font-synthesis:none;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;background:var(--card)}h1,h2,p,dl,dd{margin:0}button,input{font:inherit;color:inherit}button{cursor:pointer}img{display:block}:focus-visible{outline:3px solid #91d46a;outline-offset:3px}.page{min-height:100dvh;display:grid;grid-template-columns:minmax(420px,1fr) minmax(0,1.05fr)}.brand-side{position:relative;overflow:hidden;margin:12px;border-radius:28px;background:var(--ink);color:#fff;padding:44px 48px;display:flex;flex-direction:column;isolation:isolate}.brand-logo img{width:104px;height:auto}.brand-copy{position:relative;z-index:2;margin-top:clamp(40px,9vh,96px);max-width:420px;display:grid;gap:14px}.brand-copy h2{font-size:clamp(30px,2.7vw,40px);line-height:1.12;font-weight:700;letter-spacing:-.02em;text-wrap:balance}.brand-copy p{font-size:16px;line-height:1.6;color:#c9cfc4;max-width:34ch}.brand-bars{position:absolute;z-index:0;top:-6%;right:-14%;width:58%;fill:var(--green);opacity:.1}.brand-art{position:relative;z-index:1;margin-top:auto;width:min(560px,100%);height:auto;align-self:center;-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 18%);mask-image:linear-gradient(to bottom,transparent 0,#000 18%)}.form-side{display:grid;grid-template-rows:1fr auto;justify-items:center;padding:32px 24px 24px}.mobile-logo{display:none}.form-wrap{align-self:center;width:min(380px,100%);min-height:200px}.form-wrap form{display:block}h1{font-size:30px;line-height:1.15;font-weight:700;letter-spacing:-.02em}.sub{margin:10px 0 32px;font-size:15px;line-height:1.55;color:var(--muted)}.field{display:grid;gap:7px;margin-bottom:18px}.field label{font-size:13px;font-weight:600;color:var(--ink2)}.field input{width:100%;height:48px;padding:0 16px;border:1px solid var(--line);border-radius:12px;background:#fafaf9;font-size:15px;transition:border-color .15s ease,box-shadow .15s ease,background-color .15s ease}.field input:hover{border-color:#cdd1c7}.field input:focus{outline:none;background:#fff;border-color:var(--go);box-shadow:0 0 0 4px #2e8f3e24}.password{position:relative}.password input{padding-right:48px}.reveal{position:absolute;top:8px;right:8px;width:32px;height:32px;display:grid;place-items:center;border:0;border-radius:8px;background:transparent;color:var(--muted);transition:background-color .15s ease,color .15s ease}.reveal:hover{background:#eef0ea;color:var(--ink)}.reveal:focus-visible{outline-offset:-2px}.error{margin:0 0 18px;padding:11px 14px;border-radius:12px;background:var(--error-soft);color:var(--error);font-size:13px;font-weight:600;line-height:1.5}.submit{width:100%;height:50px;margin-top:10px;border:0;border-radius:999px;background:var(--go);color:#fff;font-size:15px;font-weight:600;white-space:nowrap;transition:background-color .15s ease,transform .12s ease}.submit:hover{background:var(--go-hover)}.submit:active{transform:scale(.98)}.submit:disabled{opacity:.65;cursor:progress}.help{margin-top:24px;padding-top:20px;border-top:1px solid var(--line);font-size:13px;line-height:1.55;color:var(--muted)}.help a{color:var(--ink2);text-underline-offset:3px}.foot{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 18px;padding-top:24px;font-size:12px;color:var(--muted)}.foot a{color:var(--muted);text-decoration:none}.foot a:hover{color:var(--ink);text-decoration:underline;text-underline-offset:3px}@media(max-width:900px){.page{grid-template-columns:1fr}.brand-side{display:none}body{background:var(--page)}.form-side{grid-template-rows:auto 1fr auto;padding:40px 16px 20px}.mobile-logo{display:block;margin-bottom:32px}.mobile-logo img{width:96px;height:auto}.form-wrap{align-self:start;background:var(--card);border-radius:20px;padding:32px 24px 28px;box-shadow:0 1px 2px #252b230a,0 12px 32px #252b230f}h1{font-size:26px}.field input{font-size:16px}}@media(prefers-reduced-motion:reduce){*{transition-duration:.01ms!important}}
