/* =========================
    Intro
    ========================= */

.intro {
    padding-top: 48px;
    padding-bottom: 48px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

.intro__content {
    max-width: 580px;
}

.intro__badge {
    align-self: flex-start;
    margin-bottom: 16px;
    border-radius: 8px;
    font-size: 16px;
    line-height: 1.2;
}

.intro .title-section {
    margin-bottom: 16px;
    text-align: left;
}

.intro .text {
    margin-bottom: 32px;
    color: #2A1C14;
}

.intro__content__buttons {
    display: flex;
    gap: 16px;
}

.intro__content__btn.primary-btn {
    --btn-height: 48px;
}

.intro__img__wrapper {
    max-width: 518px;
    width: 100%;
    display: flex;
    justify-content: center;
}

.intro__img {
    position: relative;
    max-width: 404px;
    width: 100%;
    display: flex;
}

.intro__img .background-icon {
    position: absolute;
    top: 0;
    left: -9px;
    width: auto;
    height: auto;
    transform: translateY(-49%);
    z-index: 1;
    pointer-events: none;
}

.intro__img .main-img {
    aspect-ratio: 404 / 474;
    width: 100%;
    height: auto;
    object-fit: cover;
    border-radius: 24px;
}

.intro__bg_image {
    position: absolute;
    bottom: 100px;
    bottom: calc(100px - 48px);
    right: -50px;
    aspect-ratio: 1;
    max-width: 273px;
    width: 100%;
    height: auto;
    z-index: -1;
    pointer-events: none;
}

@media screen and (max-width: 1024px) {
    .intro {
        flex-direction: column;
    }

    .intro__content {
        max-width: none;
    }
}

@media screen and (max-width: 768px) {
    .intro {
        padding-top: 32px;
        padding-bottom: 32px;
    }

    .intro .text {
        margin-bottom: 24px;
        font-size: 16px;
    }

    .intro__content__buttons {
        flex-direction: column;
    }

    .intro__content__btn.primary-btn {
        --btn-width: 100%;
    }

    .intro__img .background-icon {
        max-width: 70px;
        transform: translateY(0);
        top: -12px;
        left: -8px;
    }

    .intro__img .main-img {
        aspect-ratio: 329 / 300;
    }

    .intro__bg_image {
        bottom: calc((32px - 24px) * (-1));
        right: -70px;
        max-width: 172px;
        z-index: 1;
    }
}

/* =========================
    Fixed Buttons
    ========================= */

.fixed-buttons {
    position: fixed;
    bottom: 16px;
    left: 50%;
    transform: translateX(-50%) translateY(200%);
    visibility: hidden;
    display: flex;
    gap: 12px;
    z-index: 12;
    transition: transform .4s ease, visibility .4s ease;
}

.fixed-buttons.is-show {
    transform: translateX(-50%) translateY(0);
    visibility: visible;
}

.fixed-btn {
    --btn-height: 48px;

    box-shadow: 0px 8.97px 24.3px 0px #14142B29;
}

@media screen and (max-width: 1140px) {
    .fixed-buttons {
        bottom: calc(63px + 16px);
    }
}

@media screen and (max-width: 768px) {
    .fixed-buttons {
        width: 100%;
        border: 2px solid var(--border);
        border-bottom: 0;
        border-top-left-radius: 28px;
        border-top-right-radius: 28px;
        padding: 12px 16px;
        background: var(--bg);
        flex-direction: column;
        gap: 8px;
        bottom: 62px;
    }

    .fixed-btn {
        box-shadow: none;
    }
}

/* =========================
    Online Preparation
    ========================= */

.online-preparation__section {
    padding-top: 48px;
    padding-bottom: 48px;
}

.online-preparation {
    position: relative;
    align-items: center;
    gap: 48px;
}

.online-preparation__decor__img {
    position: absolute;
    width: auto;
    height: auto;
    z-index: -1;
}

.online-preparation__decor__img:nth-child(1) {
    top: -36px;
    left: 101px;
}

.online-preparation__decor__img:nth-child(2) {
    top: 12px;
    right: 132px;
}

.online-preparation__decor__img:nth-child(3) {
    top: 164px;
    left: 114px;
}

.online-preparation__decor__img:nth-child(4) {
    top: 145px;
    right: 19px;
}

.online-preparation__decor__img:nth-child(5) {
    bottom: 184px;
    left: -104px;
}

.online-preparation__decor__img:nth-child(6) {
    bottom: 86px;
    right: -36px;
}

.online-preparation__header {
    align-items: center;
    gap: 8px;
}

.online-preparation__badge {
    font-size: 14px;
}

.online-preparation .title-section {
    max-width: 500px;
}

.online-preparation__subtitle {
    max-width: 350px;
    text-align: center;
    font-size: 18px;
    line-height: 1.2;
    color: #5E5E5E;
}

.online-preparation__cards {
    max-width: 702px;
    gap: 16px;
}

.online-preparation__content .card-text__img {
    top: -32px;
    right: -32px;
}

.online-preparation__content__container {
    display: flex;
    gap: 16px;
}

.online-preparation__content__icon__container {
    flex-shrink: 0;
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--orange);
}

