/**
 * Direct Platforms Access — Figma desktop 1920, mobile 390.
 * Mobile: horizontal swiper, cards 310×230, All Services CTA = card width.
 */

.home-v2 .v2-section--platform-access,
.v2-section--platform-access {
  --pa-btn-size: clamp(48px, 3.125vw, 60px);
  padding-block: clamp(48px, 6.25vw, 120px);
}

@media (min-width: 1024px) {
  .v2-section--platform-access:not(.v2-section--platform-access--services) .v2-platform-access__heading-line--desktop {
    display: block;
  }
}

.v2-platform-access__header {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: calc(100vw * 20 / 1920);
  margin-bottom: clamp(40px, 4.167vw, 80px);
  text-align: center;
}

.v2-platform-access__intro {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  gap: calc(100vw * 20 / 1920);
  min-width: 0;
}

.v2-platform-access__header .v2-descriptor {
  margin: 0;
  justify-content: center;
  gap: 15px;
  font-size: clamp(16px, 1.042vw, 20px);
  line-height: 1;
  color: rgba(32, 32, 32, 0.4);
}

.v2-platform-access__header .v2-descriptor__dot {
  width: 10px;
  height: 10px;
  background: #64db69;
}

.v2-platform-access__heading {
  margin: 0;
  width: 100%;
  font-size: clamp(36px, 4.688vw, 90px);
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0;
  text-transform: none;
  text-align: center;
}

.v2-section--platform-access:not(.v2-section--platform-access--services) .v2-platform-access__heading {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.v2-section--platform-access:not(.v2-section--platform-access--services) .v2-platform-access__heading[data-animation='letters'] .split-line {
  align-self: center;
  width: fit-content;
  max-width: 100%;
  margin-inline: auto;
}

.v2-section--platform-access:not(.v2-section--platform-access--services) .v2-platform-access__heading.is-letters-revealed .split-line {
  overflow: visible;
}

.v2-platform-access__heading-accent,
.v2-platform-access__heading-line {
  display: block;
}

.v2-platform-access__heading-accent--mobile,
.v2-platform-access__heading-line--mobile {
  display: none;
}

.v2-platform-access__heading-accent {
  color: #64db69;
}

.v2-platform-access__heading-line {
  color: #202020;
}

.v2-platform-access__heading-line--desktop {
  display: none;
}

.v2-platform-access__lead {
  margin: 0;
  font-size: clamp(14px, 0.938vw, 18px);
  font-weight: 400;
  line-height: 1.2;
  color: #202020cc;
}

.v2-platform-access__nav {
  display: none;
}

.v2-platform-access__track--mobile {
  display: none;
}

.v2-platform-access__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(16px, 1.042vw, 20px);
  margin-bottom: clamp(40px, 4.167vw, 80px);
}

/* 435×366 @1920 → 22.656vw × 19.062vw */
.v2-platform-access__card {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: clamp(48px, 5.208vw, 100px);
  min-height: clamp(280px, 19.062vw, 366px);
  padding: clamp(20px, 1.563vw, 30px);
  border-radius: clamp(12px, 1.042vw, 20px);
  background: #ebebeb;
  box-sizing: border-box;
}

.v2-platform-access__card-body {
  display: flex;
  flex-direction: column;
  gap: clamp(16px, 1.042vw, 20px);
}

.v2-platform-access__card-head {
  display: flex;
  align-items: center;
  gap: clamp(12px, 1.042vw, 20px);
}

.v2-platform-access__icon {
  flex-shrink: 0;
  width: clamp(48px, 3.125vw, 60px);
  height: clamp(48px, 3.125vw, 60px);
}

.v2-platform-access__icon img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.v2-platform-access__card-title {
  margin: 0;
  font-size: clamp(28px, 2.292vw, 44px);
  font-weight: 500;
  line-height: 1.09;
  color: #202020;
}

.v2-platform-access__card-text {
  margin: 0;
  font-size: clamp(14px, 0.938vw, 18px);
  font-weight: 400;
  line-height: 1.22;
  color: rgba(32, 32, 32, 0.4);
  text-wrap: pretty;
}

