/* Reuse the existing site tokens; the portal continues the native page paper. */
#talent-portal {
  background: var(--paper);
  color: var(--ink);
  font: 400 var(--text-size)/var(--text-leading) var(--serif);
}
#talent-portal .portal-title,
#talent-portal .panel h2,
#talent-portal .step h2,
#talent-portal .form-section h3,
#talent-portal .talent-card h2,
#talent-portal .author-stat b,
#talent-portal .art-note { font-family: var(--serif); }
#talent-portal .portal-intro-copy { font-size: var(--text-size); line-height: var(--text-leading); color: var(--ink); }
#talent-portal .hero-art {
  background: var(--soft);
  box-shadow: 0 24px 70px var(--line);
}
#talent-portal .hero-art::before {
  background:
    radial-gradient(circle at 35% 35%, var(--paper) 0 3%, var(--orange) 4% 18%, transparent 19%),
    repeating-radial-gradient(circle, transparent 0 13px, var(--line) 14px 15px);
  mix-blend-mode: normal;
}
#talent-portal .hero-art::after { background: radial-gradient(circle, var(--paper), transparent 57%); mix-blend-mode: normal; }
#talent-portal .orbit { border-color: var(--orange); }
#talent-portal .orbit::before { background: var(--orange); box-shadow: none; }
#talent-portal .art-note { color: var(--ink); }
#talent-portal .button,
#talent-portal .button.secondary {
  color: var(--violet);
  background: var(--paper);
  border: 1px solid rgba(125,47,200,.35);
  box-shadow: none;
  font-size: 20px;
  font-weight: 600;
}
#talent-portal .button:hover,
#talent-portal .button.secondary:hover { background: var(--violet); color: #fff; }
#talent-portal .topnav a { font-size: 18px; font-weight: 600; }
#talent-portal .eyebrow { font-size: 17px; font-weight: 600; letter-spacing: 0; color: var(--ink); }
#talent-portal .field label { font-size: 18px; font-weight: 600; }
#talent-portal .field small { font-size: 18px; }
#talent-portal .notice,
#talent-portal .status { background: var(--soft); color: var(--ink); }
#talent-portal .status { font-size: 16px; font-weight: 600; letter-spacing: 0; }
#talent-portal .author-card { background: var(--soft); color: var(--ink); border-left: 2px solid var(--orange); }
#talent-portal .author-card p { color: var(--ink); }
#talent-portal .author-edit { color: var(--violet); }
#talent-portal .talent-card::before { background: var(--soft); }
#talent-portal .field input,
#talent-portal .field select,
#talent-portal .field textarea { border-color: var(--line); }
#talent-portal .field input:focus,
#talent-portal .field select:focus,
#talent-portal .field textarea:focus { border-color: var(--violet); box-shadow: 0 0 0 4px rgba(125,47,200,.1); }
#talent-portal input[type="checkbox"] { accent-color: var(--violet); }

#talent-portal .login-panel { max-width: 620px; margin-top: 40px; }
#talent-portal .login-panel .panel-head { display: block; margin-bottom: 24px; }
#talent-portal .password-field { position: relative; }
#talent-portal .password-field input { padding-right: 78px; }
#talent-portal .password-toggle { position: absolute; right: 12px; top: 50%; transform: translateY(-50%); padding: 3px 8px; border: 0; background: transparent; color: var(--violet); font-size: 18px; cursor: pointer; }
#talent-portal .password-toggle:focus-visible { outline: 2px solid var(--violet); outline-offset: 2px; }
#talent-portal .login-submit { width: 100%; margin: 14px 0 0; }
#talent-portal .login-create { margin: 26px 0 0; padding-top: 20px; border-top: 1px solid var(--line); text-align: center; }
@media(max-width:620px) { #talent-portal .login-panel { margin-top: 24px; } }
