/*------------------------------------------------------------------*\
    5. Pages - About Page
\*------------------------------------------------------------------*/

.section-hero-carousel .hero-vision-text {
    position: relative;
    width: clamp(7.3125rem, 6.41rem + 4.118vw, 15.1875rem);
    height: clamp(7.3125rem, 6.41rem + 4.118vw, 15.1875rem);
    aspect-ratio: 1 / 1;
    border: 1px solid var(--color-accent);
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: var(--fluid-primary-button);
    color: var(--color-accent);
    text-transform: uppercase;
    flex-shrink: 0;
    box-sizing: border-box;
}

/* Description block — fluid layout from mobile to 4K */
.section-hero-carousel .elementor-slide-description {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: var(--space-md);
}

.section-hero-carousel .elementor-slide-description p {
    margin-top: clamp(0.75rem, 0.6204rem + 0.3268vw, 1.875rem);
    line-height: clamp(1.5rem, 1.2972rem + 0.6536vw, 3.375rem) !important;
}

@media screen and (min-width: 1023px) {
    .section-hero-carousel .elementor-slide-description {
        flex-direction: row;
        align-items: center;
        justify-content: start;
        gap: clamp(var(--space-lg), 5.21vw, 12.5rem);
        display: none;
    }

    .section-hero-carousel .elementor-slide-description p {
        position: relative;
        text-align: left;
        width: 49%;
        font-weight: 400;
    }

    .section-hero-carousel .elementor-slide-description p::before {
        content: "";
        position: absolute;
        left: 0;
        top: calc(-1 * clamp(0.75rem, 0.6204rem + 0.3268vw, 1.875rem));
        width: 21.25%;
        height: 1px;
        background-color: var(--color-accent);
    }
}

@media screen and (min-width: 1023px) and (max-width: 1366px) {
    .section-hero-carousel .elementor-slide-description p {
        width: 70%;
    }
}

/* Hidden by default — revealed by JS animation */
.about-hero-carousel .elementor-slide-heading,
.about-hero-carousel .elementor-slide-description p {
    opacity: 0;
}

.counter_number {
    display: flex;
    gap: 12px;
    padding-bottom: 2px;
    height: auto;
}

@media screen and (max-width: 767px) {
    .counter_label {
        text-transform: capitalize;
    }
}

@media screen and (min-width: 1025px) {
    .counter_number {
        display: flex;
        gap: 12px;
        height: 65px;
    }
}

@media screen and (min-width: 1025px) {
    .counter_number {
        display: flex;
        gap: 12px;
    } 
}

@media (max-width: 768px) {
    .section-hero-about-us .elementor-arrows-position-inside .elementor-swiper-button-next {
        left: 80% !important;
        top: 430px !important;
    }
    .section-hero-about-us .elementor-arrows-position-inside .elementor-swiper-button-prev {
        left: 80% !important;
        top: 370px !important;
    }
}

@media (min-width: 2560px) {
    .section-hero-carousel .elementor-slide-heading {
        max-width: 18ch;
        margin-inline: 0;
        text-align: left;
    }
}

/* ==========================================================================
   TEAM — image-box with hover overlay (title + description reveal on hover)
   ========================================================================== */

.section-team .elementor-widget-image-box {
    position: relative;
    overflow: hidden;
}

.section-team .elementor-widget-image-box .elementor-image-box-img {
    margin: 0 !important;
    width: 100% !important;
}

.section-team .elementor-widget-image-box .elementor-image-box-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .5s ease;
}

.section-team .elementor-widget-image-box .elementor-image-box-content {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 24px 103px 69px 54px;
    background: rgba(255, 185, 81, 0); /* transparent --color-primary (#FFB951) */
    transition: background .4s ease;
    z-index: 2;
}

.section-team .elementor-widget-image-box .elementor-image-box-title,
.section-team .elementor-widget-image-box .elementor-image-box-description {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity .4s ease, transform .4s ease;
}

/* HOVER */
.section-team .elementor-widget-image-box:hover .elementor-image-box-content {
    background: var(--color-primary);
}

.section-team .elementor-widget-image-box:hover .elementor-image-box-title,
.section-team .elementor-widget-image-box:hover .elementor-image-box-description {
    opacity: 1;
    transform: translateY(0);
}

.section-team .elementor-widget-image-box:hover .elementor-image-box-img img {
    transform: scale(1.08);
}

/* Title wrapper — spacing below the name/role block */
.section-team .elementor-image-box-title {
    padding-bottom: 56px;
}

.section-team .elementor-image-box-description {
    line-height: 29px !important;
}

/* Name + role — fluid type, scaling proportionally toward the 48px / 17px
   desktop sizes (fluid between ~480px and ~1440px viewports).
   27px gap between name and role. */
.section-team .team-name {
    display: flex;
    flex-direction: column;
    font-size: clamp(32px, calc(24px + 1.667vw), 48px);
    padding-bottom: 27px;
}

.section-team .team-role {
    display: flex;
    flex-direction: column;
    font-size: clamp(14px, calc(12.5px + 0.3125vw), 17px);
}
