/* ─── 1. IMPORT FONTS & VARIABLES ───────────────────────────────── */
@import url("https://fonts.googleapis.com/css2?family=DM+Sans:wght@500&family=Outfit:wght@500;600&display=swap");

:root {
  /* Colors */
  --clr-text:    #111827;
  --clr-primary: #225A75;
  --clr-accent:  #59B12D;
  --clr-border:  #E5E7EB;

  /* Font families */
  --ff-dm:      "DM Sans", sans-serif;
  --ff-outfit:  "Outfit", sans-serif;
}

/* ─── 2. GLOBAL RESET & CONTAINER ───────────────────────────────── */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
body {
  font-family: var(--ff-dm);
  line-height: 1.5;
}
.container {
  max-width: 1440px;
  width: 90%;
  margin: 0 auto;
}

/* ─── 3. NAVBAR LAYOUT ───────────────────────────────────────────── */
.navbar {
  position: sticky;
  top: 0;
  width: 100%;
  background: #fff;
  box-shadow: 0 0 30px rgba(0, 0, 0, 0.1);
  z-index: 10;
}
.navbar__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 96px;
}

/* Logo */
.navbar__logo img {
  width: 142.5px;
  height: 45px;
  object-fit: contain;
}

/* Menu */
.navbar__menu {
  display: flex;
  gap: 57px;
  list-style: none;
}
.navbar__item a {
  position: relative;
  text-decoration: none;
  font-family: var(--ff-dm);
  font-size: 14px;
  font-weight: 500;
  line-height: 24px;
  letter-spacing: 1.4px;
  text-transform: uppercase;
  color: var(--clr-text);
  padding-bottom: 0.5rem; 
}

/* Gradient underline on active link */
.navbar__item.active a::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 36px;
  height: 4px;
  background: linear-gradient(
    to right,
    var(--clr-primary) 50%,
    var(--clr-accent) 50%
  );
}

/* Separator line between items */
.navbar__item:not(:last-child) a::before {
  content: "";
  position: absolute;
  right: -28.5px;   
  top: 50%;
  transform: translateY(-50%);
  width: 1px;
  height: 20px;
  background: var(--clr-border);
}

/* Contact block */
.navbar__contact {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 4px;
  font-family: var(--ff-outfit);
}
.navbar__contact span {
  font-size: 16px;
  font-weight: 500;
  line-height: 24px;
  color: #111111;
}
.navbar__contact a {
  font-size: 16px;
  font-weight: 500;
  line-height: 24px;
  color: var(--clr-accent);
  text-decoration: none;
}

/* Hamburger for mobile */
.navbar__toggle {
  display: none;
  font-size: 1.75rem;
  background: none;
  border: none;
  cursor: pointer;
}

/* ─── 4. RESPONSIVENESS ─────────────────────────────────────────── */
@media (max-width: 768px) {
  .navbar__menu,
  .navbar__contact {
    display: none;
  }
  .navbar__toggle {
    display: block;
  }

  /*  styles if you hook up the toggle JS */
  .navbar__menu.open {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    position: absolute;
    top: 96px;
    right: 1rem;
    background: #fff;
    padding: 1rem;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
  }
  .navbar__contact.open {
    display: block;
    position: absolute;
    top: calc(96px + 200px); 
    right: 1rem;
    background: #fff;
    padding: 1rem;
  }
}


/* HERO SECTION STYLINGS */
/* ─── Hero Section ───────────────────────────────────────────────── */
.hero {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;             
    padding: 4rem 0;       
    flex-wrap: wrap;       
  }
  
  /* Text side */
  .hero__content {
    flex: 1 1 400px;        
    max-width: 50%;       
  }
  
  /* Heading per Figma */
  .hero__content h1 {
    font-family: 'Outfit', sans-serif;
    font-weight: 700;
    font-size: clamp(2.5rem, 5vw, 3.125rem); 
    line-height: 1.2;
    color: var(--clr-text);
    margin-bottom: 1rem;
  }
  .hero__content h1 span {
    color: var(--clr-accent); 
  }
  
  /* Underline bar from Figma */
  .hero__underline {
    width: 265px;
    height: 6px;
    background: var(--clr-accent);
    outline: 3px solid var(--clr-accent);
    outline-offset: -3px;
    margin-bottom: 2rem;
  }
  
  /* CTA Button */
  .btn--primary {
    display: inline-block;
    padding: 0.75rem 2rem;         
    background: var(--clr-accent);  
    box-shadow: 0 9px 22px rgba(109,209,48,0.4);
    border-radius: 8px;
    font-family: 'Inter', sans-serif;
    font-size: 1.125rem;          
    font-weight: 500;
    color: #fff;
    text-decoration: none;
    text-align: center;
  }
  
  /* Image side */
  .hero__image {
    flex: 1 1 300px;
    max-width: 50%;
    text-align: right;             
  }
  .hero__image img {
    width: 100%;
    height: auto;
    border-radius: 0.5rem;
  }
  
  /* ─── Responsive tweaks ──────────────────────────────────────────── */
  @media (max-width: 992px) {
    .hero__content,
    .hero__image {
      max-width: 100%;
    }
    .hero__content {
      text-align: center;
    }
    .hero__image {
      text-align: center;
      margin-top: 2rem;
    }
  }
  
  /* WHAT WE DO SECTION STYLINGS */
  /* ─── Section Title (What We Do) ─────────────────────────────────── */
