.services-page .collaborate-section {
  padding: 130px var(--sec-page-gutter) 80px;
}

.services-page .landing-heading {
  font-size: 76px;
  font-weight: 400;
  line-height: 1.0526;
  margin-bottom: 32px;
}

.services-page .row {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
}

.services-page .filter {
  width: 40vw;
  position: relative;
  z-index: 2;
}

.services-page .filter-header {
  width: 100%;
  padding: 10px 20px;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  border: 0;
  border-bottom: 2px solid var(--color-text-main);
  background: transparent;
  color: inherit;
  cursor: pointer;
}

.services-page .filter-title {
  font-size: 24px;
  line-height: 1.0833;
}

.services-page .arrow-down {
  width: 24px;
  height: 24px;
  position: relative;
}

.services-page .arrow-down::before,
.services-page .arrow-down::after {
  content: "";
  position: absolute;
  top: 10px;
  width: 9px;
  height: 2px;
  background: var(--color-text-main);
}

.services-page .arrow-down::before {
  left: 3px;
  transform: rotate(40deg);
}

.services-page .arrow-down::after {
  right: 3px;
  transform: rotate(-40deg);
}

.services-page .filter-options {
  width: 100%;
  position: absolute;
  left: 0;
  top: 56px;
  background-color: rgba(255, 255, 255, 0.4);
  backdrop-filter: blur(100px);
  -webkit-backdrop-filter: blur(100px);
  border-radius: 20px;
  overflow: auto;
  max-height: 40vh;
  z-index: 3;
}

.services-page .filter-options[hidden] {
  display: none;
}

.services-page .filter-option {
  width: 100%;
  font-size: 24px;
  line-height: 1;
  padding: 20px;
  cursor: pointer;
  border: 0;
  text-align: left;
  color: inherit;
  background: transparent;
}

.services-page .filter-option:hover {
  background-color: rgba(255, 255, 255, 0.5);
}

.services-page .filter-option.is-active {
  background-color: rgba(255, 255, 255, 0.85);
}

.services-page .clear-filter-button {
  padding: 23px;
  border: 1px solid white;
  border-radius: 45px;
  background-color: rgba(255, 255, 255, 0.4);
  backdrop-filter: blur(100px);
  -webkit-backdrop-filter: blur(100px);
}

.services-page .collaborators-wrapper {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  row-gap: 12px;
  column-gap: 24px;
}

.services-page .collaborator-wrapper {
  height: 88px;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: flex-end;
  padding: 15px 30px;
  border-bottom: 2px solid var(--color-text-main);
}

.services-page .collaborator-wrapper.is-hidden {
  display: none;
}

.services-page .collaborator-logo {
  width: 120px;
}

.services-page .contact-wrapper {
  display: flex;
  flex-direction: row;
  gap: 15px;
  align-items: center;
}

.services-page .collaborator-contact-img {
  width: 25px;
  height: 25px;
}

.services-page .dissemination-request-section {
  padding: 0 100px 100px;
  position: relative;
}

.services-page .dissemination-request-form-wrapper {
  width: 50%;
}

.services-page .dissemination-request-heading {
  font-size: 76px;
  font-weight: 400;
  line-height: 1.0526;
  margin-bottom: 20px;
}

.services-page .dissemination-request-paragraph {
  font-size: 20px;
  line-height: 1.3;
  margin-bottom: 32px;
}

.services-page .dissemination-img {
  width: 50%;
  height: auto;
  position: absolute;
  top: 0;
  left: 50vw;
}

.services-page form .description {
  display: none;
}

.services-page #dissemination-form {
  scroll-margin-top: 120px;
}

.services-page .js-form-item {
  width: 100%;
  margin-bottom: 32px;
  display: flex;
  flex-direction: column;
}









.services-page .services-native-step {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 12px;
  margin-top: 20px;
}

.services-page .services-native-step__current,
.services-page .services-native-step__total {
  font-size: 18px;
  line-height: 1;
}

