* {
    padding: 0;
    margin: 0;
    box-sizing: border-box;

    direction: rtl;
}

html,
body {
    width: 100%;
    min-height: 100%;
    overflow-x: hidden;
    background-color: #ffffff;
}


/* الأب الوحيد اللي الـ JS بيعتمد عليه */
.cards-section {
    width: 100%;
    margin: 0 auto;
    padding: 0 20px;
}

/*
  أي عنصر مباشر داخل cards-section
  هيتعامل كأنه كارت
*/
.cards-section > * {
    min-height: 90vh;
    margin-top: 20px;
    transform-origin: center top;
    background: white;
    overflow: hidden;
}

a {
    text-decoration: none;
}

:root {
    --main_color: #5ddbaa;
    --linear: #1F4737;
    --bold: bold;
    --sbold: sbold;
    --med: med;
    --bg: #050d1f;
    --bg2: #071428;
    --accent: #00c8ff;
    --accent2: #0077ff;
    --glow: rgba(0, 200, 255, 0.18);
    --card-bg: #0a1a35;
    --radius: 28px;
    --frame-bg: #111c32;
    --color-primary: #3aaa7a;
    --color-primary-dark: #2e8f63;
    --color-border: #e0e0e0;
    --color-input-bg: #fff;
    --color-placeholder: #aaa;
    --radius-input: 6px;
    --radius-card: 12px;
    --clr-primary: #3aaa7a;
    --clr-primary-dark: #2e8f63;
    --clr-border: #e0e0e0;
    --clr-bg: #f5f6f8;
    --clr-white: #fff;
    --clr-text: #1a1a1a;
    --clr-muted: #888;
    --radius-card: 12px;
    --radius-input: 7px;
    --clr-white: #fff;
    --clr-bg: #f5f6f8;
    --clr-text: #1a1a1a;
    --clr-muted: #777;
    --clr-border: #e8e8e8;
    --radius-card: 14px;

    --clr-step-1: #1D9E75;
    --clr-step-1-bg: #E1F5EE;
    --clr-step-2: #7F77DD;
    --clr-step-2-bg: #EEEDFE;
    --clr-step-3: #D85A30;
    --clr-step-3-bg: #FAECE7;
    --clr-step-4: #378ADD;
    --clr-step-4-bg: #E6F1FB;

    --clr-primary: #3aaa7a;
    --side-width: 360px;
}

/* ############################################################################# */


header {
    position: absolute;
    width: 100%;
    top: 0;
    left: 0;
    z-index: 50000;
}

header .Header_Content {
    width: 80%;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 0;
}

header .Header_Content nav ul {
    list-style: none;
}

header .Header_Content nav ul li {
    display: inline-block;
    margin-left: 20px;
}

header .Header_Content nav ul li a {
    text-decoration: none;
    color: #fff;
    font-size: 20px;
    font-family: var(--sbold);
}


header .Contatc {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #fff;

}

header .Contatc img {
    border-right: 1px solid #fff;
    padding: 8px;
}

header .Contatc a {
    color: #fff;
    font-family: var(--sbold);
    background: linear-gradient(328deg, var(--main_color), var(--linear));
    padding: 6px;
    width: 130px;
    text-align: center;
    border-radius: 8px;
}


.hero_section {
    background-image: url('../images/hero.png');
    background-size: cover;
    background-position: center;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: start;
    gap: 20px;
}

.hero_section .hero_content {
    width: 80%;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 60px;
    position: relative;
    z-index: 2;
}

.hero_section .hero_text {
    flex: 0 0 52%;
    max-width: 680px;
}

.hero_section .hero_cloud {
    flex: 0 0 44%;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    direction: ltr;
}

/* .hero_section .hero_content h1{
    color: #fff;
    font-family: var(--bold);
    margin-bottom: 30px;
    font-size: 48px;
} */

.hero_content h1 {
    font-size: 48px;
    font-family: 700;
    margin: 0 0 1.2rem;
    display: flex;
    align-items: center;
    justify-content: start;
    gap: 14px;
    white-space: nowrap;
    font-family: var(--bold);
    color: #fff;
}

.slider-wrapper {
    display: inline-block;
    height: 3.4rem;
    overflow: hidden;
    vertical-align: middle;
}

.slider-track {
    display: flex;
    flex-direction: column;
    animation: slideUp 20s linear infinite;
    gap: 25px;
}

/* نكرر الكلمات مرتين عشان اللف يبان سلس */
@keyframes slideUp {
    0% {
        transform: translateY(0);
    }
    100% {
        transform: translateY(-50%);
    }
}

.slider-item {
    height: 3.4rem;
    line-height: 3.4rem;
    font-size: 2.8rem;
    font-family: 700;
    color: #fff;
    white-space: nowrap;
}

.hero_section .hero_content p {
    color: #fff;
    font-family: var(--med);
    font-size: 24px;
    width: 612px;
}


.marquee {
    width: 100vw;
    max-width: 100%;
    height: 60px;
    overflow: hidden;
    background: linear-gradient(328deg, var(--main_color), var(--linear));
    position: relative;
}

.track {
    display: flex;
    align-items: center;
    height: 60px;
    position: absolute;
    left: 0;
    top: 0;
    white-space: nowrap;
    will-change: transform;
}

.marquee-item {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: #fff;
    font-size: 1rem;
    font-family: 600;
    padding: 0 40px;
    border-right: 1px solid rgba(255, 255, 255, 0.25);
    flex-shrink: 0;
    font-family: var(--bold);
}

.marquee-item img {
    width: 28px;
    height: 28px;
    flex-shrink: 0;
}


/* Start About Us Section */
/* Start About Us Section */
.About_Us {
    padding: 60px 0;
}

.About_Us .About_Us_Data {
    width: 90%;
    margin: 0 auto;
}

.About_Us .About_Us_Data .About_Item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
    margin-bottom: 40px;
    direction: ltr;
}

.About_Us .About_Us_Data .About_Item .img img {
    width: 486px;
    flex-shrink: 0;
    border-radius: 20px;
    height: 313px;
}

.About_Us .About_Us_Data .About_Item .text_box {
    flex: 1;
    border: 2px solid green;
    padding: 50px;
    border-radius: 20px;
    direction: rtl;
    height: 313px;
}

.About_Us .About_Us_Data .About_Item .text_box h2 {
    font-family: var(--bold);
    font-size: 2rem;
    color: #1F4737;
}

.About_Us .About_Us_Data .About_Item .text_box p {
    font-family: var(--med);
    font-size: 1rem;
    line-height: 1.9;
    color: #555;
    margin-top: 20px;
}

.text_box_section_about_2 {
    background: linear-gradient(328deg, var(--main_color), var(--linear));
    color: #fff;
}

.text_box_section_about_2 h2 {
    color: #fff !important;
}

.text_box_section_about_2 p {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #fff !important;
}

.text_box_section_about_2 {
    padding: 19px 50px !important;
}

.Read_More {
    border: 1px solid #fff;
    padding: 10px;
    color: #fff;
    border-radius: 10px;
    display: block;
    width: 150px;
    text-align: center;
    margin-top: 14px;
    font-family: var(--sbold);
}


/* Start Services Sections */
.Services {
    padding: 60px 0;
    background-color: #E6E6E64D;
}

.Services h2 {
    font-family: var(--bold);
    font-size: 32px;
    color: #000;
    text-align: center;
}

.Services .Services_Data {
    width: 90%;
    margin: 40px auto;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.Services .Services_Data .Services_Item {
    width: 100%;
    min-height: 340px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
    background-color: #fff;
    padding: 20px;
    border-radius: 20px;
    position: relative;
    overflow: hidden;
    z-index: 1;
}

.Services .Services_Data .Services_Item::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
            328deg,
            rgba(31, 71, 55, 0.62),
            rgba(75, 173, 135, 0.52)
    );
    z-index: 1;
    transform: translateX(110%);
    transition: transform 0.3s ease-in-out;
    pointer-events: none;
}

.Services .Services_Data .Services_Item:hover::after {
    transform: translateX(0);
}

.Services .Services_Data .Services_Item .bg_serv {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 1;
    z-index: 0;
    transform: translateX(110%);
    transition: transform 0.3s ease-in-out;
}

.Services .Services_Data .Services_Item:hover .bg_serv {
    transform: translateX(0);
}

.Services .Services_Data .Services_Item .Icon {
    width: 64px;
    height: 64px;
    object-fit: contain;
    object-position: center;
    position: relative;
    z-index: 3;
    flex: 0 0 64px;
    transition: filter 0.3s ease-in-out;
}

.Services .Services_Data .Services_Item h3 {
    font-family: var(--sbold);
    font-size: 24px;
    line-height: 1.4;
    color: #1F4737;
    position: relative;
    z-index: 3;
    min-height: 68px;
    margin: 0;
    transition: color 0.3s ease-in-out;
}

.Services .Services_Data .Services_Item p {
    font-family: var(--med);
    font-size: 16px;
    line-height: 1.9;
    color: #555;
    position: relative;
    z-index: 3;
    margin: 0;
    flex: 1;
    transition: color 0.3s ease-in-out;
}

.Services .Services_Data .Services_Item a {
    background: linear-gradient(328deg, var(--main_color), var(--linear));
    padding: 10px;
    border-radius: 10px;
    width: 120px;
    min-height: 44px;
    text-align: center;
    color: #fff;
    font-family: var(--sbold);
    position: relative;
    z-index: 3;
    border: 2px solid transparent;
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: auto;
    transition: all 0.3s ease-in-out;
}

.Services .Services_Data .Services_Item:hover .Icon {
    filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(4%) hue-rotate(147deg) brightness(103%) contrast(100%);
}

.Services .Services_Data .Services_Item:hover h3,
.Services .Services_Data .Services_Item:hover p {
    color: #fff;
}

.Services .Services_Data .Services_Item:hover a {
    background: transparent;
    border-color: #fff;
    color: #fff;
}

.Services .Services_Data .Services_Item .corner,
img.corner {
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: 2;
    pointer-events: none;
}

.Read_More_3 {
    background: linear-gradient(328deg, var(--main_color), var(--linear));
    border: 2px solid transparent;
    padding: 10px 18px;
    color: #fff;
    border-radius: 10px;
    width: fit-content;
    min-width: 150px;
    text-align: center;
    margin: 14px auto;
    font-family: var(--bold);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    box-sizing: border-box;
}

.Read_More_3 img {
    transform: translateX(20px);
    width: 52px;
    animation: ReadMoreImage 4s ease-in-out infinite;
}

@keyframes ReadMoreImage {
    0% {
        transform: translateX(20px);
    }

    50% {
        transform: translateX(0);
    }

    100% {
        transform: translateX(20px);
    }
}