.section-title {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 30px;               
    margin: 4rem 0 2rem;     
  }
  
  /* .section-title__line {
    flex: 1;                 
    height: 1.5px;          
    background: var(--clr-accent);
  } */
  
  .section-title__text {
    font-family: 'Outfit', sans-serif;
    font-size: 2.125rem;    
    font-weight: 600;
    line-height: 1.5;        
    letter-spacing: 0.16rem; 
    color: var(--clr-accent);
    white-space: nowrap;     
    margin: 0;
  }
  /* CONTENT PART FOR THE SAME  */
  /* ─── What We Do Grid ───────────────────────────────────────────── */
.what-we-do__grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 2rem;            
    margin-bottom: 4rem; 
  }
  
  /* ─── Feature Card ──────────────────────────────────────────────── */
  .feature-card {
    display: flex;
    flex-direction: column;
    gap: 1.125rem; 
  }
  .feature-card h3 {
    font-family: 'Outfit', sans-serif;
    font-size: 3.0625rem;   
    font-weight: 600;
    line-height: 1.045;     
    color: var(--clr-primary);
    margin: 0;
  }
  .feature-card p {
    font-family: 'Montserrat', sans-serif;
    font-size: 1rem;       
    font-weight: 600;
    line-height: 1.5;       
    color: #828C8B;
    max-width: 465px;
    margin: 0;
  }
  
  /* ─── Stats Card ───────────────────────────────────────────────── */
  .stats-card {
    background: #fff;
    box-shadow: 0 15px 25px rgba(0,0,0,0.06);
    border-radius: 10px;
    padding: 1.5rem;
    display: flex;
    flex-direction: column;
    gap: 1rem;
  }
  .stats-card__header {
    display: flex;
    align-items: center;
    gap: 1rem;
  }
  .stats-card__icon {
    width: 72px;
    height: 72px;
    background: var(--clr-primary);
    border-radius: 50%;
    position: relative;
  }
  /*  replace with an <img>  */
  .stats-card__icon::after {
    content: '';
    position: absolute;
    top: 16px;
    left: 16px;
    width: 24px;
    height: 26px;
    background: #fff;
    border-radius: 4px;
  }
  .stats-card__number {
    font-family: 'Inter', sans-serif;
    font-size: 1.40625rem;  
    font-weight: 700;
    color: #183B56;
    margin: 0;
  }
  .stats-card__label {
    font-family: 'Circular Std', sans-serif;
    font-size: 1.095rem;    
    font-weight: 450;
    color: #5A7184;
    margin: 0;
  }
  
  /* Avatar group */
  .stats-card__avatars {
    display: flex;
    gap: 0.5rem;
  }
  .stats-card__avatars img {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    border: 0.5px solid #fff;
    object-fit: cover;
  }
  /* NEW STYLES FOR WHAT WE DO SECTION A CORRECTION OF THE FIRST ONES ABOVE  */

/* two‑col layout */
.what-we-do__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  gap: 2rem;
  margin-bottom: 4rem;
}

/* Left side text */
.what-we-do__text h3 {
  font-family: 'Outfit', sans-serif;
  font-size: 3.0625rem;
  font-weight: 600;
  color: var(--clr-primary);
  margin-bottom: 1rem;
}
.what-we-do__text p {
  font-family: 'Montserrat', sans-serif;
  font-size: 1rem;
  color: #828C8B;
  line-height: 1.5;
}

/* Right side wrapper must be position: relative */
.what-we-do__media {
  position: relative;
}
.what-we-do__media img {
  width: 100%;
  border-radius: 0.5rem;
  display: block;
}

