.bank-login-site{min-height:100vh}
.bank-login-site .bank-login-secure{display:flex;align-items:center;gap:8px;color:#c4d8ee;font-size:13px}
.bank-login{display:grid;grid-template-columns:1.12fr 1fr;min-height:700px;max-width:1440px;margin:auto}
.bank-login-story{background:linear-gradient(135deg,#101f39,#214d78);color:#fff;padding:70px 72px;overflow:hidden}
[data-brand="bank"] .bank-login-story .eyebrow{color:#b8cbe3}
.bank-login-story h1{font-family:Georgia,serif;font-size:clamp(40px,4.1vw,64px);font-weight:400;line-height:1.12;letter-spacing:-2px;margin:25px 0}
.bank-login-story h1 em{color:#c4d8ee;font-weight:400}
.bank-login-story>p:not(.eyebrow){color:#d7e1ef;line-height:1.8;font-size:17px}
.bank-login-card-art{margin:48px 0 25px;transform:rotate(-5deg);transform-origin:30% 50%;max-width:380px}
.bank-login-card-art .credit-card{width:100%;max-width:360px;box-shadow:0 22px 45px #07172b77}
.bank-login-caption{font-size:10px;letter-spacing:2px;color:#c4d8ee}
.bank-login-panel{align-self:center;padding:58px 65px;max-width:570px;width:100%;margin:auto}
.bank-login-icon{display:inline-flex;align-items:center;justify-content:center;width:50px;height:50px;border-radius:50%;background:#e9f0f8;color:#244b75;margin-bottom:28px}
.bank-login-icon .icon{width:25px;height:25px}
.bank-login-panel h2{font-family:Georgia,serif;font-size:42px;font-weight:400;letter-spacing:-1px;margin:12px 0 18px;color:#132d52}
.bank-login-panel>p:not(.eyebrow){color:#58687d;line-height:1.7}
.bank-login-panel .button{margin:28px 0 12px;gap:10px;justify-content:center}
.bank-login-panel .bank-login-help{font-size:13px;line-height:1.75;margin:0}
.bank-login-error{padding:14px 16px;border:1px solid #e4c5aa;border-radius:6px;color:#77492e;background:#fff7ed;font-size:14px;line-height:1.6;margin-top:20px}
.bank-signout{border:1px solid #7890ae;border-radius:5px;background:transparent;padding:8px 12px;color:#e1ebf8;cursor:pointer;font-size:12px}

/* Alderbank sign-in carries the offer that brought the shopper here. */
.bank-promotion-login{display:grid;grid-template-columns:1.05fr 1fr;max-width:1160px;margin:28px auto;background:#fff;border:1px solid #cddbef;border-radius:12px;overflow:hidden;box-shadow:0 14px 40px #132d5208}
.bank-promotion-offer{position:relative;min-height:510px;overflow:hidden;background:#e9ded5}
.bank-promotion-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 55%}
.bank-promotion-brand{position:absolute;z-index:1;top:18px;left:0;right:0;display:flex;flex-direction:column;align-items:center;gap:5px}
.bank-promotion-brand img{width:220px;height:auto}
.bank-promotion-brand span{order:-1;font-size:9px;letter-spacing:2px;color:#5b3741}
.bank-promotion-benefit{position:absolute;bottom:24px;left:24px;right:24px;display:flex;align-items:center;gap:22px;padding:20px 24px;border-radius:7px;background:#142f53;color:#fff;box-shadow:0 5px 20px #132d5224}
.bank-promotion-benefit strong{font-size:44px;line-height:1;letter-spacing:-2px;white-space:nowrap;font-weight:600}
.bank-promotion-benefit span{border-left:1px solid #6883a6;padding-left:20px;font-size:13px;line-height:1.6;color:#dfebfc}
.bank-promotion-panel{padding:38px 42px;align-self:center;color:#132d52}
.bank-promotion-panel .eyebrow{font-size:10px;letter-spacing:2px;margin:0 0 16px}
.bank-promotion-panel h1{font-family:Georgia,serif;font-size:48px;line-height:1.08;font-weight:400;letter-spacing:-1.5px;margin:0 0 22px;color:#132d52}
.bank-promotion-panel h1 em{display:block;font-weight:400;color:#26599b}
.bank-promotion-panel>p:not(.eyebrow){font-size:15px;line-height:1.65;color:#566c89;margin:0 0 20px}
.bank-promotion-panel>p strong{color:#19395f;font-weight:600}
.bank-promotion-next{display:flex;align-items:center;gap:12px;background:#eff5fd;border:1px solid #d8e5f7;border-radius:6px;padding:12px 14px;color:#36577f;font-size:13px;line-height:1.55}
.bank-promotion-next .icon{flex-shrink:0;width:24px;height:24px}
.bank-promotion-panel .button{margin:22px 0 10px;min-height:50px;gap:10px;justify-content:center}
.bank-promotion-panel>p.bank-promotion-help{font-size:12px;text-align:center;margin-bottom:18px}
.bank-promotion-browse{display:flex;align-items:center;justify-content:center;gap:8px;font-size:12px;color:#44668d;text-decoration:underline;text-underline-offset:3px}
.bank-promotion-browse .icon{width:15px;height:15px}
@media(min-width:901px) and (max-height:820px){.bank-promotion-login{max-width:1100px;margin:18px auto}.bank-promotion-offer{min-height:470px}.bank-promotion-panel{padding:28px 38px}.bank-promotion-panel h1{font-size:44px;margin-bottom:18px}.bank-promotion-panel>p:not(.eyebrow){margin-bottom:16px}.bank-promotion-panel .button{margin-top:18px}.bank-promotion-panel>p.bank-promotion-help{margin-bottom:14px}.bank-promotion-site .site-footer{padding-top:15px;padding-bottom:15px}}
@media(max-width:1200px){.bank-promotion-login{margin-left:24px;margin-right:24px}}
@media(max-width:900px){.bank-promotion-panel{padding:28px}.bank-promotion-benefit{gap:14px;padding:18px;left:16px;right:16px}.bank-promotion-benefit strong{font-size:36px}.bank-promotion-benefit span{padding-left:14px;font-size:12px}.bank-promotion-panel h1{font-size:40px}}
@media(max-width:650px){.bank-promotion-login{display:flex;flex-direction:column;margin:16px}.bank-promotion-offer{min-height:210px}.bank-promotion-photo{object-position:50% 55%}.bank-promotion-brand{top:16px;left:16px;right:auto;align-items:flex-start;gap:3px}.bank-promotion-brand img{width:158px}.bank-promotion-brand span{font-size:6px;letter-spacing:1.2px}.bank-promotion-benefit{left:14px;right:14px;bottom:12px;padding:12px 16px;gap:16px}.bank-promotion-benefit strong{font-size:32px;letter-spacing:-1px}.bank-promotion-benefit span{font-size:11px;line-height:1.4}.bank-promotion-panel{padding:24px;width:100%}.bank-promotion-panel .eyebrow{font-size:9px;margin-bottom:12px}.bank-promotion-panel h1{font-size:35px;margin-bottom:16px}.bank-promotion-panel h1 em{display:inline}.bank-promotion-panel>p:not(.eyebrow){font-size:14px;margin-bottom:16px}.bank-promotion-next{font-size:12px;padding:10px 12px}.bank-promotion-panel .button{margin-top:18px}.bank-promotion-panel>p.bank-promotion-help{font-size:11px;margin-bottom:14px}.bank-promotion-site .bank-nav{padding-left:20px;padding-right:20px;gap:12px}.bank-promotion-site .bank-login-secure{font-size:10px}.bank-promotion-site .bank-login-secure .icon{display:none}.bank-promotion-site .bank-logo{font-size:25px}}
@media(max-width:900px){.bank-login-story{padding:55px 35px}.bank-login-panel{padding:50px 35px}.bank-login{min-height:650px}}
@media(max-width:650px){.bank-login{display:block}.bank-login-story{padding:36px 25px 30px}.bank-login-story h1{font-size:38px;margin:15px 0}.bank-login-story>p:not(.eyebrow),.bank-login-card-art,.bank-login-caption{display:none}.bank-login-panel{padding:36px 25px}.bank-login-icon{display:none}.bank-login-panel h2{font-size:36px}.bank-login-secure{font-size:11px}.bank-signout{font-size:11px;padding:7px}.bank-nav .account-nav{gap:8px}}

.bank-enrollment{max-width:560px;margin:8vh auto;padding:40px;background:#fff;border:1px solid #cddbef;border-radius:16px;box-shadow:0 18px 55px #132a4614;color:#172f51}.bank-enrollment h1{font-size:38px;line-height:1.15;margin-bottom:20px}.bank-enrollment p{font-size:15px;line-height:1.7}.bank-enrollment-choices{display:grid;gap:12px;margin:28px 0}.bank-enrollment-choice{display:grid;grid-template-columns:1fr auto;gap:4px 18px;padding:17px 20px;background:#edf3fc;border:1px solid #cddbef;border-radius:8px;color:#172f51}.bank-enrollment-choice:hover,.bank-enrollment-choice:focus-visible{background:#dce8fb;border-color:#275cb7}.bank-enrollment-choice strong{font-size:17px}.bank-enrollment-choice span{font-size:13px;grid-column:1;color:#566d8b}.bank-enrollment-choice b{grid-column:2;grid-row:1 / 3;align-self:center;font-size:22px;color:#275cb7}.bank-enrollment-help a{text-decoration:underline;color:#275cb7}@media(max-width:640px){.bank-enrollment{margin:24px 16px;padding:28px 24px}.bank-enrollment h1{font-size:32px}}

/* These controls belong to Alderbank; DaVinci returns data collectors only. */
.embedded-auth{margin:20px 0 12px}
.embedded-auth label{display:block;margin-bottom:8px;font-size:14px;font-weight:600;color:#19395f}
.embedded-auth input{box-sizing:border-box;width:100%;border:1px solid #a9bad1;border-radius:6px;background:#fff;padding:12px 14px;font:inherit;font-size:16px;color:#132d52}
.embedded-auth input:focus{outline:3px solid #c1d9fc;outline-offset:2px;border-color:#275cb7}
.embedded-auth .button{margin:14px 0 8px;min-height:48px;width:100%}
.embedded-auth .button:disabled{opacity:.65;cursor:wait}
.embedded-account{font-size:15px;line-height:1.5;color:#19395f;overflow-wrap:anywhere;margin:0 0 8px}
.embedded-secondary{display:block;margin:10px auto;padding:4px;border:0;background:none;color:#24518a;text-align:center;font:inherit;font-size:13px;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.embedded-status{min-height:22px;margin:10px 0 0;font-size:14px;line-height:1.55;color:#4b6079;overflow-wrap:anywhere}
.embedded-status:empty{display:none}
.embedded-auth[aria-busy="true"] .embedded-status::before{content:"";display:inline-block;width:10px;height:10px;margin-right:9px;border:2px solid #bacbe0;border-top-color:#24518a;border-radius:50%;animation:passkey-spin 1s linear infinite}
@keyframes passkey-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.embedded-auth[aria-busy="true"] .embedded-status::before{animation:none}}
@media(min-width:901px) and (max-height:820px){.bank-login-panel{padding-top:26px;padding-bottom:26px}.bank-login-icon{margin-bottom:12px}.embedded-auth{margin-top:16px}.bank-enrollment{margin:32px auto}}