@media (max-width: 1200px) {
    .Services .Services_Data {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 767px) {
    .Services {
        padding: 40px 0;
    }

    .Services h2 {
        font-size: 26px;
        width: 90%;
        margin: 0 auto;
    }

    .Services .Services_Data {
        grid-template-columns: 1fr;
        width: 92%;
        margin: 30px auto;
    }

    .Services .Services_Data .Services_Item {
        min-height: 320px;
    }

    .Services .Services_Data .Services_Item .Icon {
        width: 58px;
        height: 58px;
        flex-basis: 58px;
    }

    .Services .Services_Data .Services_Item h3 {
        font-size: 22px;
        min-height: auto;
    }

    .Read_More_3 {
        min-width: 150px;
    }
}

/* ############## Start What We Offer Section ############# */
.Why_Choose .Why_Choose_Data {
    width: 90%;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
    padding: 60px 0;
}

.title {
    font-family: var(--bold);
    font-size: 32px;
    color: #1F4737;
    text-align: center;
    margin-top: 20px;
}

.sub_title {
    font-family: var(--med);
    font-size: 16px;
    line-height: 1.9;
    color: #555;
    text-align: center;
    width: 52%;
    margin: 0 auto;
}

.Why_Choose .Why_Choose_Data .Boxs {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
}

.Why_Choose .Why_Choose_Data .Text h2 {
    font-family: var(--bold);
    font-size: 32px;
    color: #1F4737;
}

.Why_Choose .Why_Choose_Data .Text p {
    font-family: var(--med);
    font-size: 16px;
    line-height: 1.9;
    color: #555;
}

.Why_Choose .Why_Choose_Data .Boxs .Box_item {
    display: flex;
    flex-direction: column;
    justify-content: start;
    gap: 20px;
    border: 2px solid #1F4737;
    padding: 10px 24px;
    border-radius: 20px;
}

.Why_Choose .Why_Choose_Data .Boxs .Box_item h3 {
    font-family: var(--sbold);
    font-size: 24px;
    color: #1F4737;
}

.Why_Choose .Why_Choose_Data .Boxs .Box_item p {
    font-family: var(--med);
    font-size: 16px;
    line-height: 1.9;
    color: #555;
}

.Why_Choose .Why_Choose_Data .Boxs .Box_item img {
    width: 40px;
}

.Why_Choose .Why_Choose_Data .Boxs .Box_item:hover {
    background: linear-gradient(97deg, var(--main_color), var(--linear));
    color: #fff;
    border: none;
}

.Why_Choose .Why_Choose_Data .Boxs .Box_item:hover img {
    filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(4%) hue-rotate(147deg) brightness(103%) contrast(100%);
}

.Why_Choose .Why_Choose_Data .Boxs .Box_item:hover h3,
.Why_Choose .Why_Choose_Data .Boxs .Box_item:hover p {
    color: #fff;
}

.Read_More_2 {
    width: 52%;
    margin-right: unset;
    margin-left: unset;
}

/* ############## Start Clients Analysis Section ############# */

.stats-section {
    background: #1a4a32;
    /* border-radius: 20px; */
    padding: 56px 48px;
    position: relative;
    overflow: hidden;
}

.stats-section::before {
    content: '';
    position: absolute;
    bottom: -50px;
    left: -50px;
    width: 200px;
    height: 200px;
    border-radius: 50%;
    border: 2px solid rgba(255, 255, 255, 0.07);
    pointer-events: none;
}

.stats-grid {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.stat-item {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 14px;
    padding: 0 40px;
    opacity: 0;
    transform: translateY(24px);
    transition: opacity 0.6s ease, transform 0.6s ease;
}

.stat-item:nth-child(1) {
    transition-delay: 0.1s;
}

.stat-item:nth-child(2) {
    transition-delay: 0.25s;
}

.stat-item:nth-child(3) {
    transition-delay: 0.4s;
}

.stat-item.visible {
    opacity: 1;
    transform: translateY(0);
}

.stat-item:not(:last-child) {
    border-left: 1px solid rgba(255, 255, 255, 0.15);
}

.stat-icon img {
    width: 52px;
    height: 52px;
    object-fit: contain;
}

.stat-number {
    font-family: 'Cairo', sans-serif;
    font-size: 30px;
    font-family: 900;
    color: #ffffff;
    direction: ltr;
}

.stat-label {
    font-family: var(--bold);
    font-size: 16px;
    font-family: 600;
    color: #fff;
    text-align: center;
}

@media (max-width: 640px) {
    .stats-grid {
        display: grid !important;
        grid-template-columns: repeat(2, 1fr);
        gap: 28px 16px;
        align-items: stretch;
    }

    .stat-item {
        width: 100%;
        padding: 0 10px 24px;
        border-left: none !important;
        border-bottom: none !important;
    }

    .stat-item:nth-child(3) {
        grid-column: 1 / -1;
        justify-self: center;
        width: calc(50% - 8px);
    }
}

/* Start Portofolio Projects Section */

/* ───── STARFIELD ───── */
.stars {
    position: fixed;
    inset: 0;
    pointer-events: none;
    z-index: 0;
    background: radial-gradient(ellipse at 20% 30%, rgba(0, 120, 255, 0.08) 0%, transparent 60%),
    radial-gradient(ellipse at 80% 70%, rgba(0, 200, 255, 0.06) 0%, transparent 60%);
}

.stars::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image: radial-gradient(circle, rgba(255, 255, 255, 0.7) 1px, transparent 1px),
    radial-gradient(circle, rgba(0, 200, 255, 0.5) 1px, transparent 1px);
    background-size: 200px 200px, 350px 350px;
    background-position: 0 0, 100px 100px;
    animation: twinkle 6s ease-in-out infinite alternate;
}

@keyframes twinkle {
    from {
        opacity: 0.4
    }
    to {
        opacity: 1
    }
}

/* ───── SECTION WRAPPER ───── */
.section {
    position: relative;
    z-index: 1;
    padding: 70px 40px 90px;
    max-width: 1400px;
    margin: 0 auto;
}

/* ───── HEADER ───── */
.section-header {
    text-align: center;
    margin-bottom: 48px;
}

.section-header h2,
.Testmontionals,
.art-header h2 {
    font-size: 2.5rem;
    font-family: 900;
    background: linear-gradient(52deg, var(--main_color), var(--linear));
    font-family: var(--bold);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    margin-bottom: 12px;
    letter-spacing: -0.5px;
    text-align: center;
}

.section-header p,
.Testmontionals_subtitle,
.art-header p {
    color: #000;
    font-size: 1.05rem;
    font-family: var(--sbold);
    text-align: center;
}

/* ───── FILTER TABS ───── */
.filter-tabs {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px;
    margin-bottom: 56px;
}

.filter-btn {
    padding: 10px 26px;
    border-radius: 50px;
    border: 1.5px solid rgba(255, 255, 255, 0.18);
    background: transparent;
    color: #000;
    font-family: var(--bold);
    font-size: 0.97rem;
    font-family: 600;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(.4, 0, .2, 1);
    position: relative;
    overflow: hidden;
}

.filter-btn::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, var(--accent2), var(--accent));
    opacity: 0;
    transition: opacity 0.3s;
    border-radius: 50px;
}

.filter-btn span {
    position: relative;
    z-index: 1;
}

.filter-btn:hover {
    background: linear-gradient(52deg, var(--main_color), var(--linear));
    color: #fff;
    transform: translateY(-2px);
}

.filter-btn:hover::before {
    opacity: 0.2;
}

.filter-btn.active {
    background: linear-gradient(52deg, var(--main_color), var(--linear));
    border-color: transparent;
    color: #fff;
    box-shadow: 0 4px 20px rgba(0, 200, 255, 0.35);
}

.filter-btn.active::before {
    opacity: 0;
}

/* ───── GRID ───── */
.portfolio-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 28px;
}

/* ───── CARD ───── */
.card {
    position: relative;
    transition: transform 0.4s cubic-bezier(.4, 0, .2, 1), opacity 0.4s;
}

.card.hidden {
    display: none;
}

.card:hover {
    transform: translateY(-6px);
}

/* ───── IPAD FRAME ───── */
.frame-ipad {
    position: relative;
    width: 100%;
    aspect-ratio: 3/4;
    background: #1a1a2e;
    border-radius: 22px;
    border: 6px solid #2a2a4a;
    box-shadow: 0 0 0 1px #3a3a5e,
    0 20px 60px rgba(0, 0, 0, 0.5),
    inset 0 1px 0 rgba(255, 255, 255, 0.08);
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.frame-ipad::before {
    content: '';
    position: absolute;
    top: 8px;
    left: 50%;
    transform: translateX(-50%);
    width: 40px;
    height: 5px;
    background: #3a3a5e;
    border-radius: 3px;
    z-index: 10;
}

.frame-ipad::after {
    content: '';
    position: absolute;
    bottom: 10px;
    left: 50%;
    transform: translateX(-50%);
    width: 28px;
    height: 28px;
    border: 2px solid #3a3a5e;
    border-radius: 50%;
    z-index: 10;
}

.frame-ipad .screen {
    flex: 1;
    margin: 20px 8px 48px;
    border-radius: 10px;
    overflow: hidden;
    position: relative;
}

/* ───── MOBILE FRAME ───── */
.frame-mobile {
    position: relative;
    width: 78%;
    margin: 0 auto;
    aspect-ratio: 9/19;
    background: #111;
    border-radius: 38px;
    border: 5px solid #2e2e44;
    box-shadow: 0 0 0 1px #3a3a5a,
    0 20px 60px rgba(0, 0, 0, 0.5),
    inset 0 1px 0 rgba(255, 255, 255, 0.06);
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.frame-mobile::before {
    content: '';
    position: absolute;
    top: 12px;
    left: 50%;
    transform: translateX(-50%);
    width: 60px;
    height: 6px;
    background: #2e2e44;
    border-radius: 4px;
    z-index: 10;
}

.frame-mobile::after {
    content: '';
    position: absolute;
    bottom: 8px;
    left: 50%;
    transform: translateX(-50%);
    width: 32px;
    height: 4px;
    background: #2e2e44;
    border-radius: 3px;
    z-index: 10;
}

.frame-mobile .screen {
    flex: 1;
    margin: 26px 4px 20px;
    border-radius: 26px;
    overflow: hidden;
    position: relative;
}

/* ───── SCROLL PREVIEW ───── */
.scroll-preview {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top center;
    display: block;
    transition: object-position 0s;
    will-change: object-position;
}

/* JS handles the scroll animation */

/* ───── CARD LABEL ───── */
.card-label {
    position: absolute;
    bottom: -1px;
    left: 50%;
    transform: translateX(-50%);
    background: linear-gradient(328deg, var(--main_color), var(--linear));
    color: #fff;
    font-size: 0.88rem;
    font-family: 700;
    padding: 7px 22px;
    border-radius: 12px 12px 0 0;
    white-space: nowrap;
    letter-spacing: 0.3px;
    box-shadow: 0 -4px 16px rgba(0, 200, 255, 0.3);
    z-index: 20;
    font-family: var(--bold);
}

/* ───── CARD GLOW ───── */
.card:hover .frame-ipad,
.card:hover .frame-mobile {
    border-color: rgb(67 153 120);
    box-shadow: 0 0 0 1px rgb(65 147 116), 0 25px 70px rgb(64 146 114), 0 0 40px rgba(0, 120, 255, 0.15);
}

/* ───── MOBILE CARD WRAPPER ───── */
.mobile-card-wrap {
    width: 100%;
    aspect-ratio: 3/4;
    display: flex;
    align-items: center;
    justify-content: center;
    /* background:  linear-gradient(328deg, var(--main_color), var(--linear)); */
    border-radius: 22px;
    border: 2px solid rgba(255, 255, 255, 0.06);
}

/* ───── RESPONSIVE ───── */
@media (max-width: 1100px) {
    .portfolio-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 768px) {
    .portfolio-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .section {
        padding: 50px 20px 70px;
    }
}

@media (max-width: 480px) {
    .portfolio-grid {
        grid-template-columns: 1fr;
    }
}


/* ########################################################### */
/* ################### Start FontFace ###################### */
/* ######################################################### */

@font-face {
    font-family: bold;
    src: url('../fonts/Cairo-Bold.ttf');
}


@font-face {
    font-family: sbold;
    src: url('../fonts/Cairo-SemiBold.ttf');
}

@font-face {
    font-family: med;
    src: url('../fonts/Cairo-Medium.ttf');
}

/* ########################################################### */
/* ################### Start FontFace ###################### */
/* ######################################################### */

/* ########################################################### */
/* ################### Hero Cloud Icons ###################### */
/* ########################################################### */

.cloud-wrap {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 620px;
    height: 400px;
}

.cloud-svg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
}

.icon-grid {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 8px;
    padding: 55px 55px 75px;
    width: 100%;
    height: 100%;
    align-items: center;
    justify-items: center;
}

.icon-item {
    display: flex;
    align-items: center;
    justify-content: center;
}

.icon-item img {
    width: 34px;
    height: 34px;
    object-fit: contain;
    filter: drop-shadow(0 2px 5px rgba(0, 0, 0, 0.3));
    transition: transform 0.25s ease;
}

.icon-item:hover img {
    transform: scale(1.4) !important;
}

/* ── CLOUD FLOAT ── */
@keyframes floatCloud {
    0%, 100% {
        transform: translateY(0px) translateX(0px);
    }
    25% {
        transform: translateY(-14px) translateX(5px);
    }
    50% {
        transform: translateY(-7px) translateX(-4px);
    }
    75% {
        transform: translateY(-18px) translateX(3px);
    }
}

.cloud-wrap {
    animation: floatCloud 8s ease-in-out infinite;
}

/* ── 8 UNIQUE ICON FLOAT KEYFRAMES ── */
@keyframes fi0 {
    0%, 100% {
        transform: translateY(0) translateX(0);
    }
    40% {
        transform: translateY(-8px) translateX(3px);
    }
    70% {
        transform: translateY(-4px) translateX(-2px);
    }
}

@keyframes fi1 {
    0%, 100% {
        transform: translateY(0) translateX(0);
    }
    35% {
        transform: translateY(-10px) translateX(-3px);
    }
    65% {
        transform: translateY(-5px) translateX(4px);
    }
}

@keyframes fi2 {
    0%, 100% {
        transform: translateY(0) translateX(0);
    }
    30% {
        transform: translateY(-6px) translateX(4px);
    }
    60% {
        transform: translateY(-11px) translateX(-2px);
    }
}

@keyframes fi3 {
    0%, 100% {
        transform: translateY(0) translateX(0);
    }
    45% {
        transform: translateY(-9px) translateX(-4px);
    }
    75% {
        transform: translateY(-3px) translateX(3px);
    }
}

@keyframes fi4 {
    0%, 100% {
        transform: translateY(0) translateX(0);
    }
    40% {
        transform: translateY(-12px) translateX(2px);
    }
    70% {
        transform: translateY(-6px) translateX(-3px);
    }
}

@keyframes fi5 {
    0%, 100% {
        transform: translateY(0) translateX(0);
    }
    30% {
        transform: translateY(-5px) translateX(-5px);
    }
    60% {
        transform: translateY(-10px) translateX(3px);
    }
}

@keyframes fi6 {
    0%, 100% {
        transform: translateY(0) translateX(0);
    }
    50% {
        transform: translateY(-7px) translateX(5px);
    }
    80% {
        transform: translateY(-3px) translateX(-3px);
    }
}

@keyframes fi7 {
    0%, 100% {
        transform: translateY(0) translateX(0);
    }
    35% {
        transform: translateY(-11px) translateX(-2px);
    }
    65% {
        transform: translateY(-4px) translateX(4px);
    }
}

/* ── ENTRANCE ── */
@keyframes iconIn {
    from {
        opacity: 0;
        transform: scale(0.4) translateY(10px);
    }
    to {
        opacity: 1;
        transform: scale(1) translateY(0);
    }
}

.hero_cloud .cloud-wrap {
    width: min(620px, 100%);
    height: 400px;
}

@media (max-width: 1200px) {
    .hero_section .hero_content {
        width: 90%;
        gap: 35px;
    }

    .hero_cloud .cloud-wrap {
        width: 520px;
        height: 335px;
    }

    .icon-grid {
        padding: 45px 45px 65px;
    }

    .icon-item img {
        width: 28px;
        height: 28px;
    }
}

@media (max-width: 992px) {
    .hero_section {
        min-height: auto;
        padding: 140px 0 70px;
        align-items: center;
    }

    .hero_section .hero_content {
        flex-direction: column;
        text-align: center;
    }

    .hero_section .hero_text,
    .hero_section .hero_cloud {
        flex: 0 0 auto;
        width: 100%;
        max-width: 100%;
    }

    .hero_section .hero_cloud {
        justify-content: center;
    }

    .hero_content h1 {
        justify-content: center;
        white-space: normal;
        flex-wrap: wrap;
    }

    .hero_section .hero_content p {
        width: 100%;
        max-width: 620px;
        margin: 0 auto;
    }
}

@media (max-width: 576px) {
    .hero_cloud .cloud-wrap {
        width: 340px;
        height: 220px;
    }

    .icon-grid {
        grid-template-columns: repeat(7, 1fr);
        gap: 4px;
        padding: 32px 32px 45px;
    }

    .icon-item img {
        width: 18px;
        height: 18px;
    }

    .hero_content h1,
    .slider-item {
        font-size: 2rem;
    }

    .slider-wrapper,
    .slider-item {
        height: 2.7rem;
        line-height: 2.7rem;
    }

    .hero_section .hero_content p {
        font-size: 18px;
    }
}


.logos-marquee {
    width: 100%;
    overflow: hidden;
    position: relative;
    padding: 40px 0;
    direction: ltr;
}

.logos-marquee::before,
.logos-marquee::after {
    content: "";
    position: absolute;
    top: 0;
    width: 120px;
    height: 100%;
    z-index: 2;
    pointer-events: none;
}

.logos-marquee::before {
    left: 0;
    background: linear-gradient(to right, #ffffff, transparent);
}

.logos-marquee::after {
    right: 0;
    background: linear-gradient(to left, #ffffff, transparent);
}

.logos-track {
    display: flex;
    align-items: center;
    gap: 60px;
    width: max-content;
    will-change: transform;
}

.logo-item {
    flex: 0 0 auto;
    width: 160px;
    height: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.logo-item img {
    display: block;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    /* filter: grayscale(100%); */
    /* opacity: 0.75; */
    transition: 0.3s ease;
}

.logo-item img:hover {
    filter: grayscale(0%);
    opacity: 1;
    transform: scale(1.05);
}

@media (max-width: 767px) {
    .logos-track {
        gap: 30px;
    }

    .logo-item {
        width: 120px;
        height: 60px;
    }

    .logos-marquee::before,
    .logos-marquee::after {
        width: 50px;
    }
}


.tw-root {
    width: 100%;
    min-height: 560px;
    position: relative;
    overflow: hidden;
    font-family: 'Inter', sans-serif;
    background: #060c1f;
}

canvas#tw-bg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.tw-scene {
    position: relative;
    z-index: 10;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 560px;
    padding: 40px 24px;
}

.tw-card {
    background: rgba(14, 22, 44, 0.55);
    border: 1px solid var(--main_color);
    border-radius: 20px;
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    padding: 40px 36px;
    max-width: 760px;
    width: 100%;
    box-shadow: 0 0 60px rgba(66, 153, 225, 0.15),
    inset 0 0 40px rgba(255, 255, 255, 0.04);
    transition: box-shadow 0.35s ease;
}

.tw-card:hover {
    box-shadow: 0 0 90px 20px rgb(56 135 109), inset 0 0 50px rgba(255, 255, 255, 0.08);
}

.tw-grid {
    display: grid;
    grid-template-columns: 220px 1fr;
    gap: 58px;
    align-items: center;
}

@media (max-width: 600px) {
    .tw-grid {
        grid-template-columns: 1fr;
    }

    .tw-imgs {
        height: 200px;
    }
}

.tw-imgs {
    position: relative;
    height: 280px;
    perspective: 1000px;
}

.tw-img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
    border-radius: 16px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.4);
    background: #fff;
}

.tw-quote {
    font-size: 16px;
    color: #c8dff5;
    line-height: 1.8;
    margin-bottom: 24px;
    min-height: 80px;
    font-family: var(--bold);
}

.tw-name {
    font-size: 18px;
    font-family: 600;
    color: #90cdf4;
    margin-bottom: 4px;
    font-family: var(--sbold);
}

.tw-desig {
    font-size: 13px;
    color: #63b3ed;
    margin-bottom: 20px;
    font-family: var(--med);
}

.tw-btns {
    display: flex;
    gap: 12px;
    flex-direction: row-reverse;
}

.tw-btn {
    width: 40px;
    height: 40px;
    border-radius: 8px;
    background: var(--linear);
    border: 1.5px solid var(--main_color);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.3s ease;
    color: #fff;
    font-size: 18px;
    user-select: none;
}

.tw-btn:hover {
    background: rgba(56, 135, 109, 0.35);
    transform: scale(1.12);
    box-shadow: 0 0 90px 20px rgb(56 135 109), inset 0 0 50px rgba(255, 255, 255, 0.08);
    color: #fff;
}


.art-section {
    width: 80%;
    padding: 48px 0;
    background: #fff;
    direction: rtl;
    margin: 10px auto;
}


.art-header h2 span {
    color: #4BAD87;
}

.art-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    padding: 0 8px;
}