/* Common overlay card style */
.stats-overlay {
  position: absolute;
  background: #fff;
  box-shadow: 0 15px 25px rgba(0,0,0,0.06);
  border-radius: 8px;
  padding: 0.75rem 1rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* Reviews card: top‑left corner */
.stats--reviews {
  top: 1rem;
  left: 1rem;
}

/* Projects card: mid‑right */
.stats--projects {
  bottom: 1rem;
  right: 1rem;
  flex-direction: column;
  text-align: center;
}

/* Card text */
.stats__number {
  font-family: 'Inter', sans-serif;
  font-size: 1.125rem;
  font-weight: 700;
  color: var(--clr-primary);
  margin: 0;
}
.stats__label {
  font-family: var(--ff-dm);
  font-size: 0.875rem;
  color: #596475;
  margin: 0;
}

/* Icon tweaks */
.stats__icon {
  width: 1.5rem;
  height: auto;
}


  /* ─── Since 2012 Section ─────────────────────────────────────────── */
.since {
    padding: 4rem 0;  
    position: relative;
    padding-bottom: 12rem;       
  }
  .since__inner {
    position: relative;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    flex-wrap: wrap;
    gap: 2rem;                 
  }
  
  /* Text block */
  .since__text {
    z-index: 2;
    text-align: center;
    max-width: 611px;
  }
  .since__title {
    font-family: 'Outfit', sans-serif;
    font-size: clamp(2.5rem, 6vw, 3.5rem); 
    font-weight: 600;
    line-height: 1.1;         
    color: var(--clr-primary);
    margin-bottom: 1rem;
  }
  .since__subtitle {
    font-family: var(--ff-dm);
    font-size: 1rem;          
    font-weight: 400;
    line-height: 1.5;         
    color: var(--clr-text);
    margin: 0;
  }
  
  /* Blue curved background */
  .since__bg {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    max-width: 1302px;
    height: 391px;
    background: var(--clr-primary);
    border-bottom-left-radius: 72px;
    border-bottom-right-radius: 73px;
    z-index: 1;
  }
  
  /* Illustration */
  .since__image {
    z-index: 2;
    flex: 0 0 auto;
  }
  .since__image img {
    transform: translateY(-5.5rem);
    position: relative;
    z-index: 2;
  }
  
  @media (max-width: 768px) {
  .vision-mission {
    position: static;
    transform: none;
    margin-top: 2rem;  /* give it breathing room under the image */
  }
  .vision-mission__grid {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
}

  /* ─── Responsive tweaks ──────────────────────────────────────────── */
  @media (max-width: 992px) {
    .since__inner {
      flex-direction: column;
      align-items: center;
    }
    .since__image img {
      width: 100%;
      max-width: 600px;         
      margin-top: -2.5rem;
    }
    .since__bg {
      height: 300px;            
    }
  }

.vision-mission {
  position: absolute;
  bottom: 0rem;              
  left: 50%;              
  transform: translateX(-50%);
  /* width: 100%; */
  max-width: 1200px;     
  padding: 0 1rem;        
  z-index: 1;             
}

/* Grid: 2 columns on desktop, 1 on mobile */
.vision-mission__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 1.5rem;
}

/* Common card styles */
.card {
  background: #fff;
  box-shadow: 0 15px 25px rgba(0, 0, 0, 0.06);
  border-radius: 8px;
  outline: 1px solid #6DD130;
  outline-offset: -1px;
  padding: 2rem 0.75rem 0.75rem; 
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0rem; 
}

/* Card title */
.card__title {
  font-family: 'Outfit', sans-serif;
  font-size: 2rem;   
  font-weight: 700;
  color: var(--clr-primary);
  line-height: 1;     
  text-align: right;
  width: 100%;
  margin: 0;
}

/* Decorative elements */
.card__decor {
  /* default size can be overridden via modifiers */
}
.card--vision .card__decor--line-vertical {
  width: 260px;
  height: 50px;
  background: var(--clr-primary);
}
.card--vision .card__decor--gradient-bar {
  width: 298px;
  height: 106px;
  background: linear-gradient(268deg, #ffffff 0%, #A9E48B 100%);
}

.card--mission .card__decor--circle-gray {
  width: 86.81px;
  height: 86.81px;
  background: #D9D9D9;
  border-radius: 50%;
}
.card--mission .card__decor--circle-green {
  width: 72.34px;
  height: 72.34px;
  background: var(--clr-accent);
  border-radius: 50%;
}

/* Card text */
.card__text {
  font-family: var(--ff-dm);
  font-size: 1rem;  
  font-weight: 400;
  line-height: 1.5;    
  color: #596475;
  text-align: center;
  margin: 0;
}
.card--vision {
  max-width: 320px;
  background: white;
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.1);
  padding: 1.5rem;
  display: flex;
  flex-direction: column;
  align-items: center;  /* centers all child blocks horizontally */  
}

/* Header: image + bar in one row */
.card__header {
  display: flex;                   /* enable flex layout */  
  align-items: center;             /* vertical centering of children */  
  gap: 0.75rem;                    /* space between image & bar */  
  margin-bottom: 1rem;
}

/* SVG image sizing */
.card__decor-svg {
  width: 60px;
  height: auto;
}

/* Gradient bar beside image */
.card__gradient-bar {
  flex: 1;                         /* take up remaining horizontal space */ 
  height: 4px;
  background: linear-gradient(
    to right,
    white 0%,
    #A9E48B 100%
  );                                /* Figma gradient stops */ 
  border-radius: 2px;
}

/* Title centered in its own line */
.card__title {
  font-size: 1.25rem;
  font-weight: 600;
  text-align: center;  
  margin: 0 0 1rem;
}

/* Body text */
.card__text {
  font-size: 1rem;
  line-height: 1.6;
  text-align: center;
  margin: 0;
}
/* ─── Services Header (title, subheading, subtitle) ─────────────── */
.services__header {
    display: flex;
    flex-direction: column;
    align-items: center;    
    gap: 1rem;              
    margin-bottom: 2.5rem;  
  }
  

  .section-title {
    display: flex;
    align-items: center;
    gap: 30px;             /* you can override per‐section */
  }
  
  /* the little horizontal bar */
  /* .section-title__line {
    flex: 1;
    height: 1.5px;
    background: var(--clr-accent);
  } */
  

  .services__title {
    /* display: flex; */
    /* align-items: center; */
    /* justify-content: center; */
    gap: 53px;              
    margin: 4rem 0 2rem;
  }
  .services__title .section-title__line {
    flex: 1;
    height: 1.5px;
    background: var(--clr-accent);
  }
  
  /* Sub‑heading “What We Do” */
  .services__subheading {
    font-family: 'Outfit', sans-serif;
    font-size: 3.5rem;       
    font-weight: 600;
    line-height: 1.15;       
    letter-spacing: 0.16rem;  
    color: var(--clr-primary);
    margin: 0;                
  }
  
  /* Subtitle paragraph */
  .services__subtitle {
    font-family: var(--ff-dm);
    font-size: 1rem;          
    font-weight: 400;
    line-height: 1.5;         
    color: #596475;
    text-align: center;
    max-width: 800px;
    margin: 0;                
  }
  

  /* ─── Services Grid ─────────────────────────────────────────────── */
  .services__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
  }
  
  @media (max-width: 992px) {
    /* Two columns on tablets */
    .services__grid {
      grid-template-columns: repeat(2, 1fr);
    }
  }
  
  @media (max-width: 600px) {
    /* One column on phones */
    .services__grid {
      grid-template-columns: 1fr;
    }
  }
  
  
  /* ─── Individual Card ──────────────────────────────────────────── */
  .service-card {
    display: flex;
    flex-direction: column;
    background: #fff;
    box-shadow: 0 15px 25px rgba(0,0,0,0.06);
    border-radius: 25px;
    overflow: hidden;
  }
  
  /* Top colored panel */
  .service-card__top {
    position: relative;
    background: #225A75;
    border-top-left-radius: 25px;
    border-top-right-radius: 25px;
    border: 1px solid #6DD130;
    height: 235px;            
    display: flex;
    align-items: center;
    justify-content: center;
  }
  
  /* Image inside the top panel */
  .service-card__image {
    width: 176px;
    height: 119px;
    object-fit: cover;
  }
  
  /* Body of the card */
  .service-card__body {
    padding: 30px 20px;
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
  }
  
  /* Title */
  .service-card__title {
    font-family: 'Outfit', sans-serif;
    font-size: 1.4375rem;     
    font-weight: 600;
    line-height: 1.43;       
    color: #59B12D;
    text-align: center;
    margin: 0;
  }
  
  /* Description */
  .service-card__desc {
    font-family: 'Outfit', sans-serif;
    font-size: 0.875rem;     
    line-height: 1.71;        
    color: #111111;
    text-align: center;
    margin: 0;
  }
  
  /* CTA Button */
  .btn--service {
    display: inline-block;
    padding: 0.75rem 2rem;     
    background: #59B12D;
    border-radius: 8px;
    font-family: 'Inter', sans-serif;
    font-size: 1.125rem;       
    font-weight: 500;
    color: #fff;
    text-decoration: none;
    margin-top: auto;          
  }
  

  /* ─── Portfolio Section ─────────────────────────────────────────── */
