/* Foundation portal logins need their own bounded form and icon sizing. */
.portal-login{width:100%;max-width:460px;margin:24px auto;padding:26px;background:#fff;border:1px solid #d7dee7;border-radius:14px;box-sizing:border-box}
.portal-login h1{font-size:28px;line-height:1.2;margin:0 0 24px}
.portal-login form{gap:16px;margin:0}
.portal-login .field{display:flex;flex-direction:column;gap:6px;font-size:16px}
.portal-login input{font-size:16px;min-width:0;min-height:46px}
.portal-login .icon{width:22px;height:22px;flex:0 0 22px;display:block}
.portal-login .button{min-height:46px;font-size:16px;gap:10px}
.portal-login .password-wrap{position:relative;display:block}
.portal-login .password-wrap input{padding-right:68px}
.portal-login .password-toggle{position:absolute;right:5px;top:5px;bottom:5px;padding:0 10px;border:0;border-radius:4px;background:#edf1f6;color:#142B49;font-size:14px;cursor:pointer}
.portal-login .forgot-link{font-size:15px;justify-self:end}
@media(max-width:479px){.portal-login{padding:20px;margin:12px auto}.portal-login h1{font-size:26px}}
.portal-entry{background:radial-gradient(ellipse at 5% 80%,#fcebdc 0,transparent 45%),#f5f7fa}
.portal-entry .header{background:#fff}.portal-entry .header nav a{text-decoration:none;font-size:14px}
.portal-entry .shell{padding:36px 4vw;max-width:1320px;min-height:calc(100svh - 154px)}
.portal-login-stage{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,460px);gap:64px;align-items:center;max-width:1100px;margin:0 auto}
.portal-intro{min-width:0;padding:12px 0}
.portal-eyebrow{display:block;font-size:11px;font-weight:750;letter-spacing:.12em;color:#526175}
.portal-intro h2{font-size:clamp(28px,3vw,42px);line-height:1.12;letter-spacing:-.04em;max-width:480px;margin:18px 0;color:#142B49}
.portal-intro>p{font-size:16px;line-height:1.65;max-width:450px;color:#526175}
.portal-illustration{position:relative;height:190px;max-width:390px;display:grid;place-items:center;margin:18px 0}
.portal-orbit{position:absolute;inset:8px 35px;border:1px solid #e3d4c5;border-radius:50%;transform:rotate(-12deg)}
.portal-main-symbol{display:grid;place-items:center;width:142px;height:142px;background:#142B49;border-radius:34px;box-shadow:0 18px 32px #142b4920;transform:rotate(-6deg)}
.portal-main-symbol .icon{width:78px;height:78px;stroke:#fff;transform:rotate(6deg)}
.portal-float{position:absolute;display:grid;place-items:center;width:58px;height:58px;background:#fff;border:1px solid #e4e9ef;border-radius:16px;box-shadow:0 8px 22px #142b4910;color:#bc600c}
.portal-float .icon{width:28px;height:28px}.portal-float.first{left:26px;top:22px;transform:rotate(-10deg)}.portal-float.second{right:28px;bottom:14px;transform:rotate(9deg)}
.portal-features{display:flex;flex-wrap:wrap;gap:10px;padding:0;list-style:none;margin:16px 0 0}
.portal-features li{display:flex;align-items:center;gap:8px;font-size:12px;padding:9px 11px;border:1px solid #dde4ed;border-radius:10px;background:#ffffffad}
.portal-features .icon{width:19px;height:19px;color:#bc600c;flex-shrink:0}
.portal-login-stage .portal-login{padding:28px 30px;margin:0;border-radius:22px;box-shadow:0 14px 45px #142b4909}
.portal-card-icon{width:46px;height:46px;display:grid;place-items:center;background:#fff0df;border-radius:13px;margin-bottom:18px;color:#a95206}
.portal-login h1{margin:7px 0 9px}.portal-card-description{font-size:14px;color:#526175;line-height:1.5;margin:0 0 24px}
.portal-login input{border-color:#c4cfdd;border-radius:9px}.portal-login input:focus-visible{outline-width:2px}
.portal-login .button{background:#142B49;border-radius:9px;box-shadow:0 4px 0 #f28c2830}
.portal-security-note{display:flex;gap:7px;align-items:center;justify-content:center;font-size:11px;color:#526175;margin:21px 0 0}.portal-security-note .icon{width:15px;height:15px;flex-basis:15px}
.portal-register-link{font-size:13px;text-align:center;border-top:1px solid #e9edf3;padding-top:17px;margin:17px 0 0}.portal-register-link a{font-weight:700;text-decoration:none}
.portal-entry .header nav a[aria-current=page]{border-bottom:2px solid #F28C28;font-weight:700}
.portal-walkthrough{display:flex;flex-direction:column;gap:4px;padding:12px;margin-top:18px;background:#f5f7fa;border:1px solid #e0e6ed;border-radius:10px;font-size:12px;min-width:0}
.portal-walkthrough>span{color:#526175}.portal-walkthrough button{display:flex;align-items:center;gap:6px;text-align:left;padding:0;background:none;border:0;color:#142B49;font-size:12px;font-weight:650;cursor:pointer;overflow-wrap:anywhere;min-height:30px}
.portal-walkthrough button .icon{width:16px;height:16px;flex-basis:16px}.portal-walkthrough small{font-size:10px;color:#526175}
@media(max-width:1023px){.portal-login-stage{gap:28px}.portal-intro h2{font-size:30px}.portal-features{gap:6px}.portal-features li{padding:8px}.portal-login-stage .portal-login{padding:24px}}
@media(max-width:767px){.portal-entry .shell{padding:22px 5vw}.portal-login-stage{grid-template-columns:minmax(0,1fr);gap:18px;max-width:460px}.portal-intro{padding:0}.portal-intro h2{font-size:27px;margin:10px 0}.portal-intro>p{font-size:14px;margin:0}.portal-illustration,.portal-features{display:none}.portal-login-stage .portal-login{padding:22px}.portal-entry footer{font-size:12px}.portal-entry .header{padding:15px 5vw}}
@media(max-width:479px){.portal-intro>p,.portal-intro h2{display:none}.portal-login-stage{gap:12px}.portal-login-stage .portal-login{padding:20px}.portal-card-icon{margin-bottom:10px}.portal-card-description{margin-bottom:18px}.portal-security-note{margin-top:14px}.portal-register-link{margin-top:12px;padding-top:12px}}
/* Keep the approved palette prominent, rather than relying on neutral backgrounds. */
.portal-entry{background:linear-gradient(130deg,#fff3e5 0%,#fff 48%,#eaf0f7 100%)}
.portal-intro{background:linear-gradient(145deg,#142B49,#24476f);border-radius:24px;padding:30px;box-shadow:0 16px 35px #142b4914;position:relative}
.portal-intro .portal-eyebrow{color:#F28C28}.portal-intro h2{color:#fff;font-size:clamp(28px,2.6vw,38px)}
.portal-intro>p{color:#edf2f8}.portal-orbit{border-color:#ffffff35}
.portal-main-symbol{background:#F28C28;box-shadow:0 15px 35px #00000020}.portal-main-symbol .icon{stroke:#142B49}
.portal-features li{background:#ffffff0d;border-color:#ffffff35;color:#fff}.portal-features .icon{color:#F28C28}
.portal-login-stage .portal-login{border-top:5px solid #F28C28}
.portal-login .button{background:#F28C28;color:#142B49;border-color:#F28C28;box-shadow:0 5px 15px #f28c2829}
.portal-login .button:hover{background:#ff9e3c;border-color:#ff9e3c}
.portal-card-icon{background:#fff0df;border:1px solid #f7c892;color:#142B49}
.portal-walkthrough{background:#fff7ed;border-color:#f3d5b3}
@media(min-width:768px) and (max-width:1023px){.portal-intro{padding:20px}.portal-illustration{height:150px}.portal-main-symbol{width:108px;height:108px}.portal-main-symbol .icon{width:60px;height:60px}.portal-features{display:none}.portal-intro h2{font-size:25px}}
@media(max-width:767px){.portal-intro{padding:16px 20px;border-radius:16px}.portal-intro h2{font-size:25px}.portal-intro>p{font-size:13px}.portal-entry .shell{padding-top:18px}}
@media(max-width:479px){.portal-intro{padding:12px 16px}.portal-intro .portal-eyebrow{font-size:10px}}

.portal-illustration .vendor-partnership-art{display:block;width:100%;height:100%;object-fit:contain}

/* Vendor partnership is the main visual, not a small supporting icon. */
@media(min-width:1024px){
 .vendor-intro .portal-illustration{width:calc(100% + 24px);max-width:none;height:auto;aspect-ratio:440/240;min-height:260px;margin:20px -12px 16px;background:radial-gradient(ellipse at center,#f28c2824,transparent 70%);border:1px solid #ffffff19;border-radius:22px}
 .vendor-intro .vendor-partnership-art{filter:drop-shadow(0 12px 14px #10243a40)}
}
@media(min-width:768px) and (max-width:1023px){
 .vendor-intro .portal-illustration{width:100%;max-width:none;height:190px;margin:14px 0;background:radial-gradient(ellipse at center,#f28c2824,transparent 75%);border-radius:16px}
}

@media(min-width:1024px){.vendor-intro .portal-illustration{aspect-ratio:4/3;min-height:0}.vendor-intro .vendor-partnership-art{border-radius:16px}}

/* Raise and center the complete vendor artwork within the visible login area. */
@media(min-width:768px){
 .vendor-intro{display:flex;flex-direction:column;align-items:center;align-self:start;text-align:center;padding:16px 22px 22px}
 .vendor-intro .portal-eyebrow{order:0}
 .vendor-intro .portal-illustration{order:1;grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr);flex-shrink:0;width:100%;max-width:500px;height:clamp(230px,38vh,350px);min-height:0;aspect-ratio:auto;margin:8px auto 12px;border:0;background:none}
 .vendor-intro .vendor-partnership-art{width:100%;height:100%;min-height:0;min-width:0;max-height:100%;object-fit:contain;object-position:center;border-radius:12px}
 .vendor-intro h2{order:2;font-size:clamp(25px,2.3vw,32px);margin:8px 0 10px}
 .vendor-intro>p{order:3;font-size:14px;line-height:1.5;margin:0;max-width:450px}
 .vendor-intro .portal-features{order:4;justify-content:center;margin-top:14px}
}
