.title-block {
  padding: 0;
  background-image: url("assets/images/talent-board-moon-hero.png");
  background-position: center;
}
.title-block::after { display: none; }
.talent-hero-inner {
  max-width: 1200px;
  margin: auto;
  padding: 72px 40px 56px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 220px;
  gap: 48px;
  align-items: start;
}
.title-block h1 { font-size: 60px; line-height: 1.1; letter-spacing: 0; margin-bottom: 16px; }
.title-block .eyebrow { font-size: 10px; letter-spacing: 0; }
.title-sub { max-width: 520px; line-height: 1.75; }
.aggregate { display: flex; flex-direction: column; border: 1px solid rgba(255, 255, 255, 0.24); background: rgba(20, 20, 20, 0.58); -webkit-backdrop-filter: blur(18px) saturate(115%); backdrop-filter: blur(18px) saturate(115%); border-radius: 8px; overflow: hidden; }
.agg-cell { padding: 14px 24px; border: 0; border-bottom: 1px solid rgba(255, 255, 255, 0.22); }
.agg-cell:last-child { border-bottom: 0; }
.agg-val { font-size: 28px; letter-spacing: 0; }
.agg-label { margin-top: 5px; color: rgba(255, 255, 255, 0.86); font-size: 9px; line-height: 1.5; letter-spacing: 0; }
.controls { max-width: 1200px; margin: auto; padding: 0; gap: 0; position: static; flex-wrap: nowrap; border-bottom: 1px solid #0a0a0a; }
.search-wrap { min-width: 0; }
.search-icon { left: 40px; }
.search-input { border: 0; padding: 20px 20px 20px 66px; }
.talent-ai-link {
  margin: 8px;
  padding: 15px 26px;
  border: 1px solid var(--black);
  border-radius: 6px;
  background: var(--black);
  color: var(--white);
  box-shadow: 0 5px 14px rgba(10, 10, 10, 0.18);
  font-family: 'IBM Plex Mono', monospace;
  font-size: 11px;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
}
.talent-ai-link:hover {
  background: var(--gray-600);
  color: var(--white);
}
.talent-layout { max-width: 1200px; margin: auto; display: grid; grid-template-columns: 260px minmax(0, 1fr); min-height: 65vh; }
.talent-sidebar { padding: 32px 28px; border-right: var(--rule); }
.sidebar-heading { font-family: 'IBM Plex Mono', monospace; font-size: 11px; font-weight: 500; text-transform: uppercase; color: var(--gray-500); margin-bottom: 16px; border-left: 3px solid var(--black); padding-left: 9px; }
.filter-group { display: flex; flex-direction: column; gap: 0; }
.filter-btn { text-align: left; border: 0; border-bottom: var(--rule); padding: 12px 10px; white-space: normal; letter-spacing: 0; line-height: 1.5; }
.filter-btn.active { background: var(--gray-100); color: var(--black); border-color: var(--gray-200); font-weight: 700; box-shadow: inset 3px 0 var(--black); }
.talent-list { min-width: 0; }
.talent-list-header { padding: 18px 32px; border-bottom: var(--rule); display: flex; align-items: center; justify-content: space-between; gap: 16px; font: 11px 'IBM Plex Mono', monospace; color: var(--gray-600); }
.data-service-notice { padding: 14px 32px; border-bottom: var(--rule); background: #fff5cf; color: #7a4d00; font: 500 10px/1.6 'IBM Plex Mono', monospace; text-transform: uppercase; }
.data-service-notice[hidden] { display: none; }
.talent-sort { display: flex; align-items: center; gap: 8px; }
.talent-sort select { max-width: 150px; padding: 6px; border: 0; background: white; color: var(--black); font: inherit; }
.talent-row { position: relative; padding: 24px 32px; border-bottom: var(--rule); display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 24px; align-items: start; transition: background 0.15s; }
.talent-row:hover { background: #f5f4f1; }
.talent-row .rep-name { font-size: 17px; line-height: 1.4; flex-wrap: wrap; letter-spacing: 0; }
.talent-row .rep-role { font-family: 'Inter', sans-serif; font-size: 13px; letter-spacing: 0; text-transform: none; margin: 6px 0 12px; }
.talent-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 16px; }
.talent-tags .seg-tag { letter-spacing: 0; font-size: 10px; }
.talent-row .seg-tag,
.talent-row .new-badge,
.talent-row .preview-badge,
.talent-row .company-chip,
.talent-row .talent-profile-btn { border-radius: 8px; }
.talent-company-label { font: 10px 'IBM Plex Mono', monospace; text-transform: uppercase; color: var(--gray-500); margin-bottom: 8px; }
.talent-row .company-list { max-width: none; margin-bottom: 14px; }
.talent-row .ref { letter-spacing: 0; }
.talent-row-right { text-align: right; }
.talent-experience { font: 700 17px 'Plus Jakarta Sans', sans-serif; margin-bottom: 5px; }
.talent-profile-btn { margin-top: 14px; padding: 11px 16px; border: 0; background: var(--black); color: white; font: 500 10px 'IBM Plex Mono', monospace; text-transform: uppercase; cursor: pointer; }
.talent-profile-btn:hover { opacity: 0.8; }
/* Extend the native profile button's hit area across the entire listing. */
.talent-profile-btn::after { content: ''; position: absolute; inset: 0; cursor: pointer; }
.talent-row:focus-within { outline: 2px solid #217951; outline-offset: -2px; }

.modal-overlay { padding: 24px; }
.modal:has(.tab-panel) { width: min(1240px, 100%); max-height: calc(100dvh - 48px); border-radius: 8px; }
.modal:has(.tab-panel) .drawer-head { position: static; padding: 22px 28px; gap: 20px; }
.modal:has(.tab-panel) .drawer-name { font-size: 28px; line-height: 1.2; letter-spacing: 0; }
.modal:has(.tab-panel) .drawer-tabs { position: static; }
.modal .tab-panel.active { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: start; }
.modal .tab-panel > .drawer-section { min-width: 0; padding: 20px 24px; border: 0; }
.modal .tab-panel > .drawer-section:first-child { grid-column: 1 / -1; border-bottom: var(--rule); }
.modal .drawer-section-title { margin-bottom: 12px; letter-spacing: 0; }
.modal .overview-bio { font-size: 15px; line-height: 1.6; }
.modal .proof-card { display: block; padding: 18px; }
.modal .proof-value { font-size: 32px; line-height: 1.15; letter-spacing: 0; overflow-wrap: anywhere; }
.modal .proof-label { margin-top: 8px; letter-spacing: 0; }
.modal .proof-caption { margin-top: 12px; font-size: 12px; }
.modal .win-list li { padding-top: 7px; padding-bottom: 7px; font-size: 13px; }
.modal .win-list li::before { top: 7px; }
.modal .company-showcase { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.modal .company-card { padding: 12px; }
.modal .company-card-name { overflow-wrap: anywhere; }
.modal .co-chip, .modal .drawer-btn, .modal .cta-btn { border-radius: 8px; }
.modal .tab-panel > .drawer-cta { grid-column: 1 / -1; padding: 18px 24px; border-top: var(--rule); display: flex; align-items: center; gap: 20px; }
.modal .drawer-cta .cta-btn { width: auto; flex-shrink: 0; }
.modal #panel-full.active { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.modal #panel-full .experience-item { padding: 12px 0; }
@media (max-width: 1000px) {
  .modal .tab-panel.active { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  .modal-overlay { padding: 10px; }
  .modal:has(.tab-panel) { max-height: calc(100dvh - 20px); }
  .modal:has(.tab-panel) .drawer-head { padding: 20px; flex-wrap: wrap; }
  .modal:has(.tab-panel) .drawer-name { font-size: 24px; }
  .modal .tab-panel.active, .modal #panel-full.active { grid-template-columns: 1fr; }
  .modal .tab-panel > .drawer-section { padding: 18px 20px; }
  .modal .tab-panel > .drawer-cta { flex-direction: column; align-items: stretch; gap: 8px; }
}
.talent-empty { padding: 64px 24px; text-align: center; color: var(--gray-600); }
.talent-pagination { padding: 22px 32px; display: flex; align-items: center; justify-content: space-between; gap: 18px; border-bottom: var(--rule); background: #fff; }
.talent-pagination[hidden] { display: none; }
.pagination-btn { min-width: 104px; min-height: 42px; padding: 0 16px; border: var(--rule); border-radius: 8px; background: var(--black); color: #fff; cursor: pointer; font: 700 10px 'IBM Plex Mono', monospace; text-transform: uppercase; }
.pagination-btn:hover:not(:disabled) { background: #2c2c2c; transform: translateY(-1px); }
.pagination-btn:disabled { background: var(--gray-100); color: var(--gray-400); cursor: not-allowed; }
.pagination-status { color: var(--gray-600); font: 500 10px 'IBM Plex Mono', monospace; text-transform: uppercase; }
.talent-layout .view-more { padding: 32px; border-bottom: 0; }
.talent-layout button:focus-visible, .talent-layout select:focus-visible, .talent-ai-link:focus-visible { outline: 2px solid #217951; outline-offset: 3px; }
@media (max-width: 800px) {
  .talent-hero-inner { padding: 48px 24px; grid-template-columns: 1fr; gap: 28px; }
  .title-block h1 { font-size: 40px; }
  .aggregate { display: grid; grid-template-columns: 1fr 1fr; }
  .agg-cell { padding: 16px; border-right: 1px solid rgba(255, 255, 255, 0.22); border-bottom: 1px solid rgba(255, 255, 255, 0.22); }
  .agg-cell:nth-child(2n) { border-right: 0; }
  .agg-cell:nth-last-child(-n+2) { border-bottom: 0; }
  .agg-val { font-size: 24px; }
  .talent-layout { grid-template-columns: 1fr; }
  .talent-sidebar { padding: 24px; border-right: 0; border-bottom: var(--rule); }
  .filter-group { flex-direction: row; flex-wrap: wrap; gap: 8px; }
  .filter-btn { border: var(--rule); padding: 10px; }
  .search-icon { left: 24px; }
  .search-input { padding-left: 46px; }
  .controls { flex-wrap: wrap; padding: 12px 24px; gap: 10px; }
  .search-wrap { flex-basis: 100%; }
  .search-icon { left: 12px; }
  .search-input { border: var(--rule); padding: 14px 14px 14px 34px; }
  .talent-ai-link { width: 100%; margin: 0; padding: 16px 20px; }
  .talent-list-header, .talent-row { padding: 20px 24px; }
  .talent-pagination { padding: 20px 24px; }
}
@media (max-width: 480px) {
  .talent-row { grid-template-columns: 1fr; gap: 16px; }
  .talent-row-right { text-align: left; display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
  .talent-row-right .talent-company-label, .talent-experience { margin: 0; }
  .talent-profile-btn { margin: 0 0 0 auto; }
  .talent-sort { flex-wrap: wrap; gap: 4px; }
  .talent-pagination { gap: 10px; }
  .pagination-btn { min-width: 0; flex: 1; }
  .pagination-status { flex: 0 0 auto; }
}
@media (prefers-reduced-motion: reduce) {
  body, .title-block > *, .agg-cell { animation: none; }
}

.profile-preferences {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,170px),1fr));
  gap:10px;
  list-style:none;
  margin:12px 0 0;
  padding:0;
}
.profile-preference {
  min-width:0;
  padding:13px 14px;
  border:1px solid #d7ddd4;
  border-radius:12px;
  background:#fff;
  overflow-wrap:anywhere;
}
.profile-preference-label {
  display:block;
  margin-bottom:7px;
  color:#0d6b4f;
  font:500 10px/1.4 "IBM Plex Mono",monospace;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.profile-preference-value { display:block; color:#111812; font-size:14px; line-height:1.5; }
.profile-preference:last-child:nth-child(odd) { grid-column:1/-1; }
.profile-source-note { margin:16px 0 0; color:#69736c; font-size:11px; line-height:1.5; }
.modal .drawer-section:has(> .profile-preferences) { grid-column:1/-1; }
.modal .tab-panel > .drawer-cta { flex-wrap:wrap; }
.modal .drawer-cta .profile-source-note { flex-basis:100%; margin:0; }

/* Shared employer profile body: Control Room and published board use this renderer. */
.profile-surface { color:#0a0a0a; background:#fff; font:14px/1.6 Inter,Arial,sans-serif; }
.profile-surface:has(.profile-overview-grid) { container-type:inline-size; }
.profile-surface .profile-overview-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); }
@container (max-width:800px) { .profile-surface .profile-overview-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@container (max-width:560px) { .profile-surface .profile-overview-grid { grid-template-columns:1fr; } }
.profile-section { min-width:0; padding:24px; border-bottom:1px solid #e4e4e4; }
.profile-section-wide { grid-column:1/-1; }
.profile-section-title { margin:0 0 14px; padding-left:9px; border-left:3px solid #0a0a0a; color:#666; font:600 10px/1.3 'IBM Plex Mono',monospace; text-transform:uppercase; }
.profile-surface .profile-bio { margin:0; color:#0a0a0a; font-size:15px; line-height:1.65; }
.profile-highlight { padding:22px; border-radius:8px; background:#0a0a0a; color:#fff; font-size:23px; font-weight:700; line-height:1.35; overflow-wrap:anywhere; }
.profile-result-list { margin:0; padding:0; list-style:none; }
.profile-result-list li { position:relative; padding:8px 0 8px 24px; border-bottom:1px solid #e4e4e4; color:#555; }
.profile-result-list li:last-child { border-bottom:0; }
.profile-result-list li::before { content:'→'; position:absolute; left:0; color:#0a0a0a; }
.profile-expertise { display:flex; flex-wrap:wrap; gap:8px; }
.profile-expertise span { padding:6px 10px; border:1px solid #e4e4e4; border-radius:8px; font:11px/1.5 'IBM Plex Mono',monospace; }
.profile-job { padding:16px 0; border-top:1px solid #e4e4e4; }
.profile-job:first-child { padding-top:0; border-top:0; }
.profile-job-head { display:flex; align-items:baseline; justify-content:space-between; flex-wrap:wrap; gap:8px; }
.profile-job-head h4 { margin:0; font-size:16px; }
.profile-job-head span, .profile-job-employer { color:#666; font:11px/1.6 'IBM Plex Mono',monospace; }
.profile-job-employer { margin-top:5px; }
.profile-surface .profile-job p { margin:10px 0 0; color:#555; white-space:pre-line; }
.profile-empty { color:#777; }
.modal .tab-panel > .profile-surface { grid-column:1/-1; }
.profile-preview-tabs { display:flex; gap:0; border-bottom:1px solid #0a0a0a; }
.profile-preview-tabs button { padding:14px 20px; border:0; border-bottom:2px solid transparent; background:#fff; color:#777; font:10px/1.5 'IBM Plex Mono',monospace; text-transform:uppercase; }
.profile-preview-tabs button[aria-selected="true"] { color:#0a0a0a; border-bottom-color:#0a0a0a; }
.profile-preview-body[hidden] { display:none; }
.review-history-entry { margin:14px 0; padding:14px; border:1px solid #d7ddd4; border-radius:8px; }
.review-history-entry .field { margin:8px 0; }
.review-history-note { color:#526057; font-size:12px; line-height:1.5; }
.review-preview .profile-surface p { color:inherit; }
.review-preview .profile-source-note { padding:0 24px 20px; font-size:11px; }
.profile-header { padding:22px 24px; border-bottom:1px solid #0a0a0a; }
.profile-ref { color:#999; font:10px/1.5 'IBM Plex Mono',monospace; text-transform:uppercase; }
.profile-surface .profile-name { margin:10px 0; color:#0a0a0a; font:700 28px/1.2 Inter,Arial,sans-serif; }
.profile-meta { display:flex; flex-wrap:wrap; gap:0; color:#666; font:9px/1.5 'IBM Plex Mono',monospace; text-transform:uppercase; }
.profile-meta span { padding:0 12px; border-right:1px solid #ddd; }
.profile-meta span:first-child { padding-left:0; }
.profile-meta span:last-child { border:0; }
.drawer-head .profile-header { padding:0; border:0; }
.profile-preview-tabs .drawer-tab.active { color:#0a0a0a; border-bottom-color:#0a0a0a; }
.review-preview:has(.profile-surface) { padding:0; background:#fff; }
.review-preview-toolbar { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:12px 24px; border-bottom:1px solid #e4e4e4; }
.review-preview-toolbar > .eyebrow { color:#666; }
.review-panel.preview-expanded .review-grid { grid-template-columns:minmax(0,1fr); }
.review-panel.preview-expanded #reviewForm { display:none; }
.review-panel.preview-expanded .review-preview { min-height:0; }
.profile-surface .profile-preview-intro { margin:0 24px 24px; border-radius:8px; background:#0a0a0a; border-color:#0a0a0a; color:#fff; opacity:1; }
