* ,*::before,*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

:root{
    --base: #555;
    --base-100: #f1f1f1 ;
    --base-800: #000 ;
    --base-400: #555 ;
    --yellow: #ffda4b ;
    --yellow-100: #fffbe6 ;
    --yellow-800: #8b6f00 ;
    --yellow-400: #ffda4b ;
    --blue: #0a61ae ;
    --blue-100: #e2f8ff ;
    --blue-400: #61dafb ;
    --blue-800: #0a61ae ;
}

body {
  font-family: "Open Sans", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-size: 20px;
  /* padding-bottom: 100px; */
}

a{
    text-decoration: none;
    color: var(--blue);
    transition: all 0.3s ease-in-out;
    &:hover{
        color: var(--blue-800);
    }
}

header{
    padding-top: 10px;
    padding-bottom: 10px;
    display: flex;
    max-width: 1440px;
    margin: 0 auto;
    justify-content: space-between;
    border-bottom: 1px solid rgba(0, 0, 0,1);

    .logo-holder{
        display: flex;
        padding: 10px;
        align-items: center;
        font-weight: 600;
        color: var(--base-800);
        
        .logo{
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 32px;
            background-color: var(--base-800);
            color: var(--base-100);
            height: 64px;
            width: 64px;
            border-radius: 50%;
            margin-right: 20px;
        }
        .logo-text{
           flex: 1;
        }
    }
    nav{
        display: flex;
        align-items: center;
        gap: 20px;
        font-weight: 600;
        color: var(--base-800);
        ul{
            display: flex;
            align-items: center;
            gap: 20px;
            list-style: none;
            li{
                position: relative;
                padding: 10px;
                transition: all 0.3s ease-in-out;
                &:hover{
                    color: var(--blue-800);
                }
                &::after{
                    content: "";
                    position: absolute;
                    bottom: -5px;
                    left: 0;
                    width: 100%;
                    height: 2px;
                    background-color: var(--blue-800);
                    transform: scaleX(0);
                    transition: transform 0.3s ease-in-out;
                }
                &:hover::after{
                    transform: scaleX(1);
                }
                a{
                    color: var(--base);
                }
            }
        }
        .mobile-toggle{
            display: none;
            cursor: pointer;
            font-size: 24px;
            color: var(--base-800);
            padding: 10px;
            &:hover{
                color: var(--blue-800);
            }
            @media (max-width: 768px) {
                display: inline-block;
                position: absolute;
                right: 20px;
                top: 20px;
            }
        }
    }
    @media (max-width:1024px) {
        flex-direction: column;
        align-items: center;
        nav{
            width: 100%;
            ul {
                display: none;
                flex-direction: column;
                text-align: center;
                width: 100%;
                a{
                    width: 100%;
                }
                &.active {
                    display: flex;
                }
            }
            .mobile-toggle{
                display: inline-block;
            }
        }
    }
    @media (max-width: 768px) {
       flex-direction: column;
        align-items: center;
        nav{
            margin-top: 10px;
            width: 100%;
         ul {
            display: none;
            flex-direction: column;
            text-align: center;
            width: 100%;
            a{
                width: 100%;
            }
            &.active {
                display: flex;
            }
        }
    }
    }
}

.container{
    max-width: 1440px;
    margin: 0 auto;
    gap: 20px;
    margin-top: 30px;
    margin-bottom: 30px;
   
    h1{
        font-size: 48px;
        color: var(--base-800);
        margin-bottom: 20px;
    }
    p{
        font-size: 20px;
        color: var(--base-400);
        margin-bottom: 30px;
    }
    @media (max-width: 1440px) {
       padding-left: 30px;
        padding-right: 30px;
    }
}

.button{
    display: inline-block;
    padding: 10px 30px;
    background-color: var(--blue);
    color: var(--base-100);
    border-radius: 10px;
    font-weight: 600;
    transition: all 0.3s ease-in-out;
    &:hover{
        background-color: var(--base-800);
        color: var(--base-100);
        text-decoration: none;
    }
    @media (max-width: 768px) {
        padding: 10px 20px;
        font-size: 16px;
       margin: 10px;
    }
}

h1{
    font-size: 64px;
    line-height: 1;
    margin-bottom: 10px;
    small{
        display: block;
        font-weight: 100;
    }
    @media(max-width: 1024px) {
        font-size: 48px;
    }
}