.services-page .services-native-step__line {
  width: 60px;
  height: 2px;
  background-color: var(--color-text-main);
}

.services-page .form-actions {
  display: flex;
  flex-direction: row;
  justify-content: flex-end;
  gap: 20px;
  margin-top: 24px;
}

.services-page .form-actions input[type="submit"] {
  min-width: 100px;
  padding: 23px;
  border: 1px solid white;
  border-radius: 45px;
  background-color: rgba(255, 255, 255, 0.4);
  backdrop-filter: blur(100px);
  -webkit-backdrop-filter: blur(100px);
  font-size: 18px;
  line-height: 1;
  cursor: pointer;
}

.services-page .custom-select {
  margin-top: 10px;
  min-width: 350px;
  position: relative;
}

.services-page #edit-submit {
  cursor: pointer;
}

.services-page .custom-select::before,
.services-page .custom-select::after {
  --size: 0.3rem;
  position: absolute;
  content: "";
  right: 1rem;
  pointer-events: none;
}

.services-page .custom-select::before {
  border-left: var(--size) solid transparent;
  border-right: var(--size) solid transparent;
  border-bottom: var(--size) solid black;
  top: 40%;
}

.services-page .custom-select::after {
  border-left: var(--size) solid transparent;
  border-right: var(--size) solid transparent;
  border-top: var(--size) solid black;
  top: 55%;
}

.services-page select {
  appearance: none;
  outline: none;
  -webkit-appearance: none;
  width: 100%;
  font-size: 20px;
  line-height: 1.2;
  padding: 0.675em 6em 0.675em 1em;
  background-color: transparent;
  border-radius: 0 !important;
  border-top-width: 0;
  border-left-width: 0;
  border-right-width: 0;
  border-bottom: 2px solid var(--color-text-main);
  color: var(--color-text-main);
  cursor: pointer;
}

.services-page select option {
  font-size: 16px;
  line-height: 1.375;
}

.services-page .fieldset-legend {
  opacity: 0.6;
  font-size: 24px;
  line-height: 1;
}

.services-page .fieldset-wrapper {
  margin-top: 20px;
}

.services-page .form-type-radio,
.services-page .js-form-type-checkbox {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 20px;
  margin-bottom: 15px;
}

.services-page .form-type-radio input,
.services-page .js-form-type-checkbox input {
  width: unset;
  margin-top: unset;
  margin-bottom: unset;
}

.services-page .step-wrapper {
  display: none;
  opacity: 0;
  transition: opacity 0.25s ease;
}

.services-page .step-wrapper.is-active {
  display: block;
  opacity: 1;
}

.services-page .form-controls {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
}

.services-page .steps {
  display: flex;
  flex-direction: row;
  gap: 12px;
  align-items: center;
}

.services-page .current-step,
.services-page .all-steps {
  font-size: 18px;
  line-height: 1;
}

.services-page .step-line {
  width: 60px;
  height: 2px;
  background-color: var(--color-text-main);
}



.services-page .notification {
  position: fixed;
  right: 100px;
  top: 180px;
  max-width: 350px;
  min-width: 150px;
  padding: 20px 30px;
  border: 1px solid white;
  border-radius: 45px;
  background-color: rgba(255, 255, 255, 0.4);
  backdrop-filter: blur(100px);
  -webkit-backdrop-filter: blur(100px);
  font-size: 18px;
  line-height: 1;
  opacity: 0;
  transform: translateX(80px);
  pointer-events: none;
  transition: opacity 0.35s ease, transform 0.35s ease;
}

.services-page .notification.is-visible {
  opacity: 1;
  transform: translateX(0);
}

@media only screen and (max-width: 1439px) {
  .services-page .collaborators-wrapper {
    grid-template-columns: repeat(3, 1fr);
  }

  .services-page .collaborator-wrapper {
    padding: 15px 22px;
  }

  .services-page .collaborator-logo {
    width: 100px;
  }

  .services-page .collaborator-contact-img {
    width: 20px;
    height: 20px;
  }
}

