:root{--portal-blue:#0052cc;--portal-orange:#ff7a00;--portal-silver:#c0c0c0;--portal-ink:#0f0f0f;--portal-navy:#06172d;font-family:"Noto Sans","Segoe UI",Arial,sans-serif;color:var(--portal-ink);background:var(--portal-navy);font-synthesis:none}
*{box-sizing:border-box}
html,body{margin:0;min-width:320px;min-height:100%;font-family:inherit}
body{background:var(--portal-navy)}
button,input{font:inherit}
a{color:inherit}
.portal-skip{position:fixed;left:18px;top:-80px;z-index:30;background:#fff;border:3px solid var(--portal-orange);padding:10px 16px;font-weight:800}
.portal-skip:focus{top:18px}
.portal-shell{position:relative;min-height:calc(100svh - 58px);overflow:hidden;background:var(--portal-navy)}
.portal-brand{position:absolute;inset:0 60% 0 0;overflow:hidden;background:radial-gradient(circle at 70% 40%,#12375f 0%,#0a2442 34%,#06172d 72%,#030d18 100%);color:#fff}
.portal-brand:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.15),transparent 65%)}
.portal-brand__curves{position:absolute;inset:-16% -30% -14% -16%;opacity:.28;transform:rotate(-7deg)}
.portal-brand__curves span{position:absolute;border:2px solid #8eb9e5;border-left-color:transparent;border-bottom-color:transparent;border-radius:50%}
.portal-brand__curves span:nth-child(1){width:88%;aspect-ratio:1;left:-22%;top:-8%}
.portal-brand__curves span:nth-child(2){width:115%;aspect-ratio:1;left:-28%;top:31%}
.portal-brand__curves span:nth-child(3){width:72%;aspect-ratio:1;left:31%;top:59%}
.portal-brand__copy{position:absolute;z-index:2;left:clamp(34px,4.6vw,90px);bottom:clamp(82px,12vh,150px)}
.portal-brand__statement{margin:0;font-size:clamp(2.1rem,3.2vw,4.05rem);line-height:1.08;letter-spacing:.15em;text-transform:uppercase;font-weight:760}
.portal-brand__copy i{display:block;width:76px;height:7px;margin:28px 0 30px;background:var(--portal-orange);border-radius:8px}
.portal-brand__support{margin:0;color:#d7e4f2;font-size:clamp(.84rem,1.05vw,1.08rem);line-height:1.65;letter-spacing:.15em;text-transform:uppercase;font-weight:620}
.portal-image{position:absolute;inset:0 0 0 40%;background:url('/assets/workforce-mentorship.webp') center/cover no-repeat;filter:saturate(.84) contrast(.96)}
.portal-image__veil{position:absolute;inset:0 0 0 38%;background:linear-gradient(90deg,rgba(6,23,45,.82) 0%,rgba(0,82,204,.2) 22%,rgba(0,0,0,.06) 58%,rgba(0,0,0,.16) 100%)}
.portal-help{display:flex;align-items:center;gap:9px;color:#073d92;text-decoration:none;font-size:.92rem;font-weight:800}
.portal-help span{width:26px;height:26px;display:grid;place-items:center;border-radius:50%;background:#073d92;color:#fff;font-weight:900}
.portal-help:hover{text-decoration:underline}
.portal-help--floating{position:absolute;z-index:5;right:42px;top:34px;padding:10px;background:rgba(255,255,255,.82);border-radius:999px;backdrop-filter:blur(8px)}
.portal-help--mobile{display:none;justify-content:center;margin-top:22px}
.portal-card{position:absolute;z-index:10;top:50%;left:50%;width:min(540px,calc(100vw - 40px));max-height:calc(100svh - 92px);overflow:auto;transform:translate(-50%,-50%);padding:42px 50px 40px;background:#fff;border:1px solid rgba(255,255,255,.72);border-radius:18px;box-shadow:0 28px 75px rgba(1,13,28,.28);animation:portal-card-in 300ms ease both}
.portal-logo{display:block;width:min(360px,100%);margin:0 auto 4px}
.portal-logo img{display:block;width:100%;height:auto}
.portal-intro{text-align:center;margin:24px 0 26px}
.portal-intro h1{margin:0;color:#0c1f38;font-size:2rem;line-height:1.08;letter-spacing:-.035em;font-weight:850}
.portal-intro p{margin:9px 0 0;color:#637084;font-size:1rem}
.portal-form{display:grid}
.portal-field{margin:0 0 7px;color:#172033;font-size:.9rem;font-weight:760}
.portal-control{position:relative;margin-bottom:4px}
.portal-control>svg{position:absolute;left:15px;top:50%;width:22px;height:22px;transform:translateY(-50%);fill:none;stroke:#778295;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
.portal-control input{width:100%;height:52px;padding:0 15px 0 48px;border:1.5px solid #b7c0cd;border-radius:8px;background:#fff;color:#0f0f0f;font-size:1rem;outline:none;transition:border-color 160ms ease,box-shadow 160ms ease}
.portal-control--password input{padding-right:52px}
.portal-control input:focus{border-color:var(--portal-blue);box-shadow:0 0 0 3px rgba(0,82,204,.16)}
.portal-control input[aria-invalid="true"]{border-color:#a1262d;box-shadow:0 0 0 2px rgba(161,38,45,.13)}
.portal-password-toggle{position:absolute;right:5px;top:4px;width:44px;height:44px;border:0;background:transparent;color:#697588;cursor:pointer;border-radius:7px;display:grid;place-items:center}
.portal-password-toggle:hover{background:#eef4ff;color:var(--portal-blue)}
.portal-password-toggle svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.portal-password-toggle.is-visible:after{content:"";position:absolute;width:25px;height:2px;background:currentColor;transform:rotate(-45deg);border-radius:2px}
.portal-error{margin:2px 0 12px;color:#991b1b;font-size:.78rem;font-weight:700;line-height:1.35}
.portal-forgot{text-align:right;margin:1px 0 24px}
.portal-forgot a,.portal-support a{color:#003f9e;text-decoration:none;font-size:.84rem;font-weight:800}
.portal-forgot a:hover,.portal-support a:hover{text-decoration:underline}
.portal-submit{height:52px;border:0;border-radius:9px;background:var(--portal-orange);color:#0f0f0f;font-weight:860;font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;box-shadow:0 8px 20px rgba(255,122,0,.18);transition:transform 140ms ease,filter 140ms ease,box-shadow 140ms ease}
.portal-submit:hover{filter:brightness(.96);transform:translateY(-1px);box-shadow:0 10px 24px rgba(255,122,0,.24)}
.portal-submit:active{transform:translateY(1px);box-shadow:0 4px 12px rgba(255,122,0,.2)}
.portal-submit:disabled{cursor:wait;filter:saturate(.72);transform:none}
.portal-spinner{width:18px;height:18px;border:2px solid rgba(15,15,15,.28);border-top-color:#0f0f0f;border-radius:50%;animation:portal-spin 700ms linear infinite}
.portal-status{margin:14px 0 0;padding:11px 13px;border-left:4px solid #0052cc;background:#eef4ff;color:#203047;font-size:.82rem;line-height:1.45}
.portal-divider{height:1px;margin:24px 0 19px;background:linear-gradient(90deg,transparent,#b9c1cd 18% 82%,transparent)}
.portal-support{text-align:center;color:#27364a}
.portal-support p{margin:0 0 2px;font-size:.83rem}
.portal-support-dialog{width:min(490px,calc(100% - 32px));max-height:calc(100svh - 32px);margin:auto;padding:0 38px 34px;border:0;border-radius:18px;background:#fff;color:#172033;box-shadow:0 30px 90px rgba(1,13,28,.38);overflow:auto}
.portal-support-dialog[open]{animation:portal-dialog-in 180ms ease both}
.portal-support-dialog::backdrop{background:rgba(2,14,29,.72);backdrop-filter:blur(5px);animation:portal-backdrop-in 180ms ease both}
.portal-support-dialog__accent{height:7px;margin:0 -38px 28px;background:linear-gradient(90deg,var(--portal-blue) 0 70%,var(--portal-orange) 70%)}
.portal-support-dialog__close{position:absolute;right:16px;top:17px;width:40px;height:40px;border:0;border-radius:50%;background:#eef4ff;color:#073d92;cursor:pointer;display:grid;place-items:center}
.portal-support-dialog__close:hover{background:#dde9fc}
.portal-support-dialog__close span{font-size:1.7rem;line-height:1;transform:translateY(-1px)}
.portal-support-dialog__icon{width:50px;height:50px;display:grid;place-items:center;margin-bottom:18px;border-radius:50%;background:#073d92;color:#fff;font-size:1.45rem;font-weight:900;box-shadow:0 8px 20px rgba(7,61,146,.18)}
.portal-support-dialog__eyebrow{margin:0 0 7px;color:#0052cc;font-size:.76rem;font-weight:850;letter-spacing:.14em;text-transform:uppercase}
.portal-support-dialog h2{margin:0;color:#0c1f38;font-size:1.75rem;line-height:1.15;letter-spacing:-.025em}
.portal-support-dialog>p:not(.portal-support-dialog__eyebrow):not(.portal-support-dialog__privacy){margin:11px 0 20px;color:#5d6a7d;font-size:.96rem;line-height:1.55}
.portal-support-dialog__topics{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0;padding:0;list-style:none}
.portal-support-dialog__topics li{padding:11px 8px;border:1px solid #cfdaea;border-radius:9px;background:#f7f9fc;color:#18385f;text-align:center;font-size:.78rem;font-weight:780;line-height:1.3}
.portal-support-dialog__privacy{margin:19px 0 22px;padding:11px 13px;border-left:4px solid var(--portal-orange);background:#fff8ef;color:#5a4936;font-size:.78rem;line-height:1.45}
.portal-support-dialog__actions{display:grid;gap:10px}
.portal-support-dialog__primary,.portal-support-dialog__secondary{min-height:50px;border-radius:9px;display:flex;align-items:center;justify-content:center;text-align:center;font-size:.92rem;font-weight:850;text-decoration:none;cursor:pointer}
.portal-support-dialog__primary{border:0;background:var(--portal-orange);color:#0f0f0f;box-shadow:0 8px 20px rgba(255,122,0,.18)}
.portal-support-dialog__primary:hover{filter:brightness(.96)}
.portal-support-dialog__secondary{border:1.5px solid #b7c5d8;background:#fff;color:#073d92}
.portal-support-dialog__secondary:hover{background:#eef4ff}
.portal-footer{height:58px;display:grid;place-items:center;padding:0 20px;background:#fff;color:#173860;text-align:center;text-transform:uppercase;letter-spacing:.2em;font-size:.72rem;font-weight:700}
:focus-visible{outline:3px solid var(--portal-orange);outline-offset:3px}
@keyframes portal-card-in{from{opacity:0;transform:translate(-50%,calc(-50% + 11px))}to{opacity:1;transform:translate(-50%,-50%)}}
@keyframes portal-dialog-in{from{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:none}}
@keyframes portal-backdrop-in{from{opacity:0}to{opacity:1}}
@keyframes portal-spin{to{transform:rotate(360deg)}}
@media(max-width:1100px){.portal-brand{right:64%}.portal-image{left:36%}.portal-image__veil{left:34%}.portal-brand__statement{font-size:2rem}.portal-card{left:52%}}
@media(max-width:760px){.portal-shell{min-height:100svh;padding:38px 0 34px;display:grid;place-items:center}.portal-image{inset:0;background-position:64% center;filter:saturate(.75) brightness(.55)}.portal-image__veil{inset:0;background:linear-gradient(180deg,rgba(6,23,45,.54),rgba(6,23,45,.92) 68%,#06172d)}.portal-brand,.portal-help--floating{display:none}.portal-card{position:relative;top:auto;left:auto;width:92%;max-height:none;overflow:visible;transform:none;padding:30px 28px 28px;border-radius:16px;animation:portal-card-mobile-in 300ms ease both}.portal-help--mobile{display:flex}.portal-footer{height:auto;min-height:58px;padding:18px 20px;background:#06172d;color:#e7edf6;line-height:1.55}}
@media(max-width:420px){.portal-shell{align-items:start;padding-top:24px}.portal-card{width:calc(100% - 32px);padding:27px 22px 24px}.portal-intro h1{font-size:1.75rem}.portal-control input{font-size:.94rem}.portal-footer{font-size:.64rem;letter-spacing:.14em}}
@media(max-width:520px){.portal-support-dialog{padding:0 24px 25px}.portal-support-dialog__accent{margin:0 -24px 24px}.portal-support-dialog__topics{grid-template-columns:1fr}.portal-support-dialog__topics li{text-align:left;padding:10px 13px}.portal-support-dialog__close{right:10px;top:13px}}
@keyframes portal-card-mobile-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.portal-card,.portal-submit,.portal-spinner,.portal-support-dialog,.portal-support-dialog::backdrop{animation:none;transition:none}}