.portfolio {
    padding: 4rem 0;
  }
  
  /* Heading */
  .portfolio__heading {
    font-family: 'Outfit', sans-serif;
    font-size: 3.5rem;         
    font-weight: 600;
    line-height: 1.15;          
    letter-spacing: 0.16rem;   
    color: #225A75;
    text-align: center;
    margin: 0 0 2rem;
  }
  
  /* Subtitle/Description */
  .portfolio__subtitle {
    font-family: 'DM Sans', sans-serif;
    font-size: 1rem;           
    font-weight: 400;
    line-height: 1.5;          
    color: #596475;
    text-align: center;
    max-width: 800px;
    margin: 0.5rem auto 2rem;
    word-wrap: break-word;
  }
  
  /* Grid Wrapper with Background */
  .portfolio__grid-wrapper {
    background-color: #EBF4E6;
    padding: 4rem;
  }
  
  /* Grid Layout */
  /* .portfolio__grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem;
    height: auto;
  }
  
  /* Responsive Breakpoints */
  /* @media (max-width: 992px) {
    .portfolio__grid {
      grid-template-columns: repeat(2, 1fr);
    }
  }
  
  @media (max-width: 600px) {
    .portfolio__grid {
      grid-template-columns: 1fr;
    }
  } */
  /* CARDS FOR PORTFOLIO */
  .portfolio-card {
    /* width: 100%; */
    display: flex;
    flex-direction: column;
    max-width: 384px;
    border-radius: 8px;
    margin: auto;
  }
  
  .portfolio-card__image {
    width: 100%;
    /* height: 299px; */
    object-fit: cover;
    border-radius: 8px;
    border: 2px solid #5F9724;
    flex-shrink: 0;
  }
  
  .portfolio-card__content {
    position: relative;
    margin-top: -40px;
    left: 50%;
    transform: translateX(-50%);
    width: 90%;
    height: auto;
    background: white;
    padding: 16px;
    border-radius: 8px;
    box-shadow: 0px 8px 16px rgba(171, 190, 209, 0.4);
    display: flex;
    flex-direction: column;
    gap: 16px;
    z-index: 10;
    }
  
  .portfolio-card__title {
    color: #4CAF4F;
    font-size: 20px;
    font-weight: 600;
    text-align: center;
    font-family: 'Inter', sans-serif;
  }
  
  .portfolio-card__description {
    color: #717171;
    font-size: 12px;
    font-weight: 500;
    line-height: 1.5;
    font-family: 'Inter', sans-serif;
  }
  
  .portfolio-card__link {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    font-size: 20px;
    font-weight: 600;
    color: #225A75;
    font-family: 'Inter', sans-serif;
    cursor: pointer;
  }
  
  .portfolio-card__arrow {
    font-size: 24px;
    transition: transform 0.3s;
  }
  
  .portfolio-card__link:hover .portfolio-card__arrow {
    transform: translateX(5px);
  }
  
  .portfolio-card__button {
    background: #225A75;
    color: white;
    padding: 12px 16px;
    text-align: center;
    border-radius: 8px;
    font-size: 20px;
    font-weight: 600;
    font-family: 'Inter', sans-serif;
    cursor: pointer;
  }
  
  /* .portfolio__grid { */
  /* display: grid; */
  /* grid-template-columns: repeat(3, 1fr); */
  /* gap: 2rem; */
  /* height: 1392px; */
/* } */
  
/* desktop: 3 columns */
.portfolio__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
}
.portfolio__grid {
  grid-auto-rows: auto;
}

