/* Approved job market header: primary resources, navy palette, and full address. */
:root {
  --text-main: #243b53;
  --text-muted: #526477;
  --title-color: #243b53;
  --accent-blue: #203d5b;
  --accent-blue-hover: #315576;
  --badge-bg: #edf2f6;
  --badge-text: #203d5b;
  --action-on-accent: #ffffff;
  --profile-navbar-bg: #f7f8fa;
}
html[data-bs-theme="dark"],
html[data-mode="dark"],
body.quarto-dark {
  --text-main: #e4eaf1;
  --text-muted: #bac5d1;
  --title-color: #e4eaf1;
  --accent-blue: #9ac8ef;
  --accent-blue-hover: #b5d9f6;
  --badge-bg: #22364a;
  --badge-text: #9ac8ef;
  --action-on-accent: #102337;
  --profile-navbar-bg: #252a30;
}
.navbar { background-color: var(--profile-navbar-bg) !important; }
.profile-market { margin-bottom: 20px; }
.profile-market-status {
  margin: 0 0 10px;
  color: var(--accent-blue);
  font: 500 0.825rem/1.5 var(--font-ui);
}
.profile-market-status::before {
  content: "";
  display: inline-block;
  width: 6px;
  height: 6px;
  margin-right: 8px;
  vertical-align: 2px;
  border-radius: 50%;
  background: currentColor;
}
.profile-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.profile-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 9px 13px;
  border: 1px solid var(--accent-blue);
  border-radius: 5px;
  color: var(--accent-blue);
  background: transparent;
  text-decoration: none;
  font: 500 0.825rem/1.5 var(--font-ui);
}
.profile-action-primary,
.profile-action:hover {
  background: var(--accent-blue);
  color: var(--action-on-accent);
}
.profile-action-primary:hover { background: var(--accent-blue-hover); }
.profile-action-email,
.profile-action-email:hover {
  border-color: transparent;
  background: transparent;
  color: var(--accent-blue);
  text-decoration: underline;
  text-underline-offset: 4px;
}
.profile-keywords { gap: 7px 6px; margin-bottom: 24px; }
.profile-contact { margin: 0 0 20px; line-height: 1.8; }
.profile-contact .profile-email {
  display: flex;
  align-items: baseline;
  gap: 8px;
  color: var(--accent-blue) !important;
  font-weight: 500;
}
.profile-full-address {
  display: grid;
  grid-template-columns: 1rem minmax(0, 1fr);
  gap: 8px;
  margin-top: 6px;
  color: var(--text-muted);
  font-size: 0.9rem;
  line-height: 1.65;
}
.profile-contact i { margin-right: 0; }
.profile-social-links { gap: 18px; margin-top: 0; }
.profile-social-links a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--text-muted);
  font-size: 0.85rem;
  line-height: 1.5;
  text-decoration: underline;
  text-underline-offset: 4px;
}
.profile-social-links a:hover { background: transparent; color: var(--accent-blue); }
.profile-social-links i { font-size: 1rem; }
#job-market-paper { scroll-margin-top: 6rem; }
@media (max-width: 768px) {
  .profile-actions, .profile-contact .profile-email { justify-content: center; }
  .profile-full-address { display: block; }
  .profile-full-address i { margin-right: 5px; }
  .profile-social-links a { min-height: 44px; }
}
