.vacancies-page .vacancy-match { display: grid; gap: 32px; max-width: 900px; margin-top: 40px; }
.vacancies-page .vacancy-match-title { margin: 0 0 16px; color: #d0d0d0; font-size: clamp(18px, 2.6cqw, 21px); font-weight: 600; }
.vacancies-page .vacancy-skills { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.vacancies-page .vacancy-skill { display: inline-flex; min-width: 0; min-height: 38px; align-items: center; padding: 8px 15px; border-radius: 999px; background: #151515; color: #7a7a7a; font-size: 16px; font-weight: 520; overflow-wrap: anywhere; }
.vacancies-page .vacancy-description { border-radius: 24px; background: #131313; white-space: normal; }
.vacancies-page .vacancy-description summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 18px 22px; color: #d0d0d0; font-size: clamp(17px, 2.4cqw, 19px); font-weight: 580; line-height: 1.4; list-style: none; cursor: pointer; }
.vacancies-page .vacancy-description summary::-webkit-details-marker { display: none; }
.vacancies-page .vacancy-description summary:hover { color: #fff; }
.vacancies-page .vacancy-description summary:focus-visible { outline: 2px solid #fff; outline-offset: -2px; border-radius: inherit; }
.vacancies-page .vacancy-description summary svg { flex: none; width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; transition: transform .2s ease; }
.vacancies-page .vacancy-description[open] summary svg { transform: rotate(180deg); }
.vacancies-page .vacancy-description p { margin: 0; padding: 0 22px 22px; color: #a8a8a8; font-size: clamp(16px, 2.4cqw, 19px); line-height: 1.6; white-space: pre-line; }
@media (prefers-reduced-motion: reduce) {
  .vacancies-page .vacancy-description summary svg { transition: none; }
}
