:root{
  --dark-green:#16302A;
  --dark-green-2:#0e211b;
  --cream:#EFE4C7;
  --peach:#F7ECE4;
  --logo-box:#E6DAB8;
  --heading:#1B382C;
  --sub-text:#7C7A70;
}

*{ box-sizing:border-box; }

body{
  font-family:'Poppins', sans-serif;
  margin:0;
  color:#333;
}

img{ max-width:100%; display:block; }

/* =========================================================
   Header / Nav
   ========================================================= */
.top-nav{
  background:var(--dark-green);
  padding:.9rem 0;
  position:relative;
  z-index:1000;
}
.brand-logo{
  display:flex;
  align-items:center;
}
.header-logo-img{
  height:54px;
  width:auto;
}
@media (max-width:420px){
  .header-logo-img{ height:32px; }
}

.top-nav .nav-link{
  color:#fff !important;
  font-weight:600;
  font-size:.92rem;
  letter-spacing:1px;
  margin:0 .9rem;
  padding:.4rem 0 !important;
  position:relative;
  cursor:pointer;
}
.top-nav .nav-link::after{
  content:'';
  position:absolute;
  left:0; bottom:0;
  width:0; height:2px;
  background:var(--cream);
  transition:width .2s ease;
}
.top-nav .nav-link:hover::after{ width:100%; }
.top-nav .dropdown-toggle::after{
  border:0;
  margin-left:0;
  vertical-align:baseline;
}
.top-nav .navbar-toggler{
  border-color:rgba(255,255,255,.4);
}
.top-nav .navbar-toggler-icon{
  filter:invert(1);
}

/* Nav dropdown (About Us) - opens on hover (desktop), tap (mobile) */
.top-nav .dropdown{ position:relative; }
.top-nav .dropdown-menu{
  display:none;
  background:var(--dark-green);
  border:none;
  border-radius:0;
  padding:0;
  margin:0;
  position:absolute;
  top:100%;
  left:50%;
  transform:translateX(-50%);
  min-width:280px;
  list-style:none;
  box-shadow:0 12px 24px rgba(0,0,0,.18);
}
.top-nav .dropdown-menu.show{ display:block; }
.top-nav .dropdown-item{
  color:#fff;
  text-align:center;
  text-transform:uppercase;
  font-size:.78rem;
  font-weight:600;
  letter-spacing:.5px;
  padding:.85rem 1rem;
  border-top:1px solid rgba(255,255,255,.12);
  text-decoration:none;
  display:block;
}
.top-nav .dropdown-item:first-child{ border-top:none; }
.top-nav .dropdown-item:hover,
.top-nav .dropdown-item:focus{
  background:rgba(255,255,255,.08);
  color:#fff;
}
@media (min-width:992px){
  .top-nav .dropdown:hover > .dropdown-menu{ display:block; }
}
@media (max-width:991px){
  .top-nav .dropdown-menu{
    position:static;
    transform:none;
    width:100%;
    margin-top:.5rem;
  }
}

/* =========================================================
   Hero / Brand logo grid section
   ========================================================= */
.hero-brands{
  background:var(--cream);
  padding:4.5rem 0 2.5rem;
  position:relative;
  overflow:hidden;
}
.hero-brands::before{
  content:'';
  position:absolute;
  top:-60px; right:-80px;
  width:520px; height:520px;
  background:
    radial-gradient(circle at center, rgba(255,255,255,.35) 0 40%, transparent 41%),
    var(--cream);
  opacity:.5;
  border-radius:38% 62% 55% 45% / 45% 40% 60% 55%;
  z-index:0;
}
.hero-brands .container{ position:relative; z-index:1; }

.hero-brands h1{
  color:var(--heading);
  font-weight:800;
  font-size:2.5rem;
  text-align:center;
}
.hero-brands .sub{
  color:var(--sub-text);
  text-align:center;
  max-width:640px;
  margin:1rem auto 3rem;
  font-size:1.05rem;
}

.brand-grid{
  display:grid;
  grid-template-columns:repeat(8, 1fr);
  gap:1rem;
}
@media (max-width:991px){
  .brand-grid{ grid-template-columns:repeat(4, 1fr); }
}
@media (max-width:575px){
  .brand-grid{ grid-template-columns:repeat(2, 1fr); }
}

