.elementor-423 .elementor-element.elementor-element-b9de13c{--display:flex;}.elementor-423 .elementor-element.elementor-element-78fb7ee{--display:flex;--justify-content:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-portfolio a .elementor-portfolio-item__overlay{background-color:var( --e-global-color-accent );}.elementor-widget-portfolio .elementor-portfolio-item__title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-portfolio .elementor-portfolio__filter{color:var( --e-global-color-text );font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-portfolio .elementor-portfolio__filter.elementor-active{color:var( --e-global-color-primary );}.elementor-423 .elementor-element.elementor-element-2cba353 .elementor-post__thumbnail__link{padding-bottom:calc( 0.75 * 100% );}.elementor-423 .elementor-element.elementor-element-2cba353:after{content:"0.75";position:absolute;color:transparent;}.elementor-423 .elementor-element.elementor-element-2cba353 a .elementor-portfolio-item__overlay{background-color:#61CE7000;}.elementor-423 .elementor-element.elementor-element-2cba353 .elementor-portfolio-item__title{font-family:"Poppins", Sans-serif;font-size:35px;font-weight:700;}@media(min-width:768px){.elementor-423 .elementor-element.elementor-element-b9de13c{--width:100%;}.elementor-423 .elementor-element.elementor-element-78fb7ee{--width:100%;}}/* Start custom CSS for portfolio, class: .elementor-element-2cba353 *//* PORTFOLIO GRID */
.elementor-423 .elementor-element.elementor-element-2cba353 .elementor-portfolio {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(240px, 1fr)) !important;
    gap: 36px !important;
    
}


/* CARD */
.elementor-423 .elementor-element.elementor-element-2cba353 .elementor-portfolio-item {
    position: relative !important;
    overflow: hidden !important;

    min-height: 320px !important;

    border-radius: 34px !important;
    padding: 18px !important;

    background:
        radial-gradient(circle at top left, rgba(0,217,255,.10), transparent 34%),
        linear-gradient(180deg, rgba(5,17,28,.94), rgba(2,8,15,.985));

    border: 1px solid rgba(0,217,255,.16) !important;

    box-shadow:
        0 0 34px rgba(0,217,255,.10),
        inset 0 1px 0 rgba(255,255,255,.04);

    transition:
        transform .28s ease,
        box-shadow .28s ease,
        border-color .28s ease;
}

/* LINK */
.elementor-423 .elementor-element.elementor-element-2cba353 .elementor-portfolio-item__link {
    position: relative !important;
    display: block !important;

    width: 100% !important;
    height: 100% !important;
    min-height: 284px !important;

    overflow: hidden !important;
    border-radius: 22px !important;
}

/* IMAGE WRAPPER */
.elementor-423 .elementor-element.elementor-element-2cba353 .elementor-portfolio-item__img {
    position: absolute !important;
    inset: 0 !important;

    width: 100% !important;
    height: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    overflow: hidden !important;
    border-radius: 22px !important;

    transform: none !important;
}

/* IMAGE */
.elementor-423 .elementor-element.elementor-element-2cba353 .elementor-portfolio-item__img img {
    display: block !important;

    width: 100% !important;
    height: 100% !important;

    object-fit: cover !important;
    object-position: center !important;

    border-radius: 22px !important;

    transition:
        filter .35s ease,
        box-shadow .35s ease;
}


/* OVERLAY */
.elementor-423 .elementor-element.elementor-element-2cba353 .elementor-portfolio-item__overlay {
    position: absolute !important;
    inset: 0 !important;

    display: flex !important;
    align-items: flex-end !important;
    justify-content: flex-start !important;

    padding: 28px !important;

    background:
        linear-gradient(
            180deg,
            rgba(2,8,15,0) 35%,
            rgba(2,8,15,.62) 100%
        ) !important;

    opacity: 1 !important;
    border-radius: 22px !important;

    transform: none !important;
}

/* TITLE */
.elementor-423 .elementor-element.elementor-element-2cba353 .elementor-portfolio-item__title {
    position: relative !important;

    color: #ffffff !important;

    font-size: 24px !important;
    font-weight: 900 !important;
    line-height: 1.1 !important;

    text-shadow:
        0 0 16px rgba(0,0,0,.75),
        0 0 18px rgba(0,217,255,.25);

    transform: none !important;

    transition:
        color .25s ease,
        text-shadow .25s ease;
}

/* CARD HOVER ONLY */
.elementor-423 .elementor-element.elementor-element-2cba353 .elementor-portfolio-item:hover {
    transform: translateY(-6px) !important;

    border-color: rgba(0,217,255,.38) !important;

    box-shadow:
        0 0 42px rgba(0,217,255,.20),
        inset 0 1px 0 rgba(255,255,255,.06);
}

/* IMAGE HOVER — NO MOVEMENT */
.elementor-423 .elementor-element.elementor-element-2cba353 .elementor-portfolio-item:hover img {
    filter:
        brightness(1.05)
        contrast(1.03);

    box-shadow:
        0 0 28px rgba(0,217,255,.16);
}

/* TITLE HOVER */
.elementor-423 .elementor-element.elementor-element-2cba353 .elementor-portfolio-item:hover .elementor-portfolio-item__title {
    color: #72d9ff !important;

    text-shadow:
        0 0 18px rgba(0,217,255,.45),
        0 0 20px rgba(0,0,0,.8);
}

/* CYAN LINE */
.elementor-423 .elementor-element.elementor-element-2cba353 .elementor-portfolio-item::after {
    content: "";

    position: absolute;
    left: 0;
    bottom: 0;

    z-index: 5;

    width: 100%;
    height: 2px;

    background:
        linear-gradient(90deg, transparent, #00D9FF, transparent);

    opacity: .45;
    pointer-events: none;

    animation: remPortfolioLine 3.5s ease-in-out infinite;
}

.elementor-423 .elementor-element.elementor-element-2cba353 .elementor-portfolio-item:hover::after {
    opacity: 1;
    filter: drop-shadow(0 0 8px #00D9FF);
}

@keyframes remPortfolioLine {
    0% {
        opacity: .25;
        transform: translateX(-8%);
    }

    50% {
        opacity: .7;
        transform: translateX(8%);
    }

    100% {
        opacity: .25;
        transform: translateX(-8%);
    }
}

/* TABLET */
@media (max-width: 1024px) {
    .elementor-423 .elementor-element.elementor-element-2cba353 .elementor-portfolio {
        grid-template-columns: repeat(2, minmax(220px, 1fr)) !important;
        gap: 28px !important;
    }
}

/* УБИРАЕМ НАСТОЯЩУЮ ПУСТУЮ КАРТОЧКУ */
.elementor-423 .elementor-element.elementor-element-2cba353 .elementor-portfolio-item:not(:has(img)) {
    display: none !important;
}

/* ЦЕНТРИРУЕМ ДВЕ КАРТОЧКИ ПОСЛЕДНЕГО РЯДА */
.elementor-423 .elementor-element.elementor-element-2cba353 .elementor-portfolio-item:nth-last-child(2):nth-child(3n + 1),
.elementor-423 .elementor-element.elementor-element-2cba353 .elementor-portfolio-item:last-child:nth-child(3n + 2) {
    transform: translateX(calc(50% + 18px)) !important;
}

/* Сохраняем подъём карточек при наведении */
.elementor-423 .elementor-element.elementor-element-2cba353 .elementor-portfolio-item:nth-last-child(2):nth-child(3n + 1):hover,
.elementor-423 .elementor-element.elementor-element-2cba353 .elementor-portfolio-item:last-child:nth-child(3n + 2):hover {
    transform:
        translateX(calc(50% + 18px))
        translateY(-6px) !important;
}

/* MOBILE */
@media (max-width: 767px) {
    .elementor-423 .elementor-element.elementor-element-2cba353 .elementor-portfolio {
        grid-template-columns: 1fr !important;
        gap: 24px !important;
    }

    .elementor-423 .elementor-element.elementor-element-2cba353 .elementor-portfolio-item {
        min-height: 280px !important;
        padding: 14px !important;
        border-radius: 24px !important;
    }

    .elementor-423 .elementor-element.elementor-element-2cba353 .elementor-portfolio-item__link {
        min-height: 252px !important;
        border-radius: 18px !important;
    }

    .elementor-423 .elementor-element.elementor-element-2cba353 .elementor-portfolio-item__img,
    .elementor-423 .elementor-element.elementor-element-2cba353 .elementor-portfolio-item__img img,
    .elementor-423 .elementor-element.elementor-element-2cba353 .elementor-portfolio-item__overlay {
        border-radius: 18px !important;
    }

    .elementor-423 .elementor-element.elementor-element-2cba353 .elementor-portfolio-item__title {
        font-size: 22px !important;
    }
    
}/* End custom CSS */