/* Shared service-hero presentation; authentication remains unchanged. */
body.login,body.af-public:has(.af-login){background:linear-gradient(110deg,#1b4965 0%,#376ba3 50%,#6095e3 100%)!important;min-height:100vh;position:relative;isolation:isolate;overflow-x:clip}
body.login::before,body.login::after,body.af-public:has(.af-login)::before,body.af-public:has(.af-login)::after{content:"";position:fixed;inset:auto;pointer-events:none;z-index:-1;background:#fff;-webkit-mask:url('https://allhearthomecare.com/wp-content/uploads/ah-brand-heart-full.svg') center/contain no-repeat;mask:url('https://allhearthomecare.com/wp-content/uploads/ah-brand-heart-full.svg') center/contain no-repeat;width:480px;height:520px;left:-240px;top:-180px;opacity:.12;transform:none}
body.login::after,body.af-public:has(.af-login)::after{width:660px;height:715px;left:auto;right:-290px;top:auto;bottom:-260px;opacity:.18}
body.login{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,480px);column-gap:56px;align-content:center;align-items:start;max-width:none;padding:64px max(32px,calc((100vw - 1200px)/2)) 32px}
body.login .ah-signin-story{grid-column:1;grid-row:1/span 8;align-self:start;color:white;min-width:0;padding-top:16px}
.ah-signin-eyebrow{font-size:13px;letter-spacing:2px;font-weight:600;margin:0 0 20px}
.ah-signin-story h2{font-size:clamp(34px,3.7vw,56px);line-height:1.15;font-weight:500;letter-spacing:-1px;margin:0 0 24px;color:white}
.ah-signin-story h2 em{font-family:Georgia,serif;color:#a2e1ec;font-weight:500}
.ah-signin-description{font-size:19px;line-height:1.65;margin:0 0 30px;max-width:540px}
.ah-signin-story img{display:block;width:100%;height:auto;aspect-ratio:1.6;object-fit:cover;border-radius:22px}
body.login #login{grid-column:2;grid-row:1;width:100%;margin:0 0 12px;box-shadow:none}
body.login .ah-login-help,body.login .language-switcher{grid-column:2;color:white!important;margin:8px auto;max-width:100%}
body.login .ah-login-help a{color:white!important}
body.af-public:has(.af-login) .af-brand,body.af-public:has(.af-login) .af-urgent{background:#fff;border-radius:16px;padding:16px;box-sizing:border-box}
body.af-public:has(.af-login) .af-login-home{background:transparent;border:0;box-shadow:none;gap:48px;max-width:1200px;margin:44px auto}
body.af-public:has(.af-login) .af-login-intro{background:transparent!important;border:0;padding:12px 0!important}
body.af-public:has(.af-login) .af-login-intro h1{font-size:clamp(34px,3.4vw,50px);font-weight:500;line-height:1.15}
body.af-public:has(.af-login) .af-login-form{background:white;border-radius:24px;padding:32px;align-self:start}
.af-login-intro .ah-family-hero-photo{display:block;width:100%;height:auto;aspect-ratio:1.6;object-fit:cover;border-radius:22px;margin-top:28px}
body.af-public:has(.af-login) footer,body.af-public:has(.af-login) footer a{color:white}
@media(min-width:1025px) and (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){body.login::before,body.af-public:has(.af-login)::before{animation:ah-signin-flow 26s linear infinite alternate}body.login::after,body.af-public:has(.af-login)::after{animation:ah-signin-flow 31s linear infinite alternate-reverse}}
@keyframes ah-signin-flow{from{transform:translate3d(-4vw,-14vh,0)}to{transform:translate3d(14vw,30vh,0)}}
@media(max-width:1024px){body.login{column-gap:28px;padding:40px 24px;grid-template-columns:minmax(0,1fr) minmax(320px,420px)}.ah-signin-description{font-size:17px}body.login::before,body.login::after,body.af-public:has(.af-login)::before,body.af-public:has(.af-login)::after{animation:none!important}}
@media(max-width:767px){body.login{display:flex;flex-direction:column;padding:28px 18px;gap:12px}body.login .ah-signin-story{padding:0;width:100%}.ah-signin-story h2{font-size:34px}.ah-signin-eyebrow{font-size:11px;margin-bottom:12px}.ah-signin-description{font-size:16px;line-height:1.5;margin-bottom:20px}.ah-signin-story img{max-height:210px;margin-bottom:16px}body.login #login{margin:0;width:100%}body.login .ah-login-help{width:100%}body.af-public:has(.af-login) .af-login-home{gap:24px;margin:28px auto}body.af-public:has(.af-login) .af-login-form{padding:24px}body.login::before,body.af-public:has(.af-login)::before{left:-250px;top:-240px}body.login::after,body.af-public:has(.af-login)::after{right:-420px;bottom:-380px}}
@media(prefers-reduced-motion:reduce){body.login::before,body.login::after,body.af-public:has(.af-login)::before,body.af-public:has(.af-login)::after{animation:none!important}}
body.login .ah-signin-story .ah-login-help{max-width:100%;width:auto;text-align:left;padding:0;margin:16px 0 0;font-size:14px;line-height:1.7}

.af-login-intro .ah-family-hero-photo{aspect-ratio:auto;height:auto;object-fit:contain}
.af-public .af-brand{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:nowrap}
.af-public .af-brand>a{display:block;min-width:0}.af-public .af-brand picture img{display:block;width:190px;max-width:100%;height:auto}.af-public .af-brand>div{flex:0 0 auto}
@media(max-width:740px){.af-public .af-brand{padding:18px!important;gap:20px}.af-public .af-brand>a{flex:0 1 185px;max-width:58%}.af-public .af-brand picture img{width:100%;height:auto}.af-public .af-brand>div{width:auto}.af-public .af-brand .af-header-call{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 14px;border:1px solid #c5dce8;border-radius:999px;white-space:nowrap}.af-public .af-brand strong{display:none}}
/* Keep both Office/login decorative hearts visibly farther inside the viewport. */
@media(min-width:1025px){body.login.ah-office-signin::before{left:-120px;top:-50px}body.login.ah-office-signin::after{right:-125px;bottom:-80px}}
@media(min-width:1025px){body.login.ah-office-signin::before{left:4vw;top:5vh}body.login.ah-office-signin::after{right:3vw;bottom:4vh}}
@media(min-width:1025px) and (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){body.login.ah-office-signin::before{animation:ah-office-heart-upper 26s linear infinite alternate}body.login.ah-office-signin::after{animation:ah-office-heart-lower 31s linear infinite alternate}}
@keyframes ah-office-heart-upper{from{transform:translate3d(0,0,0)}to{transform:translate3d(8vw,16vh,0)}}
@keyframes ah-office-heart-lower{from{transform:translate3d(0,0,0)}to{transform:translate3d(-8vw,-16vh,0)}}
@media(min-width:1025px){body.login.ah-office-signin::after{right:-6vw;bottom:-12vh}}
@keyframes ah-office-heart-lower{from{transform:translate3d(0,0,0)}to{transform:translate3d(-12vw,-26vh,0)}}
@media(min-width:1025px){body.login.ah-caregiver-signin::after{right:-6vw;bottom:-5vh}}
@media(min-width:1025px) and (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){body.login.ah-caregiver-signin::after{animation:ah-caregiver-heart-lower 31s linear infinite alternate}}
@keyframes ah-caregiver-heart-lower{from{transform:translate3d(0,0,0)}to{transform:translate3d(-10vw,-22vh,0)}}
body.login.ah-caregiver-signin .ah-signin-story img{aspect-ratio:auto;height:auto;max-height:none;object-fit:contain;clip-path:inset(0 round 3.5%)}
/* Let the document grow with stacked sign-in content instead of ending at one viewport. */
html:has(body.login){height:auto!important;min-height:100%;background:#376ba3!important}
html body.login{height:auto!important;min-height:100vh;min-height:100dvh;box-sizing:border-box;background-attachment:fixed!important}
@media(max-width:767px){html body.login{padding-bottom:max(56px,calc(32px + env(safe-area-inset-bottom)))!important;overflow-y:visible}body.login #login{flex:0 0 auto;margin-bottom:12px!important}body.login .ah-signin-story{flex:0 0 auto}}
