:root{--ink:#14231c;--green:#1d6b4c;--green-dark:#13543b;--lime:#d8ec64;--cream:#f4f1e9;--muted:#728079;--line:#dce2dc;--danger:#a63f31}*{box-sizing:border-box}html,body,form{min-height:100%;margin:0}body{background:var(--cream);color:var(--ink);font-family:"DM Sans",Arial,sans-serif}.login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(380px,46%) 1fr}.login-brand{position:relative;overflow:hidden;background:#173f31;color:#fff;padding:48px clamp(34px,6vw,88px);display:flex;flex-direction:column;justify-content:space-between}.login-brand:before,.login-brand:after{content:"";position:absolute;border-radius:50%;border:1px solid rgba(216,236,100,.15)}.login-brand:before{width:430px;height:430px;right:-230px;top:-150px}.login-brand:after{width:290px;height:290px;right:-145px;top:-80px}.brand-lockup{display:flex;align-items:center;gap:12px;font:700 13px Manrope,sans-serif;letter-spacing:1px;position:relative;z-index:1}.brand-lockup strong{color:var(--lime)}.brand-mark{width:42px;height:42px;border-radius:11px;background:var(--lime);display:grid;place-items:center}.brand-mark svg{width:27px;fill:none;stroke:#153d2e;stroke-width:2}.brand-copy{position:relative;z-index:1;max-width:520px}.brand-copy>p{color:var(--lime);font-size:11px;font-weight:800;letter-spacing:2.3px;margin:0 0 18px}.brand-copy h1{font:800 clamp(38px,5vw,64px)/1.08 Manrope,sans-serif;letter-spacing:-2.2px;margin:0 0 24px}.brand-copy h1 em{font-style:normal;color:var(--lime)}.brand-copy>span{display:block;max-width:470px;color:#c8d5cf;font-size:15px;line-height:1.75}.privacy-note{position:relative;z-index:1;color:#c1d0c9;font-size:11px;letter-spacing:.5px}.privacy-note i{display:inline-block;width:7px;height:7px;background:var(--lime);border-radius:50%;margin-right:8px;box-shadow:0 0 0 4px rgba(216,236,100,.12)}.login-panel{display:grid;place-items:center;padding:42px}.login-card{width:min(100%,430px);background:#fff;border:1px solid rgba(32,56,44,.09);border-radius:20px;box-shadow:0 20px 60px rgba(31,54,42,.11);padding:42px}.card-kicker{color:var(--green);font-size:10px;font-weight:800;letter-spacing:1.8px}.login-card h2{font:800 30px/1.15 Manrope,sans-serif;letter-spacing:-.8px;margin:12px 0 8px}.login-card>p{color:var(--muted);font-size:13px;line-height:1.55;margin:0 0 30px}.login-field{margin-bottom:19px}.login-field label{display:block;font-size:12px;font-weight:700;margin-bottom:8px}.login-input{width:100%;height:48px;border:1px solid var(--line);border-radius:10px;background:#fbfcfa;padding:0 14px;color:var(--ink);font:500 14px "DM Sans",sans-serif;outline:none;transition:.2s}.login-input:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(29,107,76,.1);background:#fff}.login-button{width:100%;height:50px;margin-top:5px;border:0;border-radius:10px;background:var(--green);color:#fff;font:700 13px Manrope,sans-serif;cursor:pointer;box-shadow:0 10px 22px rgba(29,107,76,.22);transition:.2s}.login-button:hover,.login-button:focus{background:var(--green-dark);transform:translateY(-1px)}.login-error{display:block;margin:0 0 20px;padding:11px 13px;border-radius:9px;background:#fff1ee;border:1px solid #f0c9c2;color:var(--danger);font-size:12px;font-weight:600}.login-footnote{margin:22px 0 0!important;text-align:center;font-size:10px!important;color:#8a958f!important}.login-footnote span{color:var(--green);font-weight:800}@media(max-width:780px){.login-shell{display:block;min-height:100vh}.login-brand{min-height:235px;padding:28px 24px 32px;gap:36px}.brand-copy h1{font-size:35px;letter-spacing:-1.3px;margin-bottom:12px}.brand-copy>span{font-size:13px;line-height:1.55}.brand-copy>p{margin-bottom:10px}.privacy-note{display:none}.login-panel{display:block;padding:0 16px 28px;margin-top:-18px;position:relative;z-index:2}.login-card{margin:auto;border-radius:17px;padding:28px 22px}.login-card h2{font-size:25px}.login-card>p{margin-bottom:23px}.login-input{height:46px}}@media(max-width:390px){.brand-lockup{font-size:11px}.brand-mark{width:38px;height:38px}.login-brand{padding-left:18px;padding-right:18px}.login-panel{padding-left:10px;padding-right:10px}.login-card{padding:25px 17px}}
