:root{font-family:Inter,"Segoe UI",Arial,sans-serif;color:#1b2944;background:#f8faf7;--ink:#1b2944;--muted:#66748a;--line:#dfe8e3;--green:#277d60;--green-dark:#176349;--paper:#fff;--soft:#edf6f0}
*{box-sizing:border-box}
html{min-height:100%;background:#f8faf7}
body{min-height:100dvh;margin:0}
button,input{font:inherit}
button{cursor:pointer}
a{color:inherit}
:focus-visible{outline:3px solid #78c6a2;outline-offset:3px}
.shell{min-height:100dvh;display:grid;grid-template-columns:minmax(0,1.06fr) minmax(420px,.94fr)}
.story{position:relative;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;padding:clamp(32px,5vw,76px);background:radial-gradient(circle at 80% 27%,#e5f4f3 0,#f7fbfa 31%,transparent 55%),linear-gradient(145deg,#f3f9f5,#fbfbf8 72%);border-right:1px solid var(--line)}
.brand{position:relative;z-index:2;width:max-content;text-decoration:none;letter-spacing:.39em;font-size:25px;font-weight:500;line-height:1}
.brand small{display:block;margin-top:10px;padding-left:3px;font-size:10px;letter-spacing:.26em;font-weight:700;color:var(--muted)}
.story-body{position:relative;z-index:2;max-width:640px;margin:110px 0 70px}
.eyebrow{display:flex;align-items:center;gap:11px;margin:0 0 26px;color:var(--green);font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase}
.eyebrow:before{content:"";width:28px;height:1px;background:currentColor}
h1{max-width:650px;margin:0;font-size:clamp(54px,6.2vw,94px);font-weight:570;letter-spacing:-.075em;line-height:1.01}
.story-copy{max-width:500px;margin:26px 0 0;color:var(--muted);font-size:18px;line-height:1.65}
.story-foot{position:relative;z-index:2;display:flex;align-items:center;gap:10px;color:var(--muted);font-size:12px;letter-spacing:.02em}
.story-foot .dot{width:8px;height:8px;border-radius:50%;background:#51b585;box-shadow:0 0 0 5px #e4f3e9}
.orbit{position:absolute;right:-100px;top:5%;width:min(43vw,570px);aspect-ratio:1;border:1px solid rgba(63,142,145,.17);border-radius:50%;animation:drift 18s ease-in-out infinite alternate;pointer-events:none}
.orbit:before,.orbit:after{content:"";position:absolute;border:1px solid rgba(63,142,145,.16);border-radius:50%;inset:12%}
.orbit:after{inset:29%;background:radial-gradient(circle at 35% 34%,rgba(255,255,255,.95),rgba(209,240,239,.32) 53%,rgba(194,225,238,.11));box-shadow:0 0 55px rgba(91,186,187,.11)}
.orbit i{position:absolute;width:8px;height:8px;left:15%;top:14%;border-radius:50%;background:#f1bb58;box-shadow:0 0 0 8px rgba(241,187,88,.1)}
.form-side{display:flex;align-items:center;justify-content:center;padding:40px clamp(28px,5vw,82px);background:var(--paper)}
.form-wrap{width:min(100%,440px)}
.form-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:68px;color:var(--muted);font-size:13px}
.form-top a{text-decoration:none;color:var(--green);font-weight:650}
.form-top a:hover{text-decoration:underline}
.form-kicker{margin:0 0 12px;color:var(--green);font-size:12px;letter-spacing:.16em;text-transform:uppercase;font-weight:750}
h2{margin:0;font-size:clamp(30px,3vw,42px);letter-spacing:-.045em;line-height:1.12;font-weight:620}
.form-intro{margin:15px 0 38px;color:var(--muted);line-height:1.6;font-size:15px}
form{display:grid;gap:20px}
.field{display:grid;gap:9px}
.field label{font-size:13px;font-weight:650}
.field input{width:100%;height:54px;padding:0 16px;border:1px solid var(--line);border-radius:11px;background:#fcfdfb;color:var(--ink);outline:none;transition:border-color .18s,box-shadow .18s}
.field input:focus{border-color:#79b89a;box-shadow:0 0 0 4px #eaf6ee}
.field input::placeholder{color:#98a4af}
.password-field{position:relative}
.password-field input{padding-right:93px}
.reveal{position:absolute;right:8px;top:7px;height:40px;padding:0 10px;border:0;background:transparent;color:var(--green);font-size:12px;font-weight:700}
.submit{height:56px;margin-top:8px;border:1px solid var(--green);border-radius:11px;background:var(--green);color:white;font-weight:700;transition:background .2s,transform .2s}
.submit:hover{background:var(--green-dark)}
.submit:active{transform:translateY(1px)}
.submit:disabled{opacity:.55;cursor:wait}
.message{min-height:22px;margin:0;color:#a33a3a;font-size:13px;line-height:1.5}
.message.success{color:var(--green)}
.fine{margin-top:28px;padding-top:24px;border-top:1px solid var(--line);color:var(--muted);font-size:13px;line-height:1.6}
.account-actions{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:30px;font-size:13px}
.account-actions a{color:var(--green);text-decoration:none;font-weight:650}
.text-button{padding:8px 0;border:0;background:none;color:var(--muted)}
.text-button:hover,.account-actions a:hover{color:var(--green);text-decoration:underline}
@keyframes drift{from{transform:translate3d(0,0,0) rotate(-6deg)}to{transform:translate3d(-24px,18px,0) rotate(9deg)}}
@media(max-width:900px){.shell{grid-template-columns:1fr}.story{min-height:300px;padding:32px 32px 38px;border-right:0;border-bottom:1px solid var(--line)}.story-body{margin:64px 0 34px}.story h1{font-size:clamp(42px,8vw,68px)}.story-copy{margin-top:16px;font-size:15px}.orbit{width:430px;right:-160px;top:-75px}.form-side{padding:40px 28px 70px}.form-top{margin-bottom:36px}}
@media(max-width:520px){.story{min-height:235px;padding:26px 24px}.brand{font-size:20px}.brand small{font-size:8px}.story-body{margin:45px 0 28px}.story h1{font-size:43px}.story-copy{display:none}.story-foot{font-size:11px}.orbit{width:310px;right:-125px;top:-80px}.form-side{align-items:flex-start;padding:36px 24px 64px}.form-top{margin-bottom:32px}.form-intro{margin-bottom:28px}}
@media(prefers-reduced-motion:reduce){.orbit{animation:none}*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}
