 * {
     -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
     box-sizing: border-box;
 }

 a {
     text-decoration: none;
     transition: all .4s ease-in-out;
     color: inherit;
 }

 a,
 button,
 input[type="button"] {
     cursor: pointer;
     transition: all .2s ease-in-out;
 }

 a:focus,
 a:hover {
     text-decoration: none;
     color: inherit;
 }

 button {
     background: transparent;
     border: none;
 }

 button:focus {
     outline: none
 }

 .list-inline-item:not(:last-child),
 ul {
     margin-right: 0;
 }

 ul {
     padding-left: 0;
     padding-right: 0;
     transition: all .4s ease-in-out;
     margin: 0;
 }

 ul li {
     list-style-type: none
 }

 :focus {
     outline: none;
 }

 .text-center {
     text-align: center;
 }

 .text-right {
     text-align: right
 }

 .text-left {
     text-align: left
 }

 .row {
     margin-left: 0;
     margin-right: 0;
 }

 .padd-0 {
     padding-left: 0;
     padding-right: 0
 }

 .padd-5 {
     padding-left: 5px;
     padding-right: 5px
 }

 .sec-padd {
     padding-top: 50px;
     padding-bottom: 50px;
 }

 .pl-10 {
     padding-left: 10px;
 }

 .pr-10 {
     padding-right: 10px;
 }

 .pt-10 {
     padding-top: 10px;
 }

 .pb-10 {
     padding-bottom: 10px;
 }

 .pl-20 {
     padding-left: 20px;
 }

 .pr-20 {
     padding-right: 20px;
 }

 .pt-20 {
     padding-top: 20px;
 }

 .pb-20 {
     padding-bottom: 20px;
 }

 .ml-10 {
     margin-left: 10px;
 }

 .mr-10 {
     margin-right: 10px;
 }

 .mt-10 {
     margin-top: 10px;
 }

 .mb-10 {
     margin-bottom: 10px;
 }

 .ml-20 {
     margin-left: 20px;
 }

 .mr-20 {
     margin-right: 20px;
 }

 .mt-20 {
     margin-top: 20px;
 }

 .mb-20 {
     margin-bottom: 20px;
 }

 .m-20 {
     margin: 20px;
 }

 .p-15 {
     padding: 15px;
 }

 .r-0 {
     border-radius: 0 !important;
 }

 .p-0 {
     padding: 0 !important;
 }

 .f-b {
     font-weight: 600;
 }


 .mx-1 {
     margin-left: .25rem !important;
 }

 :focus {
     box-shadow: none !important;
     border-color: inherit;
 }

 .d-none {
     display: none
 }

 .d-block {
     display: block
 }

 .owl-carousel {
     direction: ltr
 }

 .dropdown-toggle::after {
     display: none
 }

 .dropdown {
     display: inline-block;
 }

 .dropdown-menu {
     float: none;
     text-align: start;
 }

 select.form-control:not([size]):not([multiple]) {
     height: auto;
 }

 input::-webkit-outer-spin-button,
 input::-webkit-inner-spin-button {
     -webkit-appearance: none;
     margin: 0;
 }

 p {
     margin: 0;
 }

 .flex-grow-1 {
     flex-grow: 1
 }

 input[type=checkbox],
 input[type=radio] {
     position: relative;
     width: 20px;
     height: 20px;
     vertical-align: middle;
 }

 input[type=checkbox]:before {
     top: 0;
     left: 0;
     width: 20px;
     height: 20px;
     border: 1px solid var(--main);
     content: "";
     position: absolute;
     background: var(--main);
     border-radius: 3px;
 }

 input[type=checkbox]:checked::after {
     background: transparent;
     border: 2px solid #fff;
     top: 0px;
     left: 7px;
     width: 7px;
     height: 15px;
     /* border: 1px solid #000; */
     content: "";
     position: absolute;
     border-top-color: transparent;
     border-left-color: transparent;
     transform: rotate(45deg);
 }

 input[type=radio]:before {
     top: 0;
     left: 0;
     width: 20px;
     height: 20px;
     border: 1px solid var(--main);
     content: "";
     position: absolute;
     background: #fff;
     border-radius: 50%;
 }

 input[type=radio]:checked::after {
     top: 50%;
     left: 50%;
     width: 12px;
     height: 12px;
     content: "";
     position: absolute;
     transform: translate(-50%, -50%);
     background: var(--main);
     border-radius: 50%;
 }

 

 .main-color {
     color: var(--main) !important;
 }

 .grey-color {
     color: #999;
 }

 .font-11 {
     font-size: 11px;
 }

 .font-18 {
     font-size: 18px;
 }

 .font-20 {
     font-size: 20px;
 }

 .under-line {
     text-decoration: underline;
 }

 .btn-main {
     display: block;
     background-image: var(--main2);
     color: var(--white) !important;
     width: 140px;
     max-width: 100%;
     padding: 0;
     border-radius: 8px;
     text-align: center;
     margin: 20px auto;
     height: 45px;
     line-height: 45px;
 }

 .btn-main-w {
     background: #fff;
     color: var(--main);
 }

 textarea {
     resize: none;
 }

 @font-face {
     font-family: "myFont";
     src: url(../fonts/JF-Flat-regular.ttf);

 }

 .rounded {
     border-radius: .25rem !important;
 }

 body {
     direction: rtl;
     text-align: right;
     font-family: "myFont";
     word-spacing: 1px;
     color: #454545;
     font-size: 15px;
     text-shadow: 0 0;
 }


 header {
     padding: 8px 0px;
     background: #FFFFFF;
     box-shadow: 0px 3px 10px 0px rgba(0, 0, 0, 0.2);
     width: 100%;
     position: fixed;
     left: 0;
     top: 0;
     z-index: 30;
 }


