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

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

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

.ca-visreal {
    direction: ltr;
    font-family: var(--ca-font);
    position: relative;
    width: 100%;
    background: var(--ca-white);
    padding: 130px 0;
}

.ca-visreal__inner {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 40px;
    display: flex;
    align-items: center;
    gap: 90px;
}

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

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

.ca-visreal.ca-in-view .ca-visreal__media {
    opacity: 1;
    transform: scale(1);
}

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

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

/* ---------- Decorative icon graphic (no photo needed) ---------- */
.ca-visreal__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-visreal-float 5s ease-in-out infinite;
}

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

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

.ca-visreal__dot--1 {
    top: 20%;
    right: 18%;
    width: 16px;
    height: 16px;
    opacity: 0.5;
    animation: ca-visreal-float 4.5s ease-in-out infinite;
}

.ca-visreal__dot--2 {
    bottom: 18%;
    left: 20%;
    width: 22px;
    height: 22px;
    background: var(--ca-second);
    opacity: 0.3;
    animation: ca-visreal-float 6s ease-in-out infinite 0.4s;
}

.ca-visreal__dot--3 {
    top: 60%;
    right: 26%;
    width: 10px;
    height: 10px;
    background: var(--ca-second);
    opacity: 0.6;
    animation: ca-visreal-float 3.8s ease-in-out infinite 0.2s;
}

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

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

.ca-visreal__text {
    flex: 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) 0.15s, transform 0.75s cubic-bezier(0.22, 0.61, 0.36, 1) 0.15s;
}

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

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

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

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

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

    .ca-visreal__blob {
        height: 210px;
    }

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

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