/* tablet: 2 columns */
@media (max-width: 992px) {
  .portfolio__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* phone: 1 column */
@media (max-width: 480px) {
  .portfolio__grid {
    grid-template-columns: 1fr;
  }
  .portfolio__grid-wrapper {
    padding: 2rem;
  }
  .portfolio-card__content {
    position: static;
    transform: none;
    margin-top: 1rem;
  }
}


/* ─── Stats Overview Section ─────────────────────────────────────── */
.stats-overview {
    padding: 4rem 0;
    background: #f9fafc;
  }
  .stats-overview__inner {
    max-width: 1200px;
    margin: 0 auto;
  }
  .stats-overview__grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 2rem;
  }
  
  /* ─── Individual Card ───────────────────────────────────────────── */
  .stats-overview__card {
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 15px 25px rgba(0,0,0,0.06);
    padding: 2rem 1.5rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    position: relative;
  }
  
  /* Icon placeholder; swap with actual SVG image */
  .stats-overview__icon {
    width: 80px;
    height: 80px;
    margin-bottom: 1.5rem;
    border-radius: 50%;
    background-size: cover;
    background-position: center;
  }
  /* Test colors  make sure you remeber to change with images */
  .stats-overview__icon--partners    { background: #59b12d; }
  .stats-overview__icon--completed   { background: #225a75; }
  .stats-overview__icon--experience  { background: #AEC9DE; }
  .stats-overview__icon--support     { background: radial-gradient(ellipse 150% 120% at 8% 0%, rgba(255,255,255,0.36) 0%, transparent 100%); }
  
  /* Numbers & Labels */
  .stats-overview__number {
    font-family: var(--ff-dm);
    font-size: 2.5rem;
    font-weight: 600;
    color: var(--clr-primary);
    line-height: 1;
  }
  .stats-overview__plus {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--clr-accent);
  }
  .stats-overview__label {
    margin-top: 0.5rem;
    font-family: var(--ff-dm);
    font-size: 0.875rem;
    text-transform: uppercase;
    letter-spacing: 1.2px;
    color: var(--clr-accent);
  }
  
  /* Optional CTA on the fourth card */
  .stats-overview__card--support {
    padding-bottom: 3.5rem; /* extra for button */
  }
  .stats-overview__cta {
    position: absolute;
    bottom: 1.5rem;
    background: var(--clr-accent);
    color: #fff;
    padding: 0.5rem 1rem;
    border-radius: 6px;
    text-decoration: none;
    font-family: var(--ff-dm);
    font-weight: 500;
  }
  
  @media (max-width: 600px) {
    .stats-overview__card {
      padding: 1.5rem 1rem;
    }
  }


/* ─── Our Edge Section ───────────────────────────────────────────── */
.our-edge {
    padding: 3rem 0;
  }
  
  .our-edge__inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2rem;
  }
  
  /* Title with lines */
  .our-edge__title-wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 2rem;
    width: 100%;
  }
  
  .our-edge__line {
    flex: 1;
    height: 0;
    outline: 1.5px solid var(--clr-accent);
    outline-offset: -0.75px;
  }
  
  .our-edge__title {
    font-family: var(--ff-outfit);
    font-size: 2.125rem; 
    font-weight: 600;
    line-height: 1.5;
    letter-spacing: 0.16rem;
    color: var(--clr-accent);
    white-space: nowrap;
    margin: 0;
  }
  
  /* Subtitle: “Why Choose Us” */
  .our-edge__subtitle {
    font-family: var(--ff-outfit);
    font-size: 3.5rem;
    font-weight: 600;
    line-height: 1;
    color: var(--clr-primary); /* #225A75 */
    text-align: center;
    margin: 1.5rem 0 1rem;
  }
  
  /* Description paragraph */
  .our-edge__description {
    font-family: var(--ff-dm);
    font-size: 1rem; 
    font-weight: 400;
    line-height: 1.5; 
    color: #596475;
    text-align: center;
    max-width: 800px;
    margin: 0 auto 2rem;
  }
  
  /* Responsive adjustments */
  @media (max-width: 600px) {
    .our-edge__title-wrapper {
      flex-direction: column;
      gap: 1rem;
    }
  
    .our-edge__line {
      width: 60%;
    }
  }

  /* ─── Why Choose Us Cards Section ────────────────────────────────── */
.why-choose-us-cards {
    padding: 4rem 0;
  }
  
  .why-choose-us-cards__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
  }
  
  @media (max-width: 992px) {
    .why-choose-us-cards__grid {
      grid-template-columns: repeat(2, 1fr);
    }
  }
  
  @media (max-width: 600px) {
    .why-choose-us-cards__grid {
      grid-template-columns: 1fr;
    }
  }
  
  /* ─── Individual Card ───────────────────────────────────────────── */
  .why-choose-us-card {
    background: #fff;
    box-shadow: 0 4px 6px rgba(0,0,0,0.1);
    border-radius: 8px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
  }
  
  .why-choose-us-card__img {
    width: 100%;
    height: auto;
    object-fit: cover;
    border-top-left-radius: 8px;
    border-top-right-radius: 8px;
  }
  
  .why-choose-us-card__title {
    font-family: var(--ff-outfit);
    font-size: 2.25rem;  
    color: var(--clr-accent);
    text-transform: capitalize;
    margin: 1.5rem 1rem 0.5rem;
  }
  
  .why-choose-us-card__text {
    font-family: var(--ff-outfit);
    font-size: 1rem;
    color: #596475;
    line-height: 1.5;
    margin: 0 1rem 1.5rem;
    flex-grow: 1;
  }
  
  .why-choose-us-card__separator {
    height: 1px;
    background: var(--clr-border);
    margin: 0 1rem;
  }
  
  .why-choose-us-card__link {
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--ff-dm);
    font-size: 0.875rem;
    color: var(--clr-primary);
    text-transform: uppercase;
    letter-spacing: 0.7px;
    padding: 1rem;
    text-decoration: none;
  }
  
  .why-choose-us-card__arrow {
    display: inline-block;
    margin-left: 0.5rem;
    border: solid var(--clr-primary);
    border-width: 0 0 0 1px;
    padding-left: 0.5rem;
    transform: translateY(1px);
  }
  
  

  /* ─── Our Clients Section ─────────────────────────────────────────── */
