/* Recruitment shares the site's quiet palette, with its own numbered layout. */
.join-page .page > .section { max-width:1160px; margin-inline:auto; padding-inline:32px; padding-bottom:80px }
.join-page .eyebrow { color:#6b7280; font-size:11px; letter-spacing:1.6px }
.join-page .section-header { margin-bottom:28px; scroll-margin-top:32px }
.join-page .s-title, .join-page .join-intro h2, .join-offer h3 { font:400 28px/1.35 var(--F-display); letter-spacing:0; color:#1f2937 }
.join-page .section-header p { color:#4b5563; font-size:16px; line-height:1.85; max-width:820px }
.join-page .join-intro { background:transparent; padding:0; border:0; border-radius:0; margin-bottom:64px }
.join-lead { padding-top:12px !important }
.join-lead h1 { font:400 clamp(36px,5vw,58px)/1.15 var(--F-display); letter-spacing:-1.2px; color:#1f2937; margin:16px 0 28px }
.join-page .join-lead h2 { font:600 16px/1.6 var(--F-body); margin-bottom:10px }
.join-page .join-lead p { max-width:850px; color:#4b5563; font-size:17px; line-height:1.9 }
.join-jump { display:flex; flex-wrap:wrap; gap:16px 32px; padding:24px 0; margin-top:28px; border-block:1px solid #d1d5db }
.join-jump a { color:#374151; font-size:14px; display:inline-flex; align-items:center; gap:10px }
.join-jump a:hover { color:#111827; text-decoration:underline; text-underline-offset:5px }
.join-jump span, .join-count { font:400 12px/1.5 var(--F-body); color:#6b7280 }
.join-count { display:inline-block; margin-left:12px; vertical-align:middle; padding:3px 8px; border:1px solid #d1d5db }
.join-page .postdoc-grid { display:block; margin-bottom:56px; border-top:1px solid #d1d5db }
.join-page .postdoc-card { padding:32px 0 36px; border:0; border-bottom:1px solid #d1d5db; border-radius:0; background:transparent; box-shadow:none; overflow:visible }
.join-page .postdoc-card:hover { transform:none; box-shadow:none }
.join-page .postdoc-card::before { content:none }
.position-heading { display:grid; grid-template-columns:170px minmax(0,1fr); column-gap:32px; align-items:baseline; margin-bottom:22px }
.join-page .postdoc-num { font-size:11px; color:#6b7280; letter-spacing:1px; margin:0 }
.join-page .postdoc-title { font:400 25px/1.35 var(--F-display); color:#1f2937; letter-spacing:0; margin:0 0 14px }
.join-page .postdoc-tags { grid-column:2; gap:8px 18px; margin:0 }
.join-page .postdoc-tag { background:none; border-radius:0; padding:0; font-size:12px; font-weight:400; color:#6b7280 }
.position-body { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,1fr); gap:40px; margin-left:202px }
.join-page .postdoc-desc { font-size:15px; line-height:1.85; color:#4b5563; margin-bottom:16px }
.position-research p:last-child { margin-bottom:0 }
.position-requirements { border-left:1px solid #e5e7eb; padding-left:24px }
.position-requirements h4 { font:600 12px/1.6 var(--F-body); color:#374151; margin-bottom:10px }
.join-page .req-list li { color:#4b5563; font-size:14px; line-height:1.8; font-weight:400; gap:10px; padding:4px 0 }
.join-page .req-list li::before { content:'·'; color:#9ca3af; font-size:16px }
.join-page .join-notes { display:grid; grid-template-columns:230px minmax(0,1fr); gap:36px; padding-bottom:32px; border-bottom:1px solid #d1d5db }
.join-page .join-notes h2 { font-size:23px; margin:0 }
.join-page .pos-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 40px; margin-bottom:60px; border-top:1px solid #d1d5db }
.join-page .pos-card { padding:26px 0; border:0; border-bottom:1px solid #e5e7eb; border-radius:0; box-shadow:none; background:transparent }
.join-page .pos-card:hover { box-shadow:none }
.join-page .pos-title { display:block; font:400 22px/1.4 var(--F-display); color:#374151; margin-bottom:12px }
.join-page .pos-desc { font-size:15px; line-height:1.85; color:#4b5563 }
.join-page .pos-desc + .pos-desc { margin-top:12px }
.join-page .pos-card-ra { grid-column:1 / -1 }
.join-offer { margin-bottom:56px }
.join-offer h3 { margin-bottom:28px }
.join-offer-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px 36px }
.join-offer-item strong { display:block; font-size:14px; color:#374151; margin-bottom:8px; font-weight:600 }
.join-offer-item span { display:block; font-size:14px; color:#6b7280; line-height:1.8 }
.join-page .cta-box { scroll-margin-top:32px; background:#fff; border:0; border-radius:0; padding:36px; gap:32px; flex-wrap:nowrap; align-items:flex-start; color:#1f2937 }
.join-page .cta-box > div { min-width:0; flex:1 }
.join-page .cta-box h3 { font:400 30px/1.3 var(--F-display); margin-bottom:16px }
.join-page .cta-box p { max-width:680px; font-size:14px; line-height:1.85; color:#4b5563; margin-bottom:12px }
.join-page .cta-email { display:inline-block; font:500 clamp(16px,2.5vw,21px)/1.6 var(--F-body); color:#374151; margin:4px 0 20px; overflow-wrap:anywhere; text-decoration:underline; text-underline-offset:5px }
.join-page .cta-box .btn-primary { flex-shrink:0; background:#374151; color:#fff; box-shadow:none; border-radius:3px; font-size:13px; white-space:nowrap }
.join-page .cta-box .btn-primary:hover { background:#1f2937; transform:none }
.join-page .page a:focus-visible { outline:2px solid #64748b; outline-offset:5px }
@media(max-width:900px) {
  .position-heading { grid-template-columns:140px minmax(0,1fr); column-gap:24px }
  .position-body { margin-left:0; gap:28px }
  .join-page .cta-box { flex-direction:column }
}
@media(max-width:600px) {
  .join-page .page > .section { padding-inline:24px; padding-bottom:48px }
  .join-page .join-intro { margin-bottom:44px }
  .join-lead h1 { letter-spacing:-.5px }
  .join-jump { flex-direction:column; gap:14px }
  .join-page .s-title { font-size:26px }
  .join-count { margin:8px 0 0; display:table }
  .position-heading, .position-body { display:block }
  .join-page .postdoc-num { margin-bottom:12px }
  .join-page .postdoc-title { font-size:24px }
  .position-requirements { margin-top:24px; border-left:0; border-top:1px solid #e5e7eb; padding:18px 0 0 }
  .join-page .join-notes { display:block }
  .join-page .join-notes h2 { margin-bottom:20px }
  .join-page .pos-grid, .join-offer-grid { grid-template-columns:minmax(0,1fr) }
  .join-page .cta-box { padding:26px 22px }
}