.nav_bar a.active{color: var(--main)}

/* كان 90px لمخط قديم بـ header ثابت؛ مع navbar sticky يسبب فراغاً أبيض بين الـ nav والهيرو */
.body-content { margin-top: 0; }

 .the-logo {
     margin-inline-end: 15px;
     max-height: 75px;
 }


 header .btn-main {
     margin: 0;
     width: 140px;
     margin-inline-start: 40px;
 }

 .close-open-nav {
     width: 25px;
     height: 25px;
     margin-inline-start: 10px;
     position: relative;
     display: none;
 }

 .close-open-nav > div {
     display: flex;
     flex-direction: column;
     justify-content: space-around;
     width: 100%;
     height: 100%;
     cursor: pointer;
 }

 .close-open-nav > div span {
     width: 100%;
     height: 3px;
     background: var(--main);
     border-radius: 20px;
     display: block;
     transition: all 0.3s linear 0s;
 }

 .close-open-nav.active span:first-of-type {
     transform: translateY(7px) rotate(45deg);
 }

 .close-open-nav.active span:nth-child(2) {
     opacity: 0;
 }

 .close-open-nav.active span:last-of-type {
     transform: translateY(-9px) rotate(-45deg);
 }



 .dropdown-menu {
     padding: 5px;
     border: 1px solid var(--main);
     border-radius: 12px;
     top: 12px !important;
 }

 .dropdown-menu:after {
     content: "";
     position: absolute;
     border-width: 6px;
     border-style: solid;
     border-color: var(--main) transparent transparent var(--main);
     top: 0;
     left: 25px;
     transform: translateY(-50%) rotate(45deg);
 }

 .dropdown-menu .dropdown-item {
     border-radius: 12px;
     color: var(--main);
 }



 .owl-dots {
     display: flex;
     justify-content: center;
     align-items: center;
     position: absolute;
     bottom: 18px;
     left: 50%;
     transform: translateX(-50%);
 }

 .owl-nav {
     position: absolute;
     left: 50%;
     transform: translateX(-50%);
     bottom: 8px;
     display: flex;
     justify-content: space-between;
 }

 .owl-nav > div {
     width: 40px;
     height: 40px;
     background: #F3F3F3;
     border: 1px solid #EEE;
     padding: 0px;
     display: flex;
     align-items: center;
     justify-content: center;
     font-size: 15px;
     transition-duration: 0.3s;
     border-radius: 50%;
 }

 .owl-nav > div:hover {
     background-color: var(--main);
     color: var(--white);
 }


 .owl-carousel .owl-dot {
     width: 20px;
     height: 20px;
     background: #F3F3F3;
     border-radius: 50px;
     margin: 0px 5px;
     position: relative
 }

 .owl-carousel .owl-dot:after {
     content: "";
     display: block;
     width: 5px;
     height: 5px;
     border-radius: 50%;
     background: #DDDDDD;
     position: absolute;
     top: 50%;
     left: 50%;
     transform: translate(-50%, -50%);

 }

 .owl-carousel .owl-dot.active {
     background: var(--main);
 }

 .info_owl {
     width: 100%;
     height: 480px;
     position: relative;
     overflow: hidden;
     display: flex;
     align-items: center;
     justify-content: flex-start
 }

 .img_owl_index {
     position: absolute;
     width: 866px;
     height: 650px;
     border-radius: 200px;
     overflow: hidden;
     left: -105px;
     bottom: 140px;
     transform: rotate(-60deg);
 }

 .img_owl_index:after,
 .video_info_:after {
     content: "";
     position: absolute;
     display: block;
     width: 100%;
     height: 100%;
     left: 0;
     top: 0;
     background: rgb(222 187 109 / 36%);
     ;

 }

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


 .ads_wol {
     position: relative;
     z-index: 5;
     max-width: 420px;
     margin-left: auto;
 }


 .ads_wol .links img {
     max-width: 140px
 }

 .ads_wol .links li {
     margin-inline-start: 15px
 }

 .ads_wol h3 {
     color: var(--main);
     line-height: 1.7;
     margin-bottom: 15px;
 }

 .ads_wol p {
     color: var(--gray);
     margin-bottom: 25px;
 }


 .img_info_JM {
     position: relative;
     align-items: center;
     display: flex;
     justify-content: center;
     
 }


 .img_info_JM img {
     max-width: 100%;
     object-fit: cover;
     border-radius: 20px
 }

 .img_info_JM img:first-of-type {
     width: 270px;
     height: 550px;
     position: relative;
     z-index: 3
 }

 .img_info_JM img:last-of-type {

     width: 220px;
     height: 450px;
     position: absolute;
     left: 0;
     top: 50%;
     transform: translateY(-50%)
 }


 .info_JM {
     height: 100%;
     display: flex;
     flex-direction: column;
     justify-content: center;
 }


 .bacg_section {
     background: var(--main2)
 }

 .bacg_section2 {
     background: #FEFCF8
 }


 .the_title {
     max-width: 500px;
     margin: auto;
     text-align: center;
     margin-bottom: 20px
 }

 .bacg_section .the_title {
     color: #FFFFFF
 }

 .box-servess {
     background: #FFFFFF;
     border-radius: 20px;
     padding: 30px 20px;
     margin: 10px 0px;
     min-height: calc(100% - 20px);
     position: relative;
     overflow: hidden;
     z-index: 3
 }

