.recruiting-page { --recruit-accent: #1738d4; }
.recruiting-page section[id] { scroll-margin-top: calc(var(--header-h) + 20px); }
.recruiting-page .section { padding-block: clamp(18px, 1.8vw, 26px); }
.recruiting-hero { min-height: auto; padding-top: calc(var(--header-h) + 36px); padding-bottom: 28px; }
.recruiting-hero-bottom { display: flex; align-items: end; gap: 24px; margin-top: 22px; }
.recruiting-hero-bottom .button { flex: none; gap: 24px; }
.recruiting-hero-meta { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 14px; margin-top: 22px; padding-top: 14px; border-top: 1px solid #ffffff26; font-size: 13px; color: #c2cbea; }
.recruiting-intro-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; }
.recruiting-commitment h2 { margin: 18px 0 0; font-size: clamp(30px, 3.6vw, 58px); line-height: 1.12; letter-spacing: -.055em; }
.recruiting-commitment h2 > span { color: var(--recruit-accent); }
.recruiting-intro-copy p { color: var(--graphite); margin: 0; font-size: 20px; line-height: 1.65; }
.recruiting-note { margin-top: 18px; border-left: 3px solid var(--recruit-accent); padding: 10px 16px; background: var(--paper); color: var(--navy); font-size: 17px; font-weight: 650; }
.recruiting-section-heading { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; margin: 8px 0 18px; }
.recruiting-section-heading h2 { margin: 0; font-size: clamp(32px, 3vw, 46px); line-height: 1.3; letter-spacing: -.035em; }
.recruiting-section-heading > .recruiting-points { max-width: none; font-size: 20px; }
.recruiting-member-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; align-items: stretch; }
.recruiting-member-grid article { display: flex; flex-direction: column; gap: 10px; min-width: 0; padding: 20px; background: var(--paper); border: 1px solid var(--line); border-top: 3px solid var(--deep); }
.recruiting-kicker { display: block; font-size: 14px; line-height: 1.6; color: var(--recruit-accent); }
.recruiting-member-grid h3 { order: -1; font-size: 30px; font-weight: 650; margin: 0; line-height: 1.35; overflow-wrap: anywhere; }
.recruiting-member-grid .recruiting-kicker { color: var(--muted); font-size: 13px; }
.recruiting-member-grid .recruiting-points { margin-top: 6px; }
.recruiting-team-nav { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border: 1px solid var(--line); margin-bottom: 20px; }
.recruiting-team-nav a { display: flex; gap: 14px; align-items: center; min-width: 0; padding: 16px 20px; font-family: var(--font-brand); font-size: 18px; font-weight: 650; }
.recruiting-team-nav a + a { border-left: 1px solid var(--line); }
.recruiting-team-nav a > span:first-child { font-family: var(--font-site); font-size: 14px; color: var(--muted); }
.recruiting-team-nav a > span:last-child { margin-left: auto; }
.recruiting-team-nav a:hover { background: var(--paper); color: var(--recruit-accent); }
.recruiting-team-heading { display: grid; grid-template-columns: 1fr auto; column-gap: 20px; align-items: center; margin-bottom: 16px; }
.recruiting-team-heading .recruiting-kicker { grid-column: 1 / -1; margin-bottom: 4px; }
.recruiting-team + .recruiting-team { margin-top: 28px; }
.recruiting-team-heading h3 { font-size: clamp(30px, 3vw, 42px); margin: 0; line-height: 1.25; }
.recruiting-tools { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; grid-column: 1 / -1; margin-top: 12px; }
.recruiting-tools > span { padding: 5px 9px; border: 1px solid var(--line); background: var(--paper); font-size: 14px; line-height: 1.5; }
.recruiting-team-count { font-size: 16px; color: var(--muted); }
.recruiting-role-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; align-items: stretch; }
.recruiting-role { display: grid; grid-template-columns: 32px minmax(0, 1fr); align-items: start; column-gap: 12px; padding: 20px; background: var(--paper); border: 1px solid var(--line); border-top: 3px solid var(--deep); }
.recruiting-role > div { min-width: 0; }
.recruiting-role-number { padding-top: 4px; color: var(--recruit-accent); font-size: 16px; font-variant-numeric: tabular-nums; }
.recruiting-role h4 { font-size: 25px; font-weight: 650; color: var(--ink); margin: 0 0 14px; line-height: 1.4; letter-spacing: -.025em; overflow-wrap: anywhere; }
.recruiting-points { margin: 0; padding-left: 22px; list-style: disc; color: var(--graphite); font-size: 20px; line-height: 1.6; }
.recruiting-points li { overflow-wrap: anywhere; break-inside: avoid; }
.recruiting-points li + li { margin-top: 6px; }
.recruiting-points li::marker { color: var(--recruit-accent); }
.recruiting-contact .join-status-card { min-height: auto; gap: 24px; padding: 24px; }
.recruiting-contact .join-status-card h2 { margin-top: 14px; font-size: clamp(30px, 3vw, 48px); line-height: 1.3; }
.recruiting-contact .join-contact a { flex-wrap: wrap; gap: 8px 14px; }
.recruiting-contact p { font-size: 20px; line-height: 1.65; }
.recruiting-contact .recruiting-status { display: inline-flex; margin: 20px 0 14px; padding: 12px 16px; align-items: center; gap: 12px; background: #ffe6a1; color: var(--deep); font-family: var(--font-site); font-size: clamp(26px, 2.3vw, 36px); font-weight: 800; line-height: 1.35; }
.recruiting-status::before { content: ""; width: 9px; height: 9px; border-radius: 50%; background: currentColor; flex: none; }
[data-recruitment-state="closed"] .recruiting-status { background: #ffffff18; color: #d8deef; }
[data-recruitment-state="closed"] .recruitment-badge { background: #667085; color: #fff; }
.recruiting-notice { display: grid; gap: 8px; margin-top: 20px; padding: 16px 18px; border: 1px solid #ffffff40; background: #ffffff0a; font-family: var(--font-site); }
.recruiting-notice strong { font-size: 22px; line-height: 1.4; }
.recruiting-notice > span { font-size: 17px; line-height: 1.5; color: #cad4ee; }
a.recruiting-notice:hover { background: #ffffff18; border-color: var(--gold); }
.recruiting-notice[hidden], [data-recruitment-banner-deadline][hidden] { display: none; }
.recruiting-page a:focus-visible { outline: 3px solid #6b88ff; outline-offset: 5px; }

@media (min-width: 901px) {
  .recruiting-role:last-child:nth-child(odd) { grid-column: 1 / -1; }
  .recruiting-role:last-child:nth-child(odd) .recruiting-points { columns: 3; column-gap: 26px; }
}

/* Share intrinsic title/body tracks within each desktop row. Single-column
   cards keep their natural height, without reserving empty mobile space. */
@supports (grid-template-rows: subgrid) {
  @media (min-width: 901px) {
    .recruiting-member-grid article { display: grid; grid-row: span 3; grid-template-rows: subgrid; row-gap: 10px; }
    .recruiting-member-grid h3 { grid-row: 1; }
    .recruiting-member-grid .recruiting-kicker { grid-row: 2; }
    .recruiting-member-grid .recruiting-points { grid-row: 3; align-self: start; }
    .recruiting-role { grid-row: span 2; grid-template-rows: subgrid; row-gap: 14px; }
    .recruiting-role-number { grid-column: 1; grid-row: 1; }
    .recruiting-role > div { display: grid; grid-column: 2; grid-row: 1 / -1; grid-template-rows: subgrid; row-gap: 14px; }
    .recruiting-role h4 { grid-row: 1; margin-bottom: 0; align-self: start; }
    .recruiting-role .recruiting-points { grid-row: 2; align-self: start; }
  }
}

@media (max-width: 1000px) {
  .recruiting-contact .join-status-card { grid-template-columns: 1fr; }
}

@media (max-width: 900px) {
  .recruiting-member-grid, .recruiting-role-list { grid-template-columns: 1fr; }
  .recruiting-team-nav { grid-template-columns: 1fr; }
  .recruiting-team-nav a + a { border-left: 0; border-top: 1px solid var(--line); }
}

@media (max-width: 700px) {
  .recruiting-hero .page-hero-title { font-size: clamp(38px, 10vw, 70px); }
  .recruiting-intro-grid { grid-template-columns: 1fr; gap: 18px; }
  .recruiting-commitment h2 { font-size: clamp(27px, 7vw, 45px); }
  .recruiting-hero-meta { font-size: 12px; }
  .recruiting-member-grid article { padding: 18px; }
  .recruiting-team-nav a { padding: 14px 10px; gap: 6px; font-family: var(--font-site); font-size: 18px; }
  .recruiting-team-nav a > span:first-child { display: none; }
  .recruiting-team-heading { column-gap: 12px; }
  .recruiting-team-heading .recruiting-kicker { grid-column: 1; grid-row: 1; margin: 0; font-size: 12px; }
  .recruiting-team-heading h3 { grid-column: 1 / -1; grid-row: 2; margin-top: 8px; font-size: clamp(25px, 7vw, 30px); }
  .recruiting-team-heading .recruiting-team-count { grid-column: 2; grid-row: 1; }
  .recruiting-team-count { font-size: 14px; }
  .recruiting-role { padding: 18px; grid-template-columns: 22px minmax(0, 1fr); column-gap: 8px; }
  .recruiting-role h4 { font-size: 23px; }
  .recruiting-contact .join-contact-value { font-size: 18px; overflow-wrap: anywhere; }
}
