/* Vacancy content and recruitment CTA: Figma 2440:11304, 2440:11206, 2372:5944. */
.vacancy-page > .section:has(.type-grid) > .section-wrapper { padding-top: var(--es-gap-btwn-blocks); padding-bottom: 0; }
.vacancy-page .type-grid { display: grid; grid-template-columns: minmax(0,1fr) 481px; gap: 40px; padding-inline: 96px; align-items: start; }
.vacancy-page .type-grid > :first-child { min-width: 0; padding-top: 32px; }
.vacancy-page .type-grid > :first-child > p { max-width: 595px; margin: 0; color: var(--es-text-primary); font: 600 24px/1.33 var(--es-headers-font); letter-spacing: 0; }
.vacancy-page .type-grid > .d-flex-col { display: flex; flex-direction: column; gap: 0; min-width: 0; padding-top: 32px; border-top: 1px solid var(--es-surface-accent); }
.vacancy-page .type-grid > .d-flex-col > hr { display: none; }
.vacancy-page .type-grid > .d-flex-col > .d-flex-col { display: flex; flex-direction: column; gap: 64px; }
.vacancy-page .type-grid .contact-item { display: flex; flex-direction: column; align-items: stretch; gap: 20px; margin: 0; }
.vacancy-page .type-grid .contact-item:first-of-type { margin: 0; }
.vacancy-page .type-grid .contact-item h3 { margin: 0; color: var(--es-text-primary); font: 600 24px/1.2 var(--es-headers-font); letter-spacing: 0; }
.vacancy-page .type-grid > .d-flex-col .contact-item p { margin: 0; color: var(--es-text-primary-80); font: 400 16px/1.4 var(--es-regular-font); }
.vacancy-page > .hero-section-wrapper:has(> .catalog > h2) { padding: var(--es-gap-btwn-blocks) var(--es-screen-padding) 0; }
.vacancy-page > .hero-section-wrapper:has(> .catalog > h2) > .catalog { width: 100%; max-width: none; margin: 0; padding: var(--es-gap-btwn-blocks) 0; border-top: 1px solid var(--es-surface-accent); }
.vacancy-page > .hero-section-wrapper:has(> .catalog > h2) > .section-wrapper--content:empty { display: none; }
.vacancy-page > .hero-section-wrapper > .catalog > h2 { margin: 0; color: var(--es-text-primary); font: 600 38px/1.15 var(--es-headers-font); letter-spacing: -1px; }
.vacancy-page > .hero-section-wrapper > .catalog > .intro { max-width: 682.789px; margin: 34px 0 0; color: var(--es-text-primary-80); font: 400 17px/1.46 var(--es-regular-font); }
.vacancy-page > .service-detail__cta { padding: 0; border-radius: 0; overflow: hidden; background-color: #9bce28; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 1920 706' xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none'%3E%3Crect width='100%25' height='100%25' fill='url(%23grad)'/%3E%3Cdefs%3E%3CradialGradient id='grad' gradientUnits='userSpaceOnUse' cx='0' cy='0' r='10' gradientTransform='matrix(192 70.6 -177.41 52.981 0 0)'%3E%3Cstop stop-color='%23a5f50f' offset='0'/%3E%3Cstop stop-color='%239bce28' offset='1'/%3E%3C/radialGradient%3E%3C/defs%3E%3C/svg%3E"); background-size: 100% 100%; background-repeat: no-repeat; }
.vacancy-page > .service-detail__cta > .service-detail__cta-inner { width: 100%; max-width: none; margin: 0; padding: 0; }
.vacancy-page .service-detail__cta-layout { width: 100%; gap: 0; }
.vacancy-page .service-detail__cta .bot-container { display: flex; align-items: stretch; justify-content: flex-start; gap: 0; width: 100%; max-width: none; height: clamp(620px,36.770833vw,706px); margin: 0; }
.vacancy-page .es-vacancy-portrait { display: flex; flex: 0 0 49.088542%; flex-direction: column; align-items: center; height: 100%; min-width: 0; overflow: hidden; }
.vacancy-page .es-vacancy-portrait__crop { position: relative; flex: 0 0 100%; height: 100%; aspect-ratio: 1; overflow: hidden; }
.vacancy-page .es-vacancy-portrait .service-detail__cta-person { content: normal; position: absolute; display: block; inset: -3.71% auto auto -7.99%; align-self: auto; width: 124.98%; height: 103.86%; max-width: none; margin: 0; object-fit: fill; transform: none; }
.vacancy-page .service-detail__cta .service-detail__cta-actions { display: flex; flex: 1 1 0; flex-direction: column; align-self: stretch; align-items: flex-start; justify-content: flex-end; gap: 39px; width: auto; min-width: 0; max-width: none; margin: 0; padding: 55px 103px 98px 0; overflow: hidden; }
.vacancy-page .service-detail__cta-actions > h3 { width: 578.719px; max-width: 100%; margin: 0; color: var(--es-text-primary-80); font: 600 61px/.96 var(--es-headers-font); letter-spacing: -1.83px; text-align: left; }
.vacancy-page .service-detail__cta .service-detail__cta-actions > p { width: 560px; max-width: 100%; margin: 0; color: var(--es-text-primary-80); font: 400 17px/1.52 var(--es-regular-font); white-space: pre-line; text-align: left; }
.vacancy-page .service-detail__cta-actions > .button { --es-button-height: 62px; --es-button-pad-y: 22px; --es-button-pad-x: 40px; flex: 0 0 auto; width: 254px; max-width: 100%; margin: 0; font-size: 14px; }
@media (min-width: 1501px) {
  .vacancy-page .service-detail__cta-actions > h3 { min-height: 177px; }
  .vacancy-page .service-detail__cta .service-detail__cta-actions > p { min-height: 130px; }
}
@media (min-width: 993px) and (max-width: 1500px) {
  .vacancy-page .type-grid { grid-template-columns: minmax(0,1fr) minmax(0,42%); padding-inline: 40px; }
  .vacancy-page .service-detail__cta .service-detail__cta-actions { padding-right: var(--es-screen-padding); padding-bottom: 64px; }
  .vacancy-page .service-detail__cta-actions > h3 { font-size: 48px; }
}
@media (max-width: 992px) {
  .vacancy-page .type-grid { grid-template-columns: minmax(0,1fr); gap: 40px; padding-inline: 0; }
  .vacancy-page .type-grid > :first-child { padding-top: 0; }
  .vacancy-page .type-grid > :first-child > p { max-width: none; font-size: 22px; }
  .vacancy-page .type-grid .contact-item h3 { font-size: 22px; }
  .vacancy-page .type-grid > .d-flex-col > .d-flex-col { gap: 40px; }
  .vacancy-page > .hero-section-wrapper > .catalog > h2 { font-size: 30px; letter-spacing: -.9px; }
  .vacancy-page > .hero-section-wrapper > .catalog > .intro { max-width: 100%; margin-top: 24px; }
  .vacancy-page .service-detail__cta .bot-container { flex-direction: column; height: auto; }
  .vacancy-page .service-detail__cta .service-detail__cta-actions { order: 0; flex: 0 0 auto; width: 100%; gap: 28px; padding: 64px var(--es-screen-padding) 0; }
  .vacancy-page .service-detail__cta-actions > h3 { width: 100%; font-size: 38px; letter-spacing: -1.14px; }
  .vacancy-page .service-detail__cta .service-detail__cta-actions > p { width: 100%; font-size: 16px; }
  .vacancy-page .es-vacancy-portrait { order: 1; flex: 0 0 auto; height: clamp(340px,100vw,600px); width: 100%; margin-top: 24px; }
  .vacancy-page .es-vacancy-portrait__crop { flex-basis: 100%; }
}
