
:root{--gold:#d9a441;--gold2:#f0c66b;--black:#11100e;--dark:#181613;--white:#fff;--cream:#f7f4ee;--text:#302e2a;--muted:#77736c;--border:#e8e2d8;--shadow:0 18px 50px rgba(0,0,0,.12)}
*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:Arial,sans-serif;color:var(--text);background:var(--white);line-height:1.6;overflow-x:hidden}body.dark{--white:#151412;--cream:#1d1b18;--text:#f5efe5;--muted:#b9b1a5;--border:#37322c;background:#151412}a{text-decoration:none;color:inherit}img{width:100%;display:block}.container{width:min(1400px,90%);margin:auto}.gold{color:var(--gold)}.btn{display:inline-block;padding:13px 24px;border-radius:30px;border:0;background:var(--gold);color:#15120d;font-weight:700;cursor:pointer;transition:.3s}.btn:hover{transform:translateY(-4px);background:var(--gold2);box-shadow:0 12px 28px #d9a44155}.btn.outline{background:transparent;color:inherit;border:1px solid currentColor}.section{padding:100px 0}.heading{text-align:center;max-width:760px;margin:0 auto 55px}.heading small{color:var(--gold);letter-spacing:5px;font-weight:700}.heading h2{font-family:Georgia,serif;font-size:clamp(36px,5vw,58px);line-height:1.1;margin:12px 0}.heading p{color:var(--muted)}
header{position:fixed;top:0;left:0;width:100%;z-index:50;transition:.35s}header.scrolled{background:#11100eee;backdrop-filter:blur(12px);box-shadow:0 8px 25px #0003}.nav{width:min(1400px,92%);margin:auto;padding:17px 0;display:flex;align-items:center;justify-content:space-between;color:#fff}.brand{display:flex;align-items:center;gap:10px}.brand-mark{width:45px;height:45px;border:2px solid var(--gold);display:grid;place-items:center;color:var(--gold);font-size:24px}.brand b{font-family:Georgia,serif;font-size:19px;letter-spacing:1px;display:block}.brand small{font-size:8px;letter-spacing:2px;color:#ddd}.links{display:flex;gap:25px;align-items:center}.links a{font-size:14px;position:relative}.links a:after{content:"";position:absolute;left:0;bottom:-6px;width:0;height:2px;background:var(--gold);transition:.3s}.links a:hover:after,.links a.active:after{width:100%}.nav-actions{display:flex;gap:8px;align-items:center}.theme,.menu{width:42px;height:42px;border-radius:50%;border:1px solid #fff8;background:transparent;color:#fff;cursor:pointer}.menu{display:none;font-size:22px}
.hero{min-height:90vh;padding:160px 0 90px;display:flex;align-items:center;color:#fff;background:linear-gradient(90deg,#090806e8,#09080688,#09080622),url('https://images.unsplash.com/photo-1600210492486-724fe5c67fb0?auto=format&fit=crop&w=2000&q=90') center/cover}.hero-content{max-width:760px}.eyebrow{letter-spacing:6px;color:var(--gold2);font-size:12px;animation:up .8s both}.hero h1{font:clamp(48px,7vw,88px)/1.02 Georgia,serif;margin:20px 0;animation:up .9s .1s both}.hero h1 em{color:var(--gold2)}.hero p{max-width:650px;color:#eee;margin-bottom:28px;animation:up 1s .2s both}.actions{display:flex;gap:12px;flex-wrap:wrap;animation:up 1s .3s both}
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.card{background:var(--white);border:1px solid var(--border);overflow:hidden;transition:.4s}.card:hover{transform:translateY(-10px);box-shadow:var(--shadow)}.card-img{height:190px;overflow:hidden}.card-img img{height:100%;object-fit:cover;transition:.6s}.card:hover img{transform:scale(1.08)}.card-body{padding:20px}.card h3{font:22px Georgia,serif;margin-bottom:7px}.card p{font-size:14px;color:var(--muted)}.card a{display:inline-block;color:var(--gold);font-weight:700;margin-top:13px;font-size:13px}
.split{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}.split-img{height:560px;overflow:hidden}.split-img img{height:100%;object-fit:cover}.stats{display:grid;grid-template-columns:repeat(4,1fr);margin-top:30px}.stat{text-align:center;border-left:1px solid var(--border)}.stat h3{color:var(--gold);font-size:30px}.stat p{font-size:12px;color:var(--muted)}
.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.project{height:340px;position:relative;overflow:hidden}.project img{height:100%;object-fit:cover;transition:.7s}.project:hover img{transform:scale(1.1)}.overlay{position:absolute;inset:auto 0 0;padding:45px 24px 22px;color:#fff;background:linear-gradient(transparent,#000d)}.overlay small{color:var(--gold2);letter-spacing:2px}.overlay h3{font:25px Georgia,serif}.filters{text-align:center;margin-bottom:35px}.filters button{background:none;border:0;padding:10px 16px;color:var(--muted);cursor:pointer}.filters button.active{color:var(--gold)}
.testimonial-wrap{max-width:900px;margin:auto;text-align:center}.testimonial{display:none}.testimonial.active{display:block;animation:fade .5s}.quote{font:italic 26px/1.7 Georgia,serif}.stars{color:var(--gold);font-size:20px;margin:18px}.client{font-weight:700}.client span{display:block;color:var(--muted);font-size:13px}.slider-buttons{margin-top:25px}.slider-buttons button{width:44px;height:44px;border-radius:50%;border:1px solid var(--border);background:var(--white);cursor:pointer}
.cta{padding:85px 0;color:#fff;background:linear-gradient(#11100ed9,#11100ed9),url('https://images.unsplash.com/photo-1600566753086-00f18fb6b3ea?auto=format&fit=crop&w=1800&q=85') center/cover}.cta-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}.cta h2{font:55px/1.1 Georgia,serif}.contact-mini{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.contact-mini div{border:1px solid #fff3;padding:20px;text-align:center}.contact-mini strong{display:block;color:var(--gold2)}
.form{max-width:850px;margin:auto}.row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form input,.form textarea,.form select{width:100%;padding:15px;margin-bottom:16px;border:1px solid var(--border);background:var(--white);color:var(--text);border-radius:5px;outline:0}.form textarea{height:150px;resize:vertical}.form input:focus,.form textarea:focus,.form select:focus{border-color:var(--gold)}
footer{background:var(--black);color:#fff;padding:60px 0 20px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px}.footer-grid h3{color:var(--gold2);font:22px Georgia,serif;margin-bottom:15px}.footer-grid p,.footer-grid a{color:#aaa;font-size:14px;display:block;margin:5px 0}.footer-grid a:hover{color:var(--gold2)}.copyright{border-top:1px solid #ffffff18;margin-top:35px;padding-top:20px;text-align:center;color:#777;font-size:12px}
.reveal{opacity:0;transform:translateY(35px);transition:opacity .8s,transform .8s}.reveal.show{opacity:1;transform:none}@keyframes up{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:none}}@keyframes fade{from{opacity:0}to{opacity:1}}
.top{position:fixed;right:22px;bottom:22px;width:48px;height:48px;border:0;border-radius:50%;background:var(--gold);cursor:pointer;opacity:0;visibility:hidden;z-index:40}.top.show{opacity:1;visibility:visible}.wa{position:fixed;left:22px;bottom:22px;width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:#25d366;color:#fff;font-size:25px;z-index:40;box-shadow:0 10px 25px #0003}
@media(max-width:1050px){.cards{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:2fr 1fr 1fr}.links{gap:15px}}
@media(max-width:760px){.links{position:absolute;top:79px;left:0;width:100%;background:#111;display:none;flex-direction:column;padding:25px}.links.open{display:flex}.menu{display:block}.nav-actions .btn{display:none}.hero{min-height:80vh}.split,.cta-grid{grid-template-columns:1fr}.split-img{height:400px}.stats{grid-template-columns:repeat(2,1fr);gap:15px}.stat:nth-child(odd){border-left:0}.project-grid{grid-template-columns:1fr}.cards{grid-template-columns:1fr}.row{grid-template-columns:1fr;gap:0}.contact-mini{grid-template-columns:1fr}.cta h2{font-size:42px}.section{padding:75px 0}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}


/* =========================================================
   TRANSPARENT CONTACT BAR + PREMIUM HEADER
   ========================================================= */

.top-bar{
    position:absolute;
    top:0;
    left:0;
    width:100%;
    z-index:1001;
    background:rgba(0,0,0,.08);
    border-bottom:1px solid rgba(255,255,255,.18);
    color:#fff;
    transition:.35s ease;
}
.top-container{
    width:min(1400px,90%);
    min-height:42px;
    margin:auto;
    display:flex;
    align-items:center;
    justify-content:space-between;
}
.top-contact{
    display:flex;
    align-items:center;
    gap:28px;
}
.top-contact a{
    color:#fff;
    text-decoration:none;
    font-size:13px;
    display:flex;
    align-items:center;
    gap:8px;
    transition:.3s;
}
.top-contact a i{color:var(--gold)}
.top-contact a:hover{color:var(--gold)}
.top-social{
    display:flex;
    align-items:center;
    gap:7px;
}
.top-social a{
    width:30px;
    height:30px;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#fff;
    border:1px solid rgba(255,255,255,.3);
    border-radius:50%;
    transition:.3s;
}
.top-social a:hover{
    color:#111;
    background:var(--gold);
    border-color:var(--gold);
    transform:translateY(-3px);
}

.main-header{
    position:absolute;
    top:42px;
    left:0;
    width:100%;
    z-index:1000;
    background:transparent;
    transition:all .4s ease;
}
.main-header.scrolled{
    position:fixed;
    top:0;
    background:rgba(17,16,14,.94);
    backdrop-filter:blur(15px);
    box-shadow:0 5px 30px rgba(0,0,0,.22);
}
.main-header.scrolled + *{}
.header-container{
    width:min(1400px,90%);
    min-height:80px;
    margin:auto;
    display:flex;
    align-items:center;
    justify-content:space-between;
}
.logo{
    display:flex;
    align-items:center;
    gap:10px;
    color:#fff;
    text-decoration:none;
}
.logo-icon{
    width:45px;
    height:45px;
    display:flex;
    align-items:center;
    justify-content:center;
    border:2px solid var(--gold);
    color:var(--gold);
    font-size:24px;
}
.logo-text strong{
    display:block;
    font-family:Georgia,serif;
    font-size:20px;
    letter-spacing:1px;
}
.logo-text small{
    display:block;
    color:#ddd;
    font-size:8px;
    letter-spacing:2px;
}
.main-nav{
    display:flex;
    align-items:center;
    gap:28px;
}
.main-nav a{
    position:relative;
    color:#fff;
    font-size:14px;
    text-decoration:none;
    transition:.3s;
}
.main-nav a::after{
    content:"";
    position:absolute;
    left:0;
    bottom:-8px;
    width:0;
    height:2px;
    background:var(--gold);
    transition:.3s;
}
.main-nav a:hover,
.main-nav a.active{color:var(--gold)}
.main-nav a:hover::after,
.main-nav a.active::after{width:100%}
.quote-btn{
    display:flex;
    align-items:center;
    gap:8px;
    padding:12px 21px;
    background:var(--gold);
    color:#111;
    border-radius:30px;
    text-decoration:none;
    font-size:13px;
    font-weight:700;
    transition:.3s;
}
.quote-btn:hover{
    background:var(--gold2);
    transform:translateY(-3px);
    box-shadow:0 10px 25px rgba(217,164,65,.35);
}
.mobile-menu{
    display:none;
    width:42px;
    height:42px;
    border:1px solid rgba(255,255,255,.4);
    border-radius:50%;
    background:transparent;
    color:#fff;
    font-size:18px;
    cursor:pointer;
}

@media(max-width:1050px){
    .main-nav{gap:15px}
    .top-contact{gap:15px}
}
@media(max-width:760px){
    .top-container{justify-content:center}
    .top-social{display:none}
    .top-contact a{font-size:11px}
    .main-header{top:42px}
    .header-container{min-height:75px}
    .main-nav{
        position:absolute;
        top:75px;
        left:0;
        width:100%;
        background:rgba(17,16,14,.98);
        padding:25px;
        display:none;
        flex-direction:column;
        gap:22px;
    }
    .main-nav.active{display:flex}
    .quote-btn{display:none}
    .mobile-menu{
        display:flex;
        align-items:center;
        justify-content:center;
    }
}
@media(max-width:500px){
    .top-contact a:first-child{display:none}
    .top-contact{width:100%;justify-content:center}
    .logo-text strong{font-size:16px}
    .logo-text small{font-size:7px}
}


/* =========================================================
   HERO CAROUSEL
   ========================================================= */

.hero-carousel{
    position:relative;
    min-height:90vh;
    padding:0;
    overflow:hidden;
    background:#111;
}

.hero-slides{
    position:absolute;
    inset:0;
}

.hero-slide{
    position:absolute;
    inset:0;
    display:flex;
    align-items:center;
    background-position:center;
    background-size:cover;
    opacity:0;
    visibility:hidden;
    transform:scale(1.06);
    transition:
        opacity 1s ease,
        transform 6s ease,
        visibility 1s ease;
}

.hero-slide.active{
    opacity:1;
    visibility:visible;
    transform:scale(1);
    z-index:1;
}

.hero-carousel .hero-content{
    position:relative;
    z-index:2;
    padding-top:160px;
    padding-bottom:120px;
}

.hero-slide.active .eyebrow{
    animation:carouselUp .8s both;
}

.hero-slide.active h1{
    animation:carouselUp .9s .12s both;
}

.hero-slide.active p{
    animation:carouselUp .9s .24s both;
}

.hero-slide.active .actions{
    animation:carouselUp .9s .36s both;
}

@keyframes carouselUp{
    from{
        opacity:0;
        transform:translateY(35px);
    }
    to{
        opacity:1;
        transform:translateY(0);
    }
}

.carousel-arrow{
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    z-index:5;
    width:52px;
    height:52px;
    border-radius:50%;
    border:1px solid rgba(255,255,255,.45);
    background:rgba(0,0,0,.22);
    color:#fff;
    font-size:36px;
    line-height:1;
    cursor:pointer;
    display:grid;
    place-items:center;
    transition:.3s;
}

.carousel-arrow:hover{
    background:var(--gold);
    color:#111;
    border-color:var(--gold);
    transform:translateY(-50%) scale(1.08);
}

.carousel-prev{left:28px}
.carousel-next{right:28px}

.carousel-dots{
    position:absolute;
    z-index:5;
    left:50%;
    bottom:65px;
    transform:translateX(-50%);
    display:flex;
    gap:9px;
}

.carousel-dot{
    width:10px;
    height:10px;
    padding:0;
    border:1px solid #fff;
    border-radius:50%;
    background:transparent;
    cursor:pointer;
    transition:.35s;
}

.carousel-dot.active{
    width:30px;
    border-radius:10px;
    background:var(--gold);
    border-color:var(--gold);
}

@media(max-width:760px){
    .hero-carousel{
        min-height:82vh;
    }

    .hero-carousel .hero-content{
        padding-top:150px;
        padding-bottom:120px;
    }

    .carousel-arrow{
        width:42px;
        height:42px;
        font-size:28px;
    }

    .carousel-prev{left:12px}
    .carousel-next{right:12px}

    .carousel-dots{
        bottom:45px;
    }
}

@media(prefers-reduced-motion:reduce){
    .hero-slide{
        transition:none;
        transform:none;
    }
}

/* =========================================================
   THEME + LANGUAGE CONTROLS
   ========================================================= */

.header-tools{
    display:flex;
    align-items:center;
    gap:8px;
}

.lang-select{
    height:42px;
    padding:0 12px;
    border:1px solid rgba(255,255,255,.35);
    border-radius:22px;
    background:rgba(0,0,0,.18);
    color:#fff;
    outline:0;
    cursor:pointer;
    font-size:13px;
    transition:.3s;
}
.lang-select:hover,
.lang-select:focus{
    border-color:var(--gold);
    background:rgba(0,0,0,.35);
}
.lang-select option{
    background:#181613;
    color:#fff;
}

.theme-toggle{
    width:42px;
    height:42px;
    border:1px solid rgba(255,255,255,.35);
    border-radius:50%;
    background:rgba(0,0,0,.18);
    color:#fff;
    cursor:pointer;
    display:grid;
    place-items:center;
    font-size:17px;
    transition:.3s;
}
.theme-toggle:hover{
    background:var(--gold);
    color:#111;
    border-color:var(--gold);
    transform:rotate(12deg);
}

/* Light theme is the default. Dark mode is activated with body.dark */
body.dark .lang-select,
body.dark .theme-toggle{
    background:rgba(255,255,255,.06);
}

body.dark .hero,
body.dark .cta{
    filter:none;
}

body.dark .card,
body.dark .form input,
body.dark .form textarea,
body.dark .form select,
body.dark .slider-buttons button{
    color:var(--text);
}

/* RTL layout for Arabic */
html[dir="rtl"] body{
    direction:rtl;
}
html[dir="rtl"] .top-container,
html[dir="rtl"] .header-container{
    direction:rtl;
}
html[dir="rtl"] .hero-content{
    text-align:right;
}
html[dir="rtl"] .actions{
    justify-content:flex-start;
}
html[dir="rtl"] .main-nav{
    direction:rtl;
}
html[dir="rtl"] .top-contact{
    direction:rtl;
}
html[dir="rtl"] .carousel-prev{
    left:auto;
    right:28px;
}
html[dir="rtl"] .carousel-next{
    right:auto;
    left:28px;
}
html[dir="rtl"] .logo{
    flex-direction:row-reverse;
}
html[dir="rtl"] .stat{
    border-left:0;
    border-right:1px solid var(--border);
}

@media(max-width:760px){
    .header-tools{
        gap:5px;
    }
    .lang-select{
        width:58px;
        padding:0 7px;
    }
    html[dir="rtl"] .carousel-prev{
        right:12px;
        left:auto;
    }
    html[dir="rtl"] .carousel-next{
        left:12px;
        right:auto;
    }
}

/* FINAL THEME + LANGUAGE CONTROLS */
.header-tools{display:flex;align-items:center;gap:8px;order:3}
.lang-select{height:42px;min-width:125px;padding:0 12px;border:1px solid rgba(255,255,255,.35);border-radius:22px;background:rgba(0,0,0,.22);color:#fff;outline:0;cursor:pointer;font-size:13px;transition:.3s}
.lang-select:hover,.lang-select:focus{border-color:var(--gold);background:rgba(0,0,0,.4)}
.lang-select option{background:#181613;color:#fff}
.theme-toggle{width:42px;height:42px;border:1px solid rgba(255,255,255,.35);border-radius:50%;background:rgba(0,0,0,.22);color:#fff;cursor:pointer;display:grid;place-items:center;font-size:18px;transition:.3s}
.theme-toggle:hover{background:var(--gold);color:#111;border-color:var(--gold);transform:rotate(12deg)}
body.dark .lang-select,body.dark .theme-toggle{background:rgba(255,255,255,.07)}
body.dark .section[style*="background:var(--cream)"]{background:var(--cream)!important}
body.dark .form input,body.dark .form textarea,body.dark .form select,body.dark .slider-buttons button{background:#1c1a17;color:var(--text);border-color:var(--border)}
body.dark .card{background:#1c1a17}
body.dark .top-bar{background:rgba(0,0,0,.22)}
html[dir="rtl"] body{direction:rtl}
html[dir="rtl"] .top-container,html[dir="rtl"] .header-container{direction:rtl}
html[dir="rtl"] .main-nav{direction:rtl}
html[dir="rtl"] .hero-content{text-align:right}
html[dir="rtl"] .actions{justify-content:flex-start}
html[dir="rtl"] .top-contact{direction:rtl}
html[dir="rtl"] .logo{flex-direction:row-reverse}
html[dir="rtl"] .carousel-prev{left:auto;right:28px}
html[dir="rtl"] .carousel-next{right:auto;left:28px}
html[dir="rtl"] .stat{border-left:0;border-right:1px solid var(--border)}
html[dir="rtl"] .quote-btn i{transform:rotate(180deg)}
@media(max-width:1050px){.main-nav{gap:16px}.header-tools{gap:5px}.lang-select{min-width:105px}}
@media(max-width:760px){
  .header-container{min-height:76px;flex-wrap:wrap}
  .header-tools{margin-left:auto;margin-right:8px}
  .lang-select{min-width:78px;width:78px;padding:0 5px;font-size:11px}
  .theme-toggle{width:40px;height:40px}
  .quote-btn{display:none}
  .main-nav{position:absolute;top:100%;left:0;width:100%;background:rgba(17,16,14,.98);backdrop-filter:blur(12px);display:none;flex-direction:column;align-items:stretch;padding:20px 7%;gap:0;box-shadow:0 18px 30px rgba(0,0,0,.25)}
  .main-nav.active{display:flex}
  .main-nav a{padding:13px 0;border-bottom:1px solid rgba(255,255,255,.1)}
  .mobile-menu{display:grid;place-items:center;margin-left:0}
  html[dir="rtl"] .header-tools{margin-left:0;margin-right:auto}
  html[dir="rtl"] .mobile-menu{margin-right:0;margin-left:0}
  html[dir="rtl"] .carousel-prev{right:12px;left:auto}
  html[dir="rtl"] .carousel-next{left:12px;right:auto}
}