.v2-platform-access__card-text-set--mobile {
  display: none;
}

.v2-platform-access__card-text-line {
  display: block;
}

.v2-platform-access__actions {
  display: flex;
  gap: clamp(4px, 0.26vw, 5px);
  width: 100%;
}

.v2-platform-access__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 1 1 0;
  min-width: 0;
  height: var(--pa-btn-size);
  padding: 0;
  border: 0;
  border-radius: clamp(48px, 3.646vw, 70px);
  font-size: clamp(14px, 0.938vw, 18px);
  font-weight: 400;
  line-height: 1;
  text-decoration: none;
  text-align: center;
  white-space: nowrap;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  box-sizing: border-box;
  transition: background-color 0.5s ease, color 0.5s ease, border-color 0.5s ease;
}

.v2-platform-access__btn-label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  height: 100%;
  overflow: hidden;
}

.v2-platform-access__btn-label-track {
  display: block;
  position: relative;
  overflow: hidden;
  height: 1em;
  line-height: 1;
}

.v2-platform-access__btn-label-slide {
  display: block;
  transition: transform 0.38s cubic-bezier(0.4, 0, 0.2, 1);
  will-change: transform;
}

.v2-platform-access__btn-label-slide:last-child {
  position: absolute;
  inset-inline: 0;
  top: 100%;
}

.v2-platform-access__btn--primary {
  padding-inline: clamp(16px, 1.042vw, 20px);
  background: #64db69;
  color: #ffffff;
}

.v2-platform-access__btn--ghost {
  padding-inline: clamp(16px, 1.042vw, 20px);
  border: 1px dotted rgba(32, 32, 32, 0.4);
  background: transparent;
  color: rgba(32, 32, 32, 0.4);
}

@media (hover: hover) and (pointer: fine) {
  .v2-platform-access__btn:hover .v2-platform-access__btn-label-slide:first-child,
  .v2-platform-access__btn:hover .v2-platform-access__btn-label-slide:last-child,
  .v2-platform-access__btn:focus-visible .v2-platform-access__btn-label-slide:first-child,
  .v2-platform-access__btn:focus-visible .v2-platform-access__btn-label-slide:last-child {
    transform: translateY(-100%);
  }

  .v2-platform-access__btn--primary:hover,
  .v2-platform-access__btn--primary:focus-visible {
    background: #202020;
  }
}

@media (prefers-reduced-motion: reduce) {
  .v2-platform-access__btn-label-slide {
    transition: none;
  }
}

.v2-platform-access__footer {
  display: flex;
  justify-content: center;
}

/* Dark pill + circle — 258×80 @1920 (use --primary layout, dark colors) */
.v2-section--platform-access .v2-btn--primary {
  --cta-size: 60px;
  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--platform-access .v2-btn--primary .v2-btn__text {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  height: var(--cta-size);
  min-height: var(--cta-size);
  min-width: 0;
  padding: 14px 28px;
  border-radius: 130px;
  font-family: 'Inter Tight', system-ui, sans-serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0;
  white-space: nowrap;
}

.v2-section--platform-access .v2-btn--primary .v2-btn__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  flex: none;
  width: var(--cta-size);
  min-width: var(--cta-size);
  height: var(--cta-size);
  border-radius: 50%;
}