.our-clients {
    padding: 4rem 0;
  }
  
  .our-clients__inner {
    display: flex;
    flex-direction: column;
    gap: 2.5rem;
    align-items: center;
  }
  
  /* Title + lines */
  .our-clients__title-wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 3rem;
    width: 100%;
  }
  .our-clients__line {
    flex: 1;
    height: 0;
    outline: 1.5px solid var(--clr-accent);
    outline-offset: -0.75px;
  }
  .our-clients__title {
    font-family: var(--ff-outfit);
    font-size: 2.125rem;
    font-weight: 600;
    letter-spacing: 0.16rem;
    color: var(--clr-accent);
    white-space: nowrap;
    margin: 0;
  }
  
  /* Two-column layout */
  .our-clients__content {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2rem;
    align-items: start;
    width: 100%;
  }
  
  @media (max-width: 768px) {
    .our-clients__content {
      grid-template-columns: 1fr;
    }
  }
  
  /* Left card (logo/image) */
  .client-logo-card {
    background: #fff;
    box-shadow: 0 15px 25px rgba(0,0,0,0.06);
    border-radius: 8px;
    outline: 1px solid #D8D8D8;
    overflow: hidden;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 2rem;
  }
  .client-logo-card__img {
    max-width: 100%;
    height: auto;
  }
  
  /* Right testimonial */
  .client-testimonial {
    display: flex;
    flex-direction: column;
    gap: 1rem;
  }
  .client-testimonial__headline {
    font-family: var(--ff-outfit);
    font-size: 2.8125rem; 
    line-height: 1.2;
    letter-spacing: 0.16rem;
    color: #596475;
    margin: 0;
  }
  .client-testimonial__role {
    font-family: var(--ff-outfit);
    font-size: 0.875rem;
    text-transform: uppercase;
    letter-spacing: 1.2px;
    color: #59B12D;
    margin: 0;
  }
  .client-testimonial__quote {
    font-family: var(--ff-dm);
    font-size: 1.25rem; 
    font-style: italic;
    line-height: 1.4;
    color: #596475;
    margin: 0;
  }

  
  /* ─── Footer ──────────────────────────────────────────────────────── */
.site-footer {
    background: #225A75;
    color: #fff;
    padding: 3rem 0;
    font-family: var(--ff-outfit);
  }
  .site-footer__inner {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 2rem;
    margin-bottom: 2rem;
  }
  .site-footer__col {
    display: flex;
    flex-direction: column;
    gap: 1rem;
  }
  .site-footer__heading {
    font-size: 1.125rem; 
    font-weight: 700;
    color: var(--clr-accent);
    margin: 0;
  }
  .site-footer__text {
    font-size: 0.875rem;
    line-height: 1.4;
    margin: 0;
  }
  .site-footer__links {
    list-style: none;
    padding: 0;
    margin: 0;
  }
  .site-footer__links li {
    margin-bottom: 0.5rem;
  }
  .site-footer__links a {
    color: #fff;
    text-decoration: none;
    font-size: 0.875rem;
  }
  .site-footer__links a:hover {
    text-decoration: underline;
  }
  .site-footer__bottom {
    text-align: center;
    border-top: 1px solid rgba(255,255,255,0.3);
    padding-top: 1rem;
    font-size: 0.75rem; 
  }
  
  /* Responsive */
  @media (max-width: 600px) {
    .site-footer__inner {
      grid-template-columns: 1fr;
    }
  }
  

  /* WHY US Section Styling */
.why-us {
  padding: 4rem 0;
}

.why-us__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4rem;
  align-items: center;
}

.why-us__images {
  position: relative;
  max-width: 600px;
}

.why-us__main-img {
  width: 100%;
  height: auto;
  border-radius: 16px;
  box-shadow: 0 25px 50px rgba(0,0,0,0.1);
}

.why-us__number-img {
  position: absolute;
  bottom: -30px;
  left: -30px;
  width: 150px;
  height: auto;
}

.why-us__content {
  padding-left: 2rem;
}

.why-us__title {
  font-family: 'Outfit', sans-serif;
  font-size: 3.5rem;
  color: var(--clr-primary);
  margin-bottom: 1rem;
}

.why-us__subtitle {
  font-family: 'Outfit', sans-serif;
  font-size: 2rem;
  color: var(--clr-accent);
  margin-bottom: 2rem;
}

.why-us__features {
  margin-bottom: 2rem;
}

.why-us__feature-item {
  font-family: 'DM Sans', sans-serif;
  font-size: 1.1rem;
  color: #596475;
  margin-bottom: 1rem;
  padding-left: 1.5rem;
  position: relative;
}

