/* ======================================
ABOUT
====================================== */

.about-section {
    position: relative;
    overflow: hidden;
}

.about-media {
    position: relative;
    padding-right: 80px;
}

.about-image {
    overflow: hidden;
    border-radius: var(--radius-lg);
}

.about-image img {
    width: 100%;
    height: 650px;
    object-fit: cover;
    object-position: top;
}

/* Experience */

.about-experience {
    position: absolute;
    left: -20px;
    bottom: 40px;
    width: 180px;
    padding: 30px;
    background: var(--primary);
    color: var(--white);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-md);
}

.about-experience h3 {
    margin: 0;
    font-size: 48px;
    color: var(--white);
}

.about-experience span {
    display: block;
    margin-top: 8px;
    font-size: 14px;
}

/* Projects */
.about-projects {
    position: absolute;
    top: 50px;
    right: 0;
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 20px;
    background: var(--white);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-md);
}

.about-project-icon {
    width: 60px;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(20, 175, 195, .1);
    color: var(--primary);
    border-radius: 50%;
    font-size: 22px;
}

.about-projects h5 {
    margin: 0;
}

.about-projects p {
    margin: 0;
    font-size: 14px;
    color: var(--text);
}

/* Features */
.about-feature {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 18px;
    background: var(--light);
    border-radius: var(--radius);
}

.about-feature i {
    color: var(--primary);
}

.about-feature span {
    font-weight: 600;
}

/* ======================================
RESPONSIVE
====================================== */

@media(max-width:991px) {
    .about-media {
        padding-right: 0;
    }

    .about-image img {
        height: 550px;

    }

    .about-projects {
        right: 20px;
    }

    .about-experience {
        left: 20px;
    }
}

@media(max-width:767px) {
    .about-image img {
        height: 400px;
    }

    .about-projects {
        position: relative;
        top: auto;
        right: auto;
        margin-top: 20px;
        width: 100%;
    }

    .about-experience {
        position: relative;
        left: auto;
        bottom: auto;
        margin-top: 20px;
        width: 100%;
    }

    .about-experience h3 {
        font-size: 36px;
    }

}

@media(max-width:575px) {
    .about-image img {
        height: 400px;
    }

    .about-feature {
        padding: 15px;
    }

}

/* ==================================
COUNTER SECTION
================================== */

.counter-section {
    position: relative;
    overflow: hidden;
    padding: 120px 0;
}

/* Video */

.counter-video {
    position: absolute;
    inset: 0;

    width: 100%;
    height: 100%;

    object-fit: cover;

    z-index: 1;
}

/* Overlay */

.counter-overlay {
    position: absolute;
    inset: 0;

    background:
        linear-gradient(90deg,
            rgba(15, 23, 32, .92),
            rgba(15, 23, 32, .82));

    z-index: 2;
}

/* Content */

.counter-section .container {
    position: relative;
    z-index: 3;
}

/* Heading */

.counter-heading {
    margin-bottom: 30px;
}

.counter-heading h2 {
    color: var(--white);
    margin-top: 15px;
}

.counter-heading p {
    max-width: 700px;
    margin: auto;
}

/* Cards */

.counter-box {

    position: relative;

    height: 100%;

    text-align: center;

    padding: 40px 25px;

    background:
        rgba(255, 255, 255, .06);

    backdrop-filter: blur(12px);

    border:
        1px solid rgba(255, 255, 255, .08);

    border-radius: var(--radius-lg);

    transition: var(--transition);

    overflow: hidden;
}

/* Top Accent */

.counter-box::before {

    content: '';

    position: absolute;

    left: 0;
    top: 0;

    width: 100%;
    height: 4px;

    background: var(--primary);

    transform: scaleX(0);

    transition: .4s ease;
}

.counter-box:hover::before {
    transform: scaleX(1);
}

.counter-box:hover {

    transform: translateY(-10px);

    background:
        rgba(20, 175, 195, .12);

    box-shadow: var(--shadow-lg);
}

/* Icon */

.counter-icon {

    width: 90px;
    height: 90px;

    margin: 0 auto 25px;

    border-radius: 50%;

    background:
        rgba(20, 175, 195, .15);

    color: var(--primary);

    display: flex;
    align-items: center;
    justify-content: center;

    font-size: 36px;

    transition: var(--transition);
}

.counter-box:hover .counter-icon {

    background: var(--primary);

    color: #fff;

    transform: rotateY(180deg);
}

/* Number */

.counter-number {

    color: #fff;

    font-weight: 800;

    margin-bottom: 10px;

    line-height: 1;
}

/* Label */
.counter-box h6 {
    color:
        rgba(255, 255, 255, .85);
    margin: 0;
    font-weight: 500;
}

