@media (min-width: 981px) {
  .directions,
  .benefits,
  .social-benefits,
  .terms,
  .payments,
  .faq,
  .apply,
  .documents,
  .timeline,
  .gallery {
    padding-top: 24px;
    padding-bottom: 24px;
  }

  .section-head {
    margin-bottom: 20px;
  }


  .apply-inner .section-head {
    margin-bottom: 22px;
  }
}

@media (max-width: 980px) and (min-width: 621px) {
  .vacancy-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 980px) {
  .directions,
  .benefits,
  .social-benefits,
  .terms,
  .payments,
  .faq,
  .apply,
  .documents,
  .timeline,
  .gallery {
    padding-top: 24px;
    padding-bottom: 24px;
  }

  .section-head {
    margin-bottom: 20px;
  }


  .apply-inner .section-head {
    margin-bottom: 20px;
  }

  .hero-left {
    max-width: 100%;
  }
  .hero-photo-overlay {
    background:
      linear-gradient(180deg, rgba(243, 239, 227, 0.94) 0%, rgba(243, 239, 227, 0.9) 55%, rgba(60, 58, 42, 0.35) 100%);
  }
  .main-nav {
    display: none;
  }
  .benefit-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .benefit-card {
    min-height: 204px;
    padding-right: 168px;
  }

  .benefit-card-illustration {
    right: 6px;
    bottom: -6px;
    width: 158px;
    height: 158px;
  }
  .terms-stage {
    padding: 32px 28px;
  }


  .terms-cta {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .terms-cta-actions {
    width: min(420px, 100%);
  }
  .docs-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .gallery-viewport {
    height: clamp(320px, 52vw, 430px);
  }

  .gallery-nav {
    width: 46px;
    height: 46px;
  }

  .gallery-nav--prev {
    left: 14px;
  }

  .gallery-nav--next {
    right: 14px;
  }
}

@media (max-width: 620px) {

  .section-desc--specialties {
    max-width: 100%;
  }

  .specialties-desc-break-desktop {
    display: none;
  }

  .specialty-filters {
    gap: 6px;
    margin-top: -6px;
    margin-bottom: 18px;
  }

  .specialty-filter {
    min-height: 34px;
    padding: 7px 10px;
    font-size: 11.5px;
  }

  .vacancy-search {
    margin-bottom: 18px;
  }

  .vacancy-search-label {
    font-size: 10.5px;
  }

  .vacancy-search-field {
    min-height: 44px;
  }

  .vacancy-search-icon {
    width: 19px;
    height: 19px;
    margin-left: 13px;
  }

  .vacancy-search-input {
    padding: 11px 42px 11px 10px;
    font-size: 13px;
  }

  .vacancy-grid {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .vacancy-card-body {
    padding: 16px;
  }

  .vacancy-card-tag {
    left: 16px;
  }

  .vacancy-card-title {
    min-height: 0;
    font-size: 1.05rem;
  }

  .vacancy-card-pay {
    margin-top: 16px;
  }

  .vacancy-card-actions {
    gap: 12px;
    padding-top: 18px;
  }

  .vacancy-modal {
    padding: 72px 14px 16px;
  }

  .vacancy-modal-dialog {
    width: min(420px, 100%);
    max-height: calc(100vh - 88px);
    padding: 34px 18px 24px;
    border-radius: 24px 10px 24px 10px;
  }

  .vacancy-modal-dialog::before {
    inset: 8px;
    border-radius: 18px 6px 18px 6px;
  }

  .vacancy-modal-dialog::after {
    width: 112px;
    height: 112px;
  }

  .vacancy-modal-close {
    top: 8px;
    right: 8px;
    width: 42px;
    height: 42px;
    border-radius: 14px 7px 14px 7px;
  }

  .vacancy-modal-title {
    padding: 0 34px;
    font-size: 1.55rem;
  }

  .vacancy-modal-title-accent {
    margin-top: 12px;
  }

  .vacancy-modal-title-accent span:first-child {
    width: 58px;
  }

  .vacancy-modal-title-accent span:last-child {
    width: 16px;
  }

  .vacancy-modal-media {
    display: none;
  }

  .vacancy-modal-mobile-tag {
    display: flex;
    width: fit-content;
    max-width: 100%;
    margin: 14px auto 0;
    justify-content: center;
    text-align: center;
    animation: vacancy-tag-pulse 2.4s ease-in-out infinite;
  }

  .vacancy-modal-description {
    margin-top: 18px;
    font-size: 14px;
    line-height: 1.58;
  }

  .vacancy-modal-footer {
    flex-direction: column;
    align-items: stretch;
    gap: 18px;
    margin-top: 18px;
    padding-top: 0;
  }

  .vacancy-modal-pay {
    flex-direction: column;
    align-items: center;
    gap: 2px;
    text-align: center;
  }

  .vacancy-modal-apply {
    width: 100%;
    margin-bottom: 0;
    align-self: stretch;
  }

  .benefit-grid {
    grid-template-columns: 1fr;
  }

  .benefit-card {
    min-height: 190px;
    padding-right: 200px;
  }

  .benefit-card-illustration {
    width: 190px;
    height: 190px;
  }
  .hero-stats {
    grid-template-columns: 1fr;
    width: 100%;
    max-width: 100%;
  }
  .footer-bottom {
    flex-direction: column;
    align-items: flex-start;
  }
  .social-benefits-toggle {
    min-height: 0;
    padding: 18px 16px;
    gap: 14px;
    font-size: 13.5px;
  }
  .social-benefits-toggle-copy {
    align-items: flex-start;
    flex-direction: column;
    gap: 8px;
  }
  .social-benefits-count {
    padding: 5px 8px;
    font-size: 10.5px;
  }
  .social-benefits-icon {
    width: 30px;
    height: 30px;
    flex-basis: 30px;
  }
  .social-benefits-groups {
    grid-template-columns: 1fr;
    gap: 12px;
    padding: 4px 16px 18px;
  }
  .social-benefits-group {
    padding: 15px 14px 5px;
  }
  .social-benefits-group-title {
    font-size: 12px;
  }
  .social-benefits-list {
    columns: 1;
    padding: 0;
  }
  .social-benefits-list li {
    padding: 13px 0;
    font-size: 13.5px;
  }
  .social-benefit-basis {
    font-size: 11.5px;
  }
  .social-benefits-cta {
    align-items: stretch;
    flex-direction: column;
    gap: 18px;
    margin-top: 18px;
    padding: 18px 16px;
  }
  .social-benefits-cta-button {
    width: 100%;
    justify-content: center;
  }
  .docs-grid {
    grid-template-columns: 1fr;
  }
  .form-success {
    flex-direction: column;
    align-items: flex-start;
    text-align: left;
  }
}

@media (max-width: 620px) {
  .values-marquee {
    --values-gap: 24px;
  }

  .values-marquee-viewport {
    padding: 13px 0;
    -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
    mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
  }

  .values-marquee-track {
    animation-duration: 30s;
  }

  .values-marquee-item {
    font-size: 0.92rem;
    letter-spacing: 0.06em;
  }

  .values-marquee-item::after {
    width: 6px;
    height: 6px;
  }

  .header-inner {
    padding-top: 12px;
    padding-bottom: 12px;
  }

  .hero {
    min-height: auto;
    padding-top: 94px;
    padding-bottom: 46px;
  }

  .hero-sub {
    margin-top: 16px;
  }

  .hero-sub-break-desktop {
    display: none;
  }

  .hero-stats {
    margin-top: 26px;
  }

  .hero-stat {
    min-height: 0;
    gap: 12px;
    padding: 14px 16px;
  }

  .hero-stat-icon {
    width: 27px;
    height: 27px;
    flex-basis: 27px;
  }

  .hero-stat-text {
    font-size: 15px;
  }

  .hero-actions {
    flex-wrap: wrap;
    gap: 12px 16px;
    margin-top: 28px;
  }

  .directions,
  .benefits,
  .social-benefits,
  .terms,
  .payments,
  .faq,
  .apply,
  .documents,
  .timeline {
    padding-top: 20px;
    padding-bottom: 20px;
  }

  .section-head {
    margin-bottom: 32px;
  }

  .timeline-route {
    --timeline-row: 128px;
    --timeline-node: 62px;
    --timeline-center: 70px;
    --timeline-gap: 14px;
    --timeline-copy: 360px;
    --timeline-connector: 18px;
    grid-auto-rows: var(--timeline-row);
  }

  .timeline-route::before {
    top: 64px;
    bottom: 64px;
  }

  .timeline-step {
    grid-template-columns: minmax(0, 1fr) var(--timeline-center) minmax(0, 1fr);
    height: var(--timeline-row);
    column-gap: var(--timeline-gap);
  }

  .timeline-step-copy {
    width: min(100%, var(--timeline-copy));
    max-width: var(--timeline-copy);
  }

  .timeline-step-node {
    width: var(--timeline-node);
    height: var(--timeline-node);
  }

  .timeline-step-node img {
    width: 45px;
    height: 45px;
  }

  .timeline-step-copy h4 {
    font-size: clamp(1.04rem, 1.7vw, 1.3rem);
  }

  .timeline-step-copy p {
    font-size: 14px;
  }

  .timeline-step--with-note .timeline-step-copy {
    width: min(100%, var(--timeline-copy));
    max-width: var(--timeline-copy);
  }

  .timeline-step-note {
    width: min(100%, var(--timeline-copy));
    max-width: var(--timeline-copy);
    margin-top: 0;
    padding: 12px 14px 12px 24px;
    border-radius: 16px;
  }

  .timeline-step-note::before {
    left: calc(-1 * var(--timeline-connector));
    width: var(--timeline-connector);
  }

  .timeline-step-note p {
    font-size: 0.96rem;
  }
}


@media (max-width: 980px) {
  .final-zone {
    margin-top: 20px;
    border-radius: 28px 28px 0 0;
  }

  .apply-content {
    max-width: 780px;
  }

  .apply-inner .section-head {
    max-width: 780px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .values-marquee-track {
    animation: none;
    transform: translate3d(0, 0, 0);
  }

  .specialty-filter--limited {
    animation: none;
  }

  *, *::before, *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
    scroll-behavior: auto !important;
  }
}