@media only screen and (max-width: 1024px) {
  .services-page .collaborate-section {
    padding: 120px var(--sec-page-gutter) 64px;
  }

  .services-page .collaborators-wrapper {
    grid-template-columns: repeat(2, 1fr);
  }

  .services-page .dissemination-img {
    display: none;
  }

  .services-page .dissemination-request-form-wrapper {
    width: calc(100vw - 200px);
  }
}

@media only screen and (max-width: 769px) {
  .services-page .collaborate-section {
    padding: 110px var(--sec-page-gutter) 56px;
  }

  .services-page .collaborators-wrapper {
    grid-template-columns: repeat(1, 1fr);
  }

  .services-page .collaborator-wrapper {
    height: 88px;
  }

  .services-page .collaborator-logo {
    width: 130px;
  }

  .services-page .dissemination-request-section {
    padding: 0 60px 100px;
  }

  .services-page .dissemination-request-form-wrapper {
    width: calc(100vw - 120px);
  }

  .services-page .notification {
    right: 60px;
    top: 120px;
  }

  .services-page .filter {
    width: 70vw;
  }

  .services-page .row {
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 20px;
  }
}

@media only screen and (max-width: 480px) {
  .services-page .collaborate-section {
    padding: 110px var(--sec-page-gutter) 48px;
  }

  .services-page .dissemination-request-section {
    padding: 0 40px 100px;
  }

  .services-page .dissemination-request-form-wrapper {
    width: calc(100vw - 80px);
  }

  .services-page .custom-select {
    min-width: 100%;
  }

  .services-page .form-controls {
    flex-direction: column;
    align-items: flex-end;
    gap: 30px;
  }

  .services-page .notification {
    right: 40px;
    top: 120px;
    width: calc(100% - 80px);
  }

  .services-page .filter {
    width: calc(100% - 80px);
  }
}

/* A common optical envelope: wide marks can spread, square marks stay compact. */
.services-page .collaborator-wrapper {
  align-items: flex-end;
  gap: 16px;
  padding: 8px 16px;
}
.services-page .collaborator-wrapper .partner-link {
  width: 140px;
  max-width: 55%;
  height: 64px;
  display: flex;
  align-items: flex-end;
  justify-content: flex-start;
  flex-shrink: 1;
}
.services-page .collaborator-wrapper .collaborator-logo {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 64px;
  object-fit: contain;
}
.services-page .contact-wrapper { flex-shrink: 0; gap: 12px; }
.services-page .collaborators-wrapper { margin-top: 24px; }
.services-page .dissemination-request-section {
  padding-inline: var(--sec-page-gutter);
}
@media (max-width: 1024px) {
  .services-page .dissemination-request-form-wrapper { width: 100%; }
}

.services-page .collaborator-contact {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  isolation: isolate;
  transition: translate 180ms ease;
}
.services-page .collaborator-contact::before {
  content: "";
  position: absolute;
  inset: -7px;
  z-index: -1;
  border-radius: inherit;
  background: rgb(122 111 185 / 14%);
  opacity: 0;
  transform: scale(0.8);
  transition: opacity 180ms ease, transform 180ms ease;
}
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .services-page .collaborator-contact:hover { translate: 0 -2px; }
}
.services-page .collaborator-contact:hover::before,
.services-page .collaborator-contact:focus-visible::before {
  opacity: 1;
  transform: scale(1);
}

.services-page .dissemination-form {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  column-gap: 20px;
}
.services-page .dissemination-form > * { grid-column: 1 / -1; min-width: 0; }
.services-page .dissemination-form > .form-item-wizard-progress {
  grid-column: 1;
  margin: 0;
}
.services-page .dissemination-form > .form-actions {
  grid-column: 2;
  margin: 0;
  gap: 12px;
  flex-wrap: wrap;
}
.services-page .dissemination-form .services-native-step { margin: 0; }
