.linkyapi-solutions {
    --link-orange: #f58220;
    --link-dark: #15191d;
    position: relative;
    width: 100%;
    padding: clamp(29px, 3vw, 52px) clamp(18px, 4.2vw, 80px) 50px;
    overflow: hidden;
    font-family: var(--e-global-typography-text-font-family), Arial, sans-serif;
}

.linkyapi-solutions * { box-sizing: border-box; }

.linkyapi-solutions-hub-lead {
    width: min(100%, 1080px);
    margin: 0 0 52px !important;
    color: #55595d;
    font-family: var(--e-global-typography-text-font-family), Arial, sans-serif;
    font-size: 19px;
    line-height: 1.72;
}

.linkyapi-solutions--hub {
    padding: 0 0 34px;
}

.linkyapi-solutions--hub .linkyapi-solutions__panel {
    width: 100%;
}

.linkyapi-solutions__panel {
    position: relative;
    isolation: isolate;
    width: min(100%, 1760px);
    margin: 0 auto;
    padding: clamp(38px, 4.2vw, 72px) 0 clamp(30px, 3.2vw, 54px);
    overflow: hidden;
    background:
        radial-gradient(circle at 50% -20%, rgba(255,255,255,.25), transparent 44%),
        linear-gradient(125deg, #de5d0d 0%, var(--link-orange) 52%, #ee6b14 100%);
    clip-path: polygon(48px 0, 100% 0, 100% 100%, 0 100%, 0 48px);
}

.linkyapi-solutions__panel::before,
.linkyapi-solutions__panel::after {
    position: absolute;
    z-index: -1;
    border: 1px solid rgba(255,255,255,.13);
    border-radius: 50%;
    content: "";
}

.linkyapi-solutions__panel::before { width: 620px; height: 620px; left: -330px; top: -320px; }
.linkyapi-solutions__panel::after { width: 760px; height: 760px; right: -420px; bottom: -500px; }

.linkyapi-solutions__header {
    position: relative;
    z-index: 20;
    width: min(1320px, calc(100% - 112px));
    margin: 0 auto;
    padding: 0 24px;
    text-align: center;
}

.linkyapi-solutions__header h2 {
    margin: 0 !important;
    color: #fff !important;
    font-family: var(--e-global-typography-primary-font-family), inherit !important;
    font-size: clamp(34px, 3.4vw, 56px) !important;
    font-weight: var(--e-global-typography-primary-font-weight, 700) !important;
    line-height: 1.05 !important;
    letter-spacing: -.035em !important;
}

.linkyapi-solutions__stage {
    position: relative;
    z-index: 1;
    margin-top: clamp(72px, 6vw, 104px);
}

.linkyapi-solutions:not(.is-ready) .linkyapi-solutions__stage,
.linkyapi-solutions:not(.is-ready) .linkyapi-solutions__dots {
    visibility: hidden;
    opacity: 0;
}

.linkyapi-solutions.is-ready .linkyapi-solutions__stage,
.linkyapi-solutions.is-ready .linkyapi-solutions__dots {
    visibility: visible;
    opacity: 1;
    transition: opacity .2s ease;
}

.linkyapi-solutions__viewport {
    width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-behavior: smooth;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    overscroll-behavior-x: contain;
}

@media (prefers-reduced-motion: reduce) {
    .linkyapi-solutions.is-ready .linkyapi-solutions__stage,
    .linkyapi-solutions.is-ready .linkyapi-solutions__dots,
    .linkyapi-solutions__card,
    .linkyapi-solutions__card > img,
    .linkyapi-solutions__button {
        transition: none !important;
    }

    .linkyapi-solutions__viewport {
        scroll-behavior: auto;
    }
}

.linkyapi-solutions__viewport::-webkit-scrollbar { display: none; }

.linkyapi-solutions__track {
    display: flex;
    align-items: center;
    gap: clamp(16px, 2vw, 30px);
    width: max-content;
    padding: 16px max(70px, calc((100vw - min(360px, 24vw)) / 2 - clamp(18px, 4.2vw, 80px))) 24px;
}

.linkyapi-solutions__card {
    position: relative;
    flex: 0 0 clamp(290px, 24vw, 360px);
    height: clamp(480px, 38vw, 560px);
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 8px;
    background: var(--link-dark);
    box-shadow: 0 18px 50px rgba(50,20,0,.22);
    scroll-snap-align: center;
    transform: scale(.925);
    opacity: .7;
    transition: transform .35s ease, opacity .35s ease, box-shadow .35s ease;
}

.linkyapi-solutions__card.is-active {
    z-index: 2;
    opacity: 1;
    transform: scale(1);
    box-shadow: 0 28px 70px rgba(45,17,0,.34);
}

.linkyapi-solutions__card > img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .65s ease;
}

.linkyapi-solutions__card.is-active > img { transform: scale(1.035); }

.linkyapi-solutions__shade {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(10,15,20,.06) 4%, rgba(10,15,20,.44) 40%, rgba(10,15,20,.97) 100%);
}

.linkyapi-solutions__content {
    position: absolute;
    z-index: 1;
    inset: auto 0 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 34px 28px 30px;
    color: #fff;
    text-align: center;
}

.linkyapi-solutions__number {
    margin-bottom: 9px;
    color: var(--link-orange);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .16em;
}

