/* Open roles — V0.1 Careers 62:3570, as one list: rows in the text column (x450, 682
   wide) between 1px black rules; chevron in a 75px slot, title (28 Inter → Body/XL) at
   x550. The comp's numbered department groups are gone (Tucker's walkthrough). */
.block--jobs .jobs__heading { margin-bottom: var(--space-64); }

.block--jobs .jobs__list { border-top: 1px solid var(--border-strong); }
.block--jobs .jobs__role { border-bottom: 1px solid var(--border-strong); }

.block--jobs .jobs__title { font-weight: 400; }
.block--jobs .jobs__toggle {
  display: grid; grid-template-columns: 75px 1fr; column-gap: 25px; align-items: center;
  width: 100%; padding: 40px 0; text-align: left;
}
.block--jobs .jobs__name { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-8) var(--space-16); }
.block--jobs .jobs__type { color: var(--ink-muted); }
.block--jobs .jobs__chevron {
  width: 26px; height: 15px; margin-left: 1px;
  fill: none; stroke: var(--ink-subtle); stroke-width: 3; stroke-linecap: round; stroke-linejoin: round;
  transform: rotate(180deg);
  transition: transform 500ms var(--ease-out), stroke var(--dur-fast);
}
:where([data-input="mouse"], .no-js) .block--jobs .jobs__toggle:hover .jobs__chevron { stroke: var(--ink-primary); }
.block--jobs .is-open .jobs__chevron { transform: none; }

/* Height via grid rows (0fr → 1fr) so the row eases open to its content's height. */
.block--jobs .jobs__panel {
  display: grid; grid-template-rows: 0fr;
  visibility: hidden;
  transition: grid-template-rows 600ms var(--ease-out), visibility 0s linear 600ms;
}
.block--jobs .is-open .jobs__panel {
  grid-template-rows: 1fr; visibility: visible;
  transition: grid-template-rows 600ms var(--ease-out), visibility 0s;
}
.no-js .block--jobs .jobs__panel { grid-template-rows: 1fr; visibility: visible; }
.no-js .block--jobs .jobs__chevron { transform: none; }

.block--jobs .jobs__panel-inner {
  min-height: 0; overflow: hidden;
  display: grid; justify-items: start; gap: var(--space-24);
  padding-left: 100px;
}
.block--jobs .jobs__panel-inner > * {
  opacity: 0; transform: translateY(-8px);
  transition: opacity 300ms var(--ease-out), transform 400ms var(--ease-out);
}
.block--jobs .is-open .jobs__panel-inner > * { opacity: 1; transform: none; transition-delay: 120ms; }
.no-js .block--jobs .jobs__panel-inner > * { opacity: 1; transform: none; }
.block--jobs .jobs__actions { display: flex; flex-wrap: wrap; gap: var(--space-12); }
.block--jobs .jobs__panel-inner > :last-child { margin-bottom: 50px; }

.block--jobs .jobs__list--empty { display: grid; justify-items: start; gap: var(--space-24); padding: 40px 0 50px; border-bottom: 1px solid var(--border-strong); }

@media (max-width: 767px) {
  .block--jobs .jobs__toggle { grid-template-columns: 22px 1fr; column-gap: 16px; padding: 24px 0; }
  .block--jobs .jobs__chevron { width: 18px; height: 11px; margin-left: 0; }
  .block--jobs .jobs__panel-inner { padding-left: 38px; }
  .block--jobs .jobs__panel-inner > :last-child { margin-bottom: 32px; }
  .block--jobs .jobs__actions .btn { min-height: 44px; }
}