.why-us__feature-item::before {
  content: "✓";
  color: var(--clr-accent);
  position: absolute;
  left: 0;
  font-weight: bold;
}

.why-us__cta {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.why-us__phone {
  font-family: 'Outfit', sans-serif;
  display: flex;
  align-items: center;
  gap: 1rem;
}

.why-us__phone span {
  color: #596475;
}

.why-us__phone a {
  color: var(--clr-accent);
  text-decoration: none;
  font-weight: 600;
}

/* Responsive Design */
@media (max-width: 768px) {
  .why-us__grid {
      grid-template-columns: 1fr;
      gap: 2rem;
  }
  
  .why-us__content {
      padding-left: 0;
      text-align: center;
  }
  
  .why-us__number-img {
      left: 50%;
      transform: translateX(-50%);
  }
  
  .why-us__feature-item {
      text-align: left;
  }
  
  .why-us__phone {
      flex-direction: column;
  }
}

/* Stats Section Styling */
.stats-section {
  padding: 4rem 0;
}

.stats-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2rem;
}

.stat-card {
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 15px 25px rgba(0,0,0,0.06);
  padding: 2rem;
  transition: transform 0.3s ease;
}

.stat-card:hover {
  transform: translateY(-5px);
}

.stat-content {
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.stat-numbers {
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 0.25rem;
}

.stat-figure {
  font-family: 'Outfit', sans-serif;
  font-size: 3rem;
  font-weight: 700;
  color: var(--clr-primary);
  line-height: 1;
}

.stat-plus {
  font-family: 'Outfit', sans-serif;
  font-size: 1.5rem;
  color: var(--clr-accent);
  position: relative;
  top: -0.5rem;
}

.stat-label {
  font-family: 'DM Sans', sans-serif;
  font-size: 1.1rem;
  font-weight: 600;
  color: #596475;
  line-height: 1.3;
  margin: 0;
}

.stat-card--highlight {
  background: var(--clr-primary);
}

.stat-card--highlight .stat-figure,
.stat-card--highlight .stat-label {
  color: white;
}

.stat-cta {
  display: inline-block;
  background: var(--clr-accent);
  color: white !important;
  padding: 0.75rem 1.5rem;
  border-radius: 8px;
  text-decoration: none;
  font-family: 'Outfit', sans-serif;
  font-weight: 600;
  margin-top: 1rem;
  transition: all 0.3s ease;
}

.stat-cta:hover {
  background: #4d9a25;
  transform: translateY(-2px);
}

/* Responsive Design */
@media (max-width: 992px) {
  .stats-grid {
      grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 576px) {
  .stats-grid {
      grid-template-columns: 1fr;
  }
  
  .stat-figure {
      font-size: 2.5rem;
  }
  
  .stat-label {
      font-size: 1rem;
  }
}


/* OUR Team Section Styling */
.team-section {
  padding: 4rem 0;
  text-align: center;
}

.section-title {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  margin-bottom: 2rem;
}

.section-title__line {
  flex: 0 0 60px;
  height: 2px;
  background: var(--clr-accent);
}

.section-title__text {
  font-family: 'Outfit', sans-serif;
  font-size: 2rem;
  color: var(--clr-primary);
  white-space: nowrap;
  padding: 0 1rem;
}

.team-description {
  color: #596475;
  max-width: 800px;
  margin: 0 auto 3rem;
  line-height: 1.6;
  font-size: 1.1rem;
}

.team-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 2rem;
  margin-bottom: 4rem;
}

.team-member {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 1.5rem;
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 5px 15px rgba(0,0,0,0.1);
  transition: transform 0.3s ease;
}

.team-member:hover {
  transform: translateY(-5px);
}

.member-photo {
  width: 150px;
  height: 150px;
  border-radius: 50%;
  object-fit: cover;
  margin-bottom: 1.5rem;
  border: 3px solid var(--clr-accent);
}

.member-name {
  font-family: 'Outfit', sans-serif;
  color: var(--clr-primary);
  margin: 0 0 0.5rem;
  font-size: 1.25rem;
}

.member-role {
  font-family: 'DM Sans', sans-serif;
  color: #596475;
  margin: 0;
  font-size: 0.95rem;
}

.help-card {
  background: var(--clr-primary);
  padding: 2rem;
  border-radius: 8px;
  color: white;
  max-width: 500px;
  margin: 0 auto;
}

.help-title {
  font-family: 'Outfit', sans-serif;
  font-size: 1.5rem;
  margin: 0 0 1.5rem;
  position: relative;
}

.help-title::after {
  content: '';
  display: block;
  width: 50px;
  height: 2px;
  background: var(--clr-accent);
  margin: 1rem auto 0;
}

.help-options {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.help-option {
  display: block;
  padding: 1rem;
  background: rgba(255,255,255,0.1);
  color: white;
  text-decoration: none;
  border-radius: 6px;
  transition: all 0.3s ease;
}

.help-option:hover {
  background: var(--clr-accent);
  transform: translateY(-2px);
}

/* Responsive Design */
@media (max-width: 768px) {
  .section-title__text {
      font-size: 1.75rem;
  }
  
  .team-description {
      font-size: 1rem;
      padding: 0 1rem;
  }
  
  .team-grid {
      grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 480px) {
  .team-grid {
      grid-template-columns: 1fr;
  }
  
  .member-photo {
      width: 120px;
      height: 120px;
  }
  
  .help-card {
      padding: 1.5rem;
  }
}

/* Portfolio Section Styling */
.portfolio {
  padding: 4rem 0;
}

.portfolio-description-bg {
  background: #f8fafc; /* Use your preferred color */
  padding: 4rem 0 2rem;
}

.portfolio-description {
  max-width: 800px;
  margin: 0 auto 3rem;
  text-align: center;
  color: #596475;
  line-height: 1.6;
  font-size: 1.1rem;
}

/* .portfolio-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 2rem;
} */
.portfolio-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr); 
  gap: 2rem;
  max-width: 1440px;
  margin: 0 auto;
}
.project-card {
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 10px 20px rgba(0,0,0,0.08);
  overflow: hidden;
  transition: transform 0.3s ease;
  display: flex;
  flex-direction: column;
}

.project-card:hover {
  transform: translateY(-5px);
}

.project-image {
  width: 100%;
  height: 200px;
  object-fit: cover;
  border-bottom: 3px solid var(--clr-accent);
}

.project-content {
  padding: 1.5rem;
}

.project-title {
  font-family: 'Outfit', sans-serif;
  color: var(--clr-primary);
  margin: 0 0 1rem;
  font-size: 1.5rem;
}

.project-description {
  color: #596475;
  font-size: 0.95rem;
  line-height: 1.6;
  margin-bottom: 1.5rem;
}

.project-actions {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.project-link {
  color: var(--clr-accent);
  text-decoration: none;
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  transition: color 0.3s ease;
}

.project-link:hover {
  color: var(--clr-primary);
}

.arrow {
  transition: transform 0.3s ease;
}

.project-link:hover .arrow {
  transform: translateX(3px);
}

.btn--demo {
  background: var(--clr-primary);
  color: white !important;
  padding: 0.5rem 1.5rem;
  border-radius: 6px;
  text-decoration: none;
  transition: background 0.3s ease;
}

.btn--demo:hover {
  background: #1a465c;
}

/* Responsive Design */
@media (max-width: 1200px) {
  .portfolio-grid {
      grid-template-columns: repeat(3, 1fr);
  }
}

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

@media (max-width: 768px) {
  .portfolio-grid {
      grid-template-columns: 1fr;
  }
  
  .project-actions {
      flex-direction: column;
      align-items: flex-start;
      gap: 1rem;
  }
}

/* Contact Page Styling */
.contact-main {
  padding: 4rem 0;
}

.contact-wrapper {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4rem;
  margin-bottom: 4rem;
}

.contact-form {
  padding-right: 2rem;
}

.contact-subtitle {
  font-family: 'Outfit', sans-serif;
  color: var(--clr-primary);
  font-size: 2rem;
  margin-bottom: 1.5rem;
}

.contact-description {
  color: #596475;
  line-height: 1.6;
  margin-bottom: 2rem;
}

.form-group {
  display: grid;
  gap: 1rem;
  margin-bottom: 1.5rem;
}

.form-group input,
.form-group select,
.form-group textarea {
  width: 100%;
  padding: 0.75rem;
  border: 1px solid #ddd;
  border-radius: 6px;
  font-family: 'DM Sans', sans-serif;
}

.form-group textarea {
  resize: vertical;
}

.contact-info {
  background: #f8fafc;
  padding: 2rem;
  border-radius: 8px;
}

.info-title {
  color: var(--clr-primary);
  font-family: 'Outfit', sans-serif;
  margin-bottom: 2rem;
}

.info-group {
  margin-bottom: 2rem;
}

.info-group h4 {
  color: var(--clr-accent);
  margin-bottom: 1rem;
}

.contact-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.contact-list li {
  margin-bottom: 0.75rem;
  color: #596475;
}

.contact-list a {
  color: var(--clr-primary);
  text-decoration: none;
}

.social-links {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}

.social-links a {
  color: var(--clr-primary);
  text-decoration: none;
  padding: 0.5rem 1rem;
  border: 1px solid var(--clr-primary);
  border-radius: 4px;
  transition: all 0.3s ease;
}

.social-links a:hover {
  background: var(--clr-primary);
  color: white;
}

.contact-map {
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 10px 20px rgba(0,0,0,0.1);
}

/* Responsive Design */
@media (max-width: 992px) {
  .contact-wrapper {
      grid-template-columns: 1fr;
      gap: 2rem;
  }
  
  .contact-form {
      padding-right: 0;
  }
}

@media (max-width: 768px) {
  .contact-subtitle {
      font-size: 1.5rem;
  }
  
  .form-group {
      grid-template-columns: 1fr;
  }
}

.why-us__inner {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 2rem;
  padding: 4rem 0;
}

.why-us__title {
  margin: 6rem 0 0;   
  font-size: 3.5rem;   
  line-height: 1.1;
}

.why-us__media {
  flex: 1;
  display: flex;
  justify-content: flex-end;  
  margin-top: -1rem;         
  margin-left: 3rem;         
}
 
.why-us__image-wrapper {
  position: relative;
  display: inline-block;
  padding: 1rem;
}

.why-us__image {
  display: block;
  max-width: 100%;
  height: auto;
}

.stat-block {
  position: absolute;
  background: var(--clr-accent);
  left: var(--x);
  top: var(--y);
}

.stat-block--large  { width: 39px; height: 33px; }
.stat-block--medium { width: 17px; height: 13px; }
.stat-block--small  { width:  9px; height:  7px; }

.stat-block--dark { background: var(--clr-primary); }