/* Mobile 390 — swiper, 310×230 cards, full-width CTA */
@media (max-width: 1023px) {
  .home-v2 .v2-section--platform-access,
  .v2-section--platform-access {
    --pa-card-w: calc(100vw * 310 / 390);
    --pa-card-h: calc(100vw * 230 / 390);
    --pa-slide-gap: calc(100vw * 14 / 390);
    --pa-btn-size: calc(100vw * 40 / 390);
    padding-top: var(--v2-section-gap);
    padding-bottom: 0;
    overflow-x: clip;
    overflow-y: visible;
  }

  .home-v2 .v2-section--platform-access .v2-platform-access,
  .v2-section--platform-access .v2-platform-access {
    overflow-x: clip;
    overflow-y: visible;
    min-width: 0;
  }

  .v2-platform-access__header {
    flex-direction: row;
    align-items: flex-end;
    justify-content: space-between;
    gap: calc(100vw * 12 / 390);
    margin-bottom: calc(100vw * 28 / 390);
    text-align: left;
  }

  .v2-platform-access__intro {
    align-items: flex-start;
    width: auto;
    gap: calc(100vw * 15 / 390);
  }

  .v2-section--platform-access:not(.v2-section--platform-access--services) .v2-platform-access__heading {
    display: block;
    width: 100%;
    text-align: left;
  }

  .v2-section--platform-access .v2-platform-access__header .v2-descriptor {
    justify-content: flex-start;
    gap: calc(100vw * 10 / 390);
    font-size: calc(100vw * 12 / 390);
    font-weight: 400;
    line-height: 1;
    color: rgba(32, 32, 32, 0.4);
  }

  .v2-section--platform-access .v2-platform-access__header .v2-descriptor__dot {
    width: calc(100vw * 6 / 390);
    height: calc(100vw * 6 / 390);
    background: #64db69;
  }

  .v2-platform-access__heading,
  .v2-platform-access__heading-accent,
  .v2-platform-access__heading-line {
    font-size: calc(100vw * 36 / 390);
    line-height: 1;
    text-align: left;
  }

  .v2-section--platform-access:not(.v2-section--platform-access--services) .v2-platform-access__heading[data-animation='letters'] .split-line {
    margin-inline: 0;
  }

  .v2-platform-access__heading-accent,
  .v2-platform-access__heading-line {
    white-space: nowrap;
  }

  .v2-platform-access__heading-accent--desktop {
    display: none;
  }

  .v2-platform-access__heading-accent--mobile,
  .v2-platform-access__heading-line--mobile {
    display: block;
  }

  .v2-platform-access__nav {
    display: flex;
    align-items: center;
    gap: calc(100vw * 5 / 390);
    flex-shrink: 0;
    margin-bottom: calc(100vw * 4 / 390);
  }

  .v2-platform-access__arrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: calc(100vw * 40 / 390);
    height: calc(100vw * 40 / 390);
    padding: 0;
    border: 1px solid #202020;
    border-radius: 50%;
    background: transparent;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    line-height: 0;
    transition: background-color 0.5s ease, border-color 0.5s ease;
  }

  .v2-platform-access__arrow:hover,
  .v2-platform-access__arrow:focus-visible,
  .v2-platform-access__arrow:active {
    background: #202020;
    border-color: #202020;
  }

  .v2-platform-access__arrow--next img {
    transform: rotate(180deg);
  }

  .v2-platform-access__arrow img {
    display: block;
    width: calc(100vw * 10 / 390);
    height: auto;
    filter: none;
    transition: filter 0.5s ease;
  }

  .v2-platform-access__arrow:hover img,
  .v2-platform-access__arrow:focus-visible img,
  .v2-platform-access__arrow:active img {
    filter: brightness(0) invert(1);
  }

  .v2-platform-access__track--desktop {
    display: none;
  }

  .v2-platform-access__track--mobile {
    display: block;
    margin-inline: 0;
    margin-bottom: calc(100vw * 28 / 390);
    overflow: hidden;
  }

  .v2-section--platform-access .v2-platform-access__swiper.swiper {
    overflow: hidden !important;
    padding-inline: 0;
  }

  .v2-section--platform-access .v2-platform-access__swiper .swiper-wrapper {
    align-items: stretch;
  }

  .v2-platform-access__swiper .swiper-slide {
    width: var(--pa-card-w);
    height: auto;
    box-sizing: border-box;
  }

  .v2-platform-access__card {
    width: 100%;
    height: var(--pa-card-h);
    min-height: 0;
    gap: calc(100vw * 12 / 390);
    padding: calc(100vw * 20 / 390);
    border-radius: calc(100vw * 20 / 390);
  }

  .v2-platform-access__card-body {
    gap: calc(100vw * 12 / 390);
  }

  .v2-platform-access__card-head {
    gap: calc(100vw * 12 / 390);
  }

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

  .v2-platform-access__card-title {
    font-size: calc(100vw * 26 / 390);
    line-height: 1.09;
  }

  .v2-platform-access__card-text {
    font-size: calc(100vw * 14 / 390);
    line-height: 1.22;
  }

  .v2-platform-access__card-text-set--desktop {
    display: none;
  }

  .v2-platform-access__card-text-set--mobile {
    display: inline;
  }

  .v2-platform-access__card-text-set--mobile .v2-platform-access__card-text-line {
    white-space: nowrap;
  }

  .is-lang-uk .v2-platform-access__card-text-set--mobile .v2-platform-access__card-text-line {
    display: inline;
    white-space: normal;
  }

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

  .v2-platform-access__btn {
    border-radius: calc(100vw * 40 / 390);
    font-size: calc(100vw * 14 / 390);
  }

  .v2-platform-access__btn--primary,
  .v2-platform-access__btn--ghost {
    padding-inline: calc(100vw * 12 / 390);
  }

  .v2-platform-access__btn--primary {
    background: #64db69;
  }

  .v2-platform-access__footer {
    justify-content: center;
    width: 100%;
  }

  .v2-section--platform-access .v2-btn--primary {
    --cta-size: calc(100vw * 60 / 390);
    --v2-btn-fill: #202020;
    --v2-btn-fill-hover: #202020;
    display: flex;
    align-items: center;
    width: var(--pa-card-w);
    max-width: none;
    height: var(--cta-size);
    gap: 0;
    flex-shrink: 0;
    text-decoration: none;
  }

  .v2-section--platform-access .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--platform-access .v2-btn--primary .v2-btn__icon {
    width: var(--cta-size);
    min-width: var(--cta-size);
    height: var(--cta-size);
  }

  .v2-section--platform-access--services {
    padding-bottom: var(--v2-section-gap);
  }

  .v2-section--platform-access--services .v2-platform-access__header {
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap: calc(100vw * 15 / 390);
    margin-bottom: calc(100vw * 28 / 390);
  }

  .v2-section--platform-access--services .v2-platform-access__nav {
    display: none;
  }

  .v2-section--platform-access--services .v2-platform-access__track--mobile {
    display: none;
  }

  .v2-section--platform-access--services .v2-platform-access__track--desktop {
    display: grid;
    grid-template-columns: 1fr;
    gap: calc(100vw * 14 / 390);
    margin-bottom: 0;
  }

  .v2-section--platform-access--services .v2-platform-access__heading-line--desktop,
  .v2-section--platform-access--services .v2-platform-access__heading-accent--desktop {
    display: none;
  }

  .v2-section--platform-access--services .v2-platform-access__heading-line--mobile,
  .v2-section--platform-access--services .v2-platform-access__heading-accent--mobile {
    display: block;
  }

  .v2-section--platform-access--services .v2-platform-access__lead {
    max-width: calc(100vw * 310 / 390);
    font-size: calc(100vw * 14 / 390);
    line-height: 1.2;
  }
}

