/* Login-only refinement: account benefits stay beside registration on every screen. */
.pn-login-page .pn-auth-layout {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    max-width: 1120px;
    gap: clamp(2rem, 4.5vw, 4.5rem);
    padding-block: 3rem 4rem;
}
.pn-login-page .pn-auth-story { min-width: 0; padding-top: 2rem; }
.pn-login-page .pn-auth-story > .eyebrow { font-size: .6875rem; line-height: 1.6; letter-spacing: .08em; margin-bottom: 1rem; }
.pn-login-page .pn-auth-story h1 { font-size: clamp(2.25rem, 3.3vw, 2.75rem); line-height: 1.15; letter-spacing: -.04em; margin-bottom: 1rem; }
.pn-login-page .pn-auth-story > p:not(.eyebrow) { font-size: .9375rem; line-height: 1.7; max-width: 26rem; }
.pn-login-page .pn-auth-photo { margin-top: 1.75rem; aspect-ratio: 1.6; border-radius: 1rem; }
.pn-login-page .pn-auth-photo > img { object-position: 50% 58%; }
.pn-login-page .pn-auth-photo > span { left: 1rem; right: auto; bottom: 1rem; max-width: calc(100% - 2rem); font-size: .8125rem; line-height: 1.5; padding: .625rem .875rem; }
.pn-login-page .pn-auth-photo .icon { flex-shrink: 0; }
.pn-login-page .pn-auth-card { padding: 2rem; }
.pn-login-page .pn-auth-card-heading { margin-bottom: 1.5rem; }
.pn-login-page .pn-auth-card-heading > .eyebrow { font-size: .6875rem; line-height: 1.6; letter-spacing: .08em; }
.pn-login-page .pn-auth-card-heading h2 { font-size: 2rem; line-height: 1.2; letter-spacing: -.03em; margin-bottom: .625rem; }
.pn-login-page .pn-auth-card-heading p { font-size: .875rem; line-height: 1.6; }
.pn-login-page .pn-auth-form { gap: 1rem; }
.pn-login-page .pn-auth-form .field { gap: .5rem; }
.pn-login-page .pn-auth-form .field label { font-size: .875rem; line-height: 1.5; }
.pn-login-page .pn-auth-form .field input { height: auto; min-height: 3rem; font-size: 1rem; line-height: 1.5; padding: .625rem .75rem; }
.pn-login-page .pn-auth-form .field-error, .pn-login-page .pn-auth-card > .field-error { font-size: .8125rem; line-height: 1.6; overflow-wrap: anywhere; }
.pn-login-page .pn-auth-form .button { min-height: 3rem; font-size: .9375rem; line-height: 1.5; white-space: normal; padding: .75rem 1rem; }
.pn-login-page .pn-auth-form .button .icon { flex-shrink: 0; }
.pn-login-page .pn-auth-form-options { flex-wrap: wrap; align-items: center; column-gap: 1rem; row-gap: .625rem; }
.pn-login-page .pn-auth-form .checkbox-label { font-size: .8125rem; line-height: 1.5; align-items: center; min-height: 2rem; min-width: 0; }
.pn-login-page .pn-auth-form .checkbox-label input { margin-top: 0; }
.pn-login-page .pn-auth-form-options > a { font-size: .8125rem; line-height: 1.5; padding-block: .375rem; text-underline-offset: .2em; }
.pn-login-page .pn-auth-card > .pn-auth-note { font-size: .8125rem; line-height: 1.6; margin-block: .75rem 1.25rem; }
.pn-login-account { margin-top: 1.5rem; padding: 1rem; border: 1px solid #dce8e1; border-radius: .75rem; background: #f5f9f6; color: var(--navy, #0b2545); }
.pn-login-account-benefit { display: flex; align-items: flex-start; gap: .625rem; }
.pn-login-account-benefit > .icon { width: 1.125rem; height: 1.125rem; flex-shrink: 0; color: #3e6b52; margin-top: .125rem; }
.pn-login-account h3 { font-size: .9375rem; line-height: 1.5; font-weight: 650; margin: 0; letter-spacing: normal; }
.pn-login-account p { margin: 0; }
.pn-login-account-benefit p { color: var(--muted, #5b6b7c); font-size: .8125rem; line-height: 1.6; margin-top: .125rem; }
.pn-login-account .pn-login-account-action { font-size: .8125rem; line-height: 1.7; margin-top: .75rem; display: flex; flex-wrap: wrap; align-items: center; gap: .125rem .5rem; }
.pn-login-account-action a { display: inline-flex; align-items: center; gap: .375rem; min-height: 2rem; font-weight: 650; color: #315e46; }
.pn-login-account-action .icon { width: 1rem; height: 1rem; flex-shrink: 0; }
.pn-login-account .pn-login-account-note { font-size: .75rem; line-height: 1.6; color: #56675d; margin-top: .375rem; }
.pn-login-account-note a { color: inherit; text-decoration: underline; text-underline-offset: .2em; }
.pn-login-account a:focus-visible, .pn-login-page .pn-auth-form-options a:focus-visible { outline: 2px solid #315e46; outline-offset: 3px; border-radius: 2px; }
@media (max-width: 1050px) {
    .pn-login-page .pn-auth-layout { gap: 2rem; }
    .pn-login-page .pn-auth-card { padding: 1.5rem; }
    .pn-login-page .pn-auth-story { padding-top: 1.5rem; }
}
@media (max-width: 780px) {
    .pn-login-page .pn-auth-layout { grid-template-columns: minmax(0, 1fr); width: min(560px, calc(100% - 32px)); gap: 1.5rem; padding-block: 1.5rem 2.5rem; }
    .pn-login-page .pn-auth-story { padding-top: 0; }
    .pn-login-page .pn-auth-story > .eyebrow { font-size: .625rem; margin-bottom: .75rem; }
    .pn-login-page .pn-auth-story h1 { font-size: 1.875rem; line-height: 1.2; }
    .pn-login-page .pn-auth-story h1 span { margin-left: 0; }
    .pn-login-page .pn-auth-story > p:not(.eyebrow) { font-size: .875rem; }
    .pn-login-page .pn-auth-card { padding: 20px; }
    .pn-login-account { padding: 16px; }
    .pn-login-page .pn-auth-card-heading h2 { font-size: 1.625rem; }
}