.hero{
    display: flex;
   @media (max-width: 1024px) {
        flex-direction: column;
    }

    .hero-blue{
        flex: 1;
        background-color: var(--blue-100);
        border-radius: 30px;
        padding: 30px;
        display: flex;
        flex-direction: column;
        justify-content: center;
                    .call-to-action{
                        margin: top 20px; 
                        margin-bottom: 20px;
                        a{
                            margin-right: 10px;
                            margin-bottom: 10px;
                        }
                    }
                    .social-links{
                        a{
                            &:hover{
                               text-decoration: none;
                            }
                        }
                    }
    }
    .hero-yellow{
       flex: 1;
        background-color: var(--yellow);
        border-radius: 30px;
        padding: 0px 30px;
        display: flex;
        justify-content: center;
        align-items: flex-end;
        img{
            margin-top: -50px;
            max-width: 500px;
        }
    }
}

.logos{
    @media(max-width: 1440px) {
        border-radius: 30px ;
    }
    background-color: var(--base-100);
    border-radius: 30px;
    padding: 30px 0px;
    .mar{
        width: 100vw;
        max-width: 100%;
        height: 128px;
        overflow: hidden;
        position: relative;
        .tr{
            position: absolute;
            white-space: nowrap;
            will-change: transform;
            animation: marquee 40s linear infinite;
            display: flex;
            gap: 20px;
        }
    }
}

@keyframes marquee {
    0% {
        transform: translateX(0);
    }
    100% {
        transform: translateX(-50%);
    }
}

h3{
    font-size: 32px;
    font-weight: 600;
    line-height: 1;
    margin-bottom:20px ;
    color: var(--base-800);
}

h2{
    color: var(--base-800) ;
    padding: 30px;
    font-size: 64px;
    line-height: 1;
    margin-bottom: 10px;
    @media(max-width: 1024px) {
        font-size: 48px;
    }
    text-align: center ;

    small{
        display: block;
        font-weight: 100;
        font-size: 0.5em;
        color: var(--base);
    }
}

.skill{
    .holder-blue{
        background-color: var(--blue-100);
        border-radius: 30px;
        padding: 30px;
        display: flex;
        @media (max-width: 1024px) {
            flex-direction: column;
        }
        .left-column{
            flex: 1;
            ul{
                list-style: none;
               gap: 10px;
                margin-right: 100px;
                margin-bottom: 20px;
                li{
                    display: inline-block;
                    background-color: var(--blue-400);
                    padding: 10px 20px;
                    border-radius: 20px;
                    margin-bottom: 10px;
                }
            }
        }
        .right-column{
            flex: 1;
            p{
                margin: 20px;
            }
        }
    }
}

article{
    background-color: var(--base-100);
    border-radius: 30px;
    padding: 30px;
    margin-bottom: 20px;
    h3{
        margin-bottom: 10px;
    }
    p{
        color: var(--base-400);
        margin-bottom: 20px;
    }
    a{
        color: var(--blue);
        font-weight: 600;
        &:hover{
            text-decoration: underline;
        }
    }
}

.bemto {
  margin: 30px;
  padding: 15px;
}

.jobs article figure {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
}

.jobs article figure img,
.jobs article figure video {
  width: 48%;
  border-radius: 20px;
}

/* موبايل */
@media (max-width: 768px) {
  .jobs article figure img,
  .jobs article figure video {
    width: 100%;
  }
}

.job article {
  background-color: var(--yellow);
}

@import url('https://fonts.googleapis.com/css?family=Lato:400,700');

:root{
  --primary: #0a61ae;
  --secondary: #ffda4b;
  --white: #F9FBFF;
  --dark: #777777;
}

.chatbot-blue {
  display: flex;
  gap: 20px;
  margin: 40px auto;
  max-width: 1300px;
  justify-content: center;
  align-items: flex-start;
}

/* Info side */
.chat-info {
  flex: 0 0 540px;
  height: 680px;
  background: var(--white);
  padding: 20px;
  border-radius: 12px;
  box-shadow: 2px 2px 10px rgba(0,0,0,.1);
  overflow: hidden;
}