@media (min-width: 1024px) {
  .v2-section--platform-access:not(.v2-section--platform-access--services) .v2-platform-access__intro {
    align-items: center;
    width: 100%;
  }

  .v2-section--platform-access:not(.v2-section--platform-access--services) .v2-platform-access__heading {
    align-items: center;
    width: 100%;
    text-align: center;
  }

  .v2-section--platform-access:not(.v2-section--platform-access--services) .v2-platform-access__heading[data-animation='letters'] .split-line {
    align-self: center;
    margin-inline: auto;
  }

  .v2-platform-access__grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: calc(100vw * 20 / 1920);
  }

  .v2-platform-access__card {
    gap: calc(100vw * 100 / 1920);
    min-height: min(calc(100vw * 366 / 1920), 366px);
    padding: min(calc(100vw * 30 / 1920), 30px);
    border-radius: min(calc(100vw * 20 / 1920), 20px);
  }

  .v2-platform-access__card-body {
    gap: calc(100vw * 20 / 1920);
  }

  .v2-platform-access__card-head {
    gap: calc(100vw * 20 / 1920);
  }

  .v2-platform-access__icon {
    width: min(calc(100vw * 60 / 1920), 60px);
    height: min(calc(100vw * 60 / 1920), 60px);
  }

  .v2-platform-access__card-title {
    font-size: min(calc(100vw * 44 / 1920), 44px);
    line-height: min(calc(100vw * 48 / 1920), 48px);
  }

  .v2-platform-access__card-text {
    width: min(100%, var(--pa-text-width-desktop, 100%));
    max-width: var(--pa-text-width-desktop-max, none);
    min-height: min(calc(100vw * 66 / 1920), 66px);
    font-size: min(calc(100vw * 18 / 1920), 18px);
    line-height: min(calc(100vw * 22 / 1920), 22px);
    text-wrap: auto;
  }

  .v2-platform-access__card-text-set--desktop {
    display: inline;
  }

  .v2-platform-access__card-text-line {
    white-space: nowrap;
  }

  .is-lang-uk .v2-platform-access__card-text-line {
    display: inline;
    white-space: normal;
  }

  .v2-platform-access__btn {
    height: min(calc(100vw * 60 / 1920), 60px);
    border-radius: min(calc(100vw * 70 / 1920), 70px);
    font-size: min(calc(100vw * 18 / 1920), 18px);
  }

  .v2-section--platform-access .v2-btn--primary {
    --cta-size: min(calc(100vw * 80 / 1920), 80px);
  }

  .v2-section--platform-access .v2-btn--primary .v2-btn__text {
    min-width: min(calc(100vw * 178 / 1920), 178px);
    padding: min(calc(100vw * 19 / 1920), 19px) min(calc(100vw * 40 / 1920), 40px);
    font-size: min(calc(100vw * 20 / 1920), 20px);
  }
}