.online-preparation__content__icon__container svg,
.online-preparation__content__icon__container img {
    width: 24px;
    height: 24px;
    display: inline-block;
}

@media screen and (max-width: 1024px) {
    .online-preparation__decor__img {
        display: none;
    }
}

@media screen and (max-width: 768px) {
    .online-preparation__section {
        padding-top: 32px;
        padding-bottom: 32px;
    }

    .online-preparation {
        gap: 24px;
    }

    .online-preparation__header {
        width: 100%;
        align-items: flex-start;
        gap: 16px;
    }

    .online-preparation__badge {
        align-self: flex-start;
        border-radius: 8px;
    }

    .online-preparation .title-section {
        max-width: none;
        text-align: left;
    }

    .online-preparation__subtitle {
        max-width: none;
        text-align: left;
        font-size: 16px;
    }

    .online-preparation__content__container {
        flex-direction: column;
    }
}

/* =========================
   Resume
   ========================= */

.resume {
    --padding: 40px;
    --text-align: center;

    padding-top: 48px;
    padding-bottom: 48px;
}

.resume__container {
    padding: 22px;
    background: var(--border);
    border-radius: 38px;
}

.resume__background {
    padding: 48px 0 48px;
    padding-left: var(--padding);
    background: var(--bg);
    border-radius: 38px;
    gap: 48px;
}

.resume__top {
    gap: 24px;
}

.resume__top .title-section {
    padding-right: var(--padding);
    text-align: var(--text-align);
}

.resume__top .text {
    margin: 0 auto;
    padding-right: var(--padding);
    max-width: 650px;
    text-align: center;
    color: #5E5E5E;
    text-align: var(--text-align);
}