.linkyapi-solutions__content h3 {
    margin: 0 0 9px !important;
    color: #fff !important;
    font-family: var(--e-global-typography-secondary-font-family), inherit !important;
    font-size: clamp(21px, 1.55vw, 27px) !important;
    font-weight: 700 !important;
    line-height: 1.12 !important;
}

.linkyapi-solutions__content h4 {
    margin: 0 0 12px !important;
    color: rgba(255,255,255,.94) !important;
    font-family: var(--e-global-typography-text-font-family), inherit !important;
    font-size: 14px !important;
    font-weight: 650 !important;
    line-height: 1.36 !important;
}

.linkyapi-solutions__content p {
    display: -webkit-box;
    margin: 0 0 20px;
    overflow: hidden;
    color: rgba(255,255,255,.77);
    font-size: 13px;
    line-height: 1.48;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
}

.linkyapi-solutions__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 42px;
    padding: 0 18px;
    border: 1px solid rgba(255,255,255,.9);
    border-radius: 999px;
    background: #fff;
    color: #171b20 !important;
    font-family: var(--e-global-typography-accent-font-family), inherit;
    font-size: 12px;
    font-weight: 750;
    line-height: 1;
    text-decoration: none !important;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(8px);
    transition: background-color .2s ease, color .2s ease, transform .25s ease, opacity .25s ease, visibility .25s ease;
}

.linkyapi-solutions__card.is-active .linkyapi-solutions__button {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
}

.linkyapi-solutions__button svg {
    width: 17px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.linkyapi-solutions__button:hover,
.linkyapi-solutions__button:focus-visible {
    background: var(--link-orange);
    color: #fff !important;
    transform: translateY(-2px);
}

.linkyapi-solutions__arrow {
    position: absolute;
    z-index: 4;
    top: 50%;
    display: grid;
    place-items: center;
    width: 46px;
    height: 46px;
    padding: 0;
    border: 1px solid rgba(255,255,255,.65);
    border-radius: 50%;
    background: #fff;
    color: #1c2024;
    box-shadow: 0 12px 30px rgba(50,20,0,.22);
    transform: translateY(-50%);
    cursor: pointer;
    transition: background-color .2s ease, color .2s ease, transform .2s ease;
}

.linkyapi-solutions__arrow--prev { left: clamp(12px, 2vw, 34px); }
.linkyapi-solutions__arrow--next { right: clamp(12px, 2vw, 34px); }
.linkyapi-solutions__arrow:hover { background: #1b2025; color: #fff; transform: translateY(-50%) scale(1.04); }
.linkyapi-solutions__arrow svg { width: 21px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }

.linkyapi-solutions__dots {
    display: flex;
    justify-content: center;
    gap: 9px;
    margin-top: 12px;
}

.linkyapi-solutions__dots button {
    width: 9px;
    height: 9px;
    min-width: 0;
    min-height: 0;
    padding: 0;
    border: 1px solid rgba(255,255,255,.95);
    border-radius: 50%;
    background: transparent;
    cursor: pointer;
    transition: width .2s ease, background-color .2s ease;
}

.linkyapi-solutions__dots button.is-active { width: 25px; border-radius: 10px; background: #fff; }

@media (max-width: 1024px) {
    .linkyapi-solutions__track {
        padding-inline: max(64px, calc((100vw - min(340px, 66vw)) / 2 - clamp(18px, 4.2vw, 80px)));
    }
    .linkyapi-solutions__card { flex-basis: min(340px, 66vw); height: 520px; }
}

@media (max-width: 767px) {
    .linkyapi-solutions-hub-lead {
        margin-bottom: 36px !important;
        font-size: 17px;
        line-height: 1.65;
    }
    .linkyapi-solutions--hub { padding: 0 0 20px; }
    .linkyapi-solutions { padding: 26px 14px 25px; }
    .linkyapi-solutions__panel { padding: 38px 0 32px; clip-path: polygon(28px 0, 100% 0, 100% 100%, 0 100%, 0 28px); }
    .linkyapi-solutions__header { width: calc(100% - 36px); padding: 0 8px; }
    .linkyapi-solutions__header h2 { font-size: 34px !important; }
    .linkyapi-solutions__stage { margin-top: 58px; }
    .linkyapi-solutions__track { gap: 14px; padding: 12px calc((100vw - min(330px, calc(100vw - 58px))) / 2 - 14px) 20px; }
    .linkyapi-solutions__card { flex-basis: min(330px, calc(100vw - 58px)); height: 520px; transform: scale(.965); opacity: .78; }
    .linkyapi-solutions__card.is-active { transform: scale(1); }
    .linkyapi-solutions__content { padding: 30px 22px 25px; }
    .linkyapi-solutions__content h3 { font-size: 23px !important; }
    .linkyapi-solutions__content h4 { font-size: 13px !important; }
    .linkyapi-solutions__content p { font-size: 12.5px; -webkit-line-clamp: 5; }
    .linkyapi-solutions__arrow { width: 38px; height: 38px; top: 47%; }
    .linkyapi-solutions__arrow--prev { left: 5px; }
    .linkyapi-solutions__arrow--next { right: 5px; }
    .linkyapi-solutions__dots { margin-top: 9px; }
}

@media (prefers-reduced-motion: reduce) {
    .linkyapi-solutions__viewport { scroll-behavior: auto; }
    .linkyapi-solutions__card,
    .linkyapi-solutions__card > img,
    .linkyapi-solutions__button,
    .linkyapi-solutions__arrow { transition: none; }
}