@media (max-width: 640px) {
    .art-grid {
        grid-template-columns: 1fr;
    }
}

.art-card {
    background: #fff;
    border: 1px solid #e8e8e8;
    border-radius: 12px;
    overflow: hidden;
    transition: box-shadow .25s ease, transform .25s ease;
}

.art-card:hover {
    box-shadow: 0 8px 32px rgba(75, 173, 135, 0.15);
    transform: translateY(-4px);
}

.art-img {
    width: 100%;
    height: 180px;
    object-fit: cover;
    display: block;
}

.art-body {
    padding: 16px;
}

.art-meta {
    font-size: 12px;
    color: #4BAD87;
    font-family: 600;
    margin-bottom: 10px;
    display: flex;
    align-items: center;
    gap: 6px;
}

.art-meta span {
    color: #999;
    font-family: 400;
}

.art-title {
    font-size: 15px;
    font-family: 700;
    color: #1a1a1a;
    line-height: 1.6;
    margin-bottom: 8px;
    font-family: var(--sbold);
}

.art-desc {
    font-size: 13px;
    color: #777;
    line-height: 1.7;
    margin-bottom: 16px;
    font-family: var(--med);
}

.art-btn {
    display: inline-block;
    background: #4BAD87;
    color: #fff;
    font-size: 13px;
    font-family: 600;
    font-family: var(--med);
    padding: 9px 22px;
    border-radius: 8px;
    border: none;
    cursor: pointer;
    transition: background .2s ease;
}

.art-btn:hover {
    background: #3a9070;
}


.ft-wrap {
    width: 100%;
    background-image: url('../images/Footer/Group\ 89.png');
    background-size: cover;

}

.ft-top {
    padding: 40px 48px;
    display: flex;
    justify-content: space-between;
    gap: 32px;
    align-items: center;
    border-bottom: 1px solid #fff;
    width: 80%;
    margin: 0 auto 30px;
}

@media (max-width: 700px) {
    .ft-top {
        grid-template-columns: 1fr 1fr;
        padding: 32px 20px;
    }

    .ft-logo-col {
        grid-column: 1 / -1;
    }
}

.ft-nav-title {
    font-size: 16px;
    font-family: 700;
    color: #fff;
    margin-bottom: 16px;
    font-family: var(--sbold);
}

.ft-nav-link {
    display: block;
    font-size: 14px;
    color: rgba(255, 255, 255, 0.75);
    margin-bottom: 12px;
    text-decoration: none;
    transition: color .2s;
    font-family: var(--sbold);
}

.ft-nav-link:hover {
    color: #4BAD87;
}

.ft-logo-col {
    display: flex;
    flex-direction: column;
    gap: 16px;
    align-items: center;
}

.ft-logo img {
    height: 200px;
    width: auto;
}

.ft-desc {
    font-size: 13px;
    color: #fff;
    line-height: 1.8;
    max-width: 240px;
    font-family: var(--med);
}

.ft-socials {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.ft-social {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgba(255, 255, 255, 0.8);
    font-size: 15px;
    text-decoration: none;
    transition: background .2s, color .2s;
}


.ft-bottom {
    padding: 14px 48px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
}

@media (max-width: 700px) {
    .ft-bottom {
        padding: 14px 20px;
        flex-direction: column;
        align-items: flex-end;
    }
}

.ft-copy {
    font-size: 20px;
    color: #fff;
    direction: ltr;
    font-family: var(--med);
}

.ft-contact-items {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.ft-contact-pill {
    display: flex;
    align-items: center;
    gap: 7px;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 8px;
    padding: 7px 14px;
    font-size: 14px;
    color: #fff;
    font-family: var(--med);
}

.ft-contact-pill i {
    font-size: 14px;
    color: #4BAD87;
}


/* ########################################################################## */
/* ########################## Start Page Projects ############################ */
/* ########################################################################## */

.Page_title {
    background-image: url('../images/page_title.png');
    height: 500px;
    background-size: cover;
    display: flex;
    justify-content: center;
    align-items: center;
}

.Page_title .Page_title_content {
    text-align: center;
    color: #fff;
}

.Page_title .Page_title_content h1 {
    font-family: var(--bold);
    font-size: 48px;
    margin-bottom: 20px;
}

.Page_title .Page_title_content p {
    font-family: var(--med);
    font-size: 18px;
}


.Page_title_services {
    background-image: url('../images/page_title.png');
    height: 600px;
    background-size: cover;
    display: flex;
    justify-content: start;
    align-items: center;
}

.Page_title_services .Data_Single_Serv {
    display: flex;
    justify-content: space-around;
    align-items: center;
    width: 90%;
    margin: 50px auto;
    position: relative;
    top: 50px;
}

.img_serv {
    width: 45%;
    height: 350px;
}

.img_serv img {
    width: 100%;
    height: 100%;
    animation: animate_image_serve 4s ease-in-out infinite;

}.s-content {
    color: #fff;
}

@keyframes animate_image_serve {
    0% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(-10px);
    }
    100% {
        transform: translateY(0);
    }
}

.Page_title_services .Page_title_content_services {
    text-align: right;
    color: #fff;

}

.Page_title_services .Page_title_content_services h1 {
    font-family: var(--bold);
    font-size: 48px;
    margin-bottom: 20px;
}

.Page_title_services .Page_title_content_services p {
    font-family: var(--med);
    font-size: 18px;
    width: 500px;
}

/* ########################################################################## */
/* ########################## Start Page Projects ############################ */
/* ########################################################################## */


/* ########################################################################## */
/* ########################## Start Page Single Services #################### */
/* ########################################################################## */

/* ── HEADER TEXT ── */
.section_header_single_services {
    text-align: center;
    padding: 50px 20px 40px;
}

.section_header_single_services h2 {
    font-size: 26px;
    font-family: 700;
    color: #222;
    margin-bottom: 8px;
    font-family: var(--bold);
}

.section_header_single_services h2 span {
    color: #2e7d4f;
}

.section_header_single_services p {
    font-size: 15px;
    color: #666;
    font-family: 400;
    font-family: var(--sbold);
}

/* ── CARD WRAPPER ── */
.card-wrapper {
    width: 80%;
    margin: 0 auto;
    padding: 0 20px 60px;
}

.card_single {
    display: flex;
    gap: 20px;
    border-radius: 16px;
    overflow: visible;
    min-height: 300px;
    flex-direction: row-reverse;
}

/* ── LEFT: GREEN CONTENT ── */
.card-content {
    flex: 1;
    background: linear-gradient(136deg, var(--main_color), var(--linear));
    padding: 40px 44px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    border-radius: 16px;
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.10);
}

.card-content h3 {
    font-size: 22px;
    font-family: 800;
    color: #fff;
    margin-bottom: 24px;
    line-height: 1.5;
    font-family: var(--bold);
}

.features-list {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.features-list li {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 15px;
    color: #e8f5ee;
    font-family: 500;
    line-height: 1.5;
    font-family: var(--med);
    color: #fff;
}

.features-list li::before {
    content: '✓';
    display: flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    min-width: 22px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.18);
    color: #fff;
    font-size: 12px;
    font-family: 700;
}

/* ── RIGHT: IMAGE ── */
.card-image {
    width: 420px;
    min-width: 300px;
    height: 370px;
    position: relative;
    overflow: hidden;
    border-radius: 16px;
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.10);
}