.resume-templates.cards-swiper .cards-swiper__wrapper::before,
.resume-templates.cards-swiper .cards-swiper__wrapper::after {
    content: "";
    position: absolute;
    top: 0;
    left: -1px;
    width: 226px;
    height: 100%;
    transition: all 0.4s;
    z-index: 2;
    pointer-events: none;
    background: linear-gradient(90deg, #FFFFFF 26.45%, rgba(255, 255, 255, 0) 100%);
}

.resume-templates.cards-swiper .cards-swiper__wrapper::after {
    right: -1px;
    left: auto;
    background: linear-gradient(-90deg, #FFFFFF 26.45%, rgba(255, 255, 255, 0) 100%);
}

.resume-templates.cards-swiper.is-beginning .cards-swiper__wrapper::before,
.resume-templates.cards-swiper.is-end .cards-swiper__wrapper::after {
    visibility: hidden;
    opacity: 0;
}

.resume-templates .swiper-slide {
    display: inline-flex;
    box-sizing: content-box;
}

.resume-templates .swiper-slide:last-child .resume-template__wrapper {
    padding-right: 16px;
}

.resume-template__wrapper {
    aspect-ratio: 300 / 425;
    display: inline-flex;
    height: 100%;
}

.resume-templates .template {
    position: relative;
    height: 100%;
    display: inline-flex;
    border-width: 2px;
    border-bottom-width: 3px;
    border-style: solid;
    border-color: var(--border);
    border-radius: 16px;
    overflow: hidden;
    transition: border-color .4s ease;
    will-change: border-color, border-width;
}

.resume-templates .template.active {
    border-color: var(--orange);
}

@media (hover: hover) and (pointer: fine) {
    .resume-templates .template:hover {
        border-color: var(--orange);
    }
}

.resume-templates .template img {
    height: 100%;
    object-fit: cover;
}

.resume-templates .template .template-info {
    width: calc(100% - 12px);
    display: flex;
    align-items: center;
    gap: 8px;
    position: absolute;
    bottom: .75rem;
    left: 0;
    right: 0;
    margin: 0 auto;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity .4s ease, visibility .4s ease;
}

.resume-templates .template.active .template-info {
    opacity: 1;
    visibility: visible;
    pointer-events: all;
}

@media (hover: hover) and (pointer: fine) {
    .resume-templates .template:hover .template-info {
        opacity: 1;
        visibility: visible;
        pointer-events: all;
    }
}

.resume-templates .template .colors {
    display: flex;
    gap: .25rem;
    padding: .25rem;
    border-radius: 6.25rem;
    border: .0625rem solid #F2F2F2;
    backdrop-filter: blur(.25rem);
    box-shadow: 0 .0469rem .2806rem 0 #14142B14;
    width: fit-content;
}

.resume-templates .template .color {
    width: 1.5rem;
    height: 1.5rem;
    border: .0625rem solid #F2F2F2;
    border-radius: 6.25rem;
    cursor: pointer;
    background-color: var(--template-color);
}

.resume-templates .template .color .is_active {
    width: 100%;
    height: 100%;
    border-radius: 6.25rem;
    background-color: #FFFFFF;
    border: .375rem solid var(--template-color);
    opacity: 0;
    transition: opacity .2s;
}

@media(hover: hover) and (pointer: fine) {
    .resume-templates .template .color:hover .is_active {
        opacity: 1;
    }
}

.resume-templates .template .color.active .is_active {
    opacity: 1;
}

.resume-templates .template .template-info__btn {
    --btn-height: 48px;
    --btn-width: 100%;
}

.resume-templates .cards-swiper__navigation {
    width: calc(100% - 8px);
}

.universal-card-wrapper.resume__bottom {
    width: calc(100% - var(--padding));
    padding: 32px;
    border-radius: 28px;
    display: flex;
    align-items: center;
    gap: 16px;
}

.resume__bottom__item {
    flex-grow: 1;
    gap: 24px;
}

.resume__bottom__item .top {
    gap: 8px;
}

.resume__bottom__item .top__title {
    font-size: 28px;
    font-weight: 600;
    line-height: 1.2;
}

.resume__bottom__item .top__text {
    font-size: 16px;
    line-height: 1.2;
    color: #5E5E5E;
}

.resume__bottom__item .buttons {
    display: flex;
    gap: 16px;
}

.resume__bottom__item .buttons .primary-btn {
    --btn-height: 48px;
}

.resume__bottom__item .bottom {
    width: 100%;
    padding: 1.25rem 1.5rem;
    display: flex;
    align-items: start;
    gap: .5rem;
    background-color: #F7F7F7;
    border-width: .0625rem .0625rem .1875rem .0625rem;
    border-style: solid;
    border-color: #F2F2F2;
    border-radius: 1rem;
}

.resume__bottom__item .bottom-img {
    flex-shrink: 0;
    width: 24px;
    height: 24px;
}

.resume__bottom__item .bottom-texts {
    gap: 4px;
}

.resume__bottom__item .bottom-text {
    font-size: 14px;
    line-height: 1.2;
}

.resume__bottom__item .bottom-text:last-child {
    color: #919292;
}

.resume__bottom__item.second {
    padding: 0 20px;
    gap: 12px;
}

.resume__bottom__item__message__wrapper {
    display: flex;
    align-items: flex-end;
    gap: 8px;
}

.resume__bottom__item__message__wrapper.second {
    align-self: flex-end;
}

.resume__bottom__item__message__wrapper .avatar__icon__wrapper {
    position: relative;
    flex-shrink: 0;
    width: 40px;
    height: 40px;
}

.resume__bottom__item__message__wrapper .avatar__icon {
    height: 100%;
    border-radius: 50%;
}

.resume__bottom__item__message__wrapper img.avatar__icon {
    object-fit: cover;
}

.resume__bottom__item__message__wrapper.first img.avatar__icon {
    object-position: top;
}

.resume__bottom__item__message__wrapper .avatar__dot {
    flex-shrink: 0;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    border-style: solid;
    background: #4CE417;
    display: inline-block;
    position: absolute;
    bottom: 0;
    right: 0;
}

.resume__bottom__item__message__wrapper.first .avatar__dot {
    border-width: 2px;
    border-color: var(--bg);
}

.resume__bottom__item__message__wrapper.second .avatar__icon {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    border: 1px solid #DDDDDD;
}

.resume__bottom__item__message__wrapper.second .avatar__icon__text {
    font-family: var(--font-sf-pro-display);
    font-size: 16px;
    font-weight: 700;
    line-height: 1.2;
    color: var(--orange);
}

.resume__bottom__item__message__wrapper.second .avatar__dot {
    border-width: 1px;
    border-color: #DDDDDD;
}

.resume__bottom__item__message {
    margin-bottom: 12px;
    padding: 8px 10px;
    border-radius: 8px;
    gap: 6px;
}

.resume__bottom__item__message__wrapper.first .resume__bottom__item__message {
    max-width: 254px;
    background: #F7F7F7;
    border-end-start-radius: 0px;
}

.resume__bottom__item__message__wrapper.second .resume__bottom__item__message {
    max-width: 202px;
    background: #FFDAD1;
    border-end-end-radius: 0px;
}

.resume__bottom__item__message__title {
    font-size: 12px;
    line-height: 1.2;
    color: var(--orange);
}

.resume__bottom__item__message__wrapper.first .resume__bottom__item__message__title {
    font-weight: 500;
}

.resume__bottom__item__message__wrapper.second .resume__bottom__item__message__title {
    font-weight: 600;
}

.resume__bottom__item__message__text {
    font-size: 12px;
    font-weight: 400;
    line-height: 1.2;
}

.resume__bottom__item__message__wrapper.first .resume__bottom__item__message__text {
    color: #505151;
}

@media screen and (max-width: 1024px) {
    .universal-card-wrapper.resume__bottom {
        flex-direction: column;
        align-items: stretch;
    }
}

@media screen and (max-width: 768px) {
    .resume {
        --padding: 16px;
        --text-align: left;

        padding: 0;
    }

    .resume__container {
        padding: 4px;
        padding-bottom: 8px;
    }

    .resume__background {
        padding-top: 32px;
        padding-bottom: 32px;
        gap: 16px;
    }

    .resume__top {
        gap: 16px;
    }

    .resume-templates {
        margin-top: 8px;
    }

    .resume-templates.cards-swiper .cards-swiper__wrapper::before,
    .resume-templates.cards-swiper .cards-swiper__wrapper::after {
        width: 60px;
        background: linear-gradient(-270deg, #FFFFFF 2.35%, rgba(255, 255, 255, 0) 97.94%);
    }

    .resume-templates.cards-swiper .cards-swiper__wrapper::after {
        background: linear-gradient(270deg, #FFFFFF 2.35%, rgba(255, 255, 255, 0) 97.94%);
    }

    .resume__bottom__item .bottom {
        padding: 0.625rem;
    }

    .resume__bottom__item.second {
        display: none;
    }

    .universal-card-wrapper.resume__bottom {
        padding: 24px;
    }

    .resume__bottom__item .top__title {
        font-size: 24px;
    }

    .resume__bottom__item .buttons {
        flex-direction: column;
    }
}

/* =========================
   CV Tariffs
   ========================= */

[data-page="job-help"] .cv-tariffs .container {
    padding-top: 48px;
    padding-bottom: 48px;
}

@media screen and (max-width: 768px) {
    [data-page="job-help"] .cv-tariffs .container {
        padding-top: 32px;
        padding-bottom: 32px;
    }
}

/* =========================
    Aim
    ========================= */

.aim {
    padding: 48px 0;
}

.aim__pin {
    position: sticky;
    top: 15vh;
    height: auto;
    overflow: hidden;
}

.aim__background {
    --c-gap: 32px;
    --c-bg-pad: 22px 22px;
    --c-content-pad: 60px;
    --c-containers-br: 38px;
    padding: var(--c-bg-pad);
    padding-right: 0;
    background: var(--border);
    border-radius: var(--c-containers-br);
}

.aim__background::after {
    content: "";
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 72px;
    height: 400px;
    background: linear-gradient(270deg, #F2F2F2 0%, rgba(242, 242, 242, 0) 100%);
    z-index: 1;
    pointer-events: none;
    transition: opacity 400ms ease;
}

.aim__background.is-end::after {
    opacity: 0;
}

.aim__container__wrapper {
    align-items: center;
    gap: var(--c-gap);
    overflow: hidden;
}

.aim__start-card__wrapper {
    position: relative;
    z-index: 4;
}

.aim__start-card__background {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: var(--border);
    z-index: 1;
    border-bottom-right-radius: 38px;
    border-bottom-left-radius: 38px;
}

.aim__start-card {
    position: relative;
    background: var(--bg);
    border-radius: 38px;
    padding: 48px 40px;
    max-width: 496px;
    min-width: 496px;
    width: 100%;
    gap: 24px;
    z-index: 2;
}

.aim__start-card__content {
    gap: 16px;
}

.aim__start-card__title {
    text-align: start;
}

.aim__start-card__content .text {
    max-width: 100%;
    color: #5E5E5E;
    white-space: pre-line;
}

.aim__start-card__content__socials {
    gap: 12px;
}

.aim__start-card__content__social {
    flex-shrink: 0;
    width: 26px;
    height: 26px;
}

.aim__content {
    padding: 5px 0 5px 4px;
    display: flex;
    width: 100%;
    position: relative;
    z-index: 1;
}

.aim__cards-block {
    position: relative;
    width: 100%;
    display: flex;
}

.aim__cards {
    width: max-content;
    gap: 16px;
    will-change: transform;
    transform: translate3d(0, 0, 0);
}

.aim__card {
    flex-shrink: 0;
    width: 305px;
    background: #E8DAF6;
    border-radius: 12px;
    padding: 5px 5px 10px;
    transform: rotate(1.5deg);
}

.aim__card__container {
    background: var(--bg);
    border-radius: 12px;
    padding: 15px 15px 70px;
    gap: 24px;
}

.aim__card[data-card-id="4"] .aim__card__container {
    justify-content: center;
    padding-bottom: 15px;
}

.aim__card__content {
    gap: 16px;
}

.aim__card__icon {
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #EBEDEF;
    border-radius: 50%;
}

.aim__card__title {
    font-size: 18px;
    line-height: 1.2;
    white-space: pre-line;
}

@media screen and (max-width: 1280px) {
    .aim__start-card {
        min-width: 405px;
    }
}

@media screen and (max-width: 768px) {
    .aim {
        padding: 32px 0;
    }

    .aim__pin {
        top: -12vh;
    }

    .aim__background {
        --c-bg-pad: 16px;
        padding-right: var(--c-bg-pad);
    }

    .aim__background::after {
        display: none;
    }

    .aim__container__wrapper {
        flex-grow: 1;
        flex-direction: column;
        align-items: stretch;
        gap: 27px;
        padding: 10px 5px;
    }

    .aim__start-card__background {
        top: -18px;
        border-bottom-right-radius: 22px;
        border-bottom-left-radius: 22px;
    }

    .aim__start-card {
        max-width: none;
        min-width: 0;
        padding: 22px 18px;
        border-radius: 22px;
    }

    .aim__start-card__title {
        margin-bottom: 16px;
    }

    .aim__start-card__content .text {
        max-width: none;
        white-space: normal;
    }

    .aim__content {
        overflow: visible;
        padding: 0 5px;
        width: 100%;
        min-height: 333px;
        position: relative;
        z-index: 1;
    }

    .aim__content::after {
        content: "";
        position: absolute;
        left: 0;
        right: 0;
        bottom: 0;
        height: 90px;
        pointer-events: none;
        z-index: 10;
        opacity: 1;
        transition: opacity 400ms ease;
        background: linear-gradient(0deg, #F2F2F2 0%, rgba(242, 242, 242, 0) 100%);
    }

    .aim__content.is-end::after {
        opacity: 0;
    }

    .aim__cards-block {
        position: relative;
        width: 100%;
    }

    .aim__cards {
        position: relative;
        width: 100%;
        will-change: transform;
        transform: translate3d(0, 0, 0);
    }

    .aim__card {
        position: absolute;
        left: 0;
        right: 0;
        width: 100%;
        transform: translate3d(0, 0, 0);
        border-radius: 18px;
    }

    .aim__card {
        min-height: 305px;
    }

    .aim__card:nth-child(1) {
        z-index: 4;
    }

    .aim__card:nth-child(2) {
        z-index: 3;
    }

    .aim__card:nth-child(3) {
        z-index: 2;
    }

    .aim__card:nth-child(4) {
        z-index: 1;
    }
}


/* =========================
    Work Search
    ========================= */

.work-search {
    padding-top: 48px;
    padding-bottom: 48px;
    gap: 60px;
}

.work-search__content {
    width: 100%;
    height: 100%;
    justify-content: space-between;
    gap: 16px;
}

.work-search__content.mobile {
    display: none;
}

.work-search__badge {
    align-self: flex-start;
    border-radius: 8px;
    font-size: 16px;
}

.work-search__content h2 {
    text-align: left;
}

.work-search__content__item {
    gap: 16px;
}

.work-search__content__item:first-child {
    padding-bottom: 36px;
}

.work-search__content__item:nth-child(2) {
    max-width: 332px;
    padding: 20px;
    border-radius: 16px;
}

.work-search__content__item.card-text .card-text__img {
    width: 70px;
    height: 70px;
    top: -12px;
    right: -20px;
}

.work-search__content__item__header {
    padding-right: 36px;
}

.work-search__content__item__buttons {
    gap: 8px;
}

.work-search__content__item__btn.primary-btn {
    --btn-height: 48px;
    --btn-width: 100%;
}

.work-search__cards {
    width: 100%;
    gap: 8px;
}

.work-search__card .card-text__content {
    height: 100%;
}

.work-search__card.first .card-text__content {
    justify-content: space-between;
}

.work-search__card.second .card-text__content {
    gap: 24px;
}

@media screen and (max-width: 1024px) {
    .work-search {
        flex-direction: column;
    }

    .work-search__content {
        order: 2;
    }

    .work-search__content.mobile {
        order: 0;
        display: flex;
    }

    .work-search__content.mobile .work-search__content__item:first-child {
        padding-bottom: 0;
    }

    .work-search__content:not(.mobile) .work-search__content__item:first-child {
        display: none;
    }

    .work-search__content__item:nth-child(2) {
        max-width: none;
    }

    .work-search__cards {
        order: 1;
    }
}

@media screen and (max-width: 768px) {
    .work-search {
        padding-top: 32px;
        padding-bottom: 32px;
        gap: 16px;
    }

    .work-search__content__item:nth-child(2) {
        margin-top: 8px;
    }

    .work-search__cards {
        flex-direction: column;
        gap: 16px;
    }
}