/* ==================================
RESPONSIVE
================================== */

@media(max-width:1199px) {
    .counter-section {
        padding: 100px 0;
    }

    .counter-box {
        padding: 35px 20px;
    }
}

@media(max-width:991px) {
    .counter-section {
        padding: 90px 0;
    }

    .counter-icon {
        width: 80px;
        height: 80px;
        font-size: 30px;
    }

    .counter-box {
        padding: 30px 20px;
    }
}

@media(max-width:767px) {
    .counter-section {
        padding: 80px 0;
    }

    .counter-heading {
        margin-bottom: 20px;
    }

    .counter-icon {
        width: 70px;
        height: 70px;
        font-size: 28px;
        margin-bottom: 20px;
    }

    .counter-box {

        padding: 25px 20px;
    }

    .counter-number {
        margin-bottom: 8px;
    }
}

@media(max-width:575px) {
    .counter-section {
        padding: 70px 0;
    }

    .counter-box {
        padding: 25px 15px;
        border-radius: var(--radius);
    }

    .counter-icon {
        width: 65px;
        height: 65px;
        font-size: 24px;
    }
}

/*  */
/* ==================================
VIDEO SECTION
================================== */

.video-section {
    background: var(--light);
    overflow: hidden;
}

/* Navigation */

.video-nav {
    display: flex;
    justify-content: flex-end;
    gap: 12px;
}

.video-prev,
.video-next {
    width: 55px;
    height: 55px;
    border: 2px solid var(--primary);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: var(--primary);
    transition: var(--transition);
}

.video-prev:hover,
.video-next:hover {
    background: var(--primary);
    color: #fff;
}

/* Card */

.video-card {
    background: #fff;
    border-radius: var(--radius-lg);
    overflow: hidden;
    box-shadow: var(--shadow-sm);
    transition: var(--transition);
    height: 100%;
}

.video-card:hover {
    transform: translateY(-10px);
    box-shadow: var(--shadow-md);
}

/* Thumbnail */
.video-thumb {
    position: relative;
    overflow: hidden;
    aspect-ratio: 16/9;
}

.video-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: .7s;
}

.video-card:hover img {
    transform: scale(1.08);
}

/* Overlay */
.video-thumb::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(to top,
            rgba(0, 0, 0, .65),
            transparent);
}

/* Play */

.video-play {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 70px;
    height: 70px;
    border-radius: 50%;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--primary);
    text-decoration: none;
    transition: .35s;
}

.video-play:hover {
    background: var(--primary);
    color: #fff;
    transform: translate(-50%, -50%) scale(1.1);
}

/* Category */
.video-category {
    position: absolute;
    left: 20px;
    top: 20px;
    background: var(--primary);
    color: #fff;
    padding: 8px 15px;
    border-radius: 50px;
}

/* Content */

.video-content {
    padding: 25px;
}

.video-content h4 {
    margin-bottom: 15px;
}

.video-content p {
    margin: 0;
    color: var(--text);
}

/* Mobile */
@media(max-width:991px) {
    .video-nav {
        justify-content: flex-start;
        margin-top: 25px;
    }
}

@media(max-width:767px) {
    .video-nav {
        justify-content: center;
    }

    .video-content {
        padding: 20px;
    }

    .video-play {
        width: 60px;
        height: 60px;
    }
}

/* ==================================
CLIENTS
================================== */

.clients-section {
    background: var(--white);
    overflow: hidden;
}

.client-slider-wrap {
    margin-top: 20px;
}

.client-card {

    position: relative;

    height: 180px;

    background: var(--white);

    border-radius: var(--radius-lg);

    display: flex;

    align-items: center;

    justify-content: center;

    padding: 30px;

    overflow: hidden;

    box-shadow: var(--shadow-sm);

    transition: var(--transition);

    z-index: 1;
}

/* Animated Border */

.client-card::before {
    content: "";
    position: absolute;
    inset: -2px;
    border-radius: inherit;
    background: linear-gradient(90deg,
            transparent,
            var(--primary),
            transparent);
    animation: borderRotate 4.1s linear infinite;
    z-index: -2;
}

/* White Inner Background */

.client-card::after {

    content: "";
    position: absolute;
    inset: 2px;
    background: #fff;
    border-radius: calc(var(--radius-lg) - 2px);
    z-index: -1;
}

@keyframes borderRotate {

    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }

}

.client-card:hover {
    transform: translateY(-8px);
    box-shadow: var(--shadow-md);
}

.client-card img {
    max-width: 180px;
    max-height: 180px;
    object-fit: contain;
    transition: .4s ease;
    filter: grayscale(100%);
}

.client-card:hover img {

    filter: none;

    transform: scale(1.05);
}