.box-servess:after{
    content: "";
    width: 75px;
    height: 75px;
    position: absolute;
    background: var(--hover);
    top: 30px;
    right: 30px;
    border-radius: 20px;
    z-index: -1;
    transition: all 0.3s linear 0s
}

.box-servess:hover:after{height: 100%; 
    width: 100%;
    top: 0px;
    right: 0px;
    left: 0px}


 .box-servess img {
     max-width: 75px;
     margin: 0px 10px 15px;
 }


 .how_work {
     display: flex;
     justify-content: space-between;
     text-align: center;
     background-image: url(../imgs/Path%205477.png);
     background-repeat: no-repeat;
     background-position: 50% 30%;
     overflow: auto;
     margin-bottom: 40px
 }



 .how_work li {
     width: 130px;
     margin: 10px;
 }

 .how_work img {
     width: 130px;
     height: 130px;
     border-radius: 50%;
     margin-bottom: 10px;
     object-fit: cover;
 }


 .video_info_ {
     width: 100%;
     height: 380px;
     display: flex;
     justify-content: center;
     align-items: center;
     position: relative;
     overflow: hidden;
     border-radius: 25px;
 }

 .video_info_ > img {
     width: 100%;
     height: 100%;
     object-fit: cover;
     position: absolute;
 }

 .video_info_ > a {
     position: relative;
     z-index: 2;
     background: var(--main);
     width: 80px;
     height: 80px;
     border-radius: 50%;
 }

 .how_work2 li {
     padding: 20px 15px;
     border-radius: 10px;
     margin: 12px 0px;
     transition-duration: 0.3s
 }

 .how_work2 li:hover {
     background-color: #F8F8F8;
     color: var(--main)
 }


 .accordion .card {

     margin: 20px 0;
     border-radius: 10px;
     box-shadow: 0 0 8px 0px rgba(0, 0, 0, 0.2);
     overflow: hidden;
 }

 .accordion .card-header {
     padding: 0;
     background: #FFFFFF
 }

 .accordion .card-header button {
     display: block;
     width: 100%;
     text-align: start;
     padding: 15px
 }


 .accordion .card-header button[aria-expanded="true"] {
     color: var(--main)
 }


 .card-body {
     padding: 20px 25px;
 }


 .form-group {
     margin-bottom: 1rem;
     position: relative;
 }


 .form-content label {
     display: inline-block;
     margin-bottom: 5px;
 }

 .form-control {
     border: 1px solid #F9F9F9;
     padding: 13px;
     border-radius: 10px;
     background: #F9F9F9;
     font-size: 13px;
 }

 .form-control:focus {
     border-color: var(--main)
 }

 textarea.form-control {
     height: 180px
 }

 .form-content .row {
     margin: 0px -15px
 }

 .Tfooter {
     margin: 15px 0px;
     position: relative;
 }

 .link-footer li {
     margin-bottom: 10px;
 }


 footer {
     color: #FFFFFF;
     padding-top: 20px;
     background: var(--main2)
 }


 .logo_footer {
     max-width: 110px;
     margin: 0 25px 25px 0;
 }

 .social-m li a {
     margin-inline-end: 15px;
     width: 35px;
     height: 35px;
     background: var(--main);
     display: flex;
     font-size: 17px;
     justify-content: center;
     align-items: center;
     border-radius: 50%;
 }

 .under_footer {
     padding: 15px 0;
     background: var(--main);
     text-align: center;
     margin-top: 25px
 }


 /*Extra small devices (portrait phones, less than 576px)*/
 @media (max-width: 575.98px) {
     
     .how_work2 li {
    padding: 10px 10px;
    margin: 5px 0px;
}
     
     .video_info_{height: 240px}
 }

 /*Small devices (landscape phones, less than 768px)*/
 @media (max-width: 767.98px) {
     
     .nav-link {
         width: 130px;
         margin: 5px
     }
     
     
     .sec-padd{
             padding-top: 30px;
    padding-bottom: 30px;
     }
     
    
.img_owl_index {
    width: 100%;
    height: 100%;
    border-radius: 0px;
    left: 0 !important;
    bottom: 0;
    transform: none !important;
}
     
     .info_owl {height: 400px}
     
     .ads_wol h3 {
    line-height: 1.4;
    margin-bottom: 8px;
    color: cornsilk;
    font-size: 23px;
     }
     
     .ads_wol p{
         margin-bottom: 15px;
         color: #FFFFFF;
     }
     
     .ads_wol .links img {
    max-width: 120px;
}
     
     .img_info_JM{margin-top: 20px}
     
     
     .how_work{background-image: none}
     .how_work li{margin: 10px 25px}
     
     
}

 /*Medium devices (tablets, less than 992px)*/

 @media (max-width: 991.98px) {



     .close-open-nav {
         display: block
     }

     .nav_bar {
         display: block !important;
         position: fixed;
         width: 300px;
         height: 100%;
         background: #d2bb72;
         top: 0;
         right: 0;
         transform: translateX(100%);
         transition: all 0.3s linear 0s;
         z-index: 40;
         color: #FFFFFF
     }

     .nav_bar.active {
         transform: translateX(0);
     }


     
     .nav_bar a.active{color: #000000;
                       font-weight: bolder}


     .the-logo {
         margin-inline-end: 0px;
         max-height: 60px;
     }

     header .btn-main {
         width: 112px;
         margin-inline-start: 8px;
         font-size: 12px;
     }
     

     .nav_bar li {
        margin: 10px 20px;
     }
     
          .img_info_JM img:last-of-type{z-index: 5}

 }

 /*Large devices (desktops, less than 1200px)*/
 @media (max-width: 1199.98px) {
     ...
 }














 /*============================ start loader================================== */



 .loader {
     position: fixed;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
     z-index: 9999999999;
     background: #848484;
     overflow: hidden;
     display: -webkit-flex;
     display: -moz-flex;
     display: -ms-flex;
     display: -o-flex;
     display: flex;
     -ms-align-items: center;
     align-items: center;
     justify-content: center;
 }

 .loader img {
     animation: logoeffect2 0.9s linear 0s infinite;
     position: relative;
     width: 100px;
 }


 @keyframes logoeffect2 {


     100% {

         transform: rotateY(360deg)
     }


 }


 /*============================ end loader================================== */
 ::-webkit-scrollbar,
 body::-webkit-scrollbar,
 .scroll::-webkit-scrollbar {
     width: 6px;
     height: 6px;

 }

 ::-webkit-scrollbar-track,
 body::-webkit-scrollbar-track,
 .scroll::-webkit-scrollbar-track {
     box-shadow: inset 0 0 6px #FFFFFF;
     background: #FFFFFF
 }

 ::-webkit-scrollbar-thumb,
 body::-webkit-scrollbar-thumb,
 .scroll::-webkit-scrollbar-thumb {
     background: rgba(0, 0, 0, 0.3);
     border-radius: 20px;
 }

 ::-webkit-scrollbar-thumb:hover,
 body::-webkit-scrollbar-thumb:hover,
 .scroll::-webkit-scrollbar-thumb:hover {
     background: rgba(0, 0, 0, 0.5);
 }

