/* NEXROC IR 3.8.81 — complete screenshot-matched login portal redesign.
 * Shared between the native WordPress login screen and /investor-login/. The original native
 * WordPress form, redirects, recovery, security, MFA/plugin hooks, and
 * institutional approval checks are not replaced by this stylesheet.
 */
:root{--nx-portal-surface:#f6f6f8;--nx-portal-ink:#191919;--nx-portal-blue:#182a42;--nx-portal-muted:#545963;}
html:has(body.nexroc-login-portal){background:var(--nx-portal-surface);}
body.nexroc-login-portal,
body.nexroc-login-portal *,
body.nexroc-login-portal *::before,
body.nexroc-login-portal *::after{box-sizing:border-box;}
body.nexroc-login-portal{
  display:grid;
  grid-template-columns:minmax(18px,1fr) repeat(3,minmax(0,395px)) minmax(18px,1fr);
  grid-template-rows:108px 60px auto auto auto auto;
  align-content:start;align-items:start;column-gap:15px;
  min-height:100svh;height:auto;margin:0;
  background:var(--nx-portal-surface);color:#232a34;
  font:400 14px/1.55 Arial,Helvetica,sans-serif;
}
body.nexroc-login-portal a{transition:color .18s ease,background-color .18s ease,opacity .18s ease;}
body.nexroc-login-portal a:focus-visible,
body.nexroc-login-portal button:focus-visible,
body.nexroc-login-portal input:focus-visible{
  outline:2px solid #97accb;outline-offset:2px;
}
/* 01 / Full-width white NEXROC header and the black separation bar. */
body.nexroc-login-portal .nx-portal-header{grid-column:1/-1;grid-row:1;width:100%;height:108px;background:#fff;border-top:5px solid #eee;}
.nx-portal-header__inside{height:103px;max-width:1258px;padding:0 8px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:24px;}
.nx-portal-brand{display:flex;align-items:center;gap:18px;min-width:0;flex-shrink:0;}
.nx-portal-brand__logo{display:block;width:193px;flex:0 0 193px;}
.nx-portal-brand__logo img{display:block;width:100%;height:auto;}
.nx-portal-brand__rule{width:1px;height:50px;background:#a8acb3;flex:0 0 1px;}
.nx-portal-brand__portal{display:inline-flex;align-items:baseline;white-space:nowrap;gap:6px;text-decoration:none!important;color:#191919!important;font:400 36px/1.1 Georgia,'Times New Roman',serif;letter-spacing:-.04em;}
.nx-portal-brand__portal em{font-style:normal;color:#99a2b2;}
.nx-portal-header__utility{display:flex;flex-direction:column;align-items:flex-end;gap:8px;min-width:230px;color:#272727;font:400 11px/1.3 Arial,Helvetica,sans-serif;}
.nx-portal-header__language{font-size:10px;letter-spacing:.05em;white-space:nowrap;}
.nx-portal-header__language span{margin:0 5px;color:#aeb4bf;}
.nx-portal-header__links{display:flex;align-items:center;gap:20px;}
.nx-portal-header__links a{color:#242424;text-decoration:none;white-space:nowrap;font-size:11px;letter-spacing:.02em;}
.nx-portal-header__links a span{margin-right:3px;color:#7d8592;font-weight:600;}
.nx-portal-header__links a:hover{text-decoration:underline;}
body.nexroc-login-portal .nx-portal-band{grid-column:1/-1;grid-row:2;width:100%;height:60px;background:#191919;}
/* 02 / The horizontally centered notice spans precisely all three cards. */
body.nexroc-login-portal .nx-portal-notice{grid-column:2/5;grid-row:3;min-height:72px;display:flex;align-items:center;position:relative;padding:12px 56px 12px 24px;background:#e2e3e5;color:#555b63;}
.nx-portal-notice p{margin:0;font:400 13px/1.8 Arial,Helvetica,sans-serif;}
.nx-portal-notice strong{font-weight:600;}
.nx-portal-notice__dismiss{position:absolute;top:15px;right:20px;border:0;padding:0 3px;background:transparent;color:#8b8e94;font:300 29px/1 Arial,Helvetica,sans-serif;cursor:pointer;}
.nx-portal-notice__dismiss:hover{color:#121820;}
/* 03 / Native WordPress login is card one. All auth plugin inputs stay inside. */
body.nexroc-login-portal #login{
  grid-column:2;grid-row:4;align-self:stretch;
  float:none;width:100%;min-width:0;max-width:none;min-height:540px;height:540px;
  margin:45px 0 0!important;padding:35px 35px 28px;
  background:#191919;color:#fff;border:0;border-radius:0;
  box-shadow:0 3px 7px rgba(0,0,0,.12);
}
body.nexroc-login-portal #login h1.wp-login-logo{display:none;}
body.nexroc-login-portal #login .nx-portal-login-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin:0 0 36px;}
.nx-portal-login-heading h2{margin:0 0 7px;color:#f5f5f5;font:400 29px/1.13 Arial,Helvetica,sans-serif;letter-spacing:-.035em;}
.nx-portal-login-heading span{color:#dadada;font:600 9px/1.4 Arial,Helvetica,sans-serif;letter-spacing:.18em;}
.nx-portal-login-heading a{align-self:flex-start;margin-top:9px;color:#f4f4f4!important;font:400 11px/1.5 Arial,Helvetica,sans-serif;white-space:nowrap;text-decoration:underline;text-underline-offset:2px;}
.nx-portal-login-heading__caption{margin-top:10px;text-align:right;}
body.nexroc-login-portal #login form,
body.nexroc-login-portal #login #loginform{margin:0;padding:0;background:transparent;border:0;border-radius:0;box-shadow:none;overflow:visible;}
body.nexroc-login-portal #login form>p,
body.nexroc-login-portal #login form>.user-pass-wrap{margin:0 0 8px;}
body.nexroc-login-portal #login form label{display:block;margin:0 0 7px;color:#f0f0f0;font:400 11px/1.45 Arial,Helvetica,sans-serif;}
body.nexroc-login-portal #login form .input,
body.nexroc-login-portal #login input[type=text],
body.nexroc-login-portal #login input[type=email],
body.nexroc-login-portal #login input[type=password]{display:block;width:100%;height:49px;min-height:49px;padding:12px 14px;margin:0 0 2px;background:#fff;color:#161616;border:1px solid #e3e7ef;border-radius:0;box-shadow:none;font:400 14px Arial,Helvetica,sans-serif;}
body.nexroc-login-portal #login form input::placeholder{color:#929aaa;opacity:1;}
body.nexroc-login-portal #login .wp-pwd{position:relative;}
body.nexroc-login-portal #login .wp-pwd input:is([type=password],[type=text]){padding-right:50px;}
body.nexroc-login-portal #login .wp-pwd .button.wp-hide-pw{position:absolute;top:0;right:3px;min-width:40px;width:40px;min-height:45px;height:45px;padding:0;border:0;border-radius:0;background:transparent;color:#59606b;box-shadow:none;}
body.nexroc-login-portal #login .wp-pwd .button.wp-hide-pw .dashicons{color:inherit;}
body.nexroc-login-portal #login #loginform .forgetmenot{clear:both;float:none;display:flex;align-items:center;gap:9px;margin:19px 0 14px;}
body.nexroc-login-portal #login #loginform .forgetmenot label{display:inline-flex;align-items:center;gap:9px;margin:0;color:#fff;font-size:12px;}
body.nexroc-login-portal #login #loginform .forgetmenot input[type=checkbox]{appearance:none;flex:0 0 17px;width:17px;height:17px;margin:0;border:1px solid #f2f2f4;border-radius:0;background:#fff;box-shadow:none;cursor:pointer;}
body.nexroc-login-portal #login #loginform .forgetmenot input[type=checkbox]:checked{appearance:auto;accent-color:#547092;}
body.nexroc-login-portal #login #loginform p.submit{float:none;display:flex;clear:both;margin:15px 0 25px;}
/* Reference shows WordPress's small classic left log-in button, not the institutional blue CTA. */
body.nexroc-login-portal #login #loginform .button-primary{float:none;min-width:0;width:auto;min-height:20px;height:20px;padding:1px 8px;border:1px solid #8c8f94;border-radius:2px;background:#f0f0f1;color:#171717;font:400 12px/16px Arial,Helvetica,sans-serif;letter-spacing:0;text-shadow:none;box-shadow:none;}
body.nexroc-login-portal #login #loginform .button-primary:hover{background:#fff;border-color:#5e6165;}
/* In recovery / reset flows retain conventional, clearly visible actions. */
body.nexroc-login-portal #login form:not(#loginform) .button-primary{float:none;min-width:105px;min-height:40px;padding:9px 15px;border:1px solid #547092;border-radius:0;background:#547092;color:#fff;box-shadow:none;}
body.nexroc-login-portal #login #nav{clear:both;margin:20px 0 0;padding:0;color:#fff;font:400 12px/1.7 Arial,Helvetica,sans-serif;}
body.nexroc-login-portal #login #backtoblog{clear:both;margin:31px 0 0;padding:0;color:#fff;font:400 11px/1.7 Arial,Helvetica,sans-serif;}
body.nexroc-login-portal #login #nav a,
body.nexroc-login-portal #login #backtoblog a{color:#fff!important;text-decoration:underline;text-underline-offset:2px;}
body.nexroc-login-portal #login #backtoblog a{opacity:.76;}
body.nexroc-login-portal #login :is(.message,.notice,.success,#login_error,.wp-die-message,.components-notice){margin:12px 0 17px;padding:13px;border-left:3px solid #aaa;background:rgba(255,255,255,.13);box-shadow:none;color:#fff;font:400 12px/1.55 Arial,Helvetica,sans-serif;}
body.nexroc-login-portal #login :is(.message,.notice,.success,#login_error) a{color:#fff;text-decoration:underline;}
body.nexroc-login-portal #login #login_error{border-left-color:#ffa7a7;}
/* 04 / Second card and pixel-perfect reference artwork in the third card. */
body.nexroc-login-portal .nx-portal-features{grid-column:3/5;grid-row:4;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:15px;min-width:0;margin-top:45px;}
.nx-portal-institutional{min-width:0;min-height:540px;height:540px;display:flex;flex-direction:column;padding:35px 32px 34px;background:#182a42;color:#fff;box-shadow:0 3px 7px rgba(0,0,0,.12);}
.nx-portal-institutional__heading{display:flex;align-items:flex-start;justify-content:space-between;gap:9px;margin:0 0 35px;}
.nx-portal-institutional__heading h2{margin:0 0 7px;color:#f5f5f5;font:400 29px/1.13 Arial,Helvetica,sans-serif;letter-spacing:-.035em;}
.nx-portal-institutional__heading span:not(.nx-portal-institutional__mark){color:#d7e0ed;font:600 9px/1.4 Arial,Helvetica,sans-serif;letter-spacing:.18em;}
.nx-portal-institutional__mark{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border:1px solid #53657c;color:#a8b5c8;font:400 27px/1 Georgia,'Times New Roman',serif;}
body.nexroc-login-portal .nx-portal-institutional form{margin:0;padding:0;border:0;background:transparent;box-shadow:none;}
body.nexroc-login-portal .nx-portal-institutional form>p{margin:0 0 9px;}
.nx-portal-institutional form>p>label{display:block;margin:0 0 7px;color:#f0f1f4;font:400 11px/1.45 Arial,Helvetica,sans-serif;}
body.nexroc-login-portal .nx-portal-institutional input.input{display:block;width:100%;height:49px;min-height:49px;margin:0;padding:12px 14px;border:1px solid #e3e7ef;border-radius:0;background:#fff;box-shadow:none;color:#191919;font:400 14px Arial,Helvetica,sans-serif;}
.nx-portal-institutional input.input::placeholder{color:#929aaa;opacity:1;}
.nx-portal-institutional__remember{margin:19px 0 8px!important;}
.nx-portal-institutional__remember label{display:inline-flex!important;align-items:center;gap:9px;margin:0!important;color:#fff!important;font-size:12px!important;}
.nx-portal-institutional__remember input[type=checkbox]{flex:0 0 17px;width:17px;height:17px;margin:0;accent-color:#547092;}
.nx-portal-institutional__submit{margin:7px 0 25px!important;}
.nx-portal-institutional__submit button{display:inline-block;min-width:100px;min-height:45px;padding:10px 17px;border:1px solid #547092;border-radius:0;background:#547092;color:#fff;font:700 12px/1.2 Arial,Helvetica,sans-serif;letter-spacing:.075em;cursor:pointer;}
.nx-portal-institutional__submit button:hover,.nx-portal-institutional__submit button:focus-visible{background:#fff;color:#182a42;}
.nx-portal-institutional__recovery{margin:8px 0 0;font-size:12px;}
.nx-portal-institutional__help{margin:auto 0 0;padding-top:25px;color:#e2e6ee;font:400 11px/1.7 Arial,Helvetica,sans-serif;}
.nx-portal-institutional a{color:#fff!important;text-decoration:underline;text-underline-offset:2px;}
.nx-portal-institutional__unavailable{font-size:13px;line-height:1.6;color:#e2e6ee;}
/* Errors and added authentication challenges can increase a card's height. */
body.nexroc-login-portal #login:has(#login_error),
body.nexroc-login-portal #login:has(.two-factor-authentication),
body.nexroc-login-portal #login:has(.login-message){height:auto;}
body.nexroc-login-portal.nx-portal-inst-error .nx-portal-institutional{height:auto;}
body.nexroc-login-portal.nx-portal-inst-error #login #login_error{display:none;}
.nx-portal-institutional #login_error{margin:0 0 18px;padding:12px;border-left:3px solid #ff8585;background:#3a2331;color:#fff;font-size:12px;}
/* The 395x540 image is cropped directly from the reference provided by the user.
 * Its editorial lettering, Mount Fuji scene and Request Access CTA match exactly. */
body.nexroc-login-portal .nx-portal-feature--reference{display:block;width:100%;height:540px;min-width:0;border:0;box-shadow:0 3px 7px rgba(0,0,0,.09);overflow:hidden;background:#fff;}
.nx-portal-feature--reference img{display:block;width:100%;height:100%;object-fit:fill;}
.nx-portal-feature--reference:hover,.nx-portal-feature--reference:focus-visible{opacity:.88;}
.nx-portal-feature--reference .screen-reader-text{position:absolute!important;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);width:1px;height:1px;overflow:hidden;white-space:nowrap;}
/* 05 / Keep regulatory statements and legal links below the three-column page. */
body.nexroc-login-portal .nx-portal-footer{grid-column:2/5;grid-row:5;min-width:0;margin:100px 0 65px;color:#74777e;font:400 12px/1.8 Arial,Helvetica,sans-serif;}
.nx-portal-footer__nav{display:flex;flex-wrap:wrap;align-items:center;margin-bottom:14px;}
.nx-portal-footer__nav a{padding:0 16px;border-right:1px solid #dfe0e3;color:inherit;text-decoration:none;}
.nx-portal-footer__nav a:first-child{padding-left:5px;}
.nx-portal-footer__nav a:last-child{border:0;}
.nx-portal-footer__nav a:hover{text-decoration:underline;}
.nx-portal-footer__bottom{display:flex;align-items:flex-start;justify-content:space-between;gap:30px;}
.nx-portal-footer__bottom p{margin:0 0 0 5px;}
.nx-portal-footer__brand{display:block;width:176px;flex:0 0 176px;}
.nx-portal-footer__brand img{display:block;width:100%;height:auto;opacity:.85;}
body.nexroc-login-portal .nx-portal-footer .nx-legal-disclaimers{margin:0 0 28px;width:100%;}
.nx-legal-disclaimers{margin:0;padding:38px 26px 46px;background:#070707;color:#c4c4c4;border-top:1px solid #3e3e3e;text-align:center;}
.nx-legal-disclaimers__inside{max-width:1250px;margin:auto;}
.nx-legal-disclaimers__title{margin:0 0 25px;color:#f5f5f5!important;font:600 14px/1.45 Arial,Helvetica,sans-serif!important;letter-spacing:.11em;text-transform:uppercase;}
.nx-legal-disclaimers__section{max-width:1240px;margin:0 auto 22px;}
.nx-legal-disclaimers__section h3{margin:0 0 8px;color:#ededed!important;font:600 11px/1.55 Arial,Helvetica,sans-serif!important;letter-spacing:.09em;text-transform:uppercase;}
.nx-legal-disclaimers__section p{max-width:1170px;margin:0 auto;color:#c0c0c0!important;font:400 11px/1.8 Arial,Helvetica,sans-serif!important;}
.nx-legal-disclaimers__section:last-child{margin-bottom:0;}
/* Locale / privacy controls on wp-login.php remain operational. */
body.nexroc-login-portal>.language-switcher{grid-column:2/5;grid-row:6;max-width:none;margin:-38px 0 40px;text-align:center;}
body.nexroc-login-portal>.language-switcher form{margin:0;}
body.nexroc-login-portal>.language-switcher label{color:#74777e;}
body.nexroc-login-portal>.language-switcher select{color:#595959;border-color:#d2d5d9;}
body.nexroc-login-portal>.language-switcher input[type=submit]{border-color:#d2d5d9;background:#fff;color:#252525;}
body.nexroc-login-portal .privacy-policy-page-link{grid-column:2/5;}
/* Lost password, register, and other native login actions use one wide card. */
body.nexroc-login-portal:not(.login-action-login) #login{grid-column:2/5;grid-row:3;align-self:start;max-width:500px;min-height:0;height:auto;margin:62px auto 0!important;padding:40px;}
body.nexroc-login-portal:not(.login-action-login) #login h1.wp-login-logo{display:block;margin:0 0 20px;}
body.nexroc-login-portal:not(.login-action-login) #login h1.wp-login-logo a{display:block;width:auto;height:auto;background:none;color:#fff;text-indent:0;text-decoration:none;font:400 25px Georgia,serif;}
body.nexroc-login-portal:not(.login-action-login) .nx-portal-footer{grid-row:4;margin-top:45px;}
body.nexroc-login-portal:not(.login-action-login)>.language-switcher{grid-row:5;}
/* Grid becomes two columns on tablets, then a single column on small devices. */
@media(max-width:1270px) and (min-width:851px){
  body.nexroc-login-portal{grid-template-columns:18px repeat(3,minmax(0,1fr)) 18px;column-gap:12px;}
  .nx-portal-header__inside{padding:0 28px;}
  body.nexroc-login-portal #login{padding:32px 24px 27px;}
  .nx-portal-institutional{padding:32px 24px 27px;}
  body.nexroc-login-portal .nx-portal-features{gap:12px;}
  .nx-portal-login-heading h2,.nx-portal-institutional__heading h2{font-size:clamp(23px,2.3vw,29px);}
}
@media(max-width:850px){
  body.nexroc-login-portal{grid-template-columns:22px minmax(0,1fr) 22px;grid-template-rows:95px 49px auto auto auto auto auto;column-gap:0;}
  body.nexroc-login-portal .nx-portal-header{height:95px;}
  .nx-portal-header__inside{height:90px;padding:0 22px;}
  .nx-portal-header__utility{min-width:0;}
  .nx-portal-header__language{display:none;}
  .nx-portal-header__links{flex-wrap:wrap;justify-content:flex-end;gap:10px;}
  .nx-portal-brand__logo{width:156px;flex-basis:156px;}
  .nx-portal-brand__rule{height:38px;}
  .nx-portal-brand__portal{font-size:26px;}
  body.nexroc-login-portal .nx-portal-band{height:49px;}
  body.nexroc-login-portal .nx-portal-notice{grid-column:2;grid-row:3;}
  body.nexroc-login-portal #login{grid-column:2;grid-row:4;align-self:start;min-height:0;height:auto;margin:24px 0 0!important;}
  body.nexroc-login-portal .nx-portal-features{grid-column:2;grid-row:5;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:18px;}
  .nx-portal-institutional{min-height:540px;height:auto;}
  body.nexroc-login-portal .nx-portal-feature--reference{height:auto;aspect-ratio:395/540;}
  body.nexroc-login-portal .nx-portal-footer{grid-column:2;grid-row:6;margin-top:31px;}
  body.nexroc-login-portal>.language-switcher{grid-column:2;grid-row:7;}
  body.nexroc-login-portal:not(.login-action-login) #login{grid-column:2;grid-row:3;margin:35px auto 0!important;}
  body.nexroc-login-portal:not(.login-action-login) .nx-portal-footer{grid-column:2;grid-row:4;}
  body.nexroc-login-portal:not(.login-action-login)>.language-switcher{grid-row:5;}
}
@media(max-width:660px){
  body.nexroc-login-portal .nx-portal-features{grid-template-columns:1fr;}
  .nx-portal-institutional{min-height:510px;}
  body.nexroc-login-portal .nx-portal-feature--reference{max-width:395px;justify-self:center;width:100%;}
}
@media(max-width:580px){
  body.nexroc-login-portal{grid-template-columns:14px minmax(0,1fr) 14px;grid-template-rows:80px 35px auto auto auto auto auto;}
  body.nexroc-login-portal .nx-portal-header{height:80px;}
  .nx-portal-header__inside{height:75px;padding:0 14px;gap:10px;}
  .nx-portal-brand{gap:9px;}
  .nx-portal-brand__logo{width:119px;flex-basis:119px;}
  .nx-portal-brand__rule{height:30px;}
  .nx-portal-brand__portal{font-size:19px;gap:3px;}
  .nx-portal-header__links{gap:7px;align-items:flex-end;flex-direction:column;}
  .nx-portal-header__links a{font-size:9px;}
  .nx-portal-header__links a span{display:none;}
  body.nexroc-login-portal .nx-portal-band{height:35px;}
  body.nexroc-login-portal .nx-portal-notice{min-height:0;padding:12px 35px 12px 13px;}
  .nx-portal-notice p{font-size:11px;line-height:1.5;}
  .nx-portal-notice__dismiss{top:6px;right:7px;}
  body.nexroc-login-portal #login{padding:26px 22px 28px;}
  body.nexroc-login-portal #login .nx-portal-login-heading{margin-bottom:27px;}
  .nx-portal-login-heading h2,.nx-portal-institutional__heading h2{font-size:27px;}
  .nx-portal-institutional{padding:30px 24px;}
  .nx-portal-institutional__heading{margin-bottom:27px;}
  .nx-portal-footer__bottom{flex-direction:column;}
  .nx-portal-footer__nav a{padding:0 9px;font-size:11px;}
  .nx-legal-disclaimers{padding:29px 18px 35px;text-align:left;}
  .nx-legal-disclaimers__section p{line-height:1.7;}
  body.nexroc-login-portal:not(.login-action-login) #login{padding:28px;}
}
@media(max-width:365px){
  .nx-portal-brand__logo{width:100px;flex-basis:100px;}
  .nx-portal-brand__portal{font-size:17px;}
  .nx-portal-header__links a{font-size:8px;}
}
@media(prefers-reduced-motion:reduce){body.nexroc-login-portal a{transition:none;}}
