﻿@import url('https://fonts.googleapis.com/css2?family=Cairo:wght@600;700;800&family=Tajawal:wght@400;500;700&display=swap');

:root {
    --ink: #000000;
    --paper: #F5F2EC;
    --brass: #ffde17;
    --brass-light: #ffde17;
    --steel: #232C36;
    --steel-2: #1A222B;
    --line: #E4DFD3;
    --line-dark: #33404D;
    --muted: #6B6255;
    --muted-light: #9AA6B2;
    --whatsapp: #3BA55C;
    --radius: 3px;
    --wrap: 1120px;
}

/* =========================================================
   RAWASI OHOD — SULTAN MEDIUM LUXURY HEADING FONT
   ========================================================= */

@font-face {
    font-family: "Sultan Medium";
    src: url("fonts/Sultan-Medium.ttf") format("truetype");
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

/* =========================================================
   GLOBAL LARGE ARABIC HEADINGS
   ========================================================= */

h1,
h2,
h3,
.page-title,
.hero-title,
.section-title,
.section-heading,
.main-title,
.big-title,
.display-title,
.heading-title {
    font-family: "Sultan Medium", "Cairo", "Tajawal", Arial, sans-serif;
    font-weight: 500;
    letter-spacing: 0;
}

/* Keep normal website text readable */
body,
p,
span,
li,
a,
button,
input,
textarea,
select {
    font-family: "Cairo", "Tajawal", Arial, sans-serif;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:'Tajawal',sans-serif;
  background:var(--paper);
  color:var(--ink);
  direction:rtl;
  line-height:1.7;
}
/* =========================================================
   GLOBAL TYPOGRAPHY — RAWASI OHOD
   SULTAN = MAJOR HEADINGS
   CAIRO = UI / LABELS
   TAJAWAL = BODY
   ========================================================= */

h1,
h2,
h3,
h4 {
    font-family: "Sultan Medium", "Cairo", "Tajawal", Arial, sans-serif;
    font-weight: 500;
    letter-spacing: 0;
    margin: 0 0 .5em;
    line-height: 1.45;
}

/* Large / premium titles */
.page-title,
.hero-title,
.section-title,
.section-heading,
.main-title,
.big-title,
.display-title,
.heading-title {
    font-family: "Sultan Medium", "Cairo", "Tajawal", Arial, sans-serif;
    font-weight: 500;
    letter-spacing: 0;
}

/* Normal text */
body,
p {
    font-family: "Tajawal", Arial, sans-serif;
}

/* UI elements */
button,
input,
textarea,
select,
nav,
.nav-toggle {
    font-family: "Cairo", "Tajawal", Arial, sans-serif;
}
p{margin:0 0 1em; color:var(--muted); max-width:62ch;}
a{color:inherit; text-decoration:none;}
img{max-width:100%; display:block;}
.wrap{max-width:var(--wrap); margin:0 auto; padding:0 24px;}

/* focus visibility */
a:focus-visible, button:focus-visible{
  outline:2px solid var(--brass);
  outline-offset:3px;
}

@media (prefers-reduced-motion: reduce){
  *{animation-duration:0.001ms !important; transition-duration:0.001ms !important;}
}

/* ---------- Header ---------- */
.site-header{
  position:sticky; top:0; z-index:50;
  background:rgba(18,24,31,0.96);
  backdrop-filter:blur(6px);
  border-bottom:1px solid var(--line-dark);
}
.header-inner{
  display:flex; align-items:center; justify-content:space-between;
  padding:14px 24px;
  max-width:var(--wrap); margin:0 auto;
}
.brand{
  display:flex; align-items:center; gap:12px;
  color:var(--paper);
}
.brand img{width:42px; height:42px; border-radius:50%; object-fit:cover; border:1px solid var(--brass);}
.brand span{font-family:'Cairo',sans-serif; font-weight:800; font-size:1.15rem;}
.brand small{display:block; font-family:'Tajawal'; font-weight:400; font-size:.68rem; color:var(--muted-light);}

nav.main-nav{display:flex; align-items:center; gap:28px;}
nav.main-nav a{
  color:var(--muted-light); font-size:.95rem; font-weight:500;
  padding:6px 2px; border-bottom:2px solid transparent;
  transition:color .2s ease, border-color .2s ease;
}
nav.main-nav a:hover, nav.main-nav a.active{color:var(--paper); border-color:var(--brass);}

.btn-wa{
  display:inline-flex; align-items:center; gap:8px;
  background:var(--whatsapp); color:#fff;
  padding:10px 20px; border-radius:var(--radius);
  font-weight:700; font-size:.9rem;
  transition:filter .15s ease;
}
.btn-wa:hover{filter:brightness(1.08);}

.nav-toggle{
  display:none; background:none; border:1px solid transparent;
  color:var(--paper); font-size:1.5rem; line-height:1; cursor:pointer;
  width:44px; height:44px; border-radius:var(--radius);
  align-items:center; justify-content:center;
  transition:border-color .2s ease, color .2s ease;
}
.nav-toggle:hover{border-color:var(--line-dark);}
.nav-toggle[aria-expanded="true"]{color:var(--brass); border-color:var(--line-dark);}

/* backdrop behind the mobile drawer */
.nav-backdrop{
  position:fixed; inset:0; z-index:40;
  background:rgba(0,0,0,.55);
  opacity:0; pointer-events:none;
  transition:opacity .25s ease;
  -webkit-backdrop-filter:blur(2px); backdrop-filter:blur(2px);
}
body.nav-open .nav-backdrop{opacity:1; pointer-events:auto;}
body.nav-open{overflow:hidden;}

@media (max-width:980px){
  .header-inner{padding:12px 20px;}
  nav.main-nav{
    position:absolute; inset-inline:0; top:100%;
    background:var(--steel-2);
    border-top:1px solid var(--line-dark);
    border-bottom:1px solid var(--brass);
    box-shadow:0 24px 40px -18px rgba(0,0,0,.75);
    flex-direction:column; align-items:stretch;
    padding:8px 20px 20px; gap:0;
    display:flex;
    max-height:calc(100vh - 100%); overflow-y:auto;
    -webkit-overflow-scrolling:touch;
    opacity:0; visibility:hidden;
    transform:translateY(-10px);
    transition:opacity .22s ease, transform .22s ease, visibility .22s;
  }
  nav.main-nav.open{opacity:1; visibility:visible; transform:translateY(0);}
  nav.main-nav a{
    display:flex; align-items:center;
    min-height:52px; padding:0 4px;
    font-size:1.02rem; font-weight:600;
    color:var(--paper);
    border-bottom:1px solid var(--line-dark);
    border-inline-start:2px solid transparent;
  }
  nav.main-nav a:hover, nav.main-nav a:active{
    color:var(--brass); border-color:var(--line-dark);
    border-inline-start-color:var(--brass);
    padding-inline-start:12px;
  }
  nav.main-nav a.active{color:var(--brass); border-inline-start-color:var(--brass); padding-inline-start:12px;}
  nav.main-nav a.btn-wa{
    justify-content:center; margin-top:16px;
    min-height:52px; color:#fff;
    border:none; border-radius:var(--radius);
    padding:0 20px;
  }
  nav.main-nav a.btn-wa:hover{color:#fff; padding-inline-start:20px;}
  .nav-toggle{display:inline-flex;}
}

/* ---------- Hero ---------- */
.hero{
  background:linear-gradient(180deg,var(--ink) 0%, var(--steel) 100%);
  color:var(--paper);
  padding:96px 0 64px;
  border-bottom:1px solid var(--line-dark);
}
.hero .eyebrow-mark{
  display:inline-block; width:34px; height:3px; background:var(--brass); margin-bottom:22px;
}
.hero h1{
  font-size:clamp(2rem, 4.2vw, 3.3rem);
  color:var(--paper);
  max-width:15ch;
}
.hero h1 em{
  font-style:normal;
  color:var(--brass-light);
}
.hero .lead{
  color:var(--muted-light); font-size:1.1rem; max-width:52ch; margin-bottom:32px;
}
.hero-ctas{display:flex; gap:14px; flex-wrap:wrap;}
.btn-outline{
  border:1px solid var(--line-dark); color:var(--paper);
  padding:10px 22px; border-radius:var(--radius); font-weight:600;
  transition:border-color .2s ease;
}
.btn-outline:hover{border-color:var(--brass);}

.stat-bar{
  margin-top:56px;
  display:grid; grid-template-columns:repeat(3,1fr);
  border-top:1px solid var(--line-dark);
}
.stat-bar div{
  padding:22px 20px 0; border-inline-start:1px solid var(--line-dark);
}
.stat-bar div:first-child{border-inline-start:none;}
.stat-bar strong{
  display:block; font-family:'Cairo'; font-size:1.9rem; color:var(--brass-light); font-weight:800;
}
.stat-bar span{color:var(--muted-light); font-size:.88rem;}

@media (max-width:640px){
  .stat-bar{grid-template-columns:1fr; gap:18px;}
  .stat-bar div{border-inline-start:none; border-top:1px solid var(--line-dark); padding-top:16px;}
  .stat-bar div:first-child{border-top:none;}
}

/* ---------- Section basics ---------- */
section{padding:76px 0;}
.section-head{max-width:60ch; margin-bottom:44px;}
.section-head .tag{color:var(--brass); font-weight:700; font-size:.85rem; display:block; margin-bottom:10px;}
.section-head h2{font-size:clamp(1.6rem,3vw,2.2rem);}

.band-dark{background:var(--ink); color:var(--paper);}
.band-dark p{color:var(--muted-light);}
.band-dark .section-head .tag{color:var(--brass-light);}

/* ---------- Services ---------- */
.service-list{border-top:1px solid var(--line);}
.service-row{
  display:flex; align-items:flex-start; gap:22px;
  padding:26px 4px; border-bottom:1px solid var(--line);
  transition:background .15s ease;
}
.service-row:hover{background:rgba(184,134,59,0.05);}
.service-row .mark{
  flex:0 0 auto; width:44px; height:44px;
  border:1px solid var(--brass); border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  color:var(--brass);
}
.service-row .mark svg{width:20px; height:20px;}
.service-row .body h3{font-size:1.15rem; margin-bottom:6px;}
.service-row .body p{margin-bottom:12px;}
.service-row .body a{color:var(--brass); font-weight:700; font-size:.9rem;}
.service-row .body a:hover{color:var(--brass-light);}

/* ---------- Portfolio grid ---------- */
.grid{
  display:grid; grid-template-columns:repeat(4,1fr); gap:16px;
}
@media (max-width:900px){.grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:480px){.grid{grid-template-columns:1fr;}}

.grid-3{grid-template-columns:repeat(3,1fr);}
@media (max-width:900px){.grid-3{grid-template-columns:repeat(2,1fr);}}
@media (max-width:640px){.grid-3{grid-template-columns:1fr;}}


.video-card{
  position:relative; display:block; border-radius:var(--radius); overflow:hidden;
  background:var(--steel);
  border:1px solid var(--line-dark);
}
.video-card img{aspect-ratio:16/9; object-fit:cover; width:100%;}
.video-card .play{
  position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
  background:rgba(18,24,31,0.25);
  transition:background .2s ease;
}
.video-card .play svg{width:38px; height:38px; fill:#fff; filter:drop-shadow(0 1px 3px rgba(0,0,0,.5));}
.video-card:hover .play{background:rgba(18,24,31,0.1);}

/* ---------- Cards (about / process) ---------- */
.about-grid{display:grid; grid-template-columns:1.1fr 0.9fr; gap:56px; align-items:start;}
@media (max-width:860px){.about-grid{grid-template-columns:1fr;}}

.info-panel{
  border:1px solid var(--line); border-radius:var(--radius); padding:28px;
  background:#fff;
}
.info-panel dl{display:grid; grid-template-columns:1fr 1fr; gap:18px 0; margin:0;}
.info-panel dt{color:var(--muted); font-size:.85rem;}
.info-panel dd{margin:2px 0 0; font-family:'Cairo'; font-weight:700; color:var(--ink);}

/* ---------- CTA band ---------- */
.cta-band{
  background:var(--steel); color:var(--paper);
  border-radius:var(--radius);
  padding:44px; display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap;
}
.cta-band h3{margin:0 0 6px; font-size:1.4rem;}
.cta-band p{color:var(--muted-light); margin:0;}

.btn-brass{
  display:inline-flex; align-items:center; gap:8px;
  background:var(--brass); color:var(--ink);
  padding:12px 26px; border-radius:var(--radius); font-weight:800;
  transition:background .15s ease;
}
.btn-brass:hover{background:var(--brass-light);}

/* ---------- Footer ---------- */
footer.site-footer{
  background:var(--ink); color:var(--muted-light);
  padding:56px 0 28px; border-top:1px solid var(--line-dark);
}
.footer-grid{
  display:grid; grid-template-columns:1.3fr 1fr 1fr; gap:36px;
  padding-bottom:36px; border-bottom:1px solid var(--line-dark);
}
@media (max-width:760px){.footer-grid{grid-template-columns:1fr; gap:28px;}}
.footer-grid h4{color:var(--paper); font-size:1rem; margin-bottom:14px;}
.footer-grid p{color:var(--muted-light); font-size:.92rem;}
.footer-grid ul{list-style:none; margin:0; padding:0; display:grid; gap:10px;}
.footer-grid a:hover{color:var(--brass-light);}
.footer-bottom{
  display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px;
  padding-top:22px; font-size:.85rem;
}
.footer-brand{display:flex; align-items:center; gap:10px;}
.footer-brand img{width:32px; height:32px; border-radius:50%; border:1px solid var(--brass);}

.contact-form{display:grid; gap:14px; max-width:520px;}
.contact-form label{font-size:.85rem; color:var(--muted); display:block; margin-bottom:6px;}
.contact-form input, .contact-form textarea{
  width:100%; padding:12px 14px; border:1px solid var(--line); border-radius:var(--radius);
  font-family:'Tajawal'; font-size:.95rem; background:#fff; color:var(--ink);
}
.contact-form textarea{min-height:120px; resize:vertical;}
.contact-form button{
  justify-self:start; border:none; cursor:pointer; font-family:'Tajawal';
}

.map-note{
  border:1px dashed var(--line); border-radius:var(--radius); padding:22px; color:var(--muted); font-size:.9rem;
}

/* ================= Animation & Slider additions ================= */

/* Scroll reveal */
.reveal{
  opacity:0; transform:translateY(28px);
  transition:opacity .7s cubic-bezier(.2,.7,.2,1), transform .7s cubic-bezier(.2,.7,.2,1);
}
.reveal.in{opacity:1; transform:translateY(0);}
.reveal-stagger > *{transition-delay:calc(var(--i,0) * 90ms);}

/* Header shrink on scroll */
.site-header{transition:padding .25s ease, background .25s ease;}
.site-header.scrolled .header-inner{padding-top:8px; padding-bottom:8px;}
.site-header.scrolled{box-shadow:0 8px 24px rgba(0,0,0,.25);}

/* ---------------- Hero slider ---------------- */
.hero-slider{
  position:relative;
  min-height:560px;
  display:flex; align-items:center;
  overflow:hidden;
  border-bottom:1px solid var(--line-dark);
}
.hero-slider .slide{
  position:absolute; inset:0;
  background-size:cover; background-position:center;
  opacity:0;
  transform:scale(1.08);
  transition:opacity 1.4s ease, transform 7s linear;
  z-index:0;
}
.hero-slider .slide.active{opacity:1; transform:scale(1);}
.hero-slider .slide::after{
  content:'';
  position:absolute; inset:0;
  background:linear-gradient(100deg, rgba(18,24,31,.94) 20%, rgba(18,24,31,.55) 65%, rgba(18,24,31,.35) 100%);
}
.hero-slider .hero-content{position:relative; z-index:2; padding:90px 0;}
.hero-slider .eyebrow-mark{
  width:34px; height:3px; background:var(--brass); display:inline-block; margin-bottom:22px;
  animation:growLine 1s ease .3s both;
}
@keyframes growLine{from{width:0;} to{width:34px;}}

.hero-slider h1{
  font-size:clamp(2rem,4.4vw,3.5rem); color:var(--paper); max-width:16ch;
  animation:fadeUp .8s ease .1s both;
}
.hero-slider .lead{
  color:var(--muted-light); font-size:1.12rem; max-width:52ch; margin-bottom:32px;
  animation:fadeUp .8s ease .28s both;
}
.hero-slider .hero-ctas{animation:fadeUp .8s ease .44s both;}
.hero-slider .stat-bar{animation:fadeUp .8s ease .6s both;}
@keyframes fadeUp{from{opacity:0; transform:translateY(18px);} to{opacity:1; transform:translateY(0);}}


.hero-slider {
    position: relative;
    width: 100%;
    height: 100vh;
    min-height: 650px;
    overflow: hidden;
}

.hero-slider video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.slider-dots{
  position:absolute; z-index:3; bottom:24px; inset-inline:0;
  display:flex; justify-content:center; gap:10px;
}
.slider-dots button{
  width:28px; height:3px; border:none; background:rgba(255,255,255,.3); cursor:pointer; padding:0;
  transition:background .2s ease;
}
.slider-dots button.active{background:var(--brass);}

/* Animated counters */
.stat-bar strong{
  font-variant-numeric:tabular-nums;
}

/* Service row hover motion */
.service-row{
  transition:background .2s ease, transform .25s ease, border-color .2s ease;
}
.service-row:hover{transform:translateX(-4px);}
[dir="rtl"] .service-row:hover{transform:translateX(4px);}
.service-row .mark{
  transition:background .25s ease, color .25s ease, transform .35s ease;
}
.service-row:hover .mark{
  background:var(--brass); color:var(--ink); transform:rotate(-8deg) scale(1.06);
}

/* Portfolio hover zoom */
.video-card img{transition:transform .5s cubic-bezier(.2,.7,.2,1);}
.video-card:hover img{transform:scale(1.09);}
.video-card .play svg{transition:transform .3s ease;}
.video-card:hover .play svg{transform:scale(1.15);}

/* Buttons: subtle lift */
.btn-brass, .btn-outline, .btn-wa{transition:all .2s ease;}
.btn-brass:hover{transform:translateY(-2px); box-shadow:0 10px 24px rgba(184,134,59,.35);}
.btn-outline:hover{transform:translateY(-2px);}
.btn-wa:hover{transform:translateY(-2px); box-shadow:0 10px 22px rgba(59,165,92,.35);}

/* ---------------- Testimonial carousel ---------------- */
.quote-slider{position:relative; max-width:720px; margin:0 auto; min-height:180px;}
.quote-slide{
  position:absolute; inset:0;
  opacity:0; transform:translateY(12px);
  transition:opacity .6s ease, transform .6s ease;
  text-align:center;
}
.quote-slide.active{opacity:1; transform:translateY(0); position:relative;}
.quote-slide p{
  color:var(--paper); font-size:1.25rem; font-family:'Cairo'; font-weight:600; max-width:100%;
  margin:0 auto 18px;
}
.quote-slide span{color:var(--brass-light); font-size:.92rem;}
.quote-dots{display:flex; justify-content:center; gap:8px; margin-top:28px;}
.quote-dots button{
  width:9px; height:9px; border-radius:50%; border:1px solid var(--brass); background:transparent; cursor:pointer; padding:0;
  transition:background .2s ease;
}
.quote-dots button.active{background:var(--brass);}

/* Marquee strip */
.marquee{
  overflow:hidden; border-top:1px solid var(--line); border-bottom:1px solid var(--line);
  background:#fff; padding:18px 0;
}
.marquee-track{
  display:flex; gap:56px; width:max-content;
  animation:scrollLeft 26s linear infinite;
}
.marquee-track span{
  font-family:'Cairo'; font-weight:700; color:var(--muted); font-size:.95rem; white-space:nowrap;
  opacity:.75;
}
@keyframes scrollLeft{
  from{transform:translateX(0);}
  to{transform:translateX(-50%);}
}
[dir="rtl"] .marquee-track{animation-name:scrollRight;}
@keyframes scrollRight{
  from{transform:translateX(-50%);}
  to{transform:translateX(0);}
}

@media (prefers-reduced-motion: reduce){
  .marquee-track{animation:none;}
  .hero-slider .slide{transition:opacity .3s ease;}
}


/* ================= WOW PRODUCTS ================= */
.products-hero{
  min-height:360px; display:flex; align-items:center;
  background:
    radial-gradient(circle at 12% 20%, rgba(184,146,76,.20), transparent 32%),
    linear-gradient(135deg, var(--ink), #26313b 55%, #12181f);
  color:var(--paper);
}
.products-hero h1{color:var(--paper);font-size:clamp(2.2rem,5vw,4rem);max-width:12ch;}
.products-hero h1 em{color:var(--brass);font-style:normal;}
.products-showcase{padding:86px 0;}
.product-filters{display:flex;gap:10px;flex-wrap:wrap;margin:28px 0 34px;}
.product-filter{
  border:1px solid var(--line); background:#fff; color:var(--ink);
  padding:11px 18px; border-radius:999px; cursor:pointer; font-family:'Tajawal'; font-weight:800;
}
.product-filter span{opacity:.55;margin-inline-start:5px;}
.product-filter.active{background:var(--ink);color:var(--paper);border-color:var(--ink);}
.product-grid{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;
}
.product-card{
  overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:22px;
  box-shadow:0 10px 35px rgba(18,24,31,.07);
  transition:transform .35s ease, box-shadow .35s ease;
}
.product-card:hover{transform:translateY(-8px);box-shadow:0 20px 50px rgba(18,24,31,.15);}
.product-image-wrap{position:relative;overflow:hidden;background:#f4f4f2;aspect-ratio:1.35;}
.product-image-wrap img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease;}
.product-card:hover .product-image-wrap img{transform:scale(1.05);}
.product-category,.product-code{
  position:absolute;top:14px;padding:7px 11px;border-radius:999px;font-size:.75rem;font-weight:900;
  backdrop-filter:blur(8px);
}
.product-category{inset-inline-start:14px;background:rgba(18,24,31,.82);color:#fff;}
.product-code{inset-inline-end:14px;background:rgba(184,146,76,.94);color:#161616;}
.product-info{padding:20px;}
.product-title-row{display:flex;align-items:center;justify-content:space-between;gap:10px;}
.product-title-row h3{margin:0;font-size:1.12rem;}
.product-title-row span{font-weight:900;color:var(--brass);}
.product-info p{color:var(--muted);margin:9px 0 14px;min-height:44px;}
.product-meta{display:flex;justify-content:space-between;gap:10px;border-top:1px solid var(--line);padding-top:12px;color:var(--muted);font-size:.78rem;}
.product-whatsapp{
  display:flex;align-items:center;justify-content:space-between;margin-top:17px;
  padding:11px 14px;border-radius:12px;background:var(--ink);color:#fff;font-weight:800;
}
.product-whatsapp:hover{background:#26313b;color:var(--brass-light);}
.product-cta{display:flex;align-items:center;justify-content:space-between;gap:30px;}
.product-cta h2{color:var(--paper);max-width:18ch;}
.product-cta p{color:var(--muted-light);max-width:55ch;}
.products-home{padding:90px 0;}
.product-home-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0 24px;}
.product-home-tabs a{padding:9px 16px;border:1px solid var(--line);border-radius:999px;}
.product-home-tabs a.active{background:var(--ink);color:var(--paper);border-color:var(--ink);}
.product-home-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-bottom:28px;}
.product-mini{position:relative;aspect-ratio:1/1;overflow:hidden;border-radius:16px;background:#eee;border:1px solid var(--line);}
.product-mini img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease;}
.product-mini:hover img{transform:scale(1.08);}
.product-mini span{position:absolute;bottom:9px;inset-inline:9px;background:rgba(18,24,31,.82);color:#fff;padding:6px 9px;border-radius:9px;font-size:.72rem;font-weight:900;text-align:center;}
/* Video modal: playback stays on the website */
.video-card{border:0;padding:0;cursor:pointer;width:100%;font:inherit;text-align:inherit;}
.video-modal{position:fixed;inset:0;z-index:9999;background:rgba(6,10,14,.90);display:none;align-items:center;justify-content:center;padding:24px;}
.video-modal.open{display:flex;}
.video-modal-inner{width:min(1000px,96vw);position:relative;}
.video-modal iframe{display:block;width:100%;aspect-ratio:16/9;border:0;border-radius:18px;background:#000;box-shadow:0 30px 90px rgba(0,0,0,.5);}
.video-modal-close{
  position:absolute;top:-46px;inset-inline-end:0;width:38px;height:38px;border-radius:50%;
  border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.12);color:#fff;
  font-size:24px;cursor:pointer;line-height:1;
}
@media (max-width:1050px){.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.product-home-grid{grid-template-columns:repeat(3,1fr);}}
@media (max-width:650px){.product-grid{grid-template-columns:1fr;}.product-home-grid{grid-template-columns:repeat(2,1fr);}.product-cta{flex-direction:column;align-items:flex-start;}.products-showcase{padding:60px 0;}.video-modal{padding:14px;}.video-modal-close{top:-44px;}}
.hero-video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    background: #000;
}
.hero-video-overlay{
  position:absolute; inset:0; z-index:1; pointer-events:none;
  background:linear-gradient(180deg, rgba(18,24,31,.1) 0%, rgba(18,24,31,.35) 55%, rgba(18,24,31,.96) 100%);
}

/* ================= Hero "WOW" panel — floats over the video ================= */
.hero-panel{
  position:relative; z-index:5;
  margin-top:-130px;
  background-color:black;
/*  background:linear-gradient(160deg, var(--steel) 0%, var(--ink) 100%);
*/  border:1px solid var(--line-dark);
  border-top:3px solid var(--brass);
  border-radius:20px;
  box-shadow:0 40px 80px -24px rgba(0,0,0,.55), 0 0 0 1px rgba(184,134,59,.08);
  padding:44px 44px 0;
  overflow:hidden;
}
.hero-panel::before{
  content:''; position:absolute; top:-140px; inset-inline-end:-120px;
  width:300px; height:300px; border-radius:50%;
  background:radial-gradient(circle, rgba(217,168,87,.18), transparent 70%);
  pointer-events:none;
}
.hero-panel-grid{
  position:relative; z-index:1;
  display:flex; align-items:flex-end; justify-content:space-between; gap:32px; flex-wrap:wrap;
  padding-bottom:36px; border-bottom:1px solid var(--line-dark);
}
.hero-panel-text{max-width:640px;}
.hero-panel-text h1{color:var(--paper); font-size:clamp(1.7rem,3.4vw,2.6rem); max-width:16ch; margin-bottom:14px;}
.hero-panel-text h1 em{font-style:normal; color:var(--brass-light);}
.hero-panel-text .lead{color:var(--muted-light); margin:0; font-size:1.02rem; max-width:52ch;}
.hero-panel-cta{display:flex; gap:14px; flex-wrap:wrap; flex:0 0 auto; align-items:center;}

.btn-glow{position:relative; box-shadow:0 10px 30px -8px rgba(184,134,59,.55); animation:pulseGlow 2.6s ease-in-out infinite;}
.btn-glow svg{width:18px; height:18px;}
@keyframes pulseGlow{
  0%,100%{box-shadow:0 10px 30px -8px rgba(184,134,59,.55);}
  50%{box-shadow:0 12px 42px -4px rgba(217,168,87,.85);}
}

.btn-outline-light{
  display:inline-flex; align-items:center;
  border:1px solid var(--line-dark); color:var(--paper);
  padding:12px 24px; border-radius:var(--radius); font-weight:700;
  transition:border-color .2s ease, color .2s ease;
}
.btn-outline-light:hover{border-color:var(--brass-light); color:var(--brass-light);}

.hero-stats{position:relative; z-index:1; display:grid; grid-template-columns:repeat(3,1fr);}
.hero-stat{
  padding:30px 20px; text-align:center;
  border-inline-start:1px solid var(--line-dark);
  transition:transform .25s ease, background .25s ease;
}
.hero-stat:first-child{border-inline-start:none;}
.hero-stat:hover{background:rgba(184,134,59,.07); transform:translateY(-4px);}
.hero-stat-icon{
  display:inline-flex; align-items:center; justify-content:center;
  width:46px; height:46px; border-radius:50%;
  border:1px solid var(--brass); color:var(--brass-light);
  margin-bottom:14px;
}
.hero-stat-icon svg{width:22px; height:22px;}
.hero-stat strong{
  display:block; font-family:'Cairo'; font-size:2.1rem; font-weight:800;
  color:var(--brass-light); font-variant-numeric:tabular-nums;
}
.hero-stat-label{display:block; color:var(--muted-light); font-size:.9rem; margin-top:4px;}

@media (max-width:760px){
  .hero-panel{margin-top:-70px; padding:30px 22px 0; border-radius:16px;}
  .hero-stats{grid-template-columns:1fr;}
  .hero-stat{border-inline-start:none; border-top:1px solid var(--line-dark); padding:22px 6px;}
  .hero-stat:first-child{border-top:none;}
}
@media (max-width:480px){
  .hero-panel-cta{flex-direction:column; width:100%;}
  .hero-panel-cta a{justify-content:center; width:100%;}
}
.product-price {
    margin-top: 14px;
    padding: 10px 14px;
    border-top: 1px solid var(--line);
    color: var(--brass);
    font-size: 1.05rem;
    font-weight: 700;
    letter-spacing: .2px;
}
/* ---------- Hero video: NO OVERLAY ---------- */
/* =========================================
   HERO VIDEO - COMPLETELY NO OVERLAY
   ========================================= */

/* Remove the pseudo-element overlay */
.hero-slider .slide::after {
    display: none !important;
    content: none !important;
    background: none !important;
}

/* Remove the actual video overlay */
.hero-video-overlay {
    display: none !important;
    background: none !important;
    opacity: 0 !important;
}
/*```css
*//* =========================================================
   RAWASI AHAD
   PREMIUM SERVICES PAGE
   ========================================================= */
/*:root {
    --premium-black: #080808;
    --premium-dark: #0d0d0d;
    --premium-card: #111111;
    --premium-card-2: #151515;
    --premium-gold: #c8a45d;
    --premium-gold-light: #e4c77c;
    --premium-gold-dark: #8e6d32;
    --premium-white: #f5f2eb;
    --premium-muted: #a5a19a;
    --premium-line: rgba(200, 164, 93, 0.20);
}*/


/* =========================================================
   MAIN
   ========================================================= */

/*.premium-services-page {
    background: radial-gradient( circle at 50% 0%, rgba(200, 164, 93, 0.055), transparent 35% ), var(--premium-black);
    color: var(--premium-white);
    overflow: hidden;
    font-family: "Cairo", "Tajawal", Arial, sans-serif;
}

    .premium-services-page * {
        box-sizing: border-box;
    }

.services-container {
    width: min(1240px, calc(100% - 48px));
    margin: 0 auto;
}*/


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

/*.services-hero {
    position: relative;
    min-height: 720px;
    display: flex;
    align-items: center;
    background: radial-gradient( circle at 70% 45%, rgba(200, 164, 93, 0.12), transparent 30% ), linear-gradient( 135deg, #070707 0%, #0d0d0d 48%, #080808 100% );
    border-bottom: 1px solid rgba(255,255,255,0.06);
    isolation: isolate;
}

    .services-hero::before {
        content: "";
        position: absolute;
        inset: 0;
        opacity: .15;
        background-image: linear-gradient( rgba(255,255,255,.025) 1px, transparent 1px ), linear-gradient( 90deg, rgba(255,255,255,.025) 1px, transparent 1px );
        background-size: 80px 80px;
        mask-image: linear-gradient( to bottom, black, transparent 90% );
        pointer-events: none;
    }

.services-hero-glow {
    position: absolute;
    width: 500px;
    height: 500px;
    border-radius: 50%;
    filter: blur(100px);
    opacity: .10;
    pointer-events: none;
}

.glow-one {
    background: #c8a45d;
    right: -250px;
    top: -180px;
}

.glow-two {
    background: #a17a35;
    left: -300px;
    bottom: -250px;
}

.services-hero .services-container {
    position: relative;
    display: grid;
    grid-template-columns: 1.15fr .85fr;
    align-items: center;
    gap: 80px;
    z-index: 2;
}

.services-hero-content {
    max-width: 720px;
}

.premium-kicker {
    display: flex;
    align-items: center;
    gap: 15px;
    color: var(--premium-gold);
    font-size: 12px;
    letter-spacing: 3px;
    margin-bottom: 25px;
}

.kicker-line {
    width: 45px;
    height: 1px;
    background: linear-gradient( 90deg, transparent, var(--premium-gold) );
}

.premium-kicker .kicker-line:first-child {
    background: linear-gradient( 90deg, var(--premium-gold), transparent );
}

.services-hero h1 {
    margin: 0;
    font-size: clamp(42px, 6vw, 78px);
    line-height: 1.16;
    font-weight: 700;
    letter-spacing: -2px;
}

    .services-hero h1 span {
        display: block;
        color: transparent;
        background: linear-gradient( 100deg, #9d783d, #e4c77c, #b28a43 );
        -webkit-background-clip: text;
        background-clip: text;
        margin-top: 6px;
    }

.services-hero-content > p {
    max-width: 650px;
    margin: 28px 0 0;
    color: #aaa59d;
    font-size: 17px;
    line-height: 2;
    font-weight: 300;
}

.hero-actions {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-top: 38px;
    flex-wrap: wrap;
}*/


/* =========================================================
   BUTTONS
   ========================================================= */

/*.premium-gold-button {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 22px;
    min-height: 58px;
    padding: 0 28px;
    color: #0a0a0a;
    background: linear-gradient( 135deg, #9c7738, #e0bd70, #a87e3b );
    text-decoration: none;
    font-weight: 700;
    overflow: hidden;
    transition: transform .35s ease, box-shadow .35s ease;
}

    .premium-gold-button::before {
        content: "";
        position: absolute;
        top: 0;
        left: -120%;
        width: 80%;
        height: 100%;
        background: linear-gradient( 90deg, transparent, rgba(255,255,255,.45), transparent );
        transform: skewX(-20deg);
        transition: left .65s ease;
    }

    .premium-gold-button:hover::before {
        left: 140%;
    }

    .premium-gold-button:hover {
        transform: translateY(-3px);
        box-shadow: 0 15px 45px rgba(200,164,93,.20);
    }

    .premium-gold-button span {
        position: relative;
        z-index: 2;
    }

.button-arrow {
    font-size: 20px;
    transition: transform .3s ease;
}

.premium-gold-button:hover .button-arrow {
    transform: translateX(-5px);
}

.premium-gold-button.large {
    min-height: 64px;
    padding: 0 34px;
    font-size: 16px;
}

.premium-outline-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 15px;
    min-height: 58px;
    padding: 0 25px;
    color: var(--premium-white);
    border: 1px solid rgba(255,255,255,.18);
    text-decoration: none;
    font-size: 14px;
    transition: border-color .3s ease, background .3s ease;
}

    .premium-outline-button:hover {
        border-color: var(--premium-gold);
        background: rgba(200,164,93,.06);
    }

    .premium-outline-button span {
        color: var(--premium-gold);
    }*/


/* =========================================================
   HERO DECORATION
   ========================================================= */

/*.hero-decoration {
    position: relative;
    width: min(390px, 100%);
    aspect-ratio: 1;
    margin: auto;
}

.hero-orbit {
    position: absolute;
    inset: 8%;
    border: 1px solid rgba(200,164,93,.22);
    border-radius: 50%;
    transform: rotate(-20deg);
}

.orbit-one {
    animation: premiumRotate 25s linear infinite;
}

.orbit-two {
    inset: 18%;
    border-color: rgba(255,255,255,.08);
    transform: rotate(25deg);
    animation: premiumRotateReverse 18s linear infinite;
}

.hero-orbit::before,
.hero-orbit::after {
    content: "";
    position: absolute;
    width: 7px;
    height: 7px;
    background: var(--premium-gold);
    border-radius: 50%;
    box-shadow: 0 0 20px rgba(200,164,93,.8);
}

.hero-orbit::before {
    top: 10%;
    right: 18%;
}

.hero-orbit::after {
    bottom: 15%;
    left: 12%;
}

.hero-center-logo {
    width: 250px;
    height: 250px;
    border-radius: 50%;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #0b0b0b;
    border: 1px solid rgba(200,164,93,.55);
    box-shadow: 0 0 0 12px rgba(200,164,93,.04), 0 0 50px rgba(200,164,93,.18), inset 0 0 35px rgba(0,0,0,.8);
}

    .hero-center-logo img {
        width: 78%;
        height: 78%;
        object-fit: contain;
        border-radius: 50%;
        display: block;
        filter: drop-shadow(0 0 18px rgba(200,164,93,.25));
    }

.hero-bottom-fade {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 160px;
    background: linear-gradient( to top, var(--premium-black), transparent );
    pointer-events: none;
}*/


/* =========================================================
   INTRO
   ========================================================= */

/*.services-intro {
    padding: 115px 0 75px;
}

.intro-label {
    display: flex;
    align-items: center;
    gap: 14px;
    color: var(--premium-gold);
    font-size: 12px;
    letter-spacing: 2px;
}

    .intro-label span {
        font-family: Georgia, serif;
        font-size: 22px;
        color: #776039;
    }

    .intro-label i {
        width: 35px;
        height: 1px;
        background: var(--premium-gold);
        display: block;
    }

.intro-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 90px;
    margin-top: 35px;
    align-items: end;
}

    .intro-grid h2 {
        margin: 0;
        font-size: clamp(34px, 5vw, 58px);
        line-height: 1.25;
        font-weight: 500;
    }

        .intro-grid h2 strong {
            display: block;
            color: var(--premium-gold);
            font-weight: 600;
        }

    .intro-grid p {
        max-width: 540px;
        margin: 0;
        color: #918d86;
        font-size: 16px;
        line-height: 2.1;
    }*/


/* =========================================================
   SERVICES SECTION
   ========================================================= */

/*.services-section {
    padding: 60px 0 130px;
}

.services-heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 50px;
    margin-bottom: 55px;
}

.section-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    color: var(--premium-gold);
    font-size: 11px;
    letter-spacing: 2px;
}

    .section-eyebrow > span {
        width: 28px;
        height: 1px;
        background: var(--premium-gold);
    }

.services-heading h2 {
    margin: 17px 0 0;
    font-size: clamp(32px, 4vw, 52px);
    line-height: 1.25;
    font-weight: 500;
}

    .services-heading h2 em {
        color: var(--premium-gold);
        font-style: normal;
    }

.services-heading > p {
    max-width: 390px;
    margin: 0;
    color: #77736c;
    line-height: 1.9;
    font-size: 14px;
}*/


/* =========================================================
   SERVICE GRID
   ========================================================= */

/*.premium-services-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}*/


/* =========================================================
   CARD
   ========================================================= */

/*.premium-service-card {
    position: relative;
    min-width: 0;
    background: linear-gradient( 145deg, #141414, #0d0d0d );
    border: 1px solid rgba(255,255,255,.075);
    overflow: hidden;
    transition: transform .45s cubic-bezier(.2,.8,.2,1), border-color .45s ease, box-shadow .45s ease;
}

    .premium-service-card::before {
        content: "";
        position: absolute;
        inset: 0;
        opacity: 0;
        background: radial-gradient( circle at 50% 0%, rgba(200,164,93,.13), transparent 45% );
        transition: opacity .45s ease;
        pointer-events: none;
        z-index: 0;
    }

    .premium-service-card:hover {
        transform: translateY(-10px);
        border-color: rgba(200,164,93,.45);
        box-shadow: 0 30px 70px rgba(0,0,0,.40), 0 0 0 1px rgba(200,164,93,.04);
    }

        .premium-service-card:hover::before {
            opacity: 1;
        }*/


/* =========================================================
   FEATURED CARD
   ========================================================= */

/*.featured-card {
    border-color: rgba(200,164,93,.30);
}

.featured-label {
    position: absolute;
    top: 20px;
    left: 20px;
    z-index: 5;
    padding: 7px 12px;
    background: var(--premium-gold);
    color: #080808;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 1px;
}*/


/* =========================================================
   SERVICE IMAGE AREA
   ========================================================= */

/*.service-image {
    position: relative;
    height: 250px;
    overflow: hidden;
    background-color: #191919;
    background-position: center;
    background-size: cover;
    transition: transform .7s cubic-bezier(.2,.8,.2,1);
}*/


/*
   Replace these URLs later with your actual
   service images if you have them.
*/

/*.service-branding {
    background-image: linear-gradient( 135deg, rgba(0,0,0,.45), rgba(40,31,17,.25) ), url("../images/services/branding.jpg");
}

.service-profile {
    background-image: linear-gradient( 135deg, rgba(0,0,0,.45), rgba(40,31,17,.25) ), url("../images/services/profile.jpg");
}

.service-letters {
    background-image: linear-gradient( 135deg, rgba(0,0,0,.45), rgba(40,31,17,.25) ), url("../images/services/letters.jpg");
}

.service-cladding {
    background-image: linear-gradient( 135deg, rgba(0,0,0,.50), rgba(40,31,17,.25) ), url("../images/services/cladding.jpg");
}

.service-flex {
    background-image: linear-gradient( 135deg, rgba(0,0,0,.50), rgba(40,31,17,.25) ), url("../images/services/lightbox.jpg");
}

.service-marketing {
    background-image: linear-gradient( 135deg, rgba(0,0,0,.50), rgba(40,31,17,.25) ), url("../images/services/marketing.jpg");
}

.service-motion {
    background-image: linear-gradient( 135deg, rgba(0,0,0,.50), rgba(40,31,17,.25) ), url("../images/services/motion.jpg");
}

.service-editing {
    background-image: linear-gradient( 135deg, rgba(0,0,0,.50), rgba(40,31,17,.25) ), url("../images/services/editing.jpg");
}

.service-consultation {
    background-image: linear-gradient( 135deg, rgba(0,0,0,.50), rgba(40,31,17,.25) ), url("../images/services/consultation.jpg");
}

.premium-service-card:hover .service-image {
    transform: scale(1.045);
}

.service-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient( to bottom, rgba(0,0,0,.12), rgba(0,0,0,.68) );
}*/


/* =========================================================
   CARD NUMBER
   ========================================================= */

/*.service-number {
    position: absolute;
    top: 18px;
    right: 20px;
    color: rgba(255,255,255,.75);
    font-family: Georgia, serif;
    font-size: 13px;
    letter-spacing: 2px;
    z-index: 3;
}*/


/* =========================================================
   SERVICE ICON
   ========================================================= */

/*.service-icon {
    position: absolute;
    bottom: 25px;
    right: 25px;
    width: 54px;
    height: 54px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--premium-gold);
    border: 1px solid rgba(200,164,93,.38);
    background: rgba(0,0,0,.55);
    backdrop-filter: blur(10px);
    transition: transform .35s ease, background .35s ease;
}

    .service-icon svg {
        width: 25px;
        height: 25px;
    }

.premium-service-card:hover .service-icon {
    transform: rotate(-5deg) scale(1.08);
    background: rgba(200,164,93,.12);
}*/


/* =========================================================
   CARD CONTENT
   ========================================================= */

/*.service-content {
    position: relative;
    z-index: 2;
    padding: 27px 27px 30px;
}

.service-title-row {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

    .service-title-row h3 {
        margin: 0;
        font-size: 20px;
        line-height: 1.5;
        font-weight: 600;
        color: #f3f0e9;
    }

    .service-title-row span {
        color: #6d685f;
        font-size: 9px;
        letter-spacing: 2px;
        direction: ltr;
        text-align: right;
    }

.service-content > p {
    min-height: 78px;
    margin: 18px 0 25px;
    color: #8d8981;
    font-size: 13px;
    line-height: 2;
}*/


/* =========================================================
   QUOTE BUTTON
   ========================================================= */

/*.quote-button {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    min-height: 50px;
    padding: 0 17px;
    color: var(--premium-gold);
    border: 1px solid rgba(200,164,93,.25);
    background: rgba(200,164,93,.025);
    text-decoration: none;
    font-size: 13px;
    font-weight: 600;
    overflow: hidden;
    transition: background .35s ease, border-color .35s ease, color .35s ease;
}

    .quote-button::before {
        content: "";
        position: absolute;
        inset: 0;
        background: linear-gradient( 90deg, transparent, rgba(200,164,93,.10), transparent );
        transform: translateX(100%);
        transition: transform .5s ease;
    }

    .quote-button:hover {
        color: #0a0a0a;
        border-color: var(--premium-gold);
        background: var(--premium-gold);
    }

        .quote-button:hover::before {
            transform: translateX(-100%);
        }

    .quote-button span {
        position: relative;
        z-index: 2;
    }

        .quote-button span:last-child {
            font-size: 18px;
            transition: transform .3s ease;
        }

    .quote-button:hover span:last-child {
        transform: translateX(-5px);
    }*/


/* =========================================================
   FINAL CTA
   ========================================================= */

/*.premium-final-cta {
    position: relative;
    padding: 30px 0 120px;
    overflow: hidden;
}

.cta-glow {
    position: absolute;
    width: 600px;
    height: 600px;
    right: -300px;
    top: 0;
    border-radius: 50%;
    background: var(--premium-gold);
    opacity: .06;
    filter: blur(100px);
    pointer-events: none;
}

.final-cta-box {
    position: relative;
    min-height: 430px;
    display: flex;
    align-items: center;
    padding: 70px;
    overflow: hidden;
    border: 1px solid rgba(200,164,93,.28);
    background: radial-gradient( circle at 80% 40%, rgba(200,164,93,.12), transparent 32% ), linear-gradient( 135deg, #141414, #090909 );
}

    .final-cta-box::before {
        content: "";
        position: absolute;
        inset: 15px;
        border: 1px solid rgba(255,255,255,.04);
        pointer-events: none;
    }

.final-cta-content {
    position: relative;
    z-index: 2;
    max-width: 700px;
}

    .final-cta-content h2 {
        margin: 22px 0 15px;
        font-size: clamp(36px, 5vw, 62px);
        line-height: 1.25;
        font-weight: 500;
    }

        .final-cta-content h2 strong {
            display: block;
            color: var(--premium-gold);
            font-weight: 600;
        }

    .final-cta-content p {
        max-width: 600px;
        margin: 0 0 30px;
        color: #89847c;
        font-size: 15px;
        line-height: 2;
    }

.final-cta-decoration {
    position: absolute;
    left: 5%;
    top: 50%;
    transform: translateY(-50%);
    width: 340px;
    height: 340px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    border: 1px solid rgba(200,164,93,.15);
    opacity: .8;
}

    .final-cta-decoration::before,
    .final-cta-decoration::after {
        content: "";
        position: absolute;
        border-radius: 50%;
        border: 1px solid rgba(200,164,93,.08);
    }

    .final-cta-decoration::before {
        inset: 35px;
    }

    .final-cta-decoration::after {
        inset: 75px;
    }

    .final-cta-decoration span {
        color: rgba(200,164,93,.13);
        font-family: Georgia, serif;
        font-size: 130px;
        font-weight: 400;
    }*/


/* =========================================================
   ANIMATIONS
   ========================================================= */

/*@keyframes premiumRotate {

    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}

@keyframes premiumRotateReverse {

    from {
        transform: rotate(360deg);
    }

    to {
        transform: rotate(0deg);
    }
}*/


/* =========================================================
   TABLET
   ========================================================= */

/*@media (max-width: 1050px) {

    .services-hero {
        min-height: 650px;
    }

        .services-hero .services-container {
            gap: 35px;
        }

    .premium-services-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .final-cta-decoration {
        opacity: .4;
        left: -50px;
    }
}*/


/* =========================================================
   MOBILE
   ========================================================= */

/*@media (max-width: 760px) {

    .services-container {
        width: min( 100% - 30px, 600px );
    }

    .services-hero {
        min-height: auto;
        padding: 90px 0 100px;
    }

        .services-hero .services-container {
            display: block;
        }

    .services-hero-content {
        text-align: center;
    }

    .premium-kicker {
        justify-content: center;
        font-size: 10px;
        letter-spacing: 2px;
    }

    .services-hero h1 {
        font-size: clamp(38px, 11vw, 58px);
        letter-spacing: -1px;
    }

    .services-hero-content > p {
        font-size: 14px;
        line-height: 2;
    }

    .hero-actions {
        justify-content: center;
    }

    .hero-decoration {
        width: 280px;
        margin: 65px auto 0;
    }

    .hero-center-logo span {
        font-size: 70px;
    }

    .services-intro {
        padding: 80px 0 50px;
    }

    .intro-grid {
        display: block;
        margin-top: 25px;
    }

        .intro-grid h2 {
            font-size: 38px;
            margin-bottom: 25px;
        }

        .intro-grid p {
            font-size: 14px;
        }

    .services-section {
        padding: 45px 0 80px;
    }

    .services-heading {
        display: block;
        margin-bottom: 35px;
    }

        .services-heading h2 {
            font-size: 36px;
        }

        .services-heading > p {
            margin-top: 18px;
        }

    .premium-services-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .service-image {
        height: 230px;
    }

    .service-content {
        padding: 24px 22px 25px;
    }

        .service-content > p {
            min-height: auto;
            margin-bottom: 22px;
        }

    .premium-final-cta {
        padding-bottom: 80px;
    }

    .final-cta-box {
        min-height: auto;
        padding: 50px 28px;
    }

    .final-cta-content h2 {
        font-size: 38px;
    }

    .final-cta-content p {
        font-size: 14px;
    }

    .final-cta-decoration {
        width: 250px;
        height: 250px;
        left: -110px;
        top: auto;
        bottom: -80px;
        transform: none;
        opacity: .35;
    }

    .premium-gold-button.large {
        width: 100%;
    }
}*/


/* =========================================================
   SMALL PHONES
   ========================================================= */

/*@media (max-width: 430px) {

    .services-container {
        width: calc(100% - 24px);
    }

    .services-hero {
        padding-top: 75px;
    }

        .services-hero h1 {
            font-size: 36px;
        }

    .premium-gold-button,
    .premium-outline-button {
        width: 100%;
    }

    .hero-actions {
        display: grid;
        grid-template-columns: 1fr;
        width: 100%;
    }

    .hero-decoration {
        width: 240px;
    }

    .intro-grid h2 {
        font-size: 33px;
    }

    .services-heading h2 {
        font-size: 32px;
    }

    .service-image {
        height: 210px;
    }

    .final-cta-box {
        padding: 42px 22px;
    }

    .final-cta-content h2 {
        font-size: 33px;
    }
}*/


/* =========================================================
   ACCESSIBILITY
   ========================================================= */

/*@media (prefers-reduced-motion: reduce) {

    *,
    *::before,
    *::after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
    }
}*/
/* =========================================================
   RAWASI AHAD — SERVICES PREMIUM
   BLACK + GOLD HERO / WHEAT + WHITE BODY
   LUXURY EDITION
   ========================================================= */

:root {
    --black: #070707;
    --black-soft: #111111;
    --black-light: #191919;
    --wheat: #f3eee2;
    --wheat-light: #faf8f2;
    --white: #ffffff;
    --gold: #c9a45c;
    --gold-light: #e2c77e;
    --gold-dark: #9a7538;
    --text: #171717;
    --text-soft: #302b26;
    --muted: #756e64;
    --line: rgba(154, 117, 56, .20);
    --container: 1240px;
    --shadow: 0 25px 70px rgba(0, 0, 0, .10);
}


/* =========================================================
   RESET
   ========================================================= */

.premium-services-page {
    position: relative;
    overflow: hidden;
    color: var(--text);
    font-family: "Cairo", "Tajawal", Arial, sans-serif;
    background: var(--white);
}

    .premium-services-page *,
    .premium-services-page *::before,
    .premium-services-page *::after {
        box-sizing: border-box;
    }

    .premium-services-page a {
        text-decoration: none;
    }

.services-container {
    width: min( var(--container), calc(100% - 50px) );
    margin: 0 auto;
    position: relative;
    z-index: 5;
}


/* =========================================================
   HERO — BLACK
   ========================================================= */

.services-hero {
    min-height: 790px;
    position: relative;
    display: flex;
    align-items: center;
    overflow: hidden;
    color: #fff;
    background: radial-gradient( circle at 78% 42%, rgba(201, 164, 92, .18), transparent 27% ), radial-gradient( circle at 12% 78%, rgba(201, 164, 92, .08), transparent 30% ), linear-gradient( 135deg, #050505, #101010 55%, #050505 );
}


/* luxury grid */

.services-hero-grid {
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: .18;
    background-image: linear-gradient( rgba(201, 164, 92, .12) 1px, transparent 1px ), linear-gradient( 90deg, rgba(201, 164, 92, .12) 1px, transparent 1px );
    background-size: 85px 85px;
    mask-image: linear-gradient( to bottom, black, transparent 90% );
    -webkit-mask-image: linear-gradient( to bottom, black, transparent 90% );
}


/* =========================================================
   HERO GLOWS
   ========================================================= */

.services-hero-glow {
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
    filter: blur(2px);
}

.glow-one {
    width: 650px;
    height: 650px;
    right: -280px;
    top: -120px;
    background: radial-gradient( circle, rgba(201, 164, 92, .18), rgba(201, 164, 92, .04) 45%, transparent 70% );
}

.glow-two {
    width: 550px;
    height: 550px;
    left: -280px;
    bottom: -300px;
    background: radial-gradient( circle, rgba(201, 164, 92, .10), transparent 70% );
}


/* =========================================================
   HERO CONTAINER
   ========================================================= */

.services-hero > .services-container {
    width: min( var(--container), calc(100% - 50px) );
    min-height: 790px;
    display: grid;
    grid-template-columns: 1.05fr .95fr;
    align-items: center;
    gap: 60px;
}


/* =========================================================
   HERO CONTENT
   ========================================================= */

.services-hero-content {
    max-width: 700px;
    padding: 70px 0;
}


/* =========================================================
   HERO KICKER
   ========================================================= */

.premium-kicker {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 28px;
    color: var(--gold-light);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 4px;
}

.kicker-line {
    width: 45px;
    height: 1px;
    background: linear-gradient( 90deg, transparent, var(--gold) );
}


/* =========================================================
   HERO TITLE
   ========================================================= */

.services-hero h1 {
    margin: 0;
    color: #f7f2e8;
    font-size: clamp( 45px, 5vw, 78px );
    line-height: 1.15;
    font-weight: 300;
    letter-spacing: -2px;
}

    .services-hero h1 span {
        display: block;
        margin-top: 8px;
        color: var(--gold-light);
        font-weight: 800;
        text-shadow: 0 0 30px rgba(201, 164, 92, .10);
    }


/* =========================================================
   HERO DESCRIPTION
   ========================================================= */

.services-hero-content > p {
    max-width: 650px;
    margin: 30px 0 35px;
    color: #aaa49a;
    font-size: 17px;
    line-height: 2.15;
}


/* =========================================================
   HERO BUTTONS
   ========================================================= */

.hero-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 14px;
}

.premium-gold-button,
.premium-outline-button {
    min-height: 58px;
    padding: 0 26px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 22px;
    font-size: 14px;
    font-weight: 800;
    transition: all .35s ease;
}


/* primary */

.premium-gold-button {
    color: #111;
    background: linear-gradient( 135deg, var(--gold-light), var(--gold), var(--gold-dark) );
    border: 1px solid rgba(255,255,255,.15);
    box-shadow: 0 12px 35px rgba(0,0,0,.40);
}

    .premium-gold-button:hover {
        color: #000;
        transform: translateY(-4px);
        box-shadow: 0 18px 45px rgba(0,0,0,.55), 0 0 35px rgba(201,164,92,.20);
    }

.button-arrow {
    font-size: 20px;
    transition: transform .3s ease;
}

.premium-gold-button:hover
.button-arrow {
    transform: translateX(-5px);
}


/* outline */

.premium-outline-button {
    color: var(--gold-light);
    background: rgba(255,255,255,.02);
    border: 1px solid rgba(201,164,92,.40);
}

    .premium-outline-button:hover {
        color: #fff;
        background: rgba(201,164,92,.10);
        border-color: var(--gold-light);
        transform: translateY(-3px);
    }


/* =========================================================
   HERO STATS
   ========================================================= */

.hero-mini-stats {
    display: flex;
    align-items: center;
    gap: 24px;
    margin-top: 55px;
}

.hero-stat {
    display: flex;
    flex-direction: column;
    gap: 3px;
}

    .hero-stat strong {
        color: var(--gold-light);
        font-size: 25px;
        font-weight: 800;
        letter-spacing: 1px;
    }

    .hero-stat span {
        color: #77716a;
        font-size: 11px;
    }

.hero-stat-divider {
    width: 1px;
    height: 38px;
    background: rgba(201,164,92,.22);
}


/* =========================================================
   HERO DECORATION
   ========================================================= */

.hero-decoration {
    position: relative;
    width: 570px;
    height: 570px;
    max-width: 100%;
    margin: auto;
    display: flex;
    align-items: center;
    justify-content: center;
}


/* =========================================================
   HERO LOGO
   ========================================================= */

.hero-center-logo {
    width: 260px;
    height: 260px;
    position: relative;
    z-index: 10;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border-radius: 50%;
    background: radial-gradient( circle at 35% 30%, #fff, #eee6d8 80% );
    border: 2px solid var(--gold);
    box-shadow: 0 0 0 12px rgba(201,164,92,.06), 0 0 0 25px rgba(201,164,92,.025), 0 25px 90px rgba(0,0,0,.80), 0 0 55px rgba(201,164,92,.14);
}


/* inner ring */

.logo-ring {
    position: absolute;
    inset: 12px;
    z-index: 3;
    border: 1px solid rgba(154,117,56,.35);
    border-radius: 50%;
    pointer-events: none;
}


/* logo */

.hero-center-logo img {
    width: 77%;
    height: 77%;
    position: relative;
    z-index: 2;
    display: block;
    object-fit: contain;
    border-radius: 50%;
    filter: drop-shadow( 0 8px 18px rgba(0,0,0,.20) );
}


/* =========================================================
   ORBITS
   ========================================================= */

.hero-orbit {
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
}

.orbit-one {
    width: 390px;
    height: 390px;
    border: 1px solid rgba(201,164,92,.28);
    animation: orbitRotate 25s linear infinite;
}

.orbit-two {
    width: 490px;
    height: 490px;
    border: 1px dashed rgba(201,164,92,.18);
    animation: orbitRotateReverse 32s linear infinite;
}

.orbit-three {
    width: 550px;
    height: 550px;
    border: 1px solid rgba(201,164,92,.08);
    animation: orbitRotate 40s linear infinite;
}

@keyframes orbitRotate {

    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}

@keyframes orbitRotateReverse {

    from {
        transform: rotate(360deg);
    }

    to {
        transform: rotate(0deg);
    }
}


/* =========================================================
   ORBIT DOTS
   ========================================================= */

.hero-orbit-dot {
    width: 8px;
    height: 8px;
    position: absolute;
    z-index: 6;
    border-radius: 50%;
    background: var(--gold);
    box-shadow: 0 0 20px rgba(201,164,92,.80);
}

.dot-one {
    top: 78px;
    right: 105px;
}

.dot-two {
    bottom: 85px;
    left: 95px;
    width: 5px;
    height: 5px;
}


/* =========================================================
   FLOATING HERO TEXT
   ========================================================= */

.hero-floating-text {
    position: absolute;
    z-index: 2;
    color: rgba(201,164,92,.48);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 4px;
}

.text-top {
    top: 70px;
    left: 90px;
}

.text-bottom {
    right: 70px;
    bottom: 70px;
}


/* =========================================================
   HERO BOTTOM TRANSITION
   ========================================================= */

.hero-bottom-fade {
    position: absolute;
    right: 0;
    left: 0;
    bottom: -1px;
    height: 130px;
    background: linear-gradient( to bottom, transparent, rgba(243,238,226,.95) );
    pointer-events: none;
}


/* =========================================================
   INTRO — WHEAT
   ========================================================= */

.services-intro {
    position: relative;
    padding: 115px 0 120px;
    background: linear-gradient( 180deg, var(--wheat), var(--wheat-light) );
}


/* =========================================================
   INTRO LABEL
   ========================================================= */

.intro-label {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 42px;
    color: var(--gold-dark);
    font-size: 12px;
    letter-spacing: 2px;
}

    .intro-label span {
        color: var(--gold-dark);
        font-size: 11px;
    }

    .intro-label i {
        width: 45px;
        height: 1px;
        background: var(--gold);
    }


/* =========================================================
   INTRO CONTENT
   ========================================================= */

.intro-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 100px;
    align-items: start;
}

    .intro-grid h2 {
        margin: 0;
        color: var(--text);
        font-size: clamp( 38px, 4vw, 64px );
        line-height: 1.35;
        font-weight: 300;
    }

        .intro-grid h2 strong {
            display: block;
            color: var(--gold-dark);
            font-weight: 800;
        }

    .intro-grid p {
        margin: 0 0 18px;
        color: var(--muted);
        font-size: 16px;
        line-height: 2.1;
    }


/* =========================================================
   SERVICES SECTION — WHITE
   ========================================================= */

.services-section {
    position: relative;
    padding: 80px 0 130px;
    background: linear-gradient( 180deg, var(--wheat-light), #fff );
}


/* =========================================================
   SECTION HEADING
   ========================================================= */

.services-heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 50px;
    margin-bottom: 65px;
}

.section-eyebrow {
    display: flex;
    align-items: center;
    gap: 12px;
    color: var(--gold-dark);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 3px;
    text-transform: uppercase;
}

    .section-eyebrow > span {
        width: 30px;
        height: 1px;
        background: var(--gold);
    }

.services-heading h2 {
    margin: 15px 0 0;
    color: var(--text);
    font-size: clamp( 36px, 4vw, 60px );
    line-height: 1.3;
    font-weight: 300;
}

    .services-heading h2 em {
        display: block;
        color: var(--gold-dark);
        font-style: normal;
        font-weight: 800;
    }

.services-heading > p {
    max-width: 350px;
    margin: 0;
    color: var(--muted);
    font-size: 14px;
    line-height: 2;
}


/* =========================================================
   SERVICES GRID
   ========================================================= */

.premium-services-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 30px;
}


/* =========================================================
   SERVICE CARD
   ========================================================= */

.premium-service-card {
    position: relative;
    overflow: hidden;
    background: linear-gradient( 145deg, #ffffff, #faf7ef );
    border: 1px solid rgba(154,117,56,.18);
    box-shadow: 0 18px 55px rgba(0,0,0,.07);
    transition: transform .5s ease, box-shadow .5s ease, border-color .5s ease;
}

    .premium-service-card:hover {
        transform: translateY(-10px);
        border-color: rgba(201,164,92,.60);
        box-shadow: 0 30px 80px rgba(0,0,0,.13), 0 0 35px rgba(201,164,92,.07);
    }


/* =========================================================
   SERVICE IMAGE
   ========================================================= */

.service-image {
    height: 355px;
    position: relative;
    overflow: hidden;
    isolation: isolate;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}


    /* image overlay */

    .service-image::before {
        content: "";
        position: absolute;
        inset: 0;
        z-index: -1;
        background: linear-gradient( 180deg, rgba(0,0,0,.02), rgba(0,0,0,.12) 40%, rgba(0,0,0,.80) );
    }


/* =========================================================
   FIVE SERVICES IMAGES
   ========================================================= */

.service-consulting {
    background-image: linear-gradient( 135deg, rgba(201,164,92,.08), rgba(30,15,8,.48) ), url("../images/services/consulting.jpg");
}

.service-structural {
    background-image: linear-gradient( 135deg, rgba(201,164,92,.08), rgba(30,15,8,.48) ), url("../images/services/structural.jpg");
}

.service-construction {
    background-image: linear-gradient( 135deg, rgba(201,164,92,.06), rgba(30,15,8,.46) ), url("../images/services/construction.jpg");
}

.service-finishing {
    background-image: linear-gradient( 135deg, rgba(201,164,92,.06), rgba(30,15,8,.46) ), url("../images/services/finishing.jpg");
}

.service-management {
    background-image: linear-gradient( 135deg, rgba(201,164,92,.07), rgba(30,15,8,.52) ), url("../images/services/management.jpg");
}


/* =========================================================
   IMAGE OVERLAY
   ========================================================= */

.service-overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient( 180deg, transparent 10%, rgba(0,0,0,.76) 100% );
}


/* =========================================================
   IMAGE SHINE
   ========================================================= */

.service-image-shine {
    position: absolute;
    top: 0;
    right: -120%;
    width: 70%;
    height: 100%;
    z-index: 3;
    transform: skewX(-18deg);
    background: linear-gradient( 90deg, transparent, rgba(255,255,255,.22), transparent );
    transition: right .9s ease;
}

.premium-service-card:hover
.service-image-shine {
    right: 140%;
}


/* =========================================================
   IMAGE NUMBER
   ========================================================= */

.service-number {
    position: absolute;
    top: 22px;
    right: 25px;
    z-index: 5;
    padding: 7px 11px;
    color: #fff;
    font-size: 12px;
    letter-spacing: 2px;
    border: 1px solid rgba(255,255,255,.35);
    background: rgba(0,0,0,.35);
    backdrop-filter: blur(8px);
}


/* =========================================================
   IMAGE CONTENT
   ========================================================= */

.service-image-content {
    position: absolute;
    right: 28px;
    left: 28px;
    bottom: 24px;
    z-index: 4;
    color: #fff;
}

.service-image-label {
    display: block;
    color: var(--gold-light);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 3px;
}

.service-big-word {
    margin-top: 7px;
    color: rgba(255,255,255,.90);
    font-family: Georgia, serif;
    font-size: clamp( 35px, 4vw, 58px );
    line-height: 1;
    letter-spacing: 2px;
    text-shadow: 0 5px 20px rgba(0,0,0,.45);
}


/* =========================================================
   SERVICE CONTENT
   ========================================================= */

.service-content {
    padding: 34px 32px 32px;
}

.service-title-row {
    display: flex;
    align-items: start;
    justify-content: space-between;
    gap: 20px;
}

.service-small-number {
    display: block;
    margin-bottom: 6px;
    color: var(--gold-dark);
    font-size: 9px;
    letter-spacing: 2px;
}

.service-title-row h3 {
    margin: 0;
    color: var(--text);
    font-size: 25px;
    line-height: 1.5;
    font-weight: 800;
}

    .service-title-row h3 span {
        display: block;
        color: var(--gold-dark);
    }

.service-title-row > span {
    padding-top: 10px;
    color: #9b9287;
    font-size: 9px;
    letter-spacing: 1px;
    white-space: nowrap;
}


/* =========================================================
   SERVICE DESCRIPTION
   ========================================================= */

.service-content > p {
    min-height: 105px;
    margin: 22px 0 25px;
    color: var(--muted);
    font-size: 14px;
    line-height: 2.05;
}


/* =========================================================
   SERVICE TAGS
   ========================================================= */

.service-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 22px;
}

    .service-tags span {
        padding: 5px 9px;
        color: #756b60;
        background: var(--wheat-light);
        border: 1px solid rgba(154,117,56,.14);
        font-size: 9px;
        transition: all .3s ease;
    }

.premium-service-card:hover
.service-tags span {
    border-color: rgba(201,164,92,.30);
}


/* =========================================================
   QUOTE BUTTON
   ========================================================= */

.quote-button {
    width: 100%;
    min-height: 53px;
    padding: 0 18px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    color: #111;
    background: linear-gradient( 135deg, var(--gold-light), var(--gold) );
    border: 1px solid var(--gold);
    font-size: 13px;
    font-weight: 800;
    transition: all .35s ease;
}

    .quote-button span:last-child {
        color: #2a2115;
        font-size: 19px;
        transition: transform .3s ease;
    }

    .quote-button:hover {
        color: #fff;
        background: linear-gradient( 135deg, #171717, #050505 );
        border-color: var(--gold);
    }

        .quote-button:hover
        span:last-child {
            color: var(--gold-light);
            transform: translateX(-5px);
        }


/* =========================================================
   CREATIVE PROCESS — WHEAT
   ========================================================= */

.creative-process {
    position: relative;
    padding: 130px 0;
    background: radial-gradient( circle at 50% 40%, rgba(201,164,92,.12), transparent 35% ), var(--wheat);
    border-top: 1px solid rgba(154,117,56,.10);
    border-bottom: 1px solid rgba(154,117,56,.10);
}


/* =========================================================
   PROCESS HEADING
   ========================================================= */

.process-heading {
    max-width: 800px;
    margin: 0 auto 80px;
    text-align: center;
}

    .process-heading .section-eyebrow {
        justify-content: center;
    }

    .process-heading h2 {
        margin: 20px 0 0;
        color: var(--text);
        font-size: clamp( 36px, 4vw, 58px );
        line-height: 1.4;
        font-weight: 300;
    }

        .process-heading h2 strong {
            display: block;
            color: var(--gold-dark);
            font-weight: 800;
        }


/* =========================================================
   PROCESS
   ========================================================= */

.process-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 30px;
    position: relative;
}

.process-line {
    position: absolute;
    top: 45px;
    right: 14%;
    left: 14%;
    height: 1px;
    background: linear-gradient( 90deg, transparent, rgba(154,117,56,.45), transparent );
}

.process-item {
    position: relative;
    z-index: 3;
    text-align: center;
}

.process-number {
    display: block;
    margin-bottom: 20px;
    color: var(--gold-dark);
    font-size: 11px;
    letter-spacing: 2px;
}

.process-icon {
    width: 65px;
    height: 65px;
    margin: 0 auto 25px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(154,117,56,.45);
    border-radius: 50%;
    color: var(--gold-dark);
    font-size: 23px;
    background: rgba(255,255,255,.90);
    box-shadow: 0 0 0 9px rgba(201,164,92,.05), 0 15px 40px rgba(0,0,0,.08);
    transition: all .35s ease;
}

.process-item:hover
.process-icon {
    transform: translateY(-6px) scale(1.04);
    color: #111;
    border-color: var(--gold);
    background: var(--gold-light);
}

.process-item h3 {
    margin: 0 0 10px;
    color: var(--text);
    font-size: 19px;
}

.process-item p {
    max-width: 230px;
    margin: auto;
    color: var(--muted);
    font-size: 12px;
    line-height: 2;
}


/* =========================================================
   FINAL CTA — BLACK + GOLD
   ========================================================= */

.premium-final-cta {
    position: relative;
    padding: 120px 0;
    overflow: hidden;
    color: #fff;
    background: radial-gradient( circle at 70% 50%, rgba(201,164,92,.16), transparent 35% ), linear-gradient( 135deg, #050505, #121212, #050505 );
}

    .premium-final-cta::before {
        content: "";
        position: absolute;
        inset: 0;
        opacity: .12;
        background-image: linear-gradient( rgba(201,164,92,.15) 1px, transparent 1px ), linear-gradient( 90deg, rgba(201,164,92,.15) 1px, transparent 1px );
        background-size: 80px 80px;
        pointer-events: none;
    }

.cta-glow {
    position: absolute;
    width: 600px;
    height: 600px;
    left: -260px;
    top: -260px;
    border-radius: 50%;
    background: radial-gradient( circle, rgba(201,164,92,.10), transparent 70% );
}


/* =========================================================
   FINAL CTA BOX
   ========================================================= */

.final-cta-box {
    position: relative;
    min-height: 390px;
    display: flex;
    align-items: center;
    overflow: hidden;
    background: linear-gradient( 135deg, #101010, #171717 );
    border: 1px solid rgba(201,164,92,.25);
    box-shadow: 0 30px 90px rgba(0,0,0,.55);
}


/* =========================================================
   CTA DECORATION
   ========================================================= */

.final-cta-decoration {
    width: 45%;
    min-height: 390px;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
}

    .final-cta-decoration::before,
    .final-cta-decoration::after {
        content: "";
        position: absolute;
        border-radius: 50%;
        border: 1px solid rgba(201,164,92,.28);
    }

    .final-cta-decoration::before {
        width: 320px;
        height: 320px;
    }

    .final-cta-decoration::after {
        width: 230px;
        height: 230px;
        border-color: rgba(201,164,92,.16);
    }

    .final-cta-decoration span {
        position: relative;
        z-index: 3;
        color: transparent;
        font-family: Georgia, serif;
        font-size: 100px;
        font-weight: 700;
        -webkit-text-stroke: 1px rgba(201,164,92,.55);
    }


/* =========================================================
   CTA CONTENT
   ========================================================= */

.final-cta-content {
    flex: 1;
    padding: 65px 70px;
}

    .final-cta-content
    .section-eyebrow {
        color: var(--gold-light);
    }

    .final-cta-content h2 {
        margin: 20px 0 15px;
        color: #f6f1e7;
        font-size: clamp( 32px, 4vw, 54px );
        line-height: 1.4;
        font-weight: 300;
    }

        .final-cta-content h2 strong {
            display: block;
            color: var(--gold-light);
            font-weight: 800;
        }

    .final-cta-content p {
        max-width: 620px;
        margin-bottom: 30px;
        color: #aaa39a;
        font-size: 14px;
        line-height: 2;
    }

.premium-gold-button.large {
    min-height: 62px;
    padding: 0 30px;
}


/* =========================================================
   RESPONSIVE — 1050
   ========================================================= */

@media (max-width: 1050px) {

    .services-hero {
        min-height: auto;
    }

        .services-hero > .services-container {
            grid-template-columns: 1fr;
            min-height: auto;
            gap: 20px;
            text-align: center;
        }

    .services-hero-content {
        max-width: 700px;
        margin: auto;
        padding: 80px 0 20px;
    }

    .premium-kicker,
    .hero-actions,
    .hero-mini-stats {
        justify-content: center;
    }

    .hero-decoration {
        width: 460px;
        height: 460px;
    }

    .hero-center-logo {
        width: 220px;
        height: 220px;
    }

    .orbit-one {
        width: 330px;
        height: 330px;
    }

    .orbit-two {
        width: 400px;
        height: 400px;
    }

    .orbit-three {
        width: 450px;
        height: 450px;
    }

    .services-heading {
        align-items: flex-start;
        flex-direction: column;
    }

        .services-heading > p {
            max-width: 600px;
        }

    .process-grid {
        grid-template-columns: repeat(2, 1fr);
        row-gap: 65px;
    }

    .process-line {
        display: none;
    }
}


/* =========================================================
   RESPONSIVE — 760
   ========================================================= */

@media (max-width: 760px) {

    .services-container,
    .services-hero > .services-container {
        width: calc(100% - 32px);
    }

    .services-hero h1 {
        font-size: 43px;
        letter-spacing: -1px;
    }

    .services-hero-content > p {
        font-size: 14px;
        line-height: 2;
    }

    .hero-decoration {
        width: 350px;
        height: 350px;
    }

    .hero-center-logo {
        width: 175px;
        height: 175px;
    }

    .orbit-one {
        width: 260px;
        height: 260px;
    }

    .orbit-two {
        width: 315px;
        height: 315px;
    }

    .orbit-three {
        width: 340px;
        height: 340px;
    }

    .dot-one {
        top: 38px;
        right: 45px;
    }

    .dot-two {
        bottom: 45px;
        left: 40px;
    }

    .text-top {
        top: 30px;
        left: 25px;
    }

    .text-bottom {
        right: 20px;
        bottom: 30px;
    }

    .intro-grid {
        grid-template-columns: 1fr;
        gap: 35px;
    }

    .premium-services-grid {
        grid-template-columns: 1fr;
    }

    .service-image {
        height: 310px;
    }

    .service-content > p {
        min-height: auto;
    }

    .final-cta-box {
        flex-direction: column;
    }

    .final-cta-decoration {
        width: 100%;
        min-height: 220px;
    }

    .final-cta-content {
        padding: 40px 30px 50px;
        text-align: center;
    }

        .final-cta-content
        .section-eyebrow {
            justify-content: center;
        }

        .final-cta-content p {
            margin-left: auto;
            margin-right: auto;
        }
}


/* =========================================================
   RESPONSIVE — 500
   ========================================================= */

@media (max-width: 500px) {

    .services-container,
    .services-hero > .services-container {
        width: calc(100% - 26px);
    }

    .services-hero h1 {
        font-size: 36px;
    }

    .premium-kicker {
        font-size: 9px;
        letter-spacing: 2px;
    }

    .kicker-line {
        width: 25px;
    }

    .hero-actions {
        flex-direction: column;
        width: 100%;
    }

    .premium-gold-button,
    .premium-outline-button {
        width: 100%;
    }

    .hero-mini-stats {
        gap: 13px;
    }

    .hero-stat strong {
        font-size: 21px;
    }

    .hero-stat span {
        font-size: 9px;
    }

    .hero-decoration {
        width: 300px;
        height: 300px;
    }

    .hero-center-logo {
        width: 150px;
        height: 150px;
    }

    .orbit-one {
        width: 225px;
        height: 225px;
    }

    .orbit-two {
        width: 270px;
        height: 270px;
    }

    .orbit-three {
        width: 290px;
        height: 290px;
    }

    .services-intro {
        padding: 80px 0;
    }

    .services-section {
        padding: 60px 0 90px;
    }

    .services-heading h2 {
        font-size: 36px;
    }

    .service-image {
        height: 270px;
    }

    .service-content {
        padding: 28px 22px 24px;
    }

    .service-title-row {
        flex-direction: column;
        gap: 7px;
    }

        .service-title-row > span {
            padding-top: 0;
        }

        .service-title-row h3 {
            font-size: 22px;
        }

    .creative-process {
        padding: 90px 0;
    }

    .process-grid {
        grid-template-columns: 1fr;
    }

    .premium-final-cta {
        padding: 80px 0;
    }

    .final-cta-decoration {
        min-height: 180px;
    }

        .final-cta-decoration::before {
            width: 200px;
            height: 200px;
        }

        .final-cta-decoration::after {
            width: 145px;
            height: 145px;
        }

        .final-cta-decoration span {
            font-size: 70px;
        }

    .final-cta-content {
        padding: 35px 22px 40px;
    }

        .final-cta-content h2 {
            font-size: 32px;
        }

    .service-big-word {
        font-size: 38px;
    }
}


/* =========================================================
   REDUCED MOTION
   ========================================================= */

@media (prefers-reduced-motion: reduce) {

    .hero-orbit {
        animation: none !important;
    }

    .premium-service-card,
    .premium-gold-button,
    .premium-outline-button,
    .quote-button,
    .service-image-shine,
    .process-icon {
        transition: none !important;
    }
}
/* =========================================================
   RAWASI AHAD — PREMIUM PRELOADER
   ========================================================= */

.site-preloader {
    position: fixed;
    inset: 0;
    z-index: 999999;
    display: flex;
    align-items: center;
    justify-content: center;
    background: radial-gradient( circle at center, rgba(217,168,62,0.08) 0%, rgba(0,0,0,0) 35% ), #070707;
    opacity: 1;
    visibility: visible;
    transition: opacity 0.8s cubic-bezier(.22,1,.36,1), visibility 0.8s ease;
}


/* =========================================================
   CONTENT
   ========================================================= */

.preloader-content {
    width: min(280px, 70vw);
    text-align: center;
    transform: translateY(10px);
    animation: preloaderContentIn 1s ease forwards;
}

@keyframes preloaderContentIn {

    from {
        opacity: 0;
        transform: translateY(25px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}
/*```css id="x7m2kp"
*/
/* =========================================================
   RAWASI AHAD — CINEMATIC HD LOGO PRELOADER
   ========================================================= */
/* ---------------------------------------------------------
   LOGO STAGE
   --------------------------------------------------------- */
.preloader-logo-wrap {
    position: relative;
    width: 100%;
    height: 210px;
    margin: 0 auto 5px;
    display: flex;
    align-items: center;
    justify-content: center;
    isolation: isolate;
}


/* ---------------------------------------------------------
   GRADIENT LIGHT LINE BEHIND THE LOGO
   --------------------------------------------------------- */

.preloader-logo-wrap::before {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: min(620px, 90vw);
    height: 1px;
    transform: translate(-50%, -50%);
    background: linear-gradient( 90deg, transparent 0%, rgba(217,168,62,0) 8%, rgba(217,168,62,.20) 25%, #D9A83E 50%, rgba(217,168,62,.20) 75%, rgba(217,168,62,0) 92%, transparent 100% );
    box-shadow: 0 0 8px rgba(217,168,62,.35), 0 0 25px rgba(217,168,62,.18);
    opacity: 0;
    animation: preloaderLineReveal 1.4s ease forwards .35s;
    z-index: -2;
}


@keyframes preloaderLineReveal {

    0% {
        opacity: 0;
        transform: translate(-50%, -50%) scaleX(.15);
    }

    100% {
        opacity: 1;
        transform: translate(-50%, -50%) scaleX(1);
    }
}


/* ---------------------------------------------------------
   LARGE SOFT GOLD AURA BEHIND LOGO
   --------------------------------------------------------- */

.preloader-logo-wrap::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: 190px;
    height: 190px;
    transform: translate(-50%, -50%);
    border-radius: 50%;
    background: radial-gradient( circle, rgba(217,168,62,.30) 0%, rgba(217,168,62,.16) 28%, rgba(217,168,62,.07) 48%, rgba(217,168,62,0) 72% );
    filter: blur(12px);
    opacity: 0;
    animation: preloaderAura 2.5s ease-in-out 1s infinite alternate;
    z-index: -1;
    pointer-events: none;
}


@keyframes preloaderAura {

    0% {
        opacity: .55;
        transform: translate(-50%, -50%) scale(.88);
    }

    100% {
        opacity: 1;
        transform: translate(-50%, -50%) scale(1.18);
    }
}


/* ---------------------------------------------------------
   HD LOGO
   --------------------------------------------------------- */

.preloader-logo {
    position: relative;
    z-index: 3;
    display: block;
    width: auto;
    height: auto;
    max-width: 330px;
    max-height: 145px;
    object-fit: contain;
    opacity: 0;
    /* Clean HD appearance */
    image-rendering: auto;
    filter: drop-shadow(0 0 4px rgba(255,255,255,.22)) drop-shadow(0 0 14px rgba(217,168,62,.45)) drop-shadow(0 0 32px rgba(217,168,62,.28)) drop-shadow(0 0 60px rgba(217,168,62,.14));
    animation: preloaderLogoReveal 1.4s cubic-bezier(.22,1,.36,1) .15s forwards, preloaderLogoGlow 2.8s ease-in-out 1.5s infinite alternate;
}


/* ---------------------------------------------------------
   LOGO ENTRANCE
   --------------------------------------------------------- */


/* ---------------------------------------------------------
   SUBTLE LOGO GLOW
   --------------------------------------------------------- */

@keyframes preloaderLogoGlow {

    0% {
        filter: drop-shadow(0 0 4px rgba(255,255,255,.18)) drop-shadow(0 0 14px rgba(217,168,62,.38)) drop-shadow(0 0 30px rgba(217,168,62,.20));
    }

    100% {
        filter: drop-shadow(0 0 7px rgba(255,255,255,.28)) drop-shadow(0 0 24px rgba(217,168,62,.65)) drop-shadow(0 0 50px rgba(217,168,62,.38));
    }
}


/* ---------------------------------------------------------
   MOVING GOLD LIGHT BEHIND LOGO
   --------------------------------------------------------- */

.preloader-logo-wrap .preloader-light-sweep {
    position: absolute;
    top: 0;
    left: -30%;
    width: 20%;
    height: 100%;
    background: linear-gradient( 90deg, transparent, rgba(255,255,255,.65), rgba(217,168,62,.50), transparent );
    transform: skewX(-20deg);
    opacity: 0;
    animation: preloaderSweep 2.8s ease-in-out 1.3s infinite;
    pointer-events: none;
    z-index: 4;
}


@keyframes preloaderSweep {

    0% {
        left: -30%;
        opacity: 0;
    }

    15% {
        opacity: .8;
    }

    45% {
        opacity: .9;
    }

    65% {
        left: 110%;
        opacity: 0;
    }

    100% {
        left: 110%;
        opacity: 0;
    }
}


/* =========================================================
   ONLY PROGRESS BAR
   ========================================================= */

.preloader-line {
    position: relative;
    width: min(380px, 72vw);
    height: 2px;
    margin: 0 auto;
    overflow: hidden;
    background: rgba(255,255,255,.10);
    border-radius: 50px;
    box-shadow: 0 0 5px rgba(217,168,62,.08);
}


    /* ---------------------------------------------------------
   PROGRESS
   --------------------------------------------------------- */

    .preloader-line span {
        display: block;
        width: 0;
        height: 100%;
        border-radius: 50px;
        background: linear-gradient( 90deg, #8d6924 0%, #D9A83E 35%, #f4d27a 65%, #ffffff 100% );
        box-shadow: 0 0 6px rgba(217,168,62,.80), 0 0 16px rgba(217,168,62,.45);
        transition: width .12s linear;
    }


/* ---------------------------------------------------------
   HIDE PERCENTAGE
   --------------------------------------------------------- */

/* =========================================================
   PRELOADER PERCENTAGE
   ========================================================= */

.preloader-percent {
    display: block !important;
    margin-top: 14px;
    font-family: "Cairo", sans-serif;
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 2px;
    color: rgba(255,255,255,.72);
    text-align: center;
    opacity: 1;
    text-shadow: 0 0 8px rgba(217,168,62,.25);
}

    .preloader-percent span {
        color: #D9A83E;
        font-size: 13px;
        font-weight: 600;
        text-shadow: 0 0 6px rgba(217,168,62,.55), 0 0 14px rgba(217,168,62,.25);
    }


/* =========================================================
   EXIT
   ========================================================= */

.site-preloader.preloader-hide {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity .9s cubic-bezier(.22,1,.36,1);
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width:640px) {

    .preloader-logo-wrap {
        height: 175px;
        margin-bottom: 5px;
    }

    .preloader-logo {
        max-width: 270px;
        max-height: 115px;
    }

    .preloader-line {
        width: min(300px, 72vw);
    }

    .preloader-content {
        width: 100%;
    }
}


/* =========================================================
   REDUCED MOTION
   ========================================================= */

@media (prefers-reduced-motion: reduce) {

    .preloader-logo,
    .preloader-logo-wrap,
    .preloader-logo-wrap::before,
    .preloader-logo-wrap::after,
    .preloader-logo-wrap .preloader-light-sweep {
        animation: none !important;
    }

    .preloader-logo {
        opacity: 1;
    }

    .preloader-logo-wrap::before {
        opacity: 1;
    }

    .site-preloader {
        transition: opacity .3s ease;
    }
}

/* =========================================================
   HD LOGO — CRISP / SHARP / PREMIUM
   ========================================================= */

.preloader-logo {
    position: relative;
    z-index: 5;
    display: block;
    width: auto;
    height: auto;
    max-width: 360px;
    max-height: 155px;
    object-fit: contain;
    opacity: 0;
    /* IMPORTANT:
       No blur on the actual logo.
       Only a controlled external glow. */
    filter: drop-shadow(0 0 2px rgba(255,255,255,.45)) drop-shadow(0 0 8px rgba(217,168,62,.55)) drop-shadow(0 0 20px rgba(217,168,62,.30));
    transform: scale(.92) translateY(8px);
    animation: preloaderLogoReveal 1s cubic-bezier(.22,1,.36,1) .15s forwards;
    will-change: transform, opacity;
}


/* =========================================================
   SHARP LOGO REVEAL
   ========================================================= */

@keyframes preloaderLogoReveal {

    0% {
        opacity: 0;
        transform: scale(.92) translateY(8px);
        filter: drop-shadow(0 0 0 rgba(217,168,62,0)) drop-shadow(0 0 0 rgba(255,255,255,0));
    }

    45% {
        opacity: 1;
        transform: scale(1.015) translateY(0);
        filter: drop-shadow(0 0 3px rgba(255,255,255,.55)) drop-shadow(0 0 12px rgba(217,168,62,.70)) drop-shadow(0 0 28px rgba(217,168,62,.38));
    }

    100% {
        opacity: 1;
        transform: scale(1) translateY(0);
        /* CRISP FINAL STATE */
        filter: drop-shadow(0 0 2px rgba(255,255,255,.45)) drop-shadow(0 0 8px rgba(217,168,62,.55)) drop-shadow(0 0 20px rgba(217,168,62,.30));
    }
}
.preloader-logo-wrap {
    position: relative;
    width: 100%;
    height: 230px;
    margin: 0 auto 5px;
    display: flex;
    align-items: center;
    justify-content: center;
    isolation: isolate;
}
/* =========================================================
   RAWASI AHAD — CRISP BRAND LOGO
   Normal header / footer logo
   ========================================================= */

.site-header img,
.site-footer img,
.footer-brand img {
    opacity: 1 !important;
    filter: none !important;
    transform: none !important;
    image-rendering: auto;
    -webkit-font-smoothing: antialiased;
    backface-visibility: hidden;
}

/* Footer logo */
.footer-brand img {
    display: block;
    width: auto;
    height: auto;
    max-width: 100%;
}
/* =========================================================
   FOOTER LOGO — FORCE SMALL HEADER-SIZE
   ========================================================= */

.site-footer .footer-brand {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    height: 52px !important;
}

    .site-footer .footer-brand .footer-logo {
        width: 45px !important;
        height: 45px !important;
        min-width: 45px !important;
        min-height: 45px !important;
        max-width: 45px !important;
        max-height: 45px !important;
        object-fit: contain !important;
        display: block !important;
        flex: 0 0 45px !important;
        margin: 0 !important;
        padding: 0 !important;
        opacity: 1 !important;
        filter: none !important;
        transform: none !important;
    }

/* =========================================================
   RESPONSIVE LAYER - phone + tablet refinements
   (appended last so it wins the cascade)
   ========================================================= */

/* order / secondary action pairs inside a CTA band */
.cta-band-actions{
  display:flex; align-items:center; gap:12px; flex-wrap:wrap;
}
.cta-band-actions > *{flex:0 0 auto;}

/* never let a stray wide child create a sideways scroll */
html, body{max-width:100%;}
body{overflow-x:hidden;}

/* media and embeds stay inside their box */
img, video, iframe, svg, canvas, table{max-width:100%;}
iframe, video{height:auto;}

/* long Arabic words and pasted links stop punching out of cards */
h1, h2, h3, h4, p, li, a, span, td, th{overflow-wrap:break-word;}

/* ---------- Tablet: 1024px and below ---------- */
@media (max-width:1024px){
  .wrap{padding:0 22px;}
  section{padding:60px 0;}
  .hero{padding:72px 0 52px;}
  .cta-band{padding:34px;}
  .section-head{margin-bottom:34px;}
  .footer-grid{gap:30px;}
}

/* ---------- Large phone / small tablet: 768px and below ---------- */
@media (max-width:768px){
  .wrap{padding:0 18px;}
  section{padding:48px 0;}
  .hero{padding:56px 0 44px;}
  .section-head{margin-bottom:28px;}

  .cta-band{padding:26px; text-align:start;}
  .cta-band-actions{width:100%;}
  .cta-band-actions > *{flex:1 1 auto; justify-content:center; text-align:center;}

  /* comfortable thumb targets everywhere */
  .btn-brass, .btn-outline, .btn-outline-light, .btn-wa,
  .premium-gold-button, .premium-outline-button, .quote-button,
  .product-whatsapp, button, input[type="submit"]{
    min-height:48px;
  }

  /* forms: full width, and 16px font so iOS stops zooming on focus */
  input, select, textarea{width:100%; font-size:16px;}
}

/* ---------- Phone: 560px and below ---------- */
@media (max-width:560px){
  .wrap{padding:0 16px;}
  section{padding:40px 0;}

  /* single-column stacks */
  .hero-ctas, .hero-actions{flex-direction:column; align-items:stretch;}
  .hero-ctas > *, .hero-actions > *{width:100%; justify-content:center; text-align:center;}

  .cta-band{flex-direction:column; align-items:stretch; padding:22px;}
  .cta-band-actions{flex-direction:column; align-items:stretch;}

  /* icon + text rows breathe instead of squeezing */
  .service-row{gap:14px;}
  .service-row .body h3{font-size:1.06rem;}

  /* headings keep a sane minimum so they never shrink to a column of words */
  .hero h1{max-width:none;}
  h1{font-size:clamp(1.7rem, 7.5vw, 2.4rem);}
  h2{font-size:clamp(1.35rem, 5.6vw, 1.8rem);}
  p, .lead{max-width:none;}
  .hero .lead{font-size:1rem;}
}

/* ---------- Small phone: 400px and below ---------- */
@media (max-width:400px){
  .wrap{padding:0 14px;}
  .brand span{font-size:1rem;}
  .brand small{font-size:.62rem;}
  .brand img{width:36px; height:36px;}
  .cta-band{padding:18px;}
}
/* =========================================
   MOBILE HERO VIDEO FIX
   ========================================= */
@media (max-width: 650px) {

    .hero-slider {
        height: auto;
        min-height: 0;
        aspect-ratio: 16 / 9;
    }

        .hero-slider video,
        .hero-video {
            width: 100%;
            height: 100%;
            object-fit: cover;
            object-position: center center;
        }

        .hero-slider .hero-content {
            padding: 40px 0;
        }

    .hero-panel {
        margin-top: -30px;
    }
}
@media (max-width: 650px) {

    .hero-slider {
        height: auto;
        min-height: 0;
        aspect-ratio: 16 / 9;
        background: #000;
    }

        .hero-slider video,
        .hero-video {
            width: 100%;
            height: 100%;
            object-fit: contain;
            object-position: center;
        }
}

/* =========================================================
   PROJECT CARDS — "أعمالنا" (portfolio) & home teaser
   Image on top (cross-fades through project photos on
   hover), icon badge, year-established badge, details,
   animated gold sweep.
   ========================================================= */

.project-card {
    position: relative;
    border-radius: 10px;
    overflow: hidden;
    background: var(--steel-2);
    border: 1px solid var(--line-dark);
    box-shadow: 0 10px 30px rgba(0,0,0,.12);
    transition: transform .35s cubic-bezier(.2,.7,.2,1), box-shadow .35s ease;
}

.project-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 24px 60px rgba(0,0,0,.28);
}

.project-card-media {
    position: relative;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background: #10151b;
}

.project-card-media img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0;
    transform: scale(1.04);
    transition: opacity .6s ease, transform 6s ease;
}

.project-card-media img.is-active {
    opacity: 1;
    transform: scale(1);
}

.project-card:hover .project-card-media img.is-active {
    transform: scale(1.08);
}

/* Gold shine sweep — the "animated part" */
.project-card-media::after {
    content: "";
    position: absolute;
    top: 0;
    left: -60%;
    width: 40%;
    height: 100%;
    background: linear-gradient(115deg, transparent, rgba(255,222,23,.28), transparent);
    transform: skewX(-18deg);
    transition: left .9s ease;
    pointer-events: none;
    z-index: 3;
}

.project-card:hover .project-card-media::after {
    left: 130%;
}

.project-card-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(8,10,14,0) 45%, rgba(8,10,14,.86) 100%);
    z-index: 1;
}

.project-card-icon {
    position: absolute;
    top: 14px;
    right: 14px;
    z-index: 4;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(10,14,20,.55);
    border: 1px solid rgba(255,222,23,.5);
    backdrop-filter: blur(4px);
    transition: transform .35s ease, background .35s ease;
}

.project-card:hover .project-card-icon {
    transform: rotate(-8deg) scale(1.08);
    background: var(--brass);
}

.project-card-icon svg {
    width: 20px;
    height: 20px;
    stroke: var(--brass);
    transition: stroke .35s ease;
}

.project-card:hover .project-card-icon svg {
    stroke: var(--ink);
}

.project-card-year {
    position: absolute;
    top: 14px;
    left: 14px;
    z-index: 4;
    padding: 6px 12px;
    border-radius: 999px;
    font-size: .78rem;
    font-weight: 700;
    color: var(--ink);
    background: var(--brass);
    box-shadow: 0 4px 14px rgba(0,0,0,.25);
}

.project-card-dots {
    position: absolute;
    bottom: 12px;
    right: 14px;
    z-index: 4;
    display: flex;
    gap: 5px;
}

.project-card-dots span {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: rgba(255,255,255,.45);
    transition: background .3s ease, transform .3s ease;
}

.project-card-dots span.is-active {
    background: var(--brass);
    transform: scale(1.25);
}

.project-card-body {
    padding: 20px 20px 22px;
}

.project-card-body h3 {
    color: var(--paper);
    font-size: 1.15rem;
    margin: 0 0 8px;
}

.project-card-body p {
    color: var(--muted-light);
    font-size: .92rem;
    line-height: 1.7;
    margin: 0 0 12px;
}

.project-card-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.project-card-meta span {
    font-size: .76rem;
    padding: 4px 10px;
    border-radius: 999px;
    border: 1px solid var(--line-dark);
    color: var(--muted-light);
}

@media (prefers-reduced-motion: reduce) {
    .project-card-media img,
    .project-card-media::after,
    .project-card-icon {
        transition: none !important;
    }
}

/* =========================================================
   PORTFOLIO DOWNLOAD CTA — "تحميل ملف أعمالنا"
   ========================================================= */

.portfolio-download {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    flex-wrap: wrap;
    padding: 32px 36px;
    border-radius: 12px;
    border: 1px solid rgba(255,222,23,.35);
    background: linear-gradient(135deg, rgba(255,222,23,.08), rgba(0,0,0,0));
}

.portfolio-download h3 {
    color: var(--paper);
    margin: 0 0 6px;
}

.portfolio-download p {
    color: var(--muted-light);
    margin: 0;
}

.btn-download {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 14px 26px;
    border-radius: 999px;
    background: var(--brass);
    color: var(--ink);
    font-weight: 700;
    white-space: nowrap;
    transition: transform .25s ease, box-shadow .25s ease;
}

.btn-download svg {
    width: 18px;
    height: 18px;
}

.btn-download:hover {
    transform: translateY(-3px);
    box-shadow: 0 14px 30px rgba(255,222,23,.3);
}

/* =========================================================
   PARTNER CARDS — "شركاء النجاح"
   ========================================================= */

.partners-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 22px;
}

.partner-card {
    position: relative;
    padding: 28px 22px;
    text-align: center;
    border-radius: 12px;
    background: var(--steel-2);
    border: 1px solid var(--line-dark);
    overflow: hidden;
    transition: transform .3s ease, border-color .3s ease;
}

.partner-card:hover {
    transform: translateY(-6px);
    border-color: rgba(255,222,23,.5);
}

.partner-card::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(120deg, transparent, rgba(255,222,23,.12), transparent);
    transform: translateX(-120%);
    transition: transform .8s ease;
}

.partner-card:hover::before {
    transform: translateX(120%);
}

.partner-card-logo {
    position: relative;
    z-index: 1;
    width: 76px;
    height: 76px;
    margin: 0 auto 16px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255,222,23,.08);
    border: 1px solid rgba(255,222,23,.35);
}

.partner-card-logo img {
    width: 44px;
    height: 44px;
    object-fit: contain;
}

.partner-card h3 {
    position: relative;
    z-index: 1;
    color: var(--paper);
    font-size: 1.05rem;
    margin: 0 0 4px;
}

.partner-card .partner-since {
    position: relative;
    z-index: 1;
    display: inline-block;
    font-size: .76rem;
    color: var(--brass);
    margin-bottom: 10px;
}

.partner-card p {
    position: relative;
    z-index: 1;
    color: var(--muted-light);
    font-size: .88rem;
    line-height: 1.7;
    margin: 0;
}

/* ---- Masar Alarkan construction refresh ---- */
:root{--ink:#1f2421;--ink-soft:#53605a;--sand:#f3eee5;--cream:#fbf9f4;--brass:#b68b4c;--brass-light:#d7b77a;--line:#ded7ca}body{background:var(--cream);color:var(--ink)}.tag{display:inline-flex;align-items:center;gap:9px;color:var(--brass);font-size:.76rem;letter-spacing:.12em;font-weight:800}.tag:before{content:'';width:26px;height:2px;background:var(--brass)}.section-light{background:var(--cream);padding:92px 0}.section-cream{background:var(--sand);padding:92px 0}.section-head{max-width:720px;margin:0 auto 42px;text-align:center}.section-head h2{font-size:clamp(2rem,4vw,3.3rem);margin:14px 0 12px;letter-spacing:-.04em}.section-head p{color:var(--ink-soft);line-height:1.9}.team-hero,.services-hero{background:var(--ink);color:#fff;padding:120px 0 94px;position:relative;overflow:hidden}.team-hero:after,.services-hero:after{content:'';position:absolute;inset:auto -10% -55% 35%;height:90%;background:radial-gradient(circle,rgba(182,139,76,.22),transparent 65%);pointer-events:none}.team-hero-grid,.services-hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:8vw;align-items:center;position:relative;z-index:1}.team-hero h1,.services-hero h1{font-size:clamp(3.2rem,7vw,6.2rem);line-height:1.05;letter-spacing:-.07em;margin:22px 0}.team-hero h1 em,.services-hero h1 em,.page-hero h1 em{color:var(--brass-light);font-style:normal}.team-hero p,.services-hero p{max-width:550px;color:#cbd0ca;font-size:1.08rem;line-height:2}.team-hero-note{border:1px solid rgba(255,255,255,.2);padding:34px;display:flex;flex-direction:column;gap:18px;max-width:290px;justify-self:end}.team-hero-note span{color:var(--brass-light);font-size:3rem}.team-hero-note strong{font-size:1.65rem;line-height:1.25}.team-hero-note small{color:#cbd0ca;line-height:1.8}.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.team-card{padding:0;background:#fff;border:0;text-align:right;cursor:pointer;box-shadow:0 16px 40px rgba(31,36,33,.08);transition:transform .24s ease,box-shadow .24s ease}.team-card:hover{transform:translateY(-8px);box-shadow:0 25px 52px rgba(31,36,33,.15)}.team-card img{width:100%;height:380px;object-fit:cover;display:block}.team-card-body{display:flex;flex-direction:column;gap:8px;padding:22px}.team-card-body small{color:var(--brass);font-weight:700}.team-card-body strong{font-size:1.25rem}.team-card-body i{font-style:normal;color:var(--ink-soft);font-size:.85rem;margin-top:8px}.certificate-gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;max-width:900px;margin:auto}.certificate-card{padding:0;border:0;background:#fff;text-align:right;cursor:pointer;overflow:hidden}.certificate-card img{width:100%;height:280px;object-fit:cover;display:block;transition:transform .35s ease}.certificate-card:hover img{transform:scale(1.04)}.certificate-card span{display:block;padding:18px 20px;font-weight:800}.team-modal{display:none;position:fixed;inset:0;z-index:1000;align-items:center;justify-content:center;padding:24px}.team-modal.is-open{display:flex}.team-modal-backdrop{position:absolute;inset:0;background:rgba(18,22,20,.78);backdrop-filter:blur(6px)}.team-modal-box{position:relative;z-index:1;display:grid;grid-template-columns:minmax(260px,40%) 1fr;max-width:920px;width:100%;max-height:90vh;overflow:auto;background:var(--cream);box-shadow:0 30px 90px #0008}.team-modal-box>img{width:100%;height:100%;min-height:560px;object-fit:cover}.team-modal-copy{padding:48px 42px;display:flex;flex-direction:column;justify-content:center}.team-modal-close{position:absolute;top:14px;right:14px;border:0;background:#fff;color:var(--ink);width:40px;height:40px;border-radius:50%;font-size:1.6rem;cursor:pointer;z-index:2}.team-modal-copy h2{font-size:2.1rem;margin:16px 0}.team-modal-copy p{line-height:2;color:var(--ink-soft)}.team-modal-facts{display:flex;gap:44px;margin:22px 0}.team-modal-facts div{display:flex;flex-direction:column;gap:3px}.team-modal-facts b{font-size:1.5rem;color:var(--brass)}.team-modal-facts small{color:var(--ink-soft)}.skill-list{display:flex;gap:8px;flex-wrap:wrap}.skill-list span{background:#e9e1d3;padding:8px 12px;font-size:.8rem}.modal-certs{display:flex;gap:10px;margin-top:26px}.modal-certs img{width:76px;height:54px;object-fit:cover}.services-hero-grid{grid-template-columns:1fr .8fr}.services-hero-image{position:relative}.services-hero-image img{width:100%;height:420px;object-fit:cover;display:block}.services-hero-image span{position:absolute;bottom:16px;right:16px;background:var(--ink);padding:9px 13px;color:var(--brass-light);font-size:.72rem}.service-showcase{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.service-showcase article{background:#fff;display:grid;grid-template-columns:44% 1fr;box-shadow:0 14px 36px rgba(31,36,33,.07);overflow:hidden}.service-showcase-img{position:relative;min-height:260px}.service-showcase-img img{width:100%;height:100%;object-fit:cover;display:block}.service-showcase-img b{position:absolute;top:14px;right:14px;background:var(--brass);color:#fff;padding:7px 10px}.service-showcase article>div+div{padding:28px 24px}.service-showcase h3{font-size:1.35rem;margin:8px 0 10px}.service-showcase p{color:var(--ink-soft);line-height:1.8;font-size:.92rem}.service-showcase a{color:var(--brass);font-weight:800}.page-hero.compact{background:var(--ink);color:#fff;padding:110px 0 86px}.page-hero h1{font-size:clamp(3rem,7vw,5.8rem);line-height:1.05;margin:20px 0}.page-hero p{color:#cbd0ca;max-width:560px;line-height:2}.field-gallery{display:grid;grid-template-columns:repeat(12,1fr);gap:20px}.field-gallery figure{margin:0;position:relative;overflow:hidden;background:#222;min-height:260px}.field-gallery figure:nth-child(1),.field-gallery figure:nth-child(4){grid-column:span 7}.field-gallery figure:nth-child(2),.field-gallery figure:nth-child(3),.field-gallery figure:nth-child(5){grid-column:span 5}.field-gallery img{width:100%;height:100%;min-height:260px;object-fit:cover;display:block;transition:transform .4s ease;opacity:.9}.field-gallery figure:hover img{transform:scale(1.05)}.field-gallery figcaption{position:absolute;inset:auto 0 0;padding:46px 22px 20px;color:#fff;background:linear-gradient(transparent,rgba(15,18,16,.9));display:flex;flex-direction:column;gap:6px}.field-gallery figcaption span{color:#ddd;font-size:.83rem}.split-cta{display:flex;align-items:center;justify-content:space-between;gap:30px}.split-cta h2{color:#fff;margin-top:14px}.band-dark{background:var(--ink);padding:70px 0}.btn-brass{display:inline-flex;background:var(--brass);color:#fff;padding:14px 23px;text-decoration:none;font-weight:800;transition:transform .2s ease,background .2s ease}.btn-brass:hover{background:#d2aa6c;transform:translateY(-2px)}
@media(max-width:800px){.team-hero-grid,.services-hero-grid{grid-template-columns:1fr}.team-hero-note{justify-self:start}.team-grid,.service-showcase{grid-template-columns:1fr}.certificate-gallery{grid-template-columns:1fr}.team-modal-box{grid-template-columns:1fr;max-height:92vh}.team-modal-box>img{height:300px;min-height:0}.team-modal-copy{padding:28px}.field-gallery figure,.field-gallery figure:nth-child(1),.field-gallery figure:nth-child(2),.field-gallery figure:nth-child(3),.field-gallery figure:nth-child(4),.field-gallery figure:nth-child(5){grid-column:span 12}.split-cta{flex-direction:column;align-items:flex-start}.service-showcase article{grid-template-columns:1fr}.service-showcase-img{min-height:220px}}

/* unified construction cards + modal */
.modal-card{cursor:pointer;transition:transform .22s ease,box-shadow .22s ease}.modal-card:hover{transform:translateY(-7px);box-shadow:0 20px 46px rgba(16,20,18,.16)}.universal-modal{display:none;position:fixed;inset:0;z-index:2000;align-items:center;justify-content:center;padding:22px}.universal-modal.is-open{display:flex}.universal-modal-backdrop{position:absolute;inset:0;background:linear-gradient(135deg,rgba(4,7,6,.92),rgba(31,36,33,.84));backdrop-filter:blur(8px)}.universal-modal-box{position:relative;z-index:1;display:grid;grid-template-columns:minmax(300px,43%) 1fr;max-width:980px;width:100%;max-height:88vh;overflow:hidden;background:linear-gradient(135deg,#121613,#232923);color:#fff;box-shadow:0 35px 100px rgba(0,0,0,.55);border:1px solid rgba(182,139,76,.28)}.universal-modal-media{min-height:520px;position:relative}.universal-modal-media:after{content:'';position:absolute;inset:0;border-inline-end:1px solid #b68b4c;box-shadow:10px 0 30px rgba(182,139,76,.15)}.universal-modal-media img{width:100%;height:100%;object-fit:cover;display:block}.universal-modal-content{padding:52px 46px;display:flex;flex-direction:column;justify-content:center}.universal-modal-content h2{font-size:clamp(2rem,4vw,3.2rem);line-height:1.2;margin:18px 0;color:#fff}.universal-modal-content p{color:#c7cec8;line-height:2;font-size:1rem;max-width:50ch}.modal-gold-divider{height:2px;width:86px;background:#b68b4c;margin:4px 0 22px}.universal-modal-close{position:absolute;z-index:3;top:14px;right:14px;width:42px;height:42px;border:1px solid rgba(255,255,255,.25);border-radius:50%;background:#1b211d;color:#fff;font-size:1.7rem;cursor:pointer;transition:.2s}.universal-modal-close:hover{background:#b68b4c}.partner-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.partner-feature{background:#fff;box-shadow:0 15px 42px rgba(25,30,26,.08);overflow:hidden}.partner-card-image{height:190px;overflow:hidden}.partner-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.partner-feature:hover .partner-card-image img{transform:scale(1.07)}.partner-card-content{padding:22px}.partner-card-content span{color:#b68b4c;font-weight:800;font-size:.76rem}.partner-card-content h3{font-size:1.18rem;margin:8px 0}.partner-card-content p{color:#66716a;line-height:1.8;font-size:.88rem}.hero-copy-overlay{position:absolute;z-index:4;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:0 max(24px,calc((100% - var(--wrap))/2));background:linear-gradient(90deg,rgba(6,9,8,.88) 0%,rgba(6,9,8,.65) 44%,rgba(6,9,8,.1) 82%);color:#fff;pointer-events:none}.hero-copy-overlay>*{pointer-events:auto}.hero-copy-overlay h1{font-size:clamp(2.8rem,6vw,6rem);line-height:1.05;margin:18px 0;letter-spacing:-.07em}.hero-copy-overlay h1 em{color:#d7b77a;font-style:normal}.hero-copy-overlay p{color:#e4e8e3;font-size:1.1rem;line-height:1.8;margin-bottom:22px}.hero-copy-overlay .btn-brass{position:relative;z-index:5}.hero-video-overlay{z-index:2!important;background:linear-gradient(90deg,rgba(5,8,7,.68),rgba(5,8,7,.18))!important}.services-hero{background-image:linear-gradient(90deg,rgba(18,24,21,.96) 0%,rgba(18,24,21,.72) 48%,rgba(18,24,21,.3) 100%),url('assets/hero-construction-sunset.jpg');background-size:cover;background-position:center}.services-hero .services-hero-image{display:none}.services-hero-grid{grid-template-columns:1fr!important}.services-hero-grid>div:first-child{position:relative;z-index:2}.services-hero .btn-brass{position:relative;z-index:3}.service-showcase article{cursor:pointer}.field-gallery figure{cursor:pointer}.project-card{cursor:pointer}
@media(max-width:800px){.universal-modal-box{grid-template-columns:1fr;max-height:92vh;overflow:auto}.universal-modal-media{min-height:260px;height:260px}.universal-modal-content{padding:30px 25px}.partner-card-grid{grid-template-columns:1fr 1fr}.hero-copy-overlay{padding:0 24px;background:rgba(6,9,8,.62)}.hero-copy-overlay h1{font-size:3.2rem}}@media(max-width:520px){.partner-card-grid{grid-template-columns:1fr}}
.services-certificates{padding:84px 0}.services-certificate-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;max-width:900px;margin:auto}.services-certificate-grid figure{margin:0;background:#fff;box-shadow:0 15px 40px rgba(31,36,33,.1);overflow:hidden}.services-certificate-grid img{width:100%;height:260px;object-fit:cover;display:block}.services-certificate-grid figcaption{padding:18px 20px;font-weight:800}@media(max-width:650px){.services-certificate-grid{grid-template-columns:1fr}}
/* =========================
   HEADER LOGO
   ========================= */

.site-header .brand {
    display: flex;
    align-items: center;
    gap: 14px;
    text-decoration: none;
}

    .site-header .brand img {
        width: 92px;
        height: 92px;
        min-width: 92px;
        object-fit: contain;
        object-position: center;
        border-radius: 0;
        padding: 0;
        margin: 0;
        display: block;
        background: transparent;
    }

/* =========================
   FOOTER LOGO
   ========================= */

.site-footer .footer-brand img,
.site-footer .brand img,
footer .brand img {
    width: 110px;
    height: 110px;
    max-width: none;
    object-fit: contain;
    object-position: center;
    border-radius: 0;
    padding: 0;
    margin: 0;
    display: block;
}
@media (max-width: 768px) {

    .site-header .brand img {
        width: 72px;
        height: 72px;
        min-width: 72px;
    }

    .site-header .brand {
        gap: 9px;
    }

        .site-header .brand span {
            font-size: 0.95rem;
        }

            .site-header .brand span small {
                font-size: 0.65rem;
            }

    .site-footer .footer-brand img,
    .site-footer .brand img,
    footer .brand img {
        width: 90px;
        height: 90px;
    }
}