/* Scoped to the login layout: no changes to the member dashboard. */
.hf-login{--hf-ink:#152a24;--hf-muted:#68746f;--hf-lime:#d7f768;font-family:Arial,Helvetica,sans-serif;display:grid;grid-template-columns:53% 47%;min-height:100svh;background:#fcfdfb;color:var(--hf-ink);font-size:16px;line-height:1.5;color-scheme:light}
.hf-login *{box-sizing:border-box}.hf-skip{position:absolute;left:16px;top:-90px;z-index:99;background:#d7f768;color:#172f24;padding:12px 18px;border-radius:8px}.hf-skip:focus{top:16px}.hf-brand-side{background:#102f27;position:relative;overflow:hidden;isolation:isolate;display:flex;flex-direction:column;justify-content:space-between;gap:64px;padding:54px 9% 32px;color:#fff}.hf-brand-side:before{content:"";position:absolute;z-index:-2;inset:0;background:radial-gradient(ellipse at 96% 6%,#54895c44,transparent 52%),linear-gradient(152deg,transparent 55%,#091f1970)}.hf-grid{position:absolute;inset:0;z-index:-1;background-image:linear-gradient(#ffffff04 1px,transparent 1px),linear-gradient(90deg,#ffffff04 1px,transparent 1px);background-size:70px 70px;mask-image:linear-gradient(110deg,transparent 35%,#000)}.hf-brand{display:flex;align-items:center;gap:14px}.hf-monogram{font-size:20px;font-weight:800;letter-spacing:-3px;background:var(--hf-lime);color:#153428;border-radius:13px;width:48px;height:48px;display:flex;justify-content:center;align-items:center;padding-right:3px;transform:rotate(-5deg)}.hf-monogram span{font-weight:500}.hf-wordmark{font-size:30px;letter-spacing:-1.3px;line-height:1.05;font-weight:750}.hf-wordmark>span{font-weight:300;margin-left:3px}.hf-wordmark small{display:block;font-size:9px;letter-spacing:3.6px;color:#a7beb1;margin-top:7px;font-weight:500}.hf-brand-story{padding:0 0 18px}.hf-overline{font-size:11px;font-weight:600;letter-spacing:2.4px;margin:0 0 30px;display:flex;align-items:center;gap:10px;color:#c1d5b9}.hf-overline>span{height:1px;width:25px;background:#d7f768}.hf-statement{font-size:clamp(42px,4.35vw,72px);line-height:1.08;font-weight:700;letter-spacing:-2.8px;margin:0;position:relative}.hf-statement em{font-style:normal;color:var(--hf-lime)}.hf-description{font-size:16px;line-height:1.8;color:#a7bdb4;margin:30px 0 26px}.hf-topics{display:flex;flex-wrap:wrap;gap:9px}.hf-topics>span{border:1px solid #a5c8b528;background:#ffffff04;border-radius:100px;padding:7px 13px;font-size:12px;color:#c7d5ce}.hf-brand-footer{font-size:9px;letter-spacing:2px;display:flex;justify-content:space-between;gap:12px;color:#9cb0a6;border-top:1px solid #c5ddca1a;padding-top:23px}.hf-brand-footer span:last-child{color:#bfd2bf}.hf-form-side{display:flex;flex-direction:column;justify-content:space-between;min-width:0;padding:43px 10% 29px;gap:40px;background:#fcfdfb;outline:none}.hf-form-top{display:flex;justify-content:flex-end;align-items:center;gap:16px}.hf-access-label{color:#7c8880;display:flex;gap:7px;align-items:center;font-size:12px}.hf-access-label svg{width:15px;height:15px}.hf-mobile-brand{display:none}.hf-form-content{width:100%;max-width:405px;align-self:center;padding-bottom:25px}.hf-welcome-icon{background:#edf3e7;color:#406c45;display:grid;place-items:center;height:54px;width:54px;border-radius:16px;margin-bottom:28px}.hf-welcome-icon svg{height:32px;width:32px}.hf-help{border-top:1px solid #e3e9e1;font-size:12px;line-height:1.7;color:#8b958d;padding-top:24px;margin-top:28px}.hf-form-footer{display:flex;justify-content:space-between;gap:16px;font-size:10px;color:#8b958d;letter-spacing:.2px}.hf-login .fi-simple-page{gap:30px}.hf-login .fi-simple-header{text-align:left;align-items:flex-start;gap:12px}.hf-login .fi-simple-header-heading{font-family:inherit;font-size:31px;line-height:1.2;letter-spacing:-1px;font-weight:700;color:#152a24}.hf-login .fi-simple-header-subheading{font-family:inherit;font-size:14px;line-height:1.7;color:#77837b;max-width:340px}.hf-login .fi-fo-field-label{font-size:13px;font-weight:600;color:#3b4c42}.hf-login .fi-input-wrp{background:#fff;border-radius:9px;box-shadow:0 0 0 1px #dfe5db;min-height:51px;transition:box-shadow .18s ease}.hf-login .fi-input-wrp:focus-within{box-shadow:0 0 0 2px #48724e,0 0 0 5px #e9f0e4}.hf-login .fi-input{font-size:15px!important;color:#243b2b!important;min-height:51px;padding-inline:15px!important;outline:none}.hf-login .fi-input::placeholder{color:#a0a79f}.hf-login .fi-input-wrp-suffix{padding-inline-end:14px}.hf-login .fi-checkbox{border-radius:4px;border-color:#ccd5c5;color:#254f38}.hf-login .fi-checkbox:checked{background-color:#254f38;border-color:#254f38}.hf-login .fi-fo-checkbox .fi-fo-field-label{font-size:12px;font-weight:400;color:#687568}.hf-login .fi-btn{min-height:51px;border-radius:9px;font-family:inherit;font-size:14px;font-weight:700;background:#cfee71;color:#243a20;box-shadow:0 3px 0 #bad361;border:1px solid #bdd95f;transition:background .2s,transform .2s}.hf-login .fi-btn:hover{background:#def795;transform:translateY(-1px)}.hf-login .fi-btn:active{transform:translateY(1px);box-shadow:none}.hf-login .fi-btn:focus-visible{outline:3px solid #4a704d;outline-offset:4px}.hf-login .fi-btn .fi-icon{color:inherit}.hf-login .fi-btn[disabled]{opacity:.65;transform:none}.hf-login .fi-fo-field-wrp-error-message{color:#a23434}.hf-login .fi-sc-form{gap:24px}.hf-login .fi-sc{row-gap:22px}.hf-login a{color:inherit}.hf-login input,.hf-login button{scroll-margin-top:28px}
@media(min-width:1600px){.hf-form-side{padding-inline:14%}.hf-brand-side{padding-inline:11%}}
@media(max-width:1050px){.hf-brand-side{padding:42px 8% 26px}.hf-form-side{padding:35px 9% 25px}.hf-statement{font-size:48px;letter-spacing:-2px}.hf-description{font-size:14px}.hf-login .fi-simple-header-heading{font-size:28px}.hf-brand-footer{font-size:8px;letter-spacing:1.2px}}
@media(max-width:760px){.hf-login{display:block}.hf-brand-side{display:none}.hf-form-side{min-height:100svh;padding:27px max(24px,7vw) 23px;gap:42px}.hf-form-top{justify-content:space-between}.hf-mobile-brand{display:block;font-size:23px;font-weight:750;letter-spacing:-1px}.hf-mobile-brand>span{font-weight:400}.hf-form-content{padding-bottom:8px}.hf-welcome-icon{margin-bottom:25px}.hf-login .fi-simple-header-heading{font-size:32px}.hf-login .fi-input{font-size:16px!important}.hf-login .fi-fo-field-label{font-size:14px}.hf-form-footer{font-size:10px}.hf-help{font-size:12px}.hf-login .fi-simple-header-subheading{font-size:14px}}
@media(prefers-reduced-motion:reduce){.hf-login *{transition:none!important;animation:none!important}}

/* HAN FIT motion: transform/opacity only, with reduced-motion support. */
@keyframes hf-enter{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
@keyframes hf-ambient{from{transform:translate3d(-4%,-3%,0) scale(.95);opacity:.45}to{transform:translate3d(8%,7%,0) scale(1.12);opacity:.85}}
@keyframes hf-glow{0%,100%{transform:translateY(0) rotate(-5deg)}50%{transform:translateY(-5px) rotate(2deg)}}
@keyframes hf-sheen{from{transform:translateX(-150%) skewX(-20deg)}to{transform:translateX(450%) skewX(-20deg)}}
@media(prefers-reduced-motion:no-preference){
.hf-brand-side:before{inset:-12%;background:radial-gradient(ellipse at 80% 20%,#a4db6345,transparent 48%),radial-gradient(ellipse at 15% 85%,#358b6955,transparent 50%);animation:hf-ambient 12s ease-in-out infinite alternate;pointer-events:none}
.hf-brand{animation:hf-enter .75s ease-out both}
.hf-monogram{animation:hf-glow 6s ease-in-out 1s infinite}
.hf-overline{animation:hf-enter .7s ease-out .1s both}
.hf-statement{animation:hf-enter .85s cubic-bezier(.2,.7,.2,1) .2s both}
.hf-description{animation:hf-enter .75s ease-out .35s both}
.hf-topics>span{animation:hf-enter .65s ease-out .45s both;transition:background .25s,border-color .25s}
.hf-topics>span:nth-child(2){animation-delay:.55s}.hf-topics>span:nth-child(3){animation-delay:.65s}
.hf-topics>span:hover{background:#d7f76815;border-color:#d7f76866}
.hf-form-content{animation:hf-enter .85s cubic-bezier(.2,.7,.2,1) .15s both}
.hf-form-top,.hf-form-footer,.hf-brand-footer{animation:hf-enter .8s ease-out .3s both}
.hf-welcome-icon{transition:transform .3s,background .3s}.hf-welcome-icon:hover{transform:rotate(-8deg) scale(1.06);background:#e1edcf}
.hf-login .fi-btn{position:relative;overflow:hidden;transition:background .25s,transform .25s,box-shadow .25s}
.hf-login .fi-btn:after{content:"";pointer-events:none;position:absolute;inset:0 auto 0 0;width:35%;background:linear-gradient(90deg,transparent,#ffffff65,transparent);transform:translateX(-150%) skewX(-20deg)}
.hf-login .fi-btn:hover:after,.hf-login .fi-btn:focus-visible:after{animation:hf-sheen .8s ease-out}
.hf-login .fi-btn:hover{box-shadow:0 6px 18px #9dbb4638,0 3px 0 #bad361;transform:translateY(-2px)}
.hf-login .fi-btn:active{transform:translateY(1px)}
}
@media(prefers-reduced-motion:reduce){.hf-login *,.hf-login *:before,.hf-login *:after{animation:none!important;transition:none!important}}

/* Animated green brand backdrop. */
.hf-brand-side:before{inset:-20%;background:radial-gradient(circle at 22% 28%,#d7f76852 0,transparent 30%),radial-gradient(circle at 78% 68%,#31d5a554 0,transparent 34%),radial-gradient(circle at 64% 16%,#86bb4745 0,transparent 24%);pointer-events:none}
.hf-brand-side:after{content:"";position:absolute;width:650px;height:650px;right:-370px;bottom:-220px;border-radius:50%;border:1px solid #d7f76835;box-shadow:0 0 0 60px #bfea6510,0 0 0 120px #a4df6b0b,inset 0 0 90px #b7e97612;z-index:-1;pointer-events:none}
.hf-grid{inset:-100px;opacity:.8;background-image:radial-gradient(circle,#d7f76888 1.5px,transparent 2px),linear-gradient(#ffffff05 1px,transparent 1px),linear-gradient(90deg,#ffffff05 1px,transparent 1px);background-size:130px 170px,70px 70px,70px 70px;mask-image:linear-gradient(110deg,transparent 15%,#000);pointer-events:none}
@keyframes hf-orbs{0%{transform:translate3d(-5%,-3%,0) scale(1);opacity:.65}50%{transform:translate3d(7%,6%,0) scale(1.15);opacity:1}100%{transform:translate3d(-2%,9%,0) scale(1.05);opacity:.75}}
@keyframes hf-rings{0%{transform:translate3d(0,0,0) scale(.88)}50%{transform:translate3d(-65px,-70px,0) scale(1.12)}100%{transform:translate3d(25px,-20px,0) scale(.95)}}
@keyframes hf-particles{from{transform:translate3d(0,45px,0)}to{transform:translate3d(35px,-65px,0)}}
@media(prefers-reduced-motion:no-preference){.hf-brand-side:before{animation:hf-orbs 16s ease-in-out infinite alternate}.hf-brand-side:after{animation:hf-rings 20s ease-in-out infinite alternate}.hf-grid{animation:hf-particles 14s ease-in-out infinite alternate}}
