/* =========================================================
   Company About - "Transforming..." Text+Image Block
   ملف مستقل تمامًا عن باقي السكاشن
   ========================================================= */

:root {
    --ca-main: #222168;
    --ca-second: #6bbdcd;
    --ca-white: #ffffff;
    --ca-text: #4a4a5a;
    --ca-font: 'Plus Jakarta Sans', sans-serif;
}

.ca-transforming * {
    box-sizing: border-box;
}

.ca-transforming {
    direction: ltr;
    font-family: var(--ca-font);
    position: relative;
    width: 100%;
    padding: 150px 0;
    overflow: hidden;
}

.ca-transforming__band {
    position: absolute;
    inset: -50px 0;
    background: linear-gradient(120deg, rgba(34, 33, 104, 0.05), rgba(107, 189, 205, 0.14));
    transform: skewY(-2.5deg);
    z-index: 0;
}

.ca-transforming__inner {
    position: relative;
    z-index: 1;
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 40px;
    display: flex;
    align-items: center;
    gap: 90px;
}

.ca-transforming__text {
    flex: 1;
    order: 1;
    display: flex;
    flex-direction: column;
    gap: 18px;

    opacity: 0;
    transform: translateY(28px);
    transition: opacity 0.75s cubic-bezier(0.22, 0.61, 0.36, 1), transform 0.75s cubic-bezier(0.22, 0.61, 0.36, 1);
}

.ca-transforming.ca-in-view .ca-transforming__text {
    opacity: 1;
    transform: translateY(0);
}

.ca-transforming__heading {
    font-size: 30px;
    font-weight: 800;
    color: var(--ca-main);
    margin: 0;
    line-height: 1.3;
}

.ca-transforming__desc {
    font-size: 16px;
    line-height: 1.85;
    color: var(--ca-text);
    margin: 0;
}

.ca-transforming__media {
    flex: 1;
    order: 2;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;

    opacity: 0;
    transform: scale(0.92);
    transition: opacity 0.8s ease 0.15s, transform 0.8s ease 0.15s;
}

.ca-transforming.ca-in-view .ca-transforming__media {
    opacity: 1;
    transform: scale(1);
}

.ca-transforming__blob {
    position: relative;
    width: 100%;
    height: 360px;
    border-radius: 42% 58% 66% 34% / 45% 38% 62% 55%;
    background: linear-gradient(135deg, rgba(34, 33, 104, 0.08), rgba(107, 189, 205, 0.18));
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 30px 60px rgba(34, 33, 104, 0.1);
    overflow: hidden;
}

.ca-transforming__blob img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* ---------- Decorative icon graphic (no photo needed) ---------- */
.ca-transforming__icon {
    position: relative;
    z-index: 1;
    width: 84px;
    height: 84px;
    border-radius: 50%;
    background: var(--ca-white);
    color: var(--ca-main);
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 18px 34px rgba(34, 33, 104, 0.18);
    animation: ca-transforming-float 5s ease-in-out infinite;
}

.ca-transforming__icon svg {
    width: 36px;
    height: 36px;
}

.ca-transforming__dot {
    position: absolute;
    border-radius: 50%;
    background: var(--ca-second);
}

.ca-transforming__dot--1 {
    top: 22%;
    left: 18%;
    width: 16px;
    height: 16px;
    opacity: 0.55;
    animation: ca-transforming-float 4.5s ease-in-out infinite;
}

.ca-transforming__dot--2 {
    bottom: 18%;
    right: 20%;
    width: 22px;
    height: 22px;
    background: var(--ca-main);
    opacity: 0.18;
    animation: ca-transforming-float 6s ease-in-out infinite 0.4s;
}

.ca-transforming__dot--3 {
    top: 62%;
    left: 28%;
    width: 10px;
    height: 10px;
    background: var(--ca-main);
    opacity: 0.4;
    animation: ca-transforming-float 3.8s ease-in-out infinite 0.2s;
}

@keyframes ca-transforming-float {
    0%, 100% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(-12px);
    }
}

@media (prefers-reduced-motion: reduce) {
    .ca-transforming__icon,
    .ca-transforming__dot {
        animation: none;
    }
}

/* ---------- Responsive ---------- */
@media (max-width: 991px) {
    .ca-transforming {
        padding: 56px 0;
    }

    .ca-transforming__band {
        transform: none;
        inset: 0;
    }

    .ca-transforming__inner {
        flex-direction: column;
        padding: 0 24px;
        gap: 20px;
    }

    .ca-transforming__text {
        order: 2;
    }

    .ca-transforming__media {
        order: 1;
    }

    .ca-transforming__blob {
        height: 210px;
    }

    .ca-transforming__heading {
        font-size: 22px;
    }

    .ca-transforming__desc {
        font-size: 14.5px;
    }
}