.brand-box{
  background:var(--logo-box);
  border-radius:4px;
  aspect-ratio:1.4/1;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:.6rem;
  font-weight:700;
  font-size:1.05rem;
  color:#222;
}

/* Slider dots */
.slide-dots{
  display:flex;
  justify-content:center;
  gap:.5rem;
  margin-top:2.2rem;
}
.slide-dots span{
  width:8px; height:8px;
  border-radius:50%;
  background:rgba(27,56,44,.25);
  cursor:pointer;
  transition:all .2s ease;
}
.slide-dots span.active{
  background:#fff;
  box-shadow:0 0 0 1px rgba(27,56,44,.25);
  width:10px; height:10px;
}

/* =========================================================
   Stats bar
   ========================================================= */
.stats-bar{
  background:var(--dark-green);
  border-top:1px solid rgba(255,255,255,.15);
  padding:1.6rem 0;
}
.stats-bar .stat-item{
  color:var(--cream);
  font-weight:700;
  font-size:1.3rem;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:.4rem;
}
.stats-bar .diamond{
  color:var(--cream);
  font-size:1rem;
  opacity:.85;
}
@media (max-width:767px){
  .stats-bar .stat-item{ font-size:1.05rem; margin-bottom:.6rem; }
  .stats-bar .col-diamond{ display:none; }
}

/* =========================================================
   About section
   ========================================================= */
