/**
 * CEO quote — Figma desktop 1920, mobile 390.
 * Mobile (<1024): calc(100vw * N / 390). Desktop: clamp / 1920 vw.
 */

.home-v2 .v2-section--ceo,
.v2-section--ceo {
  position: relative;
  z-index: 310;
  padding: 0;
  overflow: hidden;
}

.v2-ceo__stage {
  position: relative;
  overflow: hidden;
  width: 100%;
  max-width: 100%;
  margin-left: 0;
  min-height: 100svh;
  min-height: 100dvh;
  height: auto;
  display: flex;
  align-items: stretch;
  justify-content: center;
  padding-inline: var(--container-pad);
  box-sizing: border-box;
}

.v2-ceo__bg {
  position: absolute;
  inset: -12% 0;
  z-index: 0;
  background-image:
    linear-gradient(rgba(100, 219, 105, 0.3), rgba(100, 219, 105, 0.3)),
    var(--v2-ceo-bg);
  background-size: cover, cover;
  background-position: center, center;
  background-repeat: no-repeat, no-repeat;
  pointer-events: none;
}

.v2-ceo__inner {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  flex: 1 1 auto;
  align-self: stretch;
  min-height: 0;
  text-align: center;
}

.v2-ceo__author {
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
}

.v2-ceo__avatar {
  display: block;
  flex-shrink: 0;
  object-fit: cover;
  border-radius: 50%;
}

.v2-ceo__author-meta {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
}

.v2-ceo__name {
  margin: 0;
  font-weight: 500;
  line-height: 1;
  color: #ffffff;
}

.v2-ceo__role {
  margin: 0;
  font-weight: 400;
  line-height: 1;
  color: rgba(255, 255, 255, 0.4);
}

.v2-ceo__quote {
  flex: 1 1 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 0;
  border: 0;
}

.v2-section--ceo .v2-ceo__quote-text {
  margin: 0;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0;
  color: #ffffff;
  text-align: center;
}

.v2-ceo__cta {
  flex-shrink: 0;
  display: flex;
  justify-content: center;
}

.v2-section--ceo .v2-btn--primary .v2-btn__text {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  border-radius: 130px;
  font-family: 'Inter Tight', system-ui, sans-serif;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0;
  white-space: nowrap;
}

.v2-section--ceo .v2-btn--primary .v2-btn__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  flex: none;
  border-radius: 50%;
}

/* Mobile 390 — vw calcs only below desktop breakpoint */
@media (max-width: 1023px) {
  .v2-ceo__stage {
    padding-block: calc(100vw * 20 / 390);
  }

  .v2-ceo__bg {
    inset: 0;
    transform: none !important;
    will-change: auto;
  }

  .v2-ceo__inner {
    max-width: none;
  }

  .v2-ceo__author {
    gap: calc(100vw * 10 / 390);
    min-height: calc(100vw * 40 / 390);
  }

  .v2-ceo__avatar {
    width: calc(100vw * 40 / 390);
    height: calc(100vw * 40 / 390);
  }

  .v2-ceo__author-meta {
    gap: calc(100vw * 5 / 390);
  }

  .v2-ceo__name {
    font-size: calc(100vw * 16 / 390);
  }

  .v2-ceo__role {
    font-size: calc(100vw * 12 / 390);
  }

  .v2-ceo__quote {
    align-self: stretch;
    width: 100%;
  }

  .v2-section--ceo .v2-ceo__quote-text {
    width: 100%;
    max-width: calc(100vw * 350 / 390);
    font-size: calc(100vw * 22 / 390);
  }

  .is-lang-uk .v2-section--ceo .v2-ceo__quote-text {
    font-size: calc(100vw * 20 / 390);
    line-height: 1.08;
    text-wrap: balance;
  }

  .is-lang-uk .v2-ceo__quote-br {
    display: none;
  }

  .v2-ceo__cta {
    align-self: stretch;
    width: 100%;
  }

  .v2-section--ceo .v2-btn--primary {
    --cta-size: calc(100vw * 60 / 390);
    display: flex;
    align-items: center;
    width: 100%;
    max-width: none;
    height: var(--cta-size);
    gap: 0;
    flex-shrink: 0;
    text-decoration: none;
  }

  .v2-section--ceo .v2-btn--primary .v2-btn__text {
    flex: 1 1 auto;
    min-width: 0;
    width: auto;
    height: var(--cta-size);
    min-height: var(--cta-size);
    padding: calc(100vw * 14 / 390) calc(100vw * 28 / 390);
    font-size: calc(100vw * 16 / 390);
  }

  .v2-section--ceo .v2-btn--primary .v2-btn__icon {
    width: var(--cta-size);
    min-width: var(--cta-size);
    height: var(--cta-size);
  }
}

@media (min-width: 1024px) {
  .v2-ceo__stage {
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(50% - 50vw);
    padding-block: clamp(24px, 2.604vw, 50px);
    padding-inline: clamp(20px, 3.125vw, 60px);
  }

  .v2-ceo__inner {
    max-width: min(93.75vw, 1800px);
  }

  .v2-ceo__author {
    gap: clamp(12px, 1.042vw, 20px);
    min-height: clamp(48px, 3.646vw, 70px);
  }

  .v2-ceo__avatar {
    width: clamp(48px, 3.646vw, 70px);
    height: clamp(48px, 3.646vw, 70px);
  }

  .v2-ceo__author-meta {
    gap: clamp(4px, 0.313vw, 6px);
  }

  .v2-ceo__name {
    font-size: clamp(16px, 1.042vw, 20px);
  }

  .v2-ceo__role {
    font-size: clamp(14px, 0.938vw, 18px);
    color: rgba(255, 255, 255, 0.6);
  }

  .v2-ceo__quote {
    align-self: center;
    width: 100%;
    max-width: min(calc(100vw * 1340 / 1920), 1340px);
  }

  .v2-section--ceo .v2-ceo__quote-text {
    width: 100%;
    max-width: none;
    font-size: clamp(22px, 2.812vw, 54px);
    line-height: 1;
  }

  .v2-ceo__quote-br {
    display: none;
  }

  .v2-ceo__cta {
    width: auto;
    align-self: center;
  }

  .v2-section--ceo .v2-btn--primary {
    --cta-size: clamp(60px, 4.167vw, 80px);
    display: inline-flex;
    align-items: center;
    width: auto;
    max-width: none;
    height: var(--cta-size);
    gap: 0;
    flex-shrink: 0;
    text-decoration: none;
  }

  .v2-section--ceo .v2-btn--primary .v2-btn__text {
    flex: none;
    min-width: clamp(130px, 9.01vw, 173px);
    height: var(--cta-size);
    min-height: var(--cta-size);
    padding: clamp(14px, 0.99vw, 19px) clamp(28px, 2.083vw, 40px);
    font-size: clamp(16px, 1.042vw, 20px);
  }

  .v2-section--ceo .v2-btn--primary .v2-btn__icon {
    width: var(--cta-size);
    min-width: var(--cta-size);
    height: var(--cta-size);
  }
}