@media (min-width: 1024px) {
  .page-services .v2-section--platform-access--services {
    padding-top: clamp(80px, calc(100vw * 120 / 1920), 120px);
    padding-bottom: clamp(48px, 6.25vw, 120px);
  }

  .v2-section--platform-access--services .v2-platform-access__header {
    flex-direction: row;
    align-items: flex-end;
    justify-content: space-between;
    gap: clamp(24px, calc(100vw * 40 / 1920), 40px);
    margin-bottom: clamp(40px, calc(100vw * 80 / 1920), 80px);
    text-align: left;
  }

  .v2-section--platform-access--services .v2-platform-access__intro {
    align-items: flex-start;
    flex: 1 1 auto;
    gap: clamp(20px, calc(100vw * 28 / 1920), 28px);
    max-width: min(calc(100vw * 999 / 1920), 999px);
  }

  .v2-section--platform-access--services .v2-platform-access__header .v2-descriptor {
    justify-content: flex-start;
  }

  .v2-section--platform-access--services .v2-platform-access__heading {
    display: block;
    width: 100%;
    text-align: left;
  }

  .v2-section--platform-access--services .v2-platform-access__heading[data-animation='letters'] .split-line {
    display: inline;
    width: auto;
    max-width: none;
    overflow: visible;
  }

  .v2-section--platform-access--services .v2-platform-access__heading-line--desktop,
  .v2-section--platform-access--services .v2-platform-access__heading-accent--desktop {
    display: inline;
  }

  .v2-section--platform-access--services .v2-platform-access__heading-line--mobile,
  .v2-section--platform-access--services .v2-platform-access__heading-accent--mobile {
    display: none;
  }

  .v2-section--platform-access--services .v2-platform-access__heading-line--desktop::after {
    content: '\00a0';
  }

  .v2-section--platform-access--services .v2-platform-access__lead {
    max-width: min(calc(100vw * 999 / 1920), 999px);
    font-size: clamp(16px, calc(100vw * 20 / 1920), 20px);
    line-height: 1.2;
    white-space: normal;
  }

  .v2-section--platform-access--services .v2-platform-access__nav {
    display: none;
  }

  .v2-section--platform-access--services .v2-platform-access__grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: calc(100vw * 20 / 1920);
    margin-bottom: 0;
  }
}