.card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* placeholder if no image */
.card-image .img-placeholder {
    width: 100%;
    height: 100%;
    min-height: 300px;
    background: #c8d8cf;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* ── RESPONSIVE ── */
@media (max-width: 768px) {
    .card {
        flex-direction: column;
    }

    .card-image {
        width: 100%;
        height: 220px;
    }

    .card-content {
        padding: 30px 24px;
    }

    .section_header_single_services h2 {
        font-size: 20px;
    }
}


/* ══════════════════════════════
  FEATURES SECTION
══════════════════════════════ */
.features-sec {
    width: 80%;
    margin: 0 auto;
    padding: 10px 20px;
    display: flex;
    align-items: center;
    gap: 60px;
    flex-direction: row-reverse;
}

/* ── HEADING SIDE ── */
.features-sec__heading {
    text-align: right;
    flex-shrink: 0;
    font-family: var(--bold);
}

.feat-card:hover .feat-card__title,
.feat-card:hover .feat-card__desc {
    color: #fff;
}

.feat-card:hover .feat-card__icon-img {
    filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(4%) hue-rotate(147deg) brightness(103%) contrast(100%);
}

.features-sec__title {
    font-size: 26px;
    font-family: 800;
    color: #1a1a1a;
    line-height: 1.5;
}

.features-sec__title-accent {
    display: block;
    color: #2e7d4f;
    font-size: 28px;
}

/* ── GRID ── */
.features-sec__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    flex: 1;
}

/* ── CARD ── */
.feat-card {
    background: #fff;
    border: 1px solid #e8e8e8;
    border-radius: 12px;
    padding: 24px 20px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    transition: box-shadow 0.22s ease, transform 0.22s ease;
}

.feat-card:hover {
    box-shadow: 0 6px 24px rgba(0, 0, 0, 0.08);
    transform: translateY(-2px);
    background: linear-gradient(328deg, var(--main_color), var(--linear));
}

/* ── CARD ICON ── */
.feat-card__icon {
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.feat-card__icon-img {
    width: 38px;
    height: 38px;
    object-fit: contain;
    display: block;
}

/* ── CARD TEXT ── */
.feat-card__title {
    font-size: 16px;
    font-family: 700;
    color: #1a1a1a;
    font-family: var(--sbold);
}

.feat-card__desc {
    font-size: 13px;
    color: #777;
    font-family: 400;
    line-height: 1.8;
    font-family: var(--med);
}

/* ══════════════════════════════
   RESPONSIVE
══════════════════════════════ */
@media (max-width: 768px) {
    .features-sec {
        flex-direction: column-reverse;
        gap: 30px;
    }

    .features-sec__heading {
        width: 100%;
        text-align: center;
    }

    .features-sec__grid {
        width: 100%;
    }
}

@media (max-width: 480px) {
    .features-sec__grid {
        grid-template-columns: 1fr;
    }
}


/* ══════════════════════════════
 STEPS SECTION
══════════════════════════════ */
.steps-sec {
    width: 80%;
    margin: 0 auto;
    padding: 60px 20px;
    display: flex;
    align-items: center;
    gap: 50px;
    flex-direction: row-reverse;
}

/* ── IMAGE SIDE ── */
.steps-sec__img-wrap {
    width: 420px;
    min-width: 280px;
    flex-shrink: 0;
    border-radius: 14px;
    overflow: hidden;
}

.steps-sec__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    border-radius: 14px;
}

/* ── CONTENT SIDE ── */
.steps-sec__content {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.steps-sec__title {
    font-size: 28px;
    font-family: var(--bold);
    color: #1a1a1a;
    margin-bottom: 8px;
}

/* ── STEPS LIST ── */
.steps-list {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 18px;
}

/* ── STEP ITEM ── */
.step-item {
    display: flex;
    align-items: flex-start;
    gap: 14px;
}

.step-item__num {
    width: 32px;
    height: 32px;
    min-width: 32px;
    border-radius: 5px;
    background: linear-gradient(328deg, var(--main_color), var(--linear));
    color: #fff;
    font-size: 14px;
    font-family: var(--bold);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 2px;
}

.step-item__text {
    font-size: 15px;
    font-family: var(--sbold);
    color: #333;
    line-height: 1.8;
}

/* ══════════════════════════════
   RESPONSIVE
══════════════════════════════ */
@media (max-width: 768px) {
    .steps-sec {
        flex-direction: column;
        gap: 30px;
    }

    .steps-sec__img-wrap {
        width: 100%;
    }

    .steps-sec__title {
        font-size: 22px;
    }
}

/* ══════════════════════════════
   CTA SECTION
══════════════════════════════ */
.cta-sec {
    width: 80%;
    margin: 0 auto;
    padding: 50px 20px;
    display: flex;
    align-items: center;
    flex-direction: row-reverse;
    gap: 0;
}

/* ── LEFT: IMAGES ── */
.cta-sec__imgs {
    width: 420px;
    min-width: 320px;
    flex-shrink: 0;
    position: relative;
    height: 320px;
}

/* Top image */
.cta-sec__img--top {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 72%;
    height: 58%;
    object-fit: cover;
    border-radius: 10px;
    box-shadow: 0 6px 24px rgba(0, 0, 0, 0.13);
    z-index: 2;
}

/* Bottom image */
.cta-sec__img--bottom {
    position: absolute;
    top: 0;
    left: 0;
    width: 72%;
    height: 58%;
    object-fit: cover;
    border-radius: 10px;
    box-shadow: 0 6px 24px rgba(0, 0, 0, 0.13);
    z-index: 1;
}

/* blue accent border on bottom image */
.cta-sec__img--bottom::after {
    content: '';
    position: absolute;
    inset: -5px;
    border: 3px solid #1a73e8;
    border-radius: 13px;
    z-index: -1;
}

/* ── DIVIDER LINE ── */
.cta-sec__divider {
    width: 1px;
    height: 220px;
    background: linear-gradient(180deg, transparent, #ccc 30%, #ccc 70%, transparent);
    margin: 0 40px;
    flex-shrink: 0;
}

/* ── RIGHT: CONTENT ── */
.cta-sec__content {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 16px;
    text-align: right;
}

.cta-sec__title {
    font-size: 26px;
    font-family: var(--bold);
    color: #1a1a1a;
    line-height: 1.4;
}

.cta-sec__desc {
    font-size: 14px;
    font-family: var(--sbold);
    color: #555;
    line-height: 2;
    max-width: 480px;
}

/* ══════════════════════════════
   RESPONSIVE
══════════════════════════════ */
@media (max-width: 768px) {
    .cta-sec {
        flex-direction: column;
        gap: 30px;
    }

    .cta-sec__imgs {
        width: 100%;
        height: 260px;
    }

    .cta-sec__divider {
        width: 80%;
        height: 1px;
        margin: 0;
        background: linear-gradient(90deg, transparent, #ccc 30%, #ccc 70%, transparent);
    }

    .cta-sec__content {
        align-items: center;
        text-align: center;
    }

    .cta-sec__desc {
        max-width: 100%;
    }
}


/* ══════════════════════════════
 FORM SECTION
══════════════════════════════ */
.form-sec {
    width: 80%;
    margin: 30px auto;
    display: flex;
    flex-direction: column;
    gap: 0;
}

/* ── TABS ── */
.form-sec__tabs {
    display: flex;
    justify-content: flex-start;
    gap: 10px;
    margin-bottom: -1px;
    padding: 0 2px;
}

.form-sec__tab {
    padding: 10px 22px;
    font-family: var(--font-main);
    font-size: 14px;
    font-family: var(--sbold);
    border-radius: 8px 8px 0 0;
    border: 1px solid var(--color-border);
    border-bottom: none;
    cursor: pointer;
    background: #ececec;
    color: #555;
    transition: background 0.18s, color 0.18s;
    outline: none;
    position: relative;
    z-index: 1;
}

.form-sec__tab--active {
    background: var(--color-primary);
    color: #fff;
    border-color: var(--color-primary);
    font-family: var(--bold);
}

.form-sec__tab:not(.form-sec__tab--active):hover {
    background: #e0e0e0;
    color: #333;
}

/* ── CARD ── */
.form-sec__card {
    background: #fff;
    border: 1px solid var(--color-border);
    border-radius: 0 var(--radius-card) var(--radius-card) var(--radius-card);
    padding: 30px 28px;
    box-shadow: 0 2px 16px rgba(0, 0, 0, 0.06);
}

.form-sec__card-title {
    font-size: 22px;
    font-family: var(--bold);
    color: #1a1a1a;
    text-align: right;
    margin-bottom: 24px;
}

/* ── FORM PANELS ── */
.form-panel {
    display: none;
    flex-direction: column;
    gap: 14px;
}

.form-panel--active {
    display: flex;
}

/* ── FORM ROW (2 cols) ── */
.form-panel__row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
}

/* ── INPUTS ── */
.form-panel__input,
.form-panel__select,
.form-panel__textarea {
    width: 100%;
    padding: 11px 14px;
    font-family: var(--font-main);
    font-size: 14px;
    font-family: var(--sbold);
    color: #333;
    background: var(--color-input-bg);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-input);
    outline: none;
    transition: border-color 0.18s, box-shadow 0.18s;
    text-align: right;
    appearance: none;
    -webkit-appearance: none;
}

.form-panel__input::placeholder,
.form-panel__textarea::placeholder {
    color: var(--color-placeholder);
    font-family: 400;
}

.form-panel__input:focus,
.form-panel__select:focus,
.form-panel__textarea:focus {
    border-color: var(--color-primary);
    box-shadow: 0 0 0 3px rgba(58, 170, 122, 0.12);
}

/* ── SELECT WRAPPER ── */
.form-panel__select-wrap {
    position: relative;
}

.form-panel__select {
    color: var(--color-placeholder);
    font-family: 400;
    cursor: pointer;
}

.form-panel__select-wrap::after {
    content: '▾';
    position: absolute;
    left: 14px;
    top: 50%;
    transform: translateY(-50%);
    color: #888;
    pointer-events: none;
    font-size: 13px;
}

/* ── TEXTAREA ── */
.form-panel__textarea {
    resize: vertical;
    min-height: 100px;
    line-height: 1.7;
}

/* ── SUBMIT BUTTON ── */
.form-panel__submit {
    align-self: flex-start;
    padding: 11px 28px;
    background: var(--color-primary);
    color: #fff;
    font-family: var(--font-main);
    font-size: 15px;
    font-family: var(--bold);
    border: none;
    border-radius: var(--radius-input);
    cursor: pointer;
    transition: background 0.18s, transform 0.18s;
}

.form-panel__submit:hover {
    background: var(--color-primary-dark);
    transform: translateY(-1px);
}

/* ── RESPONSIVE ── */
@media (max-width: 520px) {
    .form-panel__row {
        grid-template-columns: 1fr;
    }

    .form-sec__card {
        padding: 22px 16px;
    }
}

/* ══════════════════════════════
 CONTACT SECTION
══════════════════════════════ */
.contact-sec {
    width: 80%;
    margin: 30px auto;
    display: flex;
    flex-direction: column;
    gap: 36px;
}

/* ── INFO CARDS ROW ── */
.contact-sec__info-row {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    text-align: center;
}

/* ── INFO CARD ── */
.contact-info-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
}

.contact-info-card__icon-wrap {
    width: 72px;
    height: 72px;
    border-radius: 16px 16px 16px 4px;
    background: linear-gradient(132deg, var(--main_color), var(--linear));
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 6px 18px rgba(46, 143, 99, 0.28);
}

.contact-info-card__icon {
    width: 32px;
    height: 32px;
    object-fit: contain;
    display: block;
    /* placeholder SVG shown via background if img missing */
}