/* Chat box */
.chat-box {
  flex: 0 0 760px;
  height: 680px;
  background: var(--white);
  border-radius: 12px;
  box-shadow: 2px 2px 12px rgba(0,0,0,.2);
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

/* Scroll area */
.scrol-area {
  flex: 1 1 auto;
  min-height: 0;
  padding: 15px;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  background: #fbfdff;
}

/* باقي التنسيقات كما كانت */
.scrol-area ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.scrol-area li {
  display: flex;
  align-items: flex-start;
  margin-bottom: 15px;
}
.ava {
  width: 35px;
  height: 35px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--white);
  font-weight: bold;
  margin-right: 10px;
}
.ava.ai { background: var(--primary); }
.ava.user { background: var(--secondary); }

.mas {
  background: var(--primary);
  color: var(--white);
  padding: 10px 14px;
  border-radius: 18px;
  max-width: 70%;
  font-size: 0.95rem;
  word-break: break-word;
  white-space: pre-wrap;
}
li .ava.user + .mas {
  background: var(--secondary);
  color: var(--dark);
}

/* Input area */
.chat-mas {
  display: flex;
  align-items: center;
  padding: 10px;
  background: var(--white);
  border-top: 1px solid #eee;
  flex: 0 0 auto;
}
.chat-mas input {
  flex: 1;
  padding: 10px;
  border: none;
  outline: none;
  border-radius: 8px;
  background: #f2f2f2;
  margin-right: 10px;
}
.chat-mas input::placeholder { color: var(--dark); }

.chat-mas .button {
  border: none;
  background: var(--primary);
  color: var(--white);
  padding: 8px 14px;
  border-radius: 8px;
  cursor: pointer;
}
.chat-mas .button:hover { background: var(--secondary); transition: .25s; }

/* Responsive */
@media (max-width: 1024px) {
  :root { --card-width-chat: 640px; --card-width-info: 360px; --card-height: 640px; }
  .chatbot-blue { max-width: 100%; padding: 10px; }
}
@media (max-width: 768px) {
  .chatbot-blue {
    flex-direction: column;
    margin: 20px;
    align-items: stretch;
    max-width: 100%;
    padding: 10px;
  }
  .chat-info, .chat-box {
    flex: 0 0 auto;
    width: 100%;
    height: auto;
    min-height: 300px;
    margin-bottom: 12px;
  }
  .scrol-area {
    max-height: calc(100% - 70px);
    overflow-y: auto;
  }
}

.con{
    padding: 30px;
    margin-top: 30px;
    background-color: var(--base-100);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 20px;
    margin-top: 30px;
    h2{
        font-size: 32px;
        color: var(--base-800);
        text-align: center;
        margin-bottom: 10px;
    }
    p{
        color: var(--base-400);
        text-align: center;
        max-width: 600px;
    }
}
.worker{
    padding: 30px;
    
    .jo{
       article{
        background-color: var(--blue-100);
    }
}
}

.card {
  background: #ffffffcc;
  backdrop-filter: blur(6px);
  padding: 20px;
  border-radius: 16px;
  border: 1px solid #bfdbfe;
  box-shadow: 0 6px 12px rgba(0,0,0,0.1);
  width: 1000px;
  margin: 40px auto;
}
.card h2 {
  text-align: center;
  color: #1e3a8a;
  margin-bottom: 8px;
}
.card p {
  text-align: center;
  color: #2563eb;
  margin-bottom: 20px;
  font-size: 14px;
}
.card label {
  color: #1e40af;
  font-size: 14px;
  display: block;
  margin: 8px 0 4px;
}
.card input, .card textarea {
  width: 100%;
  padding: 10px;
  border-radius: 8px;
  border: 1px solid #bfdbfe;
  margin-bottom: 12px;
  resize: none;
}
.card input:focus, .card textarea:focus {
  border-color: #60a5fa;
  outline: none;
  box-shadow: 0 0 0 2px #93c5fd;
}
.card button {
  width: 100%;
  padding: 10px;
  background: linear-gradient(to right, #3b82f6, #facc15);
  border: none;
  color: white;
  font-weight: bold;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.2s;
}
.card button:hover {
  background: linear-gradient(to right, #2563eb, #eab308);
  box-shadow: 0 4px 8px rgba(0,0,0,0.15);
}
@media (max-width: 768px) {
  .card{
    width: 300px;
  }            /* في الشاشات الصغيرة ياخدوا العرض كله */
  }
}

.cursor {
  display: inline-block;
  margin-left: 2px;
  animation: blink 0.7s infinite;
  color: #333;
}

@keyframes blink {
  50% { opacity: 0; }
}


