/* =========================================
   GLOBAL VARIABLES
========================================= */
:root{
  --line: rgba(0,0,0,.08);
  --shadow: 0 18px 40px rgba(0,0,0,.10);
  --primary: #007bff;
}

/* Prevent anchor jump under sticky header */
html{
  scroll-padding-top: 90px;
  scroll-behavior: smooth;
}

/* =========================================
   STICKY HEADER
========================================= */
.site-header{
  position: sticky;
  top: 0;
  z-index: 1000;
  background: rgba(255,255,255,.85);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border-bottom: 1px solid var(--line);
  transition: box-shadow .2s ease, background .2s ease;
}

.site-header.scrolled{
  box-shadow: var(--shadow);
  background: rgba(255,255,255,.95);
}

/* Header layout */
.site-header .w3-bar{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap: 22px;
  position: relative;
}

/* Logo */
.nav-logo{
  position: relative;
  z-index: 2;
}
.nav-logo img{
  display:block;
  height:32px;
  width:auto;
}

/* Centered desktop navigation */
.nav-links{
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  z-index: 2;
}

.nav-links a{
  text-decoration:none;
  font-weight:600;
  color: rgba(0,0,0,.80);
  padding: 8px 12px;
  border-radius:10px;
}

.nav-links a:hover{
  background: rgba(0,0,0,.06);
}

/* Active menu highlight */
.nav-links a.is-active{
  background: rgba(0,0,0,.06);
  border: 1px solid var(--line);
}

/* Mobile menu */
#mobileMenu{
  border-top: 1px solid var(--line);
}
#mobileMenu a{
  font-weight: 600;
}

/* Hide centered desktop nav on small screens */
@media (max-width: 600px){
  .nav-links{ display:none; }
}

/* =========================================
   PAGE HELPERS
========================================= */
.section-soft{
  background: linear-gradient(180deg,#fff,#f6f7f9);
}

/* Equal height helper (About page Vision/Mission) */
.equal-card{
  min-height: 260px;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}

/* =========================================
   GLOBAL CARD HOVER (Premium feel)
========================================= */
.w3-card{
  transition: transform .25s ease, box-shadow .25s ease;
}

.w3-card:hover{
  transform: translateY(-4px);
  box-shadow: 0 12px 30px rgba(0,0,0,.12);
}

/* =========================================
   LOGO CAROUSEL (4 AT A TIME)
========================================= */
.slider-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:22px;
  box-shadow:var(--shadow);
  padding:40px 30px;
  overflow:hidden;
}

.logo-carousel{
  overflow:hidden;
  width:100%;
  margin-top:30px;
}

.logo-track{
  display:flex;
  transition: transform 0.6s ease;
}

.logo-item{
  flex:0 0 25%;
  display:flex;
  justify-content:center;
  align-items:center;
  padding:10px;
}

.logo-item img{
  height:60px;
  width:auto;
  filter:grayscale(100%);
  opacity:.85;
  transition: transform .25s ease, filter .25s ease, opacity .25s ease;
}

.logo-item img:hover{
  filter:grayscale(0%);
  opacity:1;
  transform:scale(1.05);
}

/* Tablet: 2 at a time */
@media (max-width: 768px){
  .logo-item{ flex:0 0 50%; }
}

/* Mobile: 1 at a time */
@media (max-width: 480px){
  .logo-item{ flex:0 0 100%; }
}

/* =========================================
   FOOTER
========================================= */
footer{
  font-size: 14px;
}

/* =========================================
   SERVICES – Equal Height Cards (W3CSS Layout)
   ========================================= */

/* Make each column behave like a flex container */
.w3-row-padding .w3-col{
  display: flex;
}

/* Make the card stretch to full column height */
.w3-row-padding .w3-col > .w3-card{
  width: 100%;              /* Fill full column width */
  display: flex;            /* Enable flex layout */
  flex-direction: column;   /* Stack content vertically */
  Height:180px;
}
/* Increase height of Our Values card */
#values .w3-card{
  min-height: 320px;   /* adjust if needed */
}
/*button centering and text*/
.w3-center{
  text-align:center !important;
}
/* =========================
   About page mobile polish
   ========================= */
@media (max-width: 600px){

  /* Reduce W3 row padding so cards don’t look squeezed */
  .w3-row-padding{
    padding-left: 8px;
    padding-right: 8px;
  }

  /* Make About page buttons stack nicely and align */
  .about-cta a.w3-button{
    width: 100%;
    display: block;
    text-align: center;
  }

  /* Remove left margin when stacking */
  .about-cta a.w3-margin-left{
    margin-left: 0 !important;
    margin-top: 12px;
  }
}
/* About page container width: wide on desktop, comfortable on mobile */
.about-wrap{
  max-width: 1200px;
}
@media (max-width: 992px){
  .about-wrap{
    max-width: 1000px;
  }
}
@media (max-width: 600px){
  .about-wrap{
    max-width: 1000px;
    padding-left: 8px;
    padding-right: 8px;
  }
}

/*About page thandie*/
.aboutvision{
	height:138px;
}
.aboutcsl{
max-width:1165px; 
margin:0 auto;
}

/* =========================
   About Page Responsive Layout
   ========================= */

.about-wrap{
  max-width: 1200px;
}

@media (max-width: 992px){
  .about-wrap{
    max-width: 1000px;
  }
}

@media (max-width: 600px){

  .about-wrap{
    padding-left: 8px;
    padding-right: 8px;
  }

  /* Stack buttons nicely on mobile */
  .about-buttons .w3-button{
    width: 100%;
    display: block;
    text-align: center;
  }

  .about-buttons .w3-margin-left{
    margin-left: 0 !important;
    margin-top: 12px;
  }
}