/* ========== Landing page (extracted from intro_site/layouts/header.blade.php) ========== */
        :root {
            --primary:    #1E3A5F;
            --secondary:  #F5C518;
            --bg-light:   #EEF4FB;
            --text-muted: #6B7280;
        }

        * { box-sizing: border-box; }

        body {
            font-family: 'Cairo', sans-serif;
            color: var(--primary);
            background: #fff;
            overflow-x: hidden;
        }

        /* ── Navbar (intro landing — بدون صناديق رمادية قديمة) ── */
        .navbar-intro { border-bottom: 1px solid #F1F5F9; }
        .navbar-intro .navbar-nav {
            gap: 0.15rem;
        }
        @media (min-width: 992px) {
            .navbar-intro .navbar-nav {
                gap: 0.35rem;
            }
        }
        .navbar-intro .navbar-nav .nav-link {
            background: transparent !important;
            width: auto !important;
            min-width: 0 !important;
            height: auto !important;
            line-height: 1.4 !important;
            margin: 0 !important;
            border-radius: 0 !important;
            text-align: inherit !important;
            color: var(--primary) !important;
            font-weight: 600;
            font-size: 15px;
            transition: color .2s;
            padding: 0.5rem 0.65rem !important;
            position: relative;
        }
        .navbar-intro .navbar-nav .nav-link::after {
            content: '';
            position: absolute;
            bottom: 0;
            inset-inline-start: 0.65rem;
            width: 0;
            height: 2px;
            background: var(--secondary);
            transition: width .3s;
        }
        .navbar-intro .navbar-nav .nav-link:hover::after {
            width: calc(100% - 1.3rem);
        }
        .navbar-intro .navbar-nav .nav-link:hover { color: var(--secondary) !important; }

        /* Language switch — composite icon like Figma (bubble / A / ع / bubble) */
        .nav-lang-switch {
            color: var(--primary);
            font-size: 14px;
            flex-shrink: 0;
            white-space: nowrap;
        }
        .nav-lang-switch:hover {
            color: var(--secondary);
        }
        .nav-lang-switch:hover .lang-switch-icon {
            color: var(--secondary);
        }
        /* Flex rows (not CSS Grid): BS4 / some navbar contexts break grid → overlap */
        .lang-switch-icon {
            display: inline-flex;
            flex-direction: column;
            justify-content: center;
            align-items: stretch;
            width: 38px;
            min-width: 38px;
            row-gap: 5px;
            flex-shrink: 0;
            margin-inline-end: 10px;
            color: var(--primary);
            direction: ltr;
            vertical-align: middle;
        }
        .lang-switch-row {
            display: flex;
            flex-direction: row;
            align-items: center;
            justify-content: space-between;
            width: 100%;
            min-height: 14px;
        }
        .lang-switch-cell {
            display: flex;
            align-items: center;
            justify-content: center;
            flex: 0 0 auto;
        }
        .lang-switch-bubble-svg {
            width: 11px;
            height: 10px;
            display: block;
            flex-shrink: 0;
        }
        .lang-switch-cell--lat {
            font-size: 12px;
            font-weight: 800;
            line-height: 1;
            font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
            letter-spacing: -0.03em;
            min-width: 12px;
            text-align: center;
        }
        .lang-switch-cell--ar {
            font-size: 11px;
            font-weight: 800;
            line-height: 1;
            font-family: 'Cairo', sans-serif;
            min-width: 12px;
            text-align: center;
        }

        /* ── Section Badge ── */
        .section-badge {
            background: white;
            border-radius: 20px;
            padding: 6px 18px;
            font-size: 14px;
            font-weight: 600;
            color: var(--primary);
            display: inline-flex;
            align-items: center;
            gap: 8px;
            box-shadow: 0 2px 8px rgba(30,58,95,0.1);
        }
        .section-badge::before {
            content: '•';
            color: var(--primary);
            font-size: 22px;
            line-height: 1;
        }

        /* ── Cards ── */
        .card-service {
            background: white;
            border-radius: 16px;
            padding: 32px 24px;
            border: 1px solid #F1F5F9;
            transition: box-shadow .3s, transform .3s;
            height: 100%;
        }
        .card-service:hover {
            box-shadow: 0 12px 32px rgba(30,58,95,0.12);
            transform: translateY(-4px);
        }

        .icon-box {
            background: var(--bg-light);
            border-radius: 12px;
            width: 56px; height: 56px;
            display: flex; align-items: center; justify-content: center;
            font-size: 22px;
            color: var(--primary);
            margin-bottom: 20px;
        }

        /* ── Hero ── */
        #home.hero-section {
            margin-top: 0;
        }
        .hero-section {
            position: relative;
            overflow: hidden;
            background: linear-gradient(135deg, var(--bg-light) 0%, #fff 60%);
            min-height: 90vh;
            display: flex;
            align-items: center;
        }
        .hero-section > .container {
            position: relative;
            z-index: 1;
            width: 100%;
        }
        .hero-blob {
            position: absolute;
            pointer-events: none;
            z-index: 0;
            border-radius: 50%;
            filter: blur(72px);
            opacity: 0.42;
        }
        .hero-blob--blue {
            width: min(55vw, 420px);
            height: min(55vw, 420px);
            background: rgba(59, 130, 246, 0.38);
            top: 8%;
            inset-inline-end: 3%;
        }
        .hero-blob--yellow {
            width: min(42vw, 300px);
            height: min(42vw, 300px);
            background: rgba(245, 197, 24, 0.35);
            bottom: 6%;
            inset-inline-start: 12%;
        }
        .hero-img-wrap {
            border-radius: 24px;
            overflow: hidden;
            box-shadow:
                0 24px 64px rgba(30, 58, 95, 0.2),
                0 0 48px rgba(99, 102, 241, 0.12);
            max-width: 520px;
        }
        .hero-img-wrap .hero-img {
            width: 100%;
            max-height: 520px;
            aspect-ratio: 3 / 4;
            object-fit: cover;
            display: block;
        }
        /* Hero store buttons: BS4 (EN) has no gap-* utilities; use flex gap here */
        .hero-app-btns {
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            gap: 12px;
        }

        /* ── Buttons ── */
        .btn-apple {
            background: white;
            border: 2px solid #E5E7EB;
            border-radius: 14px;
            color: var(--primary);
            font-weight: 700;
            padding: 12px 28px;
            display: inline-flex; align-items: center; gap: 10px;
            transition: all .2s;
        }
        .btn-apple:hover { border-color: var(--primary); color: var(--primary); }

        .btn-play {
            background: var(--primary);
            border-radius: 14px;
            color: white;
            font-weight: 700;
            padding: 12px 28px;
            display: inline-flex; align-items: center; gap: 10px;
            transition: all .2s;
        }
        .btn-play:hover { background: #162d4a; color: white; }

        /* ── How Work steps ── */
        .step-circle {
            width: 56px; height: 56px;
            border-radius: 50%;
            background: var(--primary);
            color: white;
            font-size: 1.2rem;
            font-weight: 700;
            display: flex; align-items: center; justify-content: center;
            margin: 0 auto 16px;
            position: relative;
            z-index: 1;
        }
        .step-line {
            position: absolute;
            top: 28px;
            width: calc(100% - 56px);
            height: 2px;
            background: repeating-linear-gradient(90deg, var(--secondary) 0, var(--secondary) 8px, transparent 8px, transparent 16px);
        }
        [dir="rtl"] .step-line {
            right: calc(50% + 28px);
            left: auto;
        }
        [dir="ltr"] .step-line {
            left: calc(50% + 28px);
            right: auto;
        }

        /* ── FAQ tabs ── */
        .fqs-tab         { background: white !important;              color: var(--primary) !important; }
        .fqs-tab.active  { background: var(--primary) !important;     color: white !important; }
        .accordion-button:not(.collapsed) {
            background: #F8FAFC;
            color: var(--primary);
            box-shadow: none;
        }
        .accordion-button:focus { box-shadow: none; }
        .accordion-item {
            border-radius: 12px !important;
            overflow: hidden;
            margin-bottom: 12px;
            box-shadow: 0 2px 8px rgba(0,0,0,0.05);
            border: none !important;
        }

        /* ── Footer — Figma: خلفية موحّدة، 3 أعمدة RTL، سوشال مربعات، فاصل + حقوق وسط -- */
        footer.site-footer {
            background: #0F172A;
            color: #F8FAFC;
            margin-top: 0;
            overflow: hidden;
        }
        .site-footer .footer-container {
            max-width: 1140px;
        }
        .footer-main {
            padding: 3.5rem 0 2.75rem;
        }
        /* محاذاة الأعمدة: يمين — وسط — يسار (في RTL) */
        [dir="rtl"] .footer-col-inner--brand {
            text-align: start;
        }
        [dir="ltr"] .footer-col-inner--brand {
            text-align: start;
        }
        [dir="rtl"] .footer-col-inner--brand .footer-social {
            justify-content: flex-start;
        }
        [dir="ltr"] .footer-col-inner--brand .footer-social {
            justify-content: flex-start;
        }

        .footer-col-inner--links {
            text-align: center;
        }
        .footer-col-inner--links .footer-col-title {
            text-align: center;
        }
        [dir="rtl"] .footer-col-inner--links .footer-quick-links {
            display: inline-block;
            text-align: right;
        }
        [dir="ltr"] .footer-col-inner--links .footer-quick-links {
            display: inline-block;
            text-align: left;
        }

        /* RTL: عنوان ومحتوى «تواصل معنا» محاذاة يمين (بداية السطر) */
        [dir="rtl"] .footer-col-inner--contact {
            text-align: start;
        }
        [dir="rtl"] .footer-col-inner--contact .footer-col-title {
            text-align: start;
        }
        [dir="rtl"] .footer-col-inner--contact .footer-contact-list {
            width: fit-content;
            max-width: 100%;
            margin-inline-start: 0;
            margin-inline-end: auto;
        }
        [dir="rtl"] .footer-col-inner--contact .footer-contact-item {
            justify-content: flex-start;
        }

        [dir="ltr"] .footer-col-inner--contact {
            text-align: end;
        }
        [dir="ltr"] .footer-col-inner--contact .footer-col-title {
            text-align: end;
        }
        [dir="ltr"] .footer-col-inner--contact .footer-contact-list {
            width: fit-content;
            max-width: 100%;
            margin-inline-start: auto;
            margin-inline-end: 0;
        }
        [dir="ltr"] .footer-col-inner--contact .footer-contact-item {
            justify-content: flex-end;
        }
        .footer-logo-wrap .footer-logo {
            height: 52px;
            width: auto;
            max-width: 220px;
            object-fit: contain;
        }
        .footer-about-text {
            color: #CBD5E1;
            line-height: 1.85;
            font-size: 14px;
            font-weight: 400;
            max-width: 100%;
        }
        .footer-col-title {
            color: #FFFFFF;
            font-size: 17px;
            font-weight: 700;
            margin-bottom: 1.35rem;
            letter-spacing: 0;
        }
        .footer-quick-links li {
            margin-bottom: 0.7rem;
        }
        .footer-quick-links li:last-child {
            margin-bottom: 0;
        }
        .footer-quick-links .footer-link {
            display: inline-block;
            padding: 0;
            font-size: 15px;
            font-weight: 400;
            color: #CBD5E1 !important;
        }
        .footer-quick-links .footer-link:hover {
            color: #FFFFFF !important;
        }
        .footer-contact-list .footer-contact-item {
            display: flex;
            align-items: flex-start;
            gap: 14px;
            margin-bottom: 1.1rem;
            font-size: 15px;
            line-height: 1.5;
        }
        .footer-contact-list .footer-contact-item:last-child {
            margin-bottom: 0;
        }
        .footer-contact-icon {
            flex-shrink: 0;
            width: 22px;
            text-align: center;
            color: #FFFFFF;
            font-size: 15px;
            line-height: 1.4;
            padding-top: 2px;
            opacity: 0.95;
        }
        .footer-contact-text {
            color: #CBD5E1 !important;
            word-break: break-word;
        }
        a.footer-contact-text:hover {
            color: #FFFFFF !important;
        }
        .footer-link {
            color: #CBD5E1 !important;
            text-decoration: none;
            transition: color .2s;
        }
        .footer-link:hover {
            color: #FFFFFF !important;
        }
        .footer-social {
            gap: 10px;
        }
        .social-icon {
            width: 42px;
            height: 42px;
            border-radius: 8px;
            background: #1E293B;
            border: 1px solid rgba(148, 163, 184, 0.12);
            display: inline-flex;
            align-items: center;
            justify-content: center;
            color: #F1F5F9 !important;
            text-decoration: none;
            font-size: 15px;
            transition: background .2s, border-color .2s, color .2s, transform .15s;
        }
        .social-icon:hover {
            background: #334155;
            border-color: rgba(245, 197, 24, 0.4);
            color: var(--secondary) !important;
            transform: translateY(-1px);
        }
        .footer-bottom {
            border-top: 1px solid rgba(148, 163, 184, 0.15);
            background: #0F172A;
            padding: 0;
        }
        .footer-copyright {
            color: #94A3B8;
            font-size: 13px;
            font-weight: 400;
            margin: 0;
        }
        .footer-privacy-link {
            font-size: 13px;
            color: #94A3B8 !important;
            text-decoration: none;
            transition: color .2s;
        }
        .footer-privacy-link:hover {
            color: #CBD5E1 !important;
        }
        @media (max-width: 991.98px) {
            .footer-main {
                padding: 2.5rem 0 2rem;
            }
            .footer-col-inner--brand,
            .footer-col-inner--links,
            .footer-col-inner--contact {
                text-align: center !important;
            }
            .footer-col-inner--links .footer-col-title,
            .footer-col-inner--contact .footer-col-title {
                text-align: center !important;
            }
            [dir="rtl"] .footer-col-inner--links .footer-quick-links,
            [dir="ltr"] .footer-col-inner--links .footer-quick-links {
                display: block;
                text-align: center !important;
            }
            [dir="rtl"] .footer-col-inner--contact .footer-contact-list,
            [dir="ltr"] .footer-col-inner--contact .footer-contact-list {
                width: auto;
                max-width: 100%;
                margin-inline: auto;
            }
            [dir="rtl"] .footer-col-inner--contact .footer-contact-item,
            [dir="ltr"] .footer-col-inner--contact .footer-contact-item {
                justify-content: center;
            }
            .footer-social {
                justify-content: center !important;
            }
            .footer-logo-wrap {
                margin-left: auto;
                margin-right: auto;
            }
            .footer-about-text {
                margin-left: auto;
                margin-right: auto;
                max-width: 420px;
            }
        }

        /* ── About section (من نحن) — Figma: 3 هواتف + نص -- */
        .sec-about {
            padding-top: 88px;
            padding-bottom: 88px;
        }
        #who_we .section-badge--about {
            background: linear-gradient(180deg, #f0f7ff 0%, #e8f2fc 100%);
            border: 1px solid rgba(30, 58, 95, 0.08);
            box-shadow: 0 2px 12px rgba(30, 58, 95, 0.08);
        }
        .about-title-html {
            font-size: clamp(1.85rem, 3vw, 2.75rem);
            line-height: 1.35;
            color: var(--primary);
        }
        .about-intro-html {
            line-height: 2;
            color: #64748b;
        }
        .about-intro-html p {
            margin-bottom: 1rem;
        }
        .about-intro-html p:last-child {
            margin-bottom: 0;
        }
        .about-focus-heading {
            font-weight: 700;
            font-size: 1.05rem;
            color: var(--primary);
        }
        .about-point-text {
            color: #64748b;
            line-height: 1.75;
        }
        .about-content-col {
            max-width: 540px;
        }
        [dir="ltr"] .about-content-col {
            margin-left: auto;
        }

        .about-phones-wrap {
            width: 100%;
            max-width: 520px;
            height: 620px;
        }
        .about-deco--grey {
            position: absolute;
            top: 8px;
            right: 12px;
            width: 72px;
            height: 72px;
            background: #F1F5F9;
            border-radius: 16px;
            z-index: 0;
        }
        .about-deco--yellow {
            position: absolute;
            bottom: 24px;
            left: 20px;
            width: 96px;
            height: 96px;
            background: var(--secondary);
            border-radius: 20px;
            transform: rotate(-14deg);
            z-index: 0;
            opacity: 0.95;
        }
        .about-deco--blue {
            position: absolute;
            top: 120px;
            right: 0;
            width: 120px;
            height: 120px;
            background: rgba(37, 99, 235, 0.12);
            border-radius: 28px;
            transform: rotate(18deg);
            z-index: 0;
        }
        .about-phone {
            position: absolute;
            background: #111827;
            border-radius: 38px;
            border: 6px solid #1f2937;
            overflow: hidden;
            z-index: 1;
        }
        .about-phone--left {
            bottom: 36px;
            left: 0;
            width: 198px;
            transform: rotate(-5deg);
            box-shadow: 0 16px 48px rgba(30, 58, 95, 0.2);
            z-index: 2;
        }
        .about-phone--center {
            top: 8px;
            left: 50%;
            margin-left: -116px;
            width: 232px;
            z-index: 4;
            box-shadow: 0 28px 72px rgba(30, 58, 95, 0.35);
        }
        .about-phone--right {
            bottom: 28px;
            right: 0;
            width: 198px;
            transform: rotate(6deg);
            box-shadow: 0 14px 44px rgba(30, 58, 95, 0.22);
            z-index: 3;
        }
        .about-phone-notch {
            background: #111827;
            height: 26px;
            display: flex;
            align-items: center;
            justify-content: center;
        }
        .about-phone-notch::after {
            content: '';
            width: 52px;
            height: 7px;
            background: #000;
            border-radius: 4px;
        }
        .about-phone--center .about-phone-notch::after {
            width: 56px;
        }
        .about-phone-screen {
            background: #f8fafc;
            min-height: 420px;
            padding: 0;
            overflow: hidden;
        }
        .about-phone-screen--tall {
            min-height: 460px;
        }
        .about-phone-screen--splash {
            min-height: 440px;
        }
        .about-phone-img {
            width: 100%;
            display: block;
            min-height: 420px;
            object-fit: cover;
            object-position: top;
        }
        .about-phone-screen--tall .about-phone-img {
            min-height: 460px;
        }
        .about-phone-screen--splash .about-phone-img {
            min-height: 440px;
        }
        .about-phone-placeholder {
            min-height: 400px;
            display: flex;
            align-items: center;
            justify-content: center;
            text-align: center;
            padding: 16px;
            font-size: 12px;
            line-height: 1.6;
            color: #94a3b8;
        }
        .about-phone-placeholder--tall {
            min-height: 440px;
        }
        .about-phone-placeholder--splash {
            min-height: 420px;
        }
        .about-phone-tabbar {
            background: white;
            padding: 8px 0;
            display: flex;
            justify-content: space-around;
            border-top: 1px solid #f1f5f9;
        }
        .about-phone-tabbar--splash {
            padding: 10px 0;
        }
        .about-phone-tabbar--splash .about-phone-tab {
            font-size: 12px;
            opacity: 0.35;
        }
        .about-phone-tab {
            text-align: center;
            font-size: 7px;
            color: #1E3A5F;
        }
        .about-phone-tab.muted {
            opacity: 0.4;
        }
        .about-phone-tab.active {
            font-weight: 700;
            opacity: 1;
        }
        .about-bullet {
            width: 8px;
            height: 8px;
            background: var(--primary);
            border-radius: 50%;
            flex-shrink: 0;
            margin-top: 8px;
        }
        @media (max-width: 991.98px) {
            .about-phones-wrap {
                height: 560px !important;
                max-width: 460px;
            }
            .about-phone--left {
                transform: scale(0.92) rotate(-4deg);
            }
            .about-phone--right {
                transform: scale(0.92) rotate(5deg);
            }
            .about-phone--center {
                transform: scale(0.95);
                margin-left: -110px;
            }
        }

        /* ── Partner card ── */
        .partner-card {
            background: white;
            border: 1px solid #E5E7EB;
            border-radius: 12px;
            padding: 20px;
            display: flex; align-items: center; justify-content: center;
            transition: box-shadow .2s;
        }
        .partner-card:hover { box-shadow: 0 4px 16px rgba(30,58,95,0.1); }

        /* ── Section padding ── */
        .sec { padding: 80px 0; }

        /* ── Character counter ── */
        #charCount { font-size: 12px; }

        @media (max-width: 768px) {
            .hero-section { min-height: auto; padding: 60px 0; }
            .step-line { display: none; }
            .sec { padding: 50px 0; }
        }

        /* ── Direction (RTL / LTR) ── */
        [dir="rtl"] body { direction: rtl; text-align: right; }
        [dir="ltr"] body { direction: ltr; text-align: left; }

        [dir="ltr"] .navbar-nav { flex-direction: row; }
        [dir="ltr"] .section-badge::before { margin-left: 4px; margin-right: 0; }
        [dir="ltr"] .about-bullet { margin-right: 0; margin-left: 8px; }
        [dir="ltr"] .footer-link { direction: ltr; }
        [dir="ltr"] .card-service { text-align: left; }

        /* Contact form: tel/email default to LTR in browsers — align placeholder with RTL layout */
        [dir="rtl"] #connect_us .send-message input[type="tel"],
        [dir="rtl"] #connect_us .send-message input[type="email"] {
            direction: rtl;
            text-align: right;
        }
        [dir="rtl"] #connect_us .send-message input[type="tel"]::placeholder,
        [dir="rtl"] #connect_us .send-message input[type="email"]::placeholder {
            direction: rtl;
            text-align: right;
        }