.contact-info-card__text {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.contact-info-card__label {
    font-size: 14px;
    font-family: var(--sbold);
    color: var(--clr-text);
    line-height: 1.6;
}

/* ── FORM CARD ── */
.contact-form-card {
    background: var(--clr-white);
    border: 1px solid var(--clr-border);
    border-radius: var(--radius-card);
    padding: 30px 28px;
    box-shadow: 0 2px 16px rgba(0, 0, 0, 0.06);
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.contact-form-card__title {
    font-size: 22px;
    font-family: var(--bold);
    color: var(--clr-text);
    text-align: right;
}

/* ── INPUTS ── */
.contact-form-card__input,
.contact-form-card__textarea {
    width: 100%;
    padding: 11px 14px;
    font-family: var(--font-main);
    font-size: 14px;
    font-family: var(--sbold);
    color: #333;
    background: var(--clr-white);
    border: 1px solid var(--clr-border);
    border-radius: var(--radius-input);
    outline: none;
    text-align: right;
    transition: border-color 0.18s, box-shadow 0.18s;
}

.contact-form-card__input::placeholder,
.contact-form-card__textarea::placeholder {
    color: var(--clr-muted);
    font-family: 400;
}

.contact-form-card__input:focus,
.contact-form-card__textarea:focus {
    border-color: var(--clr-primary);
    box-shadow: 0 0 0 3px rgba(58, 170, 122, 0.12);
}

.contact-form-card__textarea {
    resize: vertical;
    min-height: 110px;
    line-height: 1.7;
}

/* ── SUBMIT ── */
.contact-form-card__submit {
    align-self: flex-start;
    padding: 11px 28px;
    background: var(--clr-primary);
    color: var(--clr-white);
    font-family: var(--font-main);
    font-size: 15px;
    font-family: var(--bold);
    border: none;
    border-radius: var(--radius-input);
    cursor: pointer;
    transition: background 0.18s, transform 0.18s;
}

.contact-form-card__submit:hover {
    background: var(--clr-primary-dark);
    transform: translateY(-1px);
}

/* ── RESPONSIVE ── */
@media (max-width: 560px) {
    .contact-sec__info-row {
        grid-template-columns: 1fr;
    }

    .contact-form-card {
        padding: 22px 16px;
    }
}


/* ══════════════════════════════
   ZIGZAG SECTION
══════════════════════════════ */
.zigzag-sec {
    width: 80%;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 0;
}

/* ── HEADER ── */
.zigzag-sec__header {
    text-align: center;
    margin-bottom: 50px;
}

.zigzag-sec__title {
    font-size: 28px;
    font-family: var(--bold);
    color: var(--clr-text);
    margin-bottom: 8px;
}

.zigzag-sec__subtitle {
    font-size: 15px;
    font-family: var(--sbold);
    color: var(--clr-muted);
}

/* ── ZIGZAG TRACK ── */
.zigzag-track {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 0;
}

/* ── ROW ── */
.zz-row {
    display: flex;
    align-items: center;
    gap: 0;
    position: relative;
}

/* even rows flip direction */
.zz-row--even {
    flex-direction: row-reverse;
}

/* ── CARD ── */
.zz-card {
    flex: 1;
    background: var(--clr-white);
    border: 1px solid var(--clr-border);
    border-radius: var(--radius-card);
    padding: 28px 24px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    transition: box-shadow 0.2s, transform 0.2s;
}

.zz-card:hover {
    box-shadow: 0 8px 28px rgba(0, 0, 0, 0.08);
    transform: translateY(-2px);
}

.zz-row--even .zz-card {
    text-align: right;
}

/* ── CARD STEP LABEL ── */
.zz-card__step {
    font-size: 11px;
    font-family: var(--bold);
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.zz-row .zz-card__step {
    color: var(--main_color)
}


/* ── CARD TITLE ── */
.zz-card__title {
    font-size: 18px;
    font-family: var(--bold);
    color: var(--clr-text);
}

/* ── CARD DESC ── */
.zz-card__desc {
    font-size: 14px;
    font-family: var(--sbold);
    color: var(--clr-muted);
    line-height: 1.8;
}

/* ── CARD DURATION ── */
.zz-card__duration {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    margin-top: 6px;
    font-size: 12px;
    font-family: var(--sbold);
    color: var(--clr-muted);
    background: var(--clr-bg);
    padding: 4px 12px;
    border-radius: 20px;
    border: 1px solid var(--clr-border);
    width: fit-content;
}

/* ── CENTER: NUMBER + CONNECTORS ── */
.zz-center {
    width: 120px;
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
}

/* vertical connector line */
.zz-center__line-top,
.zz-center__line-bottom {
    width: 2px;
    flex: 1;
    min-height: 30px;
}

.zz-row:first-child .zz-center__line-top {
    visibility: hidden;
}

.zz-row:last-child .zz-center__line-bottom {
    visibility: hidden;
}

.zz-row .zz-center__line-top,
.zz-row .zz-center__line-bottom {
    background: var(--main_color);
}

/* number badge */
.zz-center__num {
    width: 54px;
    height: 54px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    font-family: var(--bold);
    font-family: var(--font-main);
    flex-shrink: 0;
    position: relative;
    z-index: 1;
    transition: transform 0.2s;
}

.zz-row:hover .zz-center__num {
    transform: scale(1.1);
}

.zz-row .zz-center__num {
    background: var(--clr-step-1-bg);
    color: var(--clr-step-1);
    border: 2px solid var(--main_color);
}


/* ── ICON SIDE ── */
.zz-icon-side {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
}

.zz-icon-wrap {
    width: 90px;
    height: 90px;
    border-radius: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.zz-icon-wrap img {
    width: 60px;
    height: 60px;
    object-fit: contain;
}

.zz-row:nth-child(1) .zz-icon-wrap {
    background: var(--clr-step-1-bg);
}

.zz-row:nth-child(2) .zz-icon-wrap {
    background: var(--clr-step-2-bg);
}

.zz-row:nth-child(3) .zz-icon-wrap {
    background: var(--clr-step-3-bg);
}

.zz-row:nth-child(4) .zz-icon-wrap {
    background: var(--clr-step-4-bg);
}

/* ══════════════════════════════
   RESPONSIVE
══════════════════════════════ */
@media (max-width: 640px) {
    .zz-row,
    .zz-row--even {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
        padding-bottom: 30px;
        flex-direction: column-reverse;
    }

    .zz-center {
        flex-direction: row;
        width: 100%;
        gap: 12px;
    }

    .zz-center__line-top,
    .zz-center__line-bottom {
        display: none;
    }

    .zz-icon-side {
        justify-content: flex-start;
        padding: 0;
    }

    .zz-row--even .zz-card {
        text-align: right;
    }
}

.Image_Protofolio_Content {
    width: 80%;
    margin: 30px auto;
    height: 600px;
}

.Image_Protofolio_Content img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 16px;
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.10);
    animation: animate_image_protofolio 4s ease-in-out infinite;
}


/* ══════════════════════════════
   DEVICES STAGE
══════════════════════════════ */
.devices-stage {
    position: relative;
    width: 100%;
    max-width: 820px;
    height: 420px;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    margin: 20px auto;
}

/* ─── DESKTOP ─── */
.device-desktop {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 560px;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.desktop-body {
    width: 100%;
    background: linear-gradient(160deg, #2a2a2e, #1a1a1d);
    border-radius: 12px 12px 4px 4px;
    padding: 12px 12px 8px;
    border: 1.5px solid #3a3a3e;
    box-shadow: 0 0 0 1px #222,
    0 20px 60px rgba(0, 0, 0, 0.4),
    0 8px 20px rgba(0, 0, 0, 0.3);
}

.desktop-screen {
    width: 100%;
    aspect-ratio: 16/10;
    background: #111;
    border-radius: 4px;
    overflow: hidden;
    position: relative;
}

.desktop-screen::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(160deg, rgba(255, 255, 255, 0.04) 0%, transparent 50%);
    pointer-events: none;
    z-index: 2;
}

.desktop-camera {
    width: 6px;
    height: 6px;
    background: #333;
    border-radius: 50%;
    border: 1px solid #444;
    margin: 5px auto 3px;
}

.desktop-stand {
    width: 120px;
    height: 18px;
    background: linear-gradient(180deg, #222, #2e2e32);
    border-radius: 0 0 4px 4px;
    border: 1px solid #3a3a3e;
    border-top: none;
}

.desktop-base {
    width: 200px;
    height: 10px;
    background: linear-gradient(180deg, #2a2a2e, #1e1e21);
    border-radius: 0 0 8px 8px;
    border: 1px solid #3a3a3e;
    border-top: none;
}

/* ─── LAPTOP ─── */
.device-laptop {
    position: absolute;
    bottom: 28px;
    right: 0;
    width: 280px;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: center;
    transform: perspective(600px) rotateY(-8deg);
    filter: drop-shadow(8px 12px 20px rgba(0, 0, 0, 0.35));
}

.laptop-lid {
    width: 100%;
    background: linear-gradient(160deg, #f5f5f5, #e5e5e5);
    border-radius: 8px 8px 3px 3px;
    padding: 8px 8px 5px;
    border: 1px solid #ccc;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8);
}

.laptop-screen {
    width: 100%;
    aspect-ratio: 16/10;
    background: #111;
    border-radius: 3px;
    overflow: hidden;
    position: relative;
}

.laptop-camera {
    width: 4px;
    height: 4px;
    background: #bbb;
    border-radius: 50%;
    margin: 3px auto 2px;
}

.laptop-hinge {
    width: 105%;
    height: 5px;
    background: linear-gradient(180deg, #bbb, #ccc);
    border-radius: 0 0 2px 2px;
}

.laptop-base {
    width: 105%;
    height: 18px;
    background: linear-gradient(160deg, #efefef, #e0e0e0);
    border-radius: 0 0 6px 6px;
    border: 1px solid #ccc;
    border-top: none;
}

/* ─── TABLET ─── */
.device-tablet {
    position: absolute;
    bottom: 30px;
    left: 10px;
    width: 120px;
    z-index: 3;
    display: flex;
    flex-direction: column;
    align-items: center;
    transform: perspective(400px) rotateY(10deg);
    filter: drop-shadow(-6px 10px 16px rgba(0, 0, 0, 0.3));
}

.tablet-body {
    width: 100%;
    background: linear-gradient(160deg, #1e1e1e, #111);
    border-radius: 10px;
    padding: 8px 6px;
    border: 1.5px solid #333;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

.tablet-screen {
    width: 100%;
    aspect-ratio: 3/4;
    background: #111;
    border-radius: 4px;
    overflow: hidden;
    position: relative;
}

.tablet-btn {
    width: 20px;
    height: 3px;
    background: #333;
    border-radius: 2px;
    margin: 5px auto 0;
}

/* ─── PHONE ─── */
.device-phone {
    position: absolute;
    bottom: 30px;
    left: 100px;
    width: 72px;
    z-index: 4;
    display: flex;
    flex-direction: column;
    align-items: center;
    filter: drop-shadow(0 10px 14px rgba(0, 0, 0, 0.35));
}

.phone-body {
    width: 100%;
    background: linear-gradient(160deg, #1e1e1e, #111);
    border-radius: 10px;
    padding: 7px 5px;
    border: 1.5px solid #333;
}

.phone-screen {
    width: 100%;
    aspect-ratio: 9/16;
    background: #111;
    border-radius: 4px;
    overflow: hidden;
    position: relative;
}

.phone-notch {
    width: 18px;
    height: 4px;
    background: #222;
    border-radius: 2px;
    margin: 4px auto 3px;
}

.phone-btn {
    width: 14px;
    height: 3px;
    background: #333;
    border-radius: 2px;
    margin: 4px auto 0;
}


/* ══════════════════════════════
   OVERLAY
══════════════════════════════ */
.side-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.45);
    z-index: 998;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s ease;
}

.side-overlay.active {
    opacity: 1;
    pointer-events: all;
}

/* ══════════════════════════════
   SIDE MENU
══════════════════════════════ */
.side-menu {
    position: fixed;
    top: 0;
    right: 0;
    width: var(--side-width);
    height: 100dvh;
    background: #fff;
    z-index: 99999;
    transform: translateX(100%);
    transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
    display: flex;
    flex-direction: column;
    overflow-y: auto;
    box-shadow: -8px 0 30px rgba(0, 0, 0, 0.15);
}

.side-menu.active {
    transform: translateX(0);
}

/* ── HEADER ── */
.side-menu__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 18px 20px;
    border-bottom: 1px solid #f0f0f0;
    position: sticky;
    top: 0;
    background: #fff;
    z-index: 2;
}

.side-menu__logo img {
    height: 36px;
    object-fit: contain;
}

.side-menu__close {
    width: 34px;
    height: 34px;
    border-radius: 8px;
    border: 1px solid #e8e8e8;
    background: #f5f5f5;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    font-size: 16px;
    color: #555;
    font-weight: var(--bold);
    transition: background 0.15s;
    font-family: var(--font-main);
}

.side-menu__close:hover {
    background: #ffe5e5;
    border-color: #ffb3b3;
    color: #c00;
}

/* ── BODY ── */
.side-menu__body {
    padding: 10px 20px;
    display: flex;
    flex-direction: column;
    gap: 5px;
    flex: 1;
    overflow: hidden;
}

/* ── ABOUT TEXT ── */
.side-about__text {
    font-size: 14px;
    font-weight: 400;
    color: #444;
    line-height: 2;
    text-align: right;
    font-family: var(--sbold);
}

/* ── GALLERY ── */
.side-gallery {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 6px;
}

.side-gallery__img {
    width: 100%;
    aspect-ratio: 1;
    object-fit: cover;
    border-radius: 6px;
    display: block;
    transition: transform 0.2s, opacity 0.2s;
}

.side-gallery__img:hover {
    transform: scale(1.04);
    opacity: 0.9;
}

/* ── CONTACT INFO ── */
.side-contact__title,
.side-social__title {
    font-size: 16px;
    font-weight: var(--bold);
    color: #1a1a1a;
    margin-bottom: 14px;
    font-family: var(--med);
}

.side-contact__list {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 14px;
    align-items: start;
}

.side-contact__item {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    font-size: 14px;
    font-weight: var(--sbold);
    color: #333;
    font-family: var(--med);
}

.side-contact__icon {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: var(--clr-primary);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.side-contact__icon img {
    width: 20px;
    height: 20px;
    object-fit: contain;
    filter: brightness(0) invert(1);
}

/* ── SOCIAL ── */
.side-social__list {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.side-social__link {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: var(--clr-primary);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.2s, transform 0.2s;
    text-decoration: none;
}

.side-social__link:hover {
    background: #2e8f63;
    transform: translateY(-2px);
}

.side-social__link img {
    width: 20px;
    height: 20px;
    object-fit: contain;
    filter: brightness(0) invert(1);
}

/* ── FOOTER ── */
.side-menu__footer {
    padding: 14px 20px;
    border-top: 1px solid #f0f0f0;
    text-align: center;
    font-size: 12px;
    color: #aaa;
}

.Header_Mobile {
    display: none;
}


/* ############################################################## */
/* ####################### Start Mobile Version ################# */
/* ############################################################## */
@media (max-width: 768px) {
    header {
        display: none;
    }

    /* ############## Start Side Menu Mobile ############# */
    .Header_Mobile {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        display: block;
        overflow: hidden;
        z-index: 54654561;
    }

    .Header_Mobile .Header_Mobile_Data {
        display: flex;
        justify-content: space-between;
        width: 85%;
        margin: 20px auto;
        align-items: center;
    }

    .hero_section .hero_text, .hero_section .hero_cloud {
        position: relative;
        top: 50px;
    }

    .About_Us .About_Us_Data .About_Item {
        flex-direction: column;
    }

    .About_Us .About_Us_Data .About_Item .img img {
        width: 100%;
        margin: 0 auto;
        display: block;
    }

    .text_box_section_about_2 {
        padding: 0 !important;
    }

    .cards-section {
        padding: 0;
    }

    .Services h2 {
        font-size: 20px;
    }

    .Services .Services_Data {
        grid-template-columns: repeat(1, 1fr);
    }

    .Services .Services_Data .Services_Item {
        width: 100%;
    }

    .Read_More_3 {
        width: 65%;
    }

    .Why_Choose .Why_Choose_Data {
        flex-direction: column;
    }

    .Why_Choose .Why_Choose_Data .Boxs .Box_item {
        gap: 10px;
        padding: 10px 12px;
    }

    .Why_Choose .Why_Choose_Data .Boxs .Box_item h3 {
        font-size: 20px;

    }

    .Why_Choose .Why_Choose_Data .Boxs .Box_item p {
        font-size: 12px;
    }

    .art-section {
        width: 90%;
    }

    .ft-top {
        flex-direction: column;
    }

    .ft-nav-title {
        text-align: center;
    }

    .ft-nav-link {
        text-align: center;
    }

    .ft-desc {
        text-align: center;
    }

    .ft-wrap {
        background-position: center;
    }

    .About_Us {
        padding-bottom: 0;
    }


    .ft-copy {
        display: block;
        text-align: center;
        width: 100%;
    }

    .art-section {
        padding-bottom: 0;
    }

    .Why_Choose .Why_Choose_Data {
        padding: 20px 0;
    }

    .section-header h2, .Testmontionals, .art-header h2 {
        font-size: 1.8rem;
    }

    .ft-socials {
        flex-wrap: unset;
    }

    .ft-contact-pill {
        width: 80%;
        margin: 0 auto;
    }

    .sub_title {
        width: 100%;
    }

    .Why_Choose_Data_2 .Text img {
        width: 90%;
        margin: 0 auto;
        display: block;
    }

    .Image_Protofolio_Content {
        width: 90%;
        margin: 30px auto;
        height: auto;
    }

    .Image_Protofolio_Content img {
        object-fit: contain;
    }

    .Read_Pro {
        width: 55% !important;
    }

    .zigzag-sec__title {
        font-size: 25px;
    }

    .Page_title_services .Data_Single_Serv {
        flex-direction: column;
    }

    .img_serv {
        width: 100%;
        height: auto;
    }

    .Page_title_services .Page_title_content_services h1 {
        font-size: 25px;
        text-align: center;
    }

    .Page_title_services .Page_title_content_services p {
        width: 100%;
        text-align: center;
        margin-bottom: 50px;
    }

    .card_single {
        flex-direction: column;
    }

    .card-wrapper {
        width: 100%;
    }

    .features-sec__title {
        font-size: 17px;
    }

    .features-sec__title span {
        font-size: 17px;
    }

    .Read_serv {
        width: 100% !important;
        margin: 20px auto !important;
    }

    .features-sec {
        width: 100%;
    }

    .steps-sec {
        width: 100%;
    }

    .contact-sec {
        width: 90%;
    }

 

    .page {
        position: relative;
        width: 100% !important;
    }
}


/* ############################################################## */
/* ####################### End Mobile Version ################# */
/* ############################################################## */


/* ══════════════════════════════════
   HAMBURGER BUTTON
══════════════════════════════════ */
.menu-toggle {

    width: 48px;
    height: 48px;
    border: none;
    background: transparent;
    cursor: pointer;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.menu-toggle img {
    width: 16%;
    height: 100%;
    object-fit: contain;
    transition: opacity 0.25s ease, transform 0.35s cubic-bezier(0.77, 0, 0.18, 1);
}

/* صورة الفتح */
.menu-toggle .img-open {
    position: absolute;
    opacity: 1;
    transform: rotate(0deg) scale(1);
}

/* صورة الإغلاق */
.menu-toggle .img-close {
    position: absolute;
    opacity: 0;
    transform: rotate(-90deg) scale(0.7);
}

/* لما القائمة مفتوحة → بدّل الصور */
.menu-toggle.is-open .img-open {
    opacity: 0;
    transform: rotate(90deg) scale(0.7);
}

.menu-toggle.is-open .img-close {
    opacity: 1;
    transform: rotate(0deg) scale(1);
    z-index: 5555;
    width: 52px;
    top: 60px;
    position: fixed;
    height: auto;
}


/* ══════════════════════════════════
   CIRCLE REVEAL OVERLAY
══════════════════════════════════ */

/*
  الدايرة بتبدأ صغيرة من مكان الزرار
  وبتتمدد تملى الشاشة كلها
  --cx و --cy بيتحدثوا بالـ JS على حسب مكان الزرار
*/
.nav-overlay {
    position: fixed;
    inset: 0;
    z-index: 900;
    pointer-events: none;

    /* الشكل الدائري بـ clip-path */
    --cx: 44px; /* X مركز الزرار (بيتحدث من JS) */
    --cy: 44px; /* Y مركز الزرار */
    --r: 0%; /* نصف القطر — 0 = مخفي، 150% = يملى الشاشة */

    clip-path: circle(var(--r) at var(--cx) var(--cy));
    transition: clip-path 0.65s cubic-bezier(0.77, 0, 0.18, 1);

    background: linear-gradient(160deg, #1F4737 0%, #0d2a1e 100%);
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 80px 32px 40px;
}

.nav-overlay.is-open {
    --r: 150%;
    pointer-events: auto;
}


/* ══════════════════════════════════
   MENU ITEMS — STAGGER ANIMATION
══════════════════════════════════ */
.nav-list {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.nav-item {
    opacity: 0;
    transform: translateX(40px);
    transition: opacity 0.4s ease,
    transform 0.5s cubic-bezier(0.34, 1.56, 0.64, 1);
}

/* لما القائمة تتفتح → الآيتمز بتظهر بتتالي */
.nav-overlay.is-open .nav-item:nth-child(1) {
    opacity: 1;
    transform: none;
    transition-delay: 0.20s;
}

.nav-overlay.is-open .nav-item:nth-child(2) {
    opacity: 1;
    transform: none;
    transition-delay: 0.28s;
}

.nav-overlay.is-open .nav-item:nth-child(3) {
    opacity: 1;
    transform: none;
    transition-delay: 0.36s;
}

.nav-overlay.is-open .nav-item:nth-child(4) {
    opacity: 1;
    transform: none;
    transition-delay: 0.44s;
}

.nav-overlay.is-open .nav-item:nth-child(5) {
    opacity: 1;
    transform: none;
    transition-delay: 0.52s;
}

.nav-overlay.is-open .nav-item:nth-child(6) {
    opacity: 1;
    transform: none;
    transition-delay: 0.60s;
}

.nav-overlay.is-open .nav-item:nth-child(7) {
    opacity: 1;
    transform: none;
    transition-delay: 0.60s;
}

.nav-link {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 16px 20px;
    border-radius: 16px;
    text-decoration: none;
    color: #fff;
    font-family: var(--bold);
    font-size: 1.1rem;
    font-weight: 700;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.08);
    transition: background 0.25s, transform 0.25s;
    -webkit-tap-highlight-color: transparent;
}

.nav-link:hover,
.nav-link:focus {
    background: rgba(75, 173, 135, 0.22);
    transform: scale(1.02);
    outline: none;
}

.nav-link:active {
    transform: scale(0.98);
}

.nav-icon {
    width: 40px;
    height: 40px;
    border-radius: 11px;
    background: rgba(75, 173, 135, 0.18);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.15rem;
    flex-shrink: 0;
}

.nav-arrow {
    margin-right: auto; /* RTL: يدفعه لليسار */
    font-size: 1.1rem;
    opacity: 0.4;
    transition: opacity 0.2s, transform 0.2s;
}

.nav-link:hover .nav-arrow {
    opacity: 0.9;
    transform: translateX(-4px);
}
.contact-form-card__submit{
    margin-top: 30px;
}
.wpcf7-spinner{
    display: none;
}
.bc_projects .section-header h2{
    color: var(--linear);
}

/* =========================================================
   BECLOUD DARK THEME OVERRIDE
   Base Color: #0E0E14
   ضع الكود ده آخر ملف الـ CSS
========================================================= */

:root {
    --dark-bg: #0E0E14;
    --dark-bg-2: #12121A;
    --dark-bg-3: #151620;
    --dark-card: #171821;
    --dark-card-2: #1D1E2A;
    --dark-card-3: #222433;
    --dark-border: rgba(255, 255, 255, 0.10);
    --dark-border-2: rgba(93, 219, 170, 0.22);
    --dark-text: #F4F6FB;
    --dark-muted: #B8BFCC;
    --dark-muted-2: #8F96A8;

    --clr-bg: var(--dark-bg);
    --clr-white: var(--dark-card);
    --clr-text: var(--dark-text);
    --clr-muted: var(--dark-muted);
    --clr-border: var(--dark-border);

    --color-border: var(--dark-border);
    --color-input-bg: var(--dark-card-2);
    --color-placeholder: var(--dark-muted-2);
}

/* =========================
   Base
========================= */

html,
body {
    background-color: var(--dark-bg) !important;
    color: var(--dark-text);
}

body {
    background:
        radial-gradient(circle at 85% 8%, rgba(93, 219, 170, 0.12), transparent 32rem),
        radial-gradient(circle at 5% 85%, rgba(31, 71, 55, 0.28), transparent 36rem),
        linear-gradient(180deg, #0E0E14 0%, #12121A 48%, #0E0E14 100%) !important;
}

#page,
.site,
.site-content,
.content-area,
.site-main,
main {
    background: transparent !important;
    color: var(--dark-text);
}

a {
    color: inherit;
}

::selection {
    background: rgba(93, 219, 170, 0.28);
    color: #fff;
}

/* =========================
   Cards Section
========================= */

.cards-section {
    background: transparent !important;
}

.cards-section > * {
    background: transparent !important;
}

/* =========================
   Main Sections
========================= */

.About_Us,
.Services,
.Why_Choose,
.section,
.art-section,
.features-sec,
.steps-sec,
.cta-sec,
.form-sec,
.contact-sec,
.zigzag-sec {
    background: transparent !important;
}

.Services {
    background:
        radial-gradient(circle at 20% 0%, rgba(93, 219, 170, 0.08), transparent 26rem),
        linear-gradient(180deg, #0E0E14 0%, #12121A 55%, #0E0E14 100%) !important;
}

/* =========================
   Page Titles
========================= */

.Page_title,
.Page_title_services {
    position: relative;
    overflow: hidden;
}

.Page_title::before,
.Page_title_services::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(180deg, rgba(14, 14, 20, 0.45), rgba(14, 14, 20, 0.82)),
        radial-gradient(circle at 70% 20%, rgba(93, 219, 170, 0.18), transparent 28rem);
    z-index: 1;
    pointer-events: none;
}

.Page_title .Page_title_content,
.Page_title_services .Data_Single_Serv,
.Page_title_services .Page_title_content_services {
    position: relative;
    z-index: 2;
}

/* =========================
   Generic Dark Cards
========================= */

.Services .Services_Data .Services_Item,
.About_Us .About_Us_Data .About_Item .text_box:not(.text_box_section_about_2),
.Why_Choose .Why_Choose_Data .Boxs .Box_item,
.feat-card,
.art-card,
.form-sec__card,
.contact-form-card,
.zz-card,
.side-menu,
.side-menu__header,
.side-menu__footer {
    background: linear-gradient(180deg, rgba(29, 30, 42, 0.98), rgba(23, 24, 33, 0.98)) !important;
    border-color: var(--dark-border) !important;
    box-shadow: 0 18px 45px rgba(0, 0, 0, 0.26);
}

/* Keep Gradient Cards */
.text_box_section_about_2,
.card-content {
    background: linear-gradient(328deg, var(--main_color), var(--linear)) !important;
}

/* =========================
   Titles
========================= */

.Services h2,
.title,
.Why_Choose .Why_Choose_Data .Text h2,
.Why_Choose .Why_Choose_Data .Boxs .Box_item h3,
.section_header_single_services h2,
.features-sec__title,
.steps-sec__title,
.cta-sec__title,
.form-sec__card-title,
.contact-form-card__title,
.zigzag-sec__title,
.zz-card__title,
.art-title,
.art-title a,
.side-contact__title,
.side-social__title,
.entry-title,
.entry-title a {
    color: var(--dark-text) !important;
}

/* =========================
   Paragraphs / Muted Text
========================= */

.About_Us .About_Us_Data .About_Item .text_box p,
.Services .Services_Data .Services_Item p,
.sub_title,
.Why_Choose .Why_Choose_Data .Text p,
.Why_Choose .Why_Choose_Data .Boxs .Box_item p,
.section-header p,
.Testmontionals_subtitle,
.art-header p,
.section_header_single_services p,
.feat-card__desc,
.step-item__text,
.cta-sec__desc,
.art-desc,
.art-meta span,
.contact-info-card__label,
.zigzag-sec__subtitle,
.zz-card__desc,
.side-about__text,
.side-contact__item,
.entry-content,
.entry-summary,
.entry-meta,
.entry-meta a,
.posted-on,
.byline {
    color: var(--dark-muted) !important;
}

/* =========================
   Accent Text
========================= */

.Services .Services_Data .Services_Item h3,
.features-sec__title-accent,
.section_header_single_services h2 span,
.art-meta,
.art-meta a,
.zz-row .zz-card__step,
.cat-links a,
.tag-links a {
    color: var(--main_color) !important;
}

/* =========================
   Blog / Articles Page
   art-section + WordPress fallback
========================= */

.art-section {
    width: min(90%, 1180px);
    padding: 60px 0;
    margin: 10px auto;
    background: transparent !important;
}

.art-header {
    margin-bottom: 36px;
}

.art-header h2 {
    margin-bottom: 12px;
}

.art-header p {
    max-width: 680px;
    margin: 0 auto;
}

.art-grid {
    gap: 26px;
}

.art-card {
    position: relative;
    isolation: isolate;
    border: 1px solid var(--dark-border) !important;
    border-radius: 20px !important;
    overflow: hidden;
    background:
        linear-gradient(180deg, rgba(29, 30, 42, 0.98), rgba(23, 24, 33, 0.98)) !important;
    box-shadow:
        0 18px 45px rgba(0, 0, 0, 0.28),
        inset 0 1px 0 rgba(255, 255, 255, 0.04) !important;
    transition:
        transform 0.28s ease,
        box-shadow 0.28s ease,
        border-color 0.28s ease;
}

.art-card::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at top right, rgba(93, 219, 170, 0.12), transparent 17rem);
    opacity: 0;
    transition: opacity 0.28s ease;
    z-index: -1;
}

.art-card:hover {
    transform: translateY(-6px);
    border-color: rgba(93, 219, 170, 0.34) !important;
    box-shadow:
        0 24px 60px rgba(0, 0, 0, 0.38),
        0 0 34px rgba(93, 219, 170, 0.12) !important;
}

.art-card:hover::before {
    opacity: 1;
}

.art-img {
    height: 210px;
    background: var(--dark-bg-2);
    border-bottom: 1px solid var(--dark-border);
    transition:
        transform 0.35s ease,
        filter 0.35s ease;
}

.art-card:hover .art-img {
    transform: scale(1.035);
    filter: brightness(1.04) contrast(1.02);
}

.art-body {
    padding: 20px;
}

.art-meta {
    color: var(--main_color) !important;
    margin-bottom: 12px;
}

.art-meta span {
    color: var(--dark-muted-2) !important;
}

.art-title,
.art-title a {
    color: var(--dark-text) !important;
    transition: color 0.25s ease;
}

.art-title a:hover,
.art-card:hover .art-title {
    color: var(--main_color) !important;
}

.art-desc {
    color: var(--dark-muted) !important;
}

.art-btn {
    background: linear-gradient(328deg, var(--main_color), var(--linear)) !important;
    color: #fff !important;
    border: 1px solid transparent !important;
    box-shadow: 0 10px 24px rgba(93, 219, 170, 0.14);
    transition:
        background 0.25s ease,
        color 0.25s ease,
        border-color 0.25s ease,
        transform 0.25s ease;
}

.art-btn:hover {
    background: transparent !important;
    color: var(--main_color) !important;
    border-color: var(--main_color) !important;
    transform: translateY(-2px);
}

/* WordPress Blog / Archive fallback */
body.blog,
body.archive,
body.category,
body.single-post {
    background-color: var(--dark-bg) !important;
}

body.blog .site-content,
body.archive .site-content,
body.category .site-content,
body.single-post .site-content {
    background: transparent !important;
}

body.blog .site-main article,
body.archive .site-main article,
body.category .site-main article,
body.search .site-main article {
    background:
        linear-gradient(180deg, rgba(29, 30, 42, 0.98), rgba(23, 24, 33, 0.98)) !important;
    border: 1px solid var(--dark-border) !important;
    border-radius: 20px !important;
    padding: 22px !important;
    margin-bottom: 24px !important;
    overflow: hidden;
    box-shadow: 0 18px 45px rgba(0, 0, 0, 0.24);
}

body.blog .site-main article:hover,
body.archive .site-main article:hover,
body.category .site-main article:hover,
body.search .site-main article:hover {
    border-color: rgba(93, 219, 170, 0.34) !important;
    box-shadow:
        0 24px 60px rgba(0, 0, 0, 0.36),
        0 0 34px rgba(93, 219, 170, 0.10);
}

body.blog .entry-title,
body.blog .entry-title a,
body.archive .entry-title,
body.archive .entry-title a,
body.category .entry-title,
body.category .entry-title a,
body.single-post .entry-title,
body.single-post .entry-title a {
    color: var(--dark-text) !important;
}

body.blog .entry-title a:hover,
body.archive .entry-title a:hover,
body.category .entry-title a:hover,
body.single-post .entry-title a:hover {
    color: var(--main_color) !important;
}

body.blog .entry-content,
body.blog .entry-summary,
body.archive .entry-content,
body.archive .entry-summary,
body.category .entry-content,
body.category .entry-summary,
body.single-post .entry-content {
    color: var(--dark-muted) !important;
}

body.blog .post-thumb img,
body.archive .post-thumb img,
body.category .post-thumb img,
body.search .post-thumb img,
body.blog .wp-post-image,
body.archive .wp-post-image,
body.category .wp-post-image,
body.search .wp-post-image {
    border-radius: 16px;
    background: var(--dark-bg-2);
}

/* Single Post */
body.single-post .site-main article,
.ast-separate-container .ast-article-single {
    background:
        linear-gradient(180deg, rgba(29, 30, 42, 0.98), rgba(23, 24, 33, 0.98)) !important;
    border: 1px solid var(--dark-border) !important;
    border-radius: 22px !important;
    padding: 28px !important;
    box-shadow: 0 18px 45px rgba(0, 0, 0, 0.26);
}

body.single-post .entry-content h1,
body.single-post .entry-content h2,
body.single-post .entry-content h3,
body.single-post .entry-content h4,
body.single-post .entry-content h5,
body.single-post .entry-content h6 {
    color: var(--dark-text) !important;
}

body.single-post .entry-content p,
body.single-post .entry-content li {
    color: var(--dark-muted) !important;
}

body.single-post .entry-content a {
    color: var(--main_color) !important;
}

/* Blog Pagination */
.pagination,
.nav-links,
.page-links {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    flex-wrap: wrap;
}

.page-numbers,
.nav-links a,
.nav-links span,
.page-links a,
.page-links span {
    min-width: 40px;
    height: 40px;
    padding: 0 14px;
    border-radius: 10px;
    background: var(--dark-card-2) !important;
    border: 1px solid var(--dark-border) !important;
    color: var(--dark-text) !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: all 0.25s ease;
}

.page-numbers.current,
.page-numbers:hover,
.nav-links a:hover,
.page-links a:hover {
    background: linear-gradient(328deg, var(--main_color), var(--linear)) !important;
    color: #fff !important;
    border-color: transparent !important;
}

/* Blog Sidebar / Widgets */
.widget-area,
.sidebar-main {
    background: transparent !important;
}

.widget,
.wp-block-group,
.wp-block-latest-posts,
.wp-block-categories,
.wp-block-archives {
    background: rgba(23, 24, 33, 0.92) !important;
    border: 1px solid var(--dark-border) !important;
    border-radius: 18px;
    color: var(--dark-muted) !important;
}

.widget {
    padding: 20px;
}

.widget-title,
.widget h2,
.widget h3,
.wp-block-heading {
    color: var(--dark-text) !important;
}

.widget a,
.wp-block-latest-posts a,
.wp-block-categories a,
.wp-block-archives a {
    color: var(--dark-muted) !important;
    transition: color 0.25s ease;
}

.widget a:hover,
.wp-block-latest-posts a:hover,
.wp-block-categories a:hover,
.wp-block-archives a:hover {
    color: var(--main_color) !important;
}

/* Search */
.search-form,
.wp-block-search {
    display: flex;
    gap: 8px;
}

.search-field,
.wp-block-search__input {
    background: var(--dark-card-2) !important;
    color: var(--dark-text) !important;
    border: 1px solid var(--dark-border) !important;
    border-radius: 10px !important;
}

.search-field::placeholder,
.wp-block-search__input::placeholder {
    color: var(--dark-muted-2) !important;
}

.search-submit,
.wp-block-search__button {
    background: linear-gradient(328deg, var(--main_color), var(--linear)) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 10px !important;
}

/* Comments */
.comments-area,
.comment-respond,
.comment-list .comment,
.comment-body {
    background: rgba(23, 24, 33, 0.92) !important;
    border-color: var(--dark-border) !important;
    color: var(--dark-muted) !important;
}

.comments-title,
.comment-reply-title,
.comment-author,
.comment-author a {
    color: var(--dark-text) !important;
}

/* =========================
   Portfolio / Filters
========================= */

.filter-btn {
    color: var(--dark-text) !important;
    border-color: var(--dark-border) !important;
    background: rgba(255, 255, 255, 0.04) !important;
}

.filter-btn:hover,
.filter-btn.active {
    background: linear-gradient(52deg, var(--main_color), var(--linear)) !important;
    color: #fff !important;
    border-color: transparent !important;
}

.frame-ipad,
.frame-mobile {
    background: var(--dark-card-2) !important;
    border-color: rgba(255, 255, 255, 0.14) !important;
}

/* =========================
   Forms
========================= */

.form-sec__tab {
    background: var(--dark-card-2) !important;
    color: var(--dark-muted) !important;
    border-color: var(--dark-border) !important;
}

.form-sec__tab--active {
    background: var(--color-primary) !important;
    color: #fff !important;
    border-color: var(--color-primary) !important;
}

.form-sec__tab:not(.form-sec__tab--active):hover {
    background: #242634 !important;
    color: var(--dark-text) !important;
}

.form-panel__input,
.form-panel__select,
.form-panel__textarea,
.contact-form-card__input,
.contact-form-card__textarea,
input,
textarea,
select {
    background: var(--dark-card-2) !important;
    color: var(--dark-text) !important;
    border-color: var(--dark-border) !important;
}

.form-panel__input::placeholder,
.form-panel__textarea::placeholder,
.contact-form-card__input::placeholder,
.contact-form-card__textarea::placeholder,
input::placeholder,
textarea::placeholder {
    color: var(--dark-muted-2) !important;
}

.form-panel__input:focus,
.form-panel__select:focus,
.form-panel__textarea:focus,
.contact-form-card__input:focus,
.contact-form-card__textarea:focus,
input:focus,
textarea:focus,
select:focus {
    border-color: var(--main_color) !important;
    box-shadow: 0 0 0 3px rgba(93, 219, 170, 0.13) !important;
    outline: none !important;
}

.form-panel__submit {
    background: linear-gradient(328deg, var(--main_color), var(--linear)) !important;
}

/* =========================
   Logos Marquee Fade
========================= */

.logos-marquee::before {
    background: linear-gradient(to right, var(--dark-bg), transparent) !important;
}

.logos-marquee::after {
    background: linear-gradient(to left, var(--dark-bg), transparent) !important;
}

/* =========================
   Testimonials
========================= */

.tw-root {
    background:
        radial-gradient(circle at 18% 20%, rgba(93, 219, 170, 0.10), transparent 24rem),
        var(--dark-bg) !important;
}

.tw-card {
    background: rgba(23, 24, 33, 0.68) !important;
    border-color: rgba(93, 219, 170, 0.30) !important;
}

.tw-img {
    background: var(--dark-card) !important;
}

.tw-quote {
    color: var(--dark-muted) !important;
}

.tw-name {
    color: var(--dark-text) !important;
}

.tw-desig {
    color: var(--main_color) !important;
}

/* =========================
   Stats Section
========================= */

.stats-section {
    background:
        radial-gradient(circle at top right, rgba(93, 219, 170, 0.16), transparent 24rem),
        linear-gradient(135deg, #10291F 0%, #1F4737 58%, #0E0E14 100%) !important;
}

.stat-item:not(:last-child) {
    border-left-color: rgba(255, 255, 255, 0.14) !important;
}

/* =========================
   Side Menu / Mobile Nav
========================= */

.side-menu,
.side-menu__header {
    background: var(--dark-card) !important;
}

.side-menu {
    box-shadow: -10px 0 40px rgba(0, 0, 0, 0.45) !important;
}

.side-menu__header,
.side-menu__footer {
    border-color: var(--dark-border) !important;
}

.side-menu__close {
    background: var(--dark-card-2) !important;
    border-color: var(--dark-border) !important;
    color: var(--dark-text) !important;
}

.side-menu__close:hover {
    background: rgba(255, 80, 80, 0.15) !important;
    border-color: rgba(255, 120, 120, 0.35) !important;
    color: #ff7777 !important;
}

.nav-overlay {
    background:
        radial-gradient(circle at top right, rgba(93, 219, 170, 0.18), transparent 32rem),
        linear-gradient(160deg, #0E0E14 0%, #10241C 100%) !important;
}

/* =========================
   Dividers
========================= */

.cta-sec__divider {
    background: linear-gradient(
        180deg,
        transparent,
        rgba(255, 255, 255, 0.18) 30%,
        rgba(255, 255, 255, 0.18) 70%,
        transparent
    ) !important;
}

.post-title{
    color: #fff;
}
/* =========================
   Hover Fixes
========================= */

.Services .Services_Data .Services_Item:hover h3,
.Services .Services_Data .Services_Item:hover p,
.Why_Choose .Why_Choose_Data .Boxs .Box_item:hover h3,
.Why_Choose .Why_Choose_Data .Boxs .Box_item:hover p,
.feat-card:hover .feat-card__title,
.feat-card:hover .feat-card__desc {
    color: #fff !important;
}

.Services .Services_Data .Services_Item:hover a {
    background: transparent !important;
    border-color: #fff !important;
    color: #fff !important;
}

/* =========================
   Mobile
========================= */

@media (max-width: 768px) {
    .cta-sec__divider {
        background: linear-gradient(
            90deg,
            transparent,
            rgba(255, 255, 255, 0.18) 30%,
            rgba(255, 255, 255, 0.18) 70%,
            transparent
        ) !important;
    }

    .art-section {
        width: 92%;
        padding: 40px 0;
    }

    .art-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .art-img {
        height: 190px;
    }

    body.blog .site-main article,
    body.archive .site-main article,
    body.category .site-main article,
    body.search .site-main article,
    body.single-post .site-main article {
        padding: 16px !important;
        border-radius: 18px !important;
    }
}

/* stats-grid: 2 ثم واحدة في الموبايل */
@media (max-width: 640px) {
    .stats-section {
        padding: 40px 20px;
    }

    .stats-grid {
        display: grid !important;
        grid-template-columns: repeat(2, 1fr);
        gap: 28px 16px;
        align-items: stretch;
    }

    .stat-item {
        width: 100%;
        padding: 0 10px 24px;
        border-left: none !important;
        border-bottom: none !important;
    }

    .stat-item:nth-child(3) {
        grid-column: 1 / -1;
        justify-self: center;
        width: calc(50% - 8px);
    }

    .stat-item:last-child {
        padding-bottom: 24px;
    }
}

@media (max-width: 480px) {
    .art-body {
        padding: 16px;
    }

    .art-title {
        font-size: 16px;
    }

    .art-desc {
        font-size: 13px;
    }

    .page-numbers,
    .nav-links a,
    .nav-links span,
    .page-links a,
    .page-links span {
        min-width: 36px;
        height: 36px;
        padding: 0 12px;
    }
}
.card-body h3{
    color:  #fff !important;
}
/* =========================================================
   FINAL BLOG DARK PATCH
   ضع ده آخر الملف خالص
========================================================= */

/* Blog page wrappers */
body.blog .ast-container,
body.archive .ast-container,
body.category .ast-container,
body.search .ast-container,
body.single-post .ast-container,
body.blog .content-area,
body.archive .content-area,
body.category .content-area,
body.search .content-area,
body.single-post .content-area {
    background: transparent !important;
}


/* Blog card hover */
body.blog article:hover,
body.archive article:hover,
body.category article:hover,
body.search article:hover,
.ast-article-post:hover,
.blog-card:hover,
.post-card:hover,
.post-item:hover,
.post-box:hover {
    border-color: rgba(93, 219, 170, 0.34) !important;
    box-shadow:
        0 24px 60px rgba(0, 0, 0, 0.38),
        0 0 34px rgba(93, 219, 170, 0.12) !important;
}
.custom-toc__body ,.custom-toc__header {
    background:var(--brand-light)
}
.custom-toc__item--h2 > .custom-toc__link ,.custom-toc__title ,.custom-toc__icon-wrap{
    color: #fff;
}
/* Blog titles */
.post-title,
.post-title a,
.entry-title,
.entry-title a,
.ast-blog-featured-section + .entry-header .entry-title,
.blog-card h2,
.blog-card h2 a,
.post-card h2,
.post-card h2 a,
.post-item h2,
.post-item h2 a {
    color: var(--dark-text) !important;
}

/* Blog title hover */
.post-title a:hover,
.entry-title a:hover,
.blog-card h2 a:hover,
.post-card h2 a:hover,
.post-item h2 a:hover {
    color: var(--main_color) !important;
}

/* Blog meta / excerpt */
.entry-meta,
.entry-meta *,
.entry-summary,
.entry-content,
.post-excerpt,
.post-desc,
.blog-card p,
.post-card p,
.post-item p {
    color: var(--dark-muted) !important;
}

/* Blog images */
body.blog article img,
body.archive article img,
body.category article img,
body.search article img,
.blog-card img,
.post-card img,
.post-item img,
.art-card img {
    background: var(--dark-bg-2) !important;
}

/* Read more buttons */
.more-link,
.read-more,
.read-more a,
.blog-card a.more-link,
.post-card a.more-link {
    background: linear-gradient(328deg, var(--main_color), var(--linear)) !important;
    color: #fff !important;
    border: 1px solid transparent !important;
    border-radius: 10px;
    padding: 9px 22px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    transition: all 0.25s ease;
}

.more-link:hover,
.read-more:hover,
.read-more a:hover,
.blog-card a.more-link:hover,
.post-card a.more-link:hover {
    background: transparent !important;
    color: var(--main_color) !important;
    border-color: var(--main_color) !important;
}
/* =========================================================
   FINAL SINGLE ARTICLE CONTENT COLORS PATCH
   For WordPress / Astra Single Post
========================================================= */

/* Article page base */
body.single-post {
    background:
        radial-gradient(circle at 85% 8%, rgba(93, 219, 170, 0.12), transparent 32rem),
        radial-gradient(circle at 5% 85%, rgba(31, 71, 55, 0.25), transparent 36rem),
        linear-gradient(180deg, #0E0E14 0%, #12121A 50%, #0E0E14 100%) !important;
}

/* Single article card */
body.single-post article,
body.single-post .site-main article,
body.single-post .ast-article-single,
.ast-separate-container .ast-article-single {
    background: linear-gradient(
        180deg,
        rgba(29, 30, 42, 0.98),
        rgba(23, 24, 33, 0.98)
    ) !important;
    border: 1px solid rgba(255, 255, 255, 0.10) !important;
    border-radius: 24px !important;
    box-shadow:
        0 24px 70px rgba(0, 0, 0, 0.34),
        inset 0 1px 0 rgba(255, 255, 255, 0.04) !important;
    overflow: hidden;
}

/* Article content wrapper */
body.single-post .entry-content,
body.single-post .post-content,
body.single-post .article-content {
    color: #B8BFCC !important;
    font-family: var(--med);
    line-height: 2;
}

/* Main post title */
body.single-post .entry-title,
body.single-post .entry-title a {
    color: #F4F6FB !important;
    font-family: var(--bold);
    line-height: 1.45;
}

/* Meta */
body.single-post .entry-meta,
body.single-post .entry-meta *,
body.single-post .posted-on,
body.single-post .byline {
    color: #8F96A8 !important;
}

body.single-post .entry-meta a:hover {
    color: var(--main_color) !important;
}

/* Article headings */
body.single-post .entry-content h1,
body.single-post .entry-content h2,
body.single-post .entry-content h3,
body.single-post .entry-content h4,
body.single-post .entry-content h5,
body.single-post .entry-content h6 {
    color: #F4F6FB !important;
    font-family: var(--bold);
    line-height: 1.55;
    margin: 34px 0 16px;
}

/* H2 as section title */
body.single-post .entry-content h2 {
    position: relative;
    font-size: 30px;
    padding-right: 18px;
}

body.single-post .entry-content h2::before {
    content: "";
    position: absolute;
    right: 0;
    top: 10px;
    width: 5px;
    height: calc(100% - 20px);
    min-height: 24px;
    border-radius: 99px;
    background: linear-gradient(180deg, var(--main_color), var(--linear));
}

/* H3 accent */
body.single-post .entry-content h3 {
    color: var(--main_color) !important;
    font-size: 23px;
}

/* Paragraphs */
body.single-post .entry-content p {
    color: #B8BFCC !important;
    font-family: var(--med);
    font-size: 16px;
    line-height: 2;
    margin-bottom: 18px;
}

/* Lists */
body.single-post .entry-content ul,
body.single-post .entry-content ol {
    margin: 16px 0 24px;
    padding-right: 24px;
    color: #B8BFCC !important;
}

body.single-post .entry-content li {
    color: #B8BFCC !important;
    font-family: var(--med);
    line-height: 2;
    margin-bottom: 8px;
}

body.single-post .entry-content li::marker {
    color: var(--main_color);
}

body.single-post .entry-content li p {
    margin: 0;
    color: #B8BFCC !important;
}

/* Links inside article */
body.single-post .entry-content a {
    color: var(--main_color) !important;
    font-family: var(--sbold);
    text-decoration: none;
    border-bottom: 1px solid rgba(93, 219, 170, 0.35);
    transition: color 0.25s ease, border-color 0.25s ease;
}

body.single-post .entry-content a:hover {
    color: #ffffff !important;
    border-color: #ffffff;
}

/* Links inside headings */
body.single-post .entry-content h2 a,
body.single-post .entry-content h3 a,
body.single-post .entry-content h4 a {
    color: inherit !important;
    border-bottom: 1px solid rgba(93, 219, 170, 0.45);
}

body.single-post .entry-content h2 a:hover,
body.single-post .entry-content h3 a:hover,
body.single-post .entry-content h4 a:hover {
    color: var(--main_color) !important;
}

/* Strong / bold */
body.single-post .entry-content strong,
body.single-post .entry-content b {
    color: #F4F6FB !important;
    font-family: var(--bold);
}

/* Images */
body.single-post .entry-content img,
body.single-post .wp-post-image {
    border-radius: 18px;
    background: #12121A !important;
    box-shadow: 0 16px 45px rgba(0, 0, 0, 0.25);
}

/* Captions */
body.single-post .entry-content figcaption,
body.single-post .wp-caption-text {
    color: #8F96A8 !important;
    font-size: 13px;
    text-align: center;
}

/* Table wrapper from article */
body.single-post .entry-content div[align="right"],
body.single-post .entry-content div[dir="rtl"] {
    max-width: 100%;
}

/* Tables */
body.single-post .entry-content table {
    width: 100% !important;
    max-width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    overflow: hidden;
    margin: 24px 0;
    background: #171821 !important;
    border: 1px solid rgba(255, 255, 255, 0.10) !important;
    border-radius: 16px;
    box-shadow: 0 18px 45px rgba(0, 0, 0, 0.22);
}

body.single-post .entry-content table tbody,
body.single-post .entry-content table tr,
body.single-post .entry-content table td,
body.single-post .entry-content table th {
    background: transparent !important;
    border-color: rgba(255, 255, 255, 0.10) !important;
}

body.single-post .entry-content table tr:first-child {
    background: linear-gradient(328deg, var(--main_color), var(--linear)) !important;
}

body.single-post .entry-content table tr:first-child td,
body.single-post .entry-content table tr:first-child th,
body.single-post .entry-content table tr:first-child p {
    color: #ffffff !important;
    font-family: var(--bold);
}

body.single-post .entry-content table td,
body.single-post .entry-content table th {
    padding: 14px 16px;
    color: #B8BFCC !important;
    border-left: 1px solid rgba(255, 255, 255, 0.10) !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.10) !important;
    text-align: right;
}

body.single-post .entry-content table tr:last-child td {
    border-bottom: none !important;
}

body.single-post .entry-content table td:last-child,
body.single-post .entry-content table th:last-child {
    border-left: none !important;
}

body.single-post .entry-content table p {
    color: #B8BFCC !important;
    margin: 0;
    line-height: 1.8;
}

/* Warning / notes look */
body.single-post .entry-content blockquote {
    background: rgba(93, 219, 170, 0.08) !important;
    border-right: 4px solid var(--main_color) !important;
    border-left: none !important;
    color: #F4F6FB !important;
    border-radius: 14px;
    padding: 18px 22px;
    margin: 24px 0;
}

body.single-post .entry-content blockquote p {
    color: #F4F6FB !important;
}

/* HR */
body.single-post .entry-content hr {
    border: none;
    height: 1px;
    background: linear-gradient(
        90deg,
        transparent,
        rgba(255, 255, 255, 0.16),
        transparent
    );
    margin: 36px 0;
}

/* Code */
body.single-post .entry-content code,
body.single-post .entry-content pre {
    background: #0E0E14 !important;
    color: #F4F6FB !important;
    border: 1px solid rgba(255, 255, 255, 0.10);
    border-radius: 10px;
}

/* Remove white backgrounds from WP blocks */
body.single-post .entry-content .wp-block-group,
body.single-post .entry-content .wp-block-column,
body.single-post .entry-content .wp-block-cover,
body.single-post .entry-content .wp-block-table {
    background: transparent !important;
    color: #B8BFCC !important;
}

/* Author / navigation / related blocks */
body.single-post .post-navigation,
body.single-post .nav-links,
body.single-post .author-box,
body.single-post .comments-area,
body.single-post .comment-respond {
    background: rgba(23, 24, 33, 0.94) !important;
    border: 1px solid rgba(255, 255, 255, 0.10) !important;
    border-radius: 18px;
    color: #B8BFCC !important;
}

/* Mobile */
@media (max-width: 768px) {
    body.single-post article,
    body.single-post .site-main article,
    body.single-post .ast-article-single,
    .ast-separate-container .ast-article-single {
        padding: 18px !important;
        border-radius: 18px !important;
    }

    body.single-post .entry-title {
        font-size: 28px !important;
    }

    body.single-post .entry-content h2 {
        font-size: 24px;
    }

    body.single-post .entry-content h3 {
        font-size: 20px;
    }

    body.single-post .entry-content p,
    body.single-post .entry-content li {
        font-size: 15px;
        line-height: 1.9;
    }

    body.single-post .entry-content div[align="right"] {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    body.single-post .entry-content table {
        min-width: 560px;
    }
}