.about-section{
  background:var(--peach);
  padding:3.5rem 0;
}
.about-card{
  background:#fff;
  border-radius:4px;
  padding:3.2rem 3rem;
}
.about-card h2{
  color:#17221D;
  font-weight:800;
  font-size:1.55rem;
  line-height:1.35;
  margin-bottom:1.6rem;
}
.about-card p{
  color:#5b5b56;
  font-size:.95rem;
  line-height:1.75;
  margin-bottom:1.4rem;
}
.about-card p strong{ color:#17221D; }
.btn-about{
  background:var(--dark-green);
  color:#fff;
  border:none;
  padding:.7rem 1.7rem;
  font-weight:600;
  font-size:.85rem;
  border-radius:2px;
  text-decoration:none;
  display:inline-block;
}
.btn-about:hover{ background:var(--dark-green-2); color:#fff; }

.about-logo-block{
  display:flex;
  align-items:center;
  justify-content:center;
  height:100%;
}
.about-logos-img{
  max-width:100%;
  height:auto;
}
@media (max-width:991px){
  .about-card{ padding:2.2rem 1.6rem; }
  .about-logo-block{ margin-top:2.5rem; align-items:flex-start; }
}

/* =========================================================
   Partner logo slider strip
   ========================================================= */
.partner-strip{
  background:var(--peach);
  padding:1.5rem 0 3rem;
}
.partner-slider-wrap{
  display:flex;
  align-items:center;
  gap:1rem;
  background:#fff;
  border-radius:4px;
  padding:1.3rem 1.5rem;
}
.partner-arrow{
  flex:0 0 auto;
  width:34px; height:34px;
  border-radius:50%;
  border:1px solid #ddd;
  background:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  color:var(--heading);
  transition:background .2s ease;
}
.partner-arrow:hover{ background:var(--peach); }
.partner-track-viewport{
  overflow:hidden;
  flex:1 1 auto;
}
.partner-track{
  display:flex;
  gap:1.2rem;
  transition:transform .4s ease;
}
.partner-logo{
  flex:0 0 auto;
  width:150px;
  height:80px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:700;
  text-align:center;
  padding:.5rem;
}
@media (max-width:575px){
  .partner-logo{ width:110px; height:64px; font-size:.85rem; }
}

/* =========================================================
   Business sectors
   ========================================================= */
.sectors-section{
  background:var(--peach);
  padding:2rem 0 4rem;
  text-align:center;
}
.section-heading{
  color:var(--heading);
  font-weight:800;
  font-size:1.6rem;
  letter-spacing:.5px;
  margin-bottom:2.5rem;
}
.sector-card{
  background:#fff;
  border-radius:4px;
  overflow:hidden;
  text-align:center;
  height:100%;
}
.sector-img{
  width:100%;
  height:230px;
  object-fit:cover;
  background:#d9d2c3;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#8a8370;
  font-weight:600;
  font-size:.9rem;
}
.sector-body{ padding:1.8rem 1.6rem 2.2rem; }
.sector-body h3{
  color:var(--heading);
  font-weight:700;
  font-size:1.05rem;
  letter-spacing:.5px;
  margin-bottom:1rem;
}
.sector-body p{
  color:var(--sub-text);
  font-size:.88rem;
  line-height:1.7;
  margin-bottom:1.5rem;
}

/* =========================================================
   Featured news
   ========================================================= */
.news-section{
  background:var(--peach);
  padding:1rem 0 3.5rem;
  text-align:center;
}
.news-card{
  background:#E8E4D3;
  border-radius:4px;
  overflow:hidden;
  max-width:900px;
  margin:0 auto;
  text-align:left;
}
.news-visual{
  min-height:280px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:2rem;
  padding:3rem 2rem;
  flex-wrap:wrap;
}
.news-visual .logo-a{
  font-size:1.8rem;
  font-weight:800;
  color:var(--heading);
  letter-spacing:2px;
  text-align:center;
}
.news-visual .logo-a .arabic{
  font-size:1.4rem;
  letter-spacing:6px;
  margin-top:.2rem;
}
.news-visual .logo-b{
  font-size:1.6rem;
  font-weight:700;
  color:#6fa72f;
  text-align:center;
}
.news-visual .logo-b .leaf{ font-size:2.2rem; }
.news-caption{
  background:#fff;
  padding:1.3rem 1.8rem;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  flex-wrap:wrap;
}
.news-caption p{
  margin:0;
  font-weight:600;
  color:var(--heading);
  font-size:.98rem;
}

/* =========================================================
   Quote / stat paragraph block
   ========================================================= */
.quote-block{
  background:var(--peach);
  padding:1rem 0 4rem;
  text-align:center;
}
.quote-block p{
  max-width:760px;
  margin:0 auto;
  color:var(--heading);
  font-size:1.35rem;
  font-weight:600;
  line-height:1.7;
}

/* =========================================================
   Gallery
   ========================================================= */
.gallery-section{
  background:var(--peach);
  padding:2.2rem 2.2rem 2.6rem;
}
.gallery-img-single{
  width:100%;
  height:780px;
  object-fit:cover;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  color:rgba(0,0,0,.45);
  font-weight:600;
  font-size:.9rem;
  padding:1rem;
}
.gallery-right{ height:600px; }

.gallery-arrows{
  display:flex;
  justify-content:flex-end;
  gap:.6rem;
  padding-top:1.4rem;
}
.gallery-arrow{
  width:38px; height:38px;
  border-radius:50%;
  border:1px solid #d8cdbd;
  background:#fff;
  color:var(--heading);
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  font-size:.9rem;
  transition:background .2s ease;
}
.gallery-arrow:hover{ background:var(--logo-box); }

@media (max-width:991px){
  .gallery-img-single{ height:420px; }
  .gallery-right{ height:340px; }
}
@media (max-width:575px){
  .gallery-section{ padding:1.2rem 1rem 1.6rem; }
  .gallery-img-single{ height:280px; font-size:.8rem; }
  .gallery-right{ height:220px; }
}

/* =========================================================
   Footer
   ========================================================= */
.site-footer{
  background:var(--dark-green);
  color:#cfd6d1;
  padding:3.5rem 0 1.8rem;
  text-align:center;
}
.footer-logo-img{
  height:70px;
  width:auto;
  margin:0 auto;
}
@media (max-width:575px){
  .footer-logo-img{ height:56px; }
}
.footer-nav{
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:2.2rem;
  margin:2.5rem 0 1.6rem;
  padding-bottom:1.6rem;
  border-bottom:1px solid rgba(255,255,255,.15);
}
.footer-nav a{
  color:#fff;
  text-decoration:none;
  font-size:.82rem;
  font-weight:600;
  letter-spacing:1px;
  text-transform:uppercase;
}
.footer-nav a:hover{ color:var(--cream); }
.footer-bottom-text{
  font-size:.8rem;
  color:#9fa9a3;
}

@media (max-width:575px){
  .footer-nav{ gap:1.2rem 1.6rem; }
}
