.site-header {
  position: sticky;
  top: 0;
  z-index: 1000;
  background: #fff;
  /* box-shadow: 0 4px 8px rgba(0, 0, 0, 0.04); */
  /* border-bottom: 2px solid #E9ECEF; */
  width: 100%;
}

.header-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0.6rem 2rem;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 1rem;
}

.logo img {
  height: 50px;
  /* was 40px */
  max-height: 50px;
  width: auto;
  display: block;
  object-fit: contain;
}



/* Centering nav by making it in center column */
.main-nav {
  justify-self: center;
}

/* Navigation links */
.nav-links {
  display: flex;
  list-style: none;
  gap: 2rem;
  margin: 0;
  padding: 0;
}

.nav-links li a {
  text-decoration: none;
  color: #212529;
  font-weight: 600;
  /* Match CTA */
  transition: all 0.3s ease;
  padding: 0.6rem 1.4rem;
  /* Match CTA size */
  border-radius: 50px;
  /* Match CTA shape */
  display: inline-flex;
  /* Align center vertically */
  align-items: center;
  line-height: 1;
  /* Avoid vertical spacing issues */
}


.nav-links li a:hover,
.nav-links li.current-menu-item a {
  background-color: #7219A3;
  color: #fff;
}

/* CTA and toggle menu */
.right-controls {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 1rem;
}

/* CTA Button */
.btn-primary {
  background: #7219A3; /* Default */
  color: #fff;
  padding: 0.6rem 1.4rem;
  border-radius: 50px;
  font-weight: 600;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  transition: all 0.3s ease;
  white-space: nowrap;
  border: none;
  box-shadow: none;
  cursor: pointer;
}

/* Hover State */
.btn-primary:hover {
  background: #7219A3;
  box-shadow: 0px 0px 21.18px 0px #DE51F580;
  border: 1.06px solid #1D1D1D;
}

/* Active/Clicked State */
.btn-primary:active {
  background: linear-gradient(90deg, #8a1fc9,  #7B5A8180);
 
  box-shadow: 0px 0px 25px rgba(209, 80, 186, 0.6);
  border: none;
  transform: scale(0.97); /* Press effect */
}


/* Mobile Menu Toggle */
.menu-toggle {
  display: none;
  flex-direction: column;
  gap: 4px;
  cursor: pointer;
  background: #fff;
  border: 1px solid #ccc;
  padding: 10px;
  border-radius: 10px;
}

.menu-toggle span {
  width: 20px;
  height: 2px;
  background-color: #000;
}

/* 📱 Mobiles + 📲 Tablets (up to 1024px) */
@media screen and (max-width: 1024px) {
  .header-container {
    grid-template-columns: 1fr 1fr;
    grid-template-areas:
      "logo menu"
      "nav nav";
    row-gap: 1rem;
  }

  .logo {
    grid-area: logo;
  }

  .right-controls {
    grid-area: menu;
    justify-content: flex-end;
    align-items: center;
  }

  /* ✅ FIXED NAV TOGGLE VISIBILITY */
  #main-nav {
    grid-area: nav;
    justify-self: center;
    width: 100%;
    display: none;
    flex-direction: column;
    align-items: center;
  }

  #main-nav.open {
    display: flex;
  }

  .nav-links {
    flex-direction: column;
    gap: 1rem;
    align-items: center;
    padding: 1rem 0;
  }

  .menu-toggle {
    display: flex;
  }

  .desktop-hide {
    display: block;
    margin-top: 1rem;
  }

  .mobile-hide {
    display: none;
  }

  .cta-button {
    width: 100%;
    text-align: center;
  }
}

/* Default hide mobile CTA */
.desktop-hide {
  display: none;
}




/* HERO SECTION  */
.hero-section {
  position: relative;
  padding: clamp(140px, 22vh, 240px) 20px clamp(110px, 16vh, 200px);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  background: url('../images/eclipse.png') no-repeat center center;
  background-size: contain;
}



.hero-content {
  position: relative;
  z-index: 1;
  max-width: 1500px;
  margin: -60px auto;
}

.gradient-text {
  font-size: 4.6rem;
  font-weight: 350;
  line-height: 1.2;


  background: linear-gradient(90deg,
      #000000 0%,
      #000000 38%,
      #01CFFF 54%,
      #000000 64%,
      rgba(114, 25, 163, 0.9) 30%);

  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent;

}


.hero-content p {
  margin-top: 20px;
  font-size: 1.3rem;
  font-weight: 100;
  /* lighter */
  color: #555;
  line-height: 1.8;
}


.hero-button {
  display: inline-block;
  margin-top: 20px;
  font-weight: 500;
  color: #7219A3;
  text-decoration: none;
  background: none;
  border: none;
  padding: 0;
  font-size: 1rem;
  transition: color 0.3s ease;
}

.hero-button:hover {
  color: #5F4B8B;
  /* Slightly darker purple on hover */
}

/* Vector Arrow */
.vector-arrow {
  display: inline-block;
  margin-left: 6px;
  color: #01CFFF;
  font-size: 1.6rem;
  position: relative;
  top: 1px;
}

.hero-vector {
  position: absolute;
  bottom: -1900px;
  left: 0;
  width: 100%;
  z-index: 0;
  line-height: 0;
}


.hero-vector img {
  display: block;
  width: 100%;
  height: auto;
}


@media (max-width: 499px) {
  .hero-vector {
    bottom: -5000px;   /* adjust based on your design */
  }

  .hero-vector img {
    width: 100%;
    height: auto;
  }
}


@media (min-width: 500px) and (max-width: 765px) {
  .hero-vector {
    display: none !important;
  }
}


/* Hide hero-vector on iPads and tablets */
@media (min-width: 768px) and (max-width: 1024px) {
  .hero-vector {
    display: none !important;
  }/*chnages*/
}

/* @media (min-width: 540px){
  .hero-vector {
    display: none !important;
  }
} */


@media (max-width: 1024px) {
  .gradient-text {
    font-size: 3.5rem;
    line-height: 1.2;
  }

  .hero-content p {
    font-size: 1.15rem;
    line-height: 1.6;
  }

  .hero-button {
    font-size: 0.95rem;
  }

  .vector-arrow {
    font-size: 1.4rem;
  }
}

/* Mobile */
@media (max-width: 768px) {
  .hero-content {
    margin: -20px auto;
    text-align: center;
    /* center text for mobile */
  }

  .gradient-text {
    font-size: 2.5rem;
    line-height: 1.3;
  }

  .hero-content p {
    font-size: 1rem;
    line-height: 1.6;
  }

  .hero-button {
    font-size: 0.9rem;
  }

  .vector-arrow {
    font-size: 1.2rem;
  }
}

/* Small Mobile */
@media (max-width: 480px) {
  .gradient-text {
    font-size: 2rem;
    line-height: 1.3;
  }

  .hero-content p {
    font-size: 0.9rem;
    line-height: 1.5;
  }

  .hero-button {
    font-size: 0.85rem;
  }

  .vector-arrow {
    font-size: 1rem;
  }
}

/* services */
.services-section {
  position: relative;
  /* Crucial to create new stacking context */
  z-index: 1;
  /* Ensures it's in front of z-index: 0 */
  padding: 80px 0;
}


.container {
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 20px;
}

.services-heading-wrapper {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  margin-bottom: 3rem;
}

.services-heading {
  font-size: 40px;
  font-weight: 500;
  line-height: 48px;
  color: #111;
  max-width: 700px;
}

.highlight-purple {
  color: #7E22CE;
}

.highlight-cyan {
  color: #0ea5e9;
}

.services-link {
  display: inline-block;
  /* allow sizing */
  color: #0ea5e9;
  text-decoration: none;
  border-bottom: 2px solid #000000;
  font-weight: 500;
  font-size: 16px;
  padding: 0 8px 4px 8px;
  /* left/right = extra length, bottom = space */
  transition: 0.3s ease;
}

.services-link:hover {
  color: #0369a1;
  border-color: #0369a1;
}

.services-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
}

.service-item {
  padding: 0;
  background: transparent;
  border-left: 4px solid transparent;
  transition: border-color 0.3s ease;
}

.service-item:hover {
  border-left-color: #7E22CE;
}

.service-icon img {
  width: 32px;
  height: 32px;

}

.service-item h3 {
  font-size: 1.5rem;
  font-weight: 600;
  color: #111827;
  margin-bottom: 0.5rem;
}

.service-item p {
  font-size: 0.95rem;
  color: #4B5563;
  line-height: 1.6;
}


@media screen and (max-width: 768px) {
  .services-grid {
    grid-template-columns: 1fr;
  }
}




/* Footer Main Styles */
.footer {
  background: linear-gradient(to right, #ddd, #C06BE6);
  color: #222;
  font-family: 'outfit', sans-serif;
  padding: 40px 20px;
  position: relative;
  z-index: 10;
}

.footer-container {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  max-width: 1200px;
  margin: auto;
}

.footer-left {
  flex: 1;
  min-width: 300px;
}

.footer-logo {
  height: 40px;
  margin-bottom: 20px;
}

.newsletter {
  border-radius: 10px;
}

.newsletter label {
  font-weight: 500;
  font-size: 16px;
  display: block;
  margin-bottom: 8px;
}

.newsletter-input {
  display: flex;
  margin-bottom: 10px;
  border-radius: 10px;
  overflow: hidden;
  /* ensures children follow the radius */
  border: 1px solid #ccc;
  /* optional, gives definition */
}

.newsletter-input input {
  padding: 10px 14px;
  border: none;
  flex: 1;
  outline: none;
  font-size: 14px;
}

.newsletter-input button {
  padding: 10px 20px;
  background-color: #5E00A2;
  color: white;
  border: none;
  font-weight: bold;
  cursor: pointer;
  transition: background 0.3s;
}

.newsletter-input button:hover {
  background-color: #49007d;
}

.email-link {
  display: inline-block;
  margin-top: 6px;
  color: #000;
  text-decoration: underline;
  font-size: 14px;
}

.social-links {
  margin-top: 20px;
}

.social-links p {
  margin-bottom: 10px;
  font-size: 24px;
  color: #130066;
}

.icons a {
  margin-right: 12px;
  font-size: 18px;
  color: #000;
  text-decoration: none;
}


.footer-right {
  display: flex;
  flex: 2;
  justify-content: space-around;
  flex-wrap: wrap;
  gap: 20px;
  margin-top: 30px;
}

.footer-column h4 {
  margin-bottom: 10px;
  font-size: 16px;
  font-weight: bold;
}

.footer-column ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.footer-column ul li {
  margin-bottom: 8px;
}

.footer-column ul li a {
  text-decoration: none;
  color: #FFFFFF;
  font-size: 14px;
  font-weight: 400;
}

.footer-column p {
  color: #FFFFFF;
  font-size: 14px;
  font-weight: 400;
  margin-bottom: 8px;
}

.footer-bottom {
  text-align: center;
  margin-top: 40px;
  font-size: 14px;
  font-size:400;
  color: #000000;
}



/* iPad Mini Footer - Side by Side Layout */
@media (min-width: 768px) and (max-width: 1024px) {

  /* Main container with two columns for Insights and Services */
  .footer-container {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    grid-template-areas:
      "logo logo"
      "insights services"
      "office office"
      "newsletter newsletter"
      "social social" !important;
    gap: 2px !important;
    padding: 5px !important;
  }

  /* Logo styling */
  .footer-left img {
    display: block !important;
    grid-area: logo !important;
    max-width: 90px !important;
    margin-bottom: 5px !important;
  }

  /* Insights section */
  .footer-column:nth-child(1) {
    grid-area: insights !important;
    text-align: left !important;
    margin-right: 5px !important;
  }

  /* Services section */
  .footer-column:nth-child(2) {
    grid-area: services !important;
    text-align: left !important;
    margin-left: 0px !important;
  }

  /* Head Office section */
  .footer-column:nth-child(3) {
    grid-area: office !important;
    text-align: left !important;
    margin-top: 10px !important;
    padding-top: 10px !important;
    border-top: 1px solid #eee !important;
  }

  /* Newsletter section */
  .newsletter {
    grid-area: newsletter !important;
    text-align: left !important;
    margin-top: 15px !important;
  }

  /* Social links section */
  .social-links {
    grid-area: social !important;
    text-align: left !important;
    margin-top: 10px !important;
  }

  /* Further reduce gaps between list items */
  .footer-column ul {
    margin-top: 3px !important;
    padding-left: 0 !important;
  }

  .footer-column li {
    margin-bottom: 3px !important;
    line-height: 1.2 !important;
    font-size: 13px !important;
    list-style: none !important;
  }

  /* Reduce heading margins */
  .footer-column h4 {
    margin-bottom: 5px !important;
    font-size: 15px !important;
    color: #333 !important;
  }

  /* Head office text */
  .footer-column:nth-child(3) p {
    font-size: 13px !important;
    line-height: 1.3 !important;
    margin-top: 3px !important;
    color: #555 !important;
  }

  /* Email input and button styling */
  .newsletter-input {
    display: flex !important;
    gap: 6px !important;
    margin-top: 5px !important;
  }

  .newsletter-input input {
    flex: 1 !important;
    border-radius: 16px !important;
    padding: 6px 10px !important;
    border: 1px solid #ddd !important;
    min-height: 32px !important;
    font-size: 12px !important;
  }

  .newsletter-input button {
    border-radius: 16px !important;
    padding: 6px 12px !important;
    background: linear-gradient(135deg, #6e8efb, #a777e3) !important;
    color: white !important;
    border: none !important;
    cursor: pointer !important;
    font-weight: bold !important;
    min-width: 80px !important;
    min-height: 32px !important;
    font-size: 12px !important;
  }

  /* Email link styling */
  .email-link {
    display: block !important;
    margin-top: 8px !important;
    font-size: 13px !important;
    color: #333 !important;
    text-decoration: none !important;
  }

  /* Social icons styling */
  .social-links .icons {
    display: flex !important;
    gap: 10px !important;
    margin-top: 5px !important;
  }

  .social-links .icons a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 28px !important;
    height: 28px !important;
    background: #f5f5f5 !important;
    border-radius: 50% !important;
    color: #555 !important;
    text-decoration: none !important;
  }

  /* Hide original footer structure */
  .footer-left,
  .footer-right {
    display: contents !important;
  }

  /* Copyright styling */
  .footer-bottom {
    margin-top: 15px !important;
    padding-top: 10px !important;
    border-top: 1px solid #eee !important;
    font-size: 11px !important;
    text-align: center !important;
    color: #777 !important;
  }
}


/* iPad Mini Newsletter Form Adjustments */
@media (min-width: 768px) and (max-width: 1024px) {
  .newsletter-input {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    max-width: 250px !important;
  }

  .newsletter-input input,
  .newsletter-input button {
    width: 100% !important;
    padding: 10px 12px !important;
    border-radius: 20px !important;
    font-size: 14px !important;
    min-height: 40px !important;
    box-sizing: border-box !important;
  }

  .newsletter-input input {
    border: 1px solid #ddd !important;
    text-align: center !important;
  }

  .newsletter-input button {
    background:#7219A3 !important;
    color: white !important;
    border: none !important;
    cursor: pointer !important;
    font-weight: bold !important;
  }


}


/* Increase font size in footer for iPad Mini */
@media (min-width: 768px) and (max-width: 1024px) {
  .footer-container {
    font-size: 16px !important;
  }

  .footer-column h4 {
    font-size: 18px !important;
  }

  .footer-column li,
  .footer-column p,
  .newsletter label,
  .email-link {
    font-size: 16px !important;
  }

  .newsletter-input input,
  .newsletter-input button {
    font-size: 16px !important;
    padding: 12px 15px !important;
  }

  .social-links p {
    font-size: 16px !important;
  }

  .footer-bottom {
    font-size: 14px !important;
  }
}


/* Decrease space between Insights and Services on iPad Mini */
@media (min-width: 768px) and (max-width: 1024px) {
  .footer-container {
    gap: 5px !important;
    /* Reduce overall gap in the grid */
  }

  .footer-column:nth-child(1),
  .footer-column:nth-child(2) {
    margin: 0 !important;
    padding: 0 !important;
  }

  /* Specifically target the space between the two columns */
  .footer-column:nth-child(1) {
    margin-right: 5px !important;
  }

  .footer-column:nth-child(2) {
    margin-left: 5px !important;
  }

  /* Reduce spacing within each section */
  .footer-column ul {
    margin-top: 2px !important;
  }

  .footer-column li {
    margin-bottom: 2px !important;
    line-height: 1.1 !important;
  }

  .footer-column h4 {
    margin-bottom: 3px !important;
  }

  /* Remove horizontal lines in footer */
  .footer-column:nth-child(3) {
    border-top: none !important;
    padding-top: 0 !important;
  }

  .footer-bottom {
    border-top: none !important;
    padding-top: 0 !important;
  }

  /* Remove any other potential horizontal lines */
  .footer-container>* {
    border-top: none !important;
    border-bottom: none !important;
  }

  hr {
    display: none !important;
  }

  /* Change social media icons to black */
  .social-links .icons a {
    color: #000000 !important;
    background: transparent !important;
  }

  .social-links .icons a:hover {
    color: #333333 !important;
  }

  /* Increase Khaas logo size in footer */
  .footer-left img {
    transform: scale(1.2) !important;
    margin-bottom: 0px !important;
  }

  /* Alternative approach if transform doesn't work */
  .footer-left img {
    width: 150px !important;
    height: auto !important;
    max-width: none !important;
  }

  /* Copyright styling */
.footer-bottom {
    margin-top: 30px !important;
    padding-top: 20px !important;
    color: #000000 !important;
    font-weight: 500 !important;
}

}

/* =============================
   OVERRIDES FOR NEWSLETTER PLUGIN
   ============================= */

/* Make plugin form look like your .newsletter-input */
/* Newsletter form wrapper */
/* Kill any plugin-added borders */
.newsletter form,
.newsletter form * {
  border: none !important;
  box-shadow: none !important;  /* sometimes plugins add shadow */
}

.newsletter form {
  display: flex !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  width: 100% !important; /* full width */
  padding: 0 !important;
    margin: 0 auto !important;
    border: 1px solid #ccc !important; /* your border */
  
}

/* Input field */
.newsletter input.tnp-email {
  flex: 2 !important;   /* input grows 2x compared to button */
  padding: 12px 14px !important;
  border: none !important;
  outline: none !important;
  font-size: 14px !important;
  font-family: 'Outfit', sans-serif !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}

/* Submit button */
.newsletter input.tnp-submit {
  flex: 0 !important; 
  padding: 12px 20px !important;
  background-color: #5E00A2 !important;
  color: #fff !important;
  border: none !important;
  font-weight: bold !important;
  cursor: pointer !important;
  transition: background 0.3s !important;
  font-family: 'Outfit', sans-serif !important;
  margin: 0 !important;
  border-radius: 0 !important; /* remove weird rounding */
  box-sizing: border-box !important;
}

/* Optional: hover effect */
.newsletter input.tnp-submit:hover {
  background-color: #46007A !important;
}


/* iPad Mini adjustments (mirror your responsive rules) */
@media (min-width: 768px) and (max-width: 1024px) {
  .newsletter form {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    max-width: 250px !important;
    border: none !important;
  }

  .newsletter input.tnp-email,
  .newsletter input.tnp-submit {
    width: 100% !important;
    padding: 10px 12px !important;
    border-radius: 20px !important;
    font-size: 14px !important;
    min-height: 40px !important;
    box-sizing: border-box !important;
  }

  .newsletter input.tnp-email {
    border: 1px solid #ddd !important;
    text-align: center !important;
  }

  .newsletter input.tnp-submit {
    background: #7219A3 !important;
    color: white !important;
    font-weight: bold !important;
  }
}







/* Blog*/

/* 🔹 FEATURED BLOG POST SECTION */
.blog-featured-post {
  padding: 110px 60px 50px; /* top:80px | left+right:40px | bottom:40px */
  background: #fff;
}


.featured-wrapper {
  display: flex;
  flex-wrap: wrap;
  gap: 60px;
  align-items: center;
  justify-content: space-between;
}

.featured-text {
  flex: 1;
  max-width: 48%;
}

.featured-text h2 {
  font-size: 2rem;
  font-weight: bold;
  margin: 0.5rem 0;
}

.featured-label {
  font-size: 0.9rem;
  font-weight: 700;
  /* Keep bold */
  color: #1A1A1A;
  /* Change from #888 to black/dark gray */
  text-transform: uppercase;
}

p.featured-meta span.featured-author {
  color: #7C00FF !important;
  font-weight: 500;
}


.featured-meta {
  font-size: 0.85rem;
  color: #999;
}

.featured-meta .featured-author {
  color: #7C00FF !important;
  font-weight: 500;
}



.featured-description {
  margin: 1rem 0;
  color: #444;
  font-size: 1rem;
  max-width: 90%;
  margin-bottom: 2rem;
}

.btn-read-more {
  background: #00C2FF;
  color: white;
  padding: 0.9rem 2rem;
  font-size: 1.1rem;
  border-radius: 60px;
  font-weight: bold;
  text-decoration: none;
  display: inline-block;
  margin-top: 1rem;
  transition: background-color 0.3s ease, transform 0.2s ease;
}

.btn-read-more:hover {
  background-color: #009fcc;
  /* Slightly darker blue on hover */
  transform: translateY(-2px);
  /* Subtle lift effect */
}

.featured-image {
  flex: 1;
  max-width: 48%;
  text-align: right;
}

.featured-image img {
  width: 100%;
  height: auto;
  max-width: 500px;
  border-radius: 0px;
  /* 🔄 FIX: Remove border radius to match Figma */
  object-fit: cover;
}

/* 🔹 ALL POSTS SECTION */


.vector-background {
  position: absolute;
  top: 0px;
  right: 0;
  width: 100%;
  z-index: 0;
  pointer-events: none;
}

.vector-background img {
  width: 100%;
  height: auto;
}
/* Hide on screens smaller than 1024px (covers most tablets + mobiles) */
@media (max-width: 1024px) {
  .vector-background {
    display: none !important;
  }
}
.blog-all-posts {
  position: relative;
  background: #fff;
  padding: 80px 0;
  z-index: 1;
}

.blog-all-posts .container {
  padding-top: 60px;
  padding-bottom: 80px;
}


.section-heading {
  font-size: 48px;
  font-weight: 400;
  font-weight: bold;
  margin-bottom: 40px;
  z-index: 2;
  position: relative;
}

/* Make "All posts" match Figma scale */


/* Post title size (right column) */
.blog-all-posts .post-info h3 {
  font-size: clamp(24px, 2.4vw, 42px);
  /* was default browser size */
  line-height: 1.18;
  font-weight: 700;
  margin: 10px 0 14px;
}

/* Optional: body copy under titles feels small—nudge it up a bit */
.blog-all-posts .post-info p {
  font-size: clamp(15px, 1.05vw, 18px);
  line-height: 1.6;
}

/* Optional: category label (“STARTUP”, “BUSINESS”) */
.blog-all-posts .post-info .post-category {
  font-size: 13px;
  letter-spacing: .14em;
}


/* 🔄 FIX: Make post cards appear in full width rows */
.posts-grid {
  display: grid;
  grid-template-rows: repeat(5, 1fr);
  /* always 5 slots vertically */
  gap: 40px;
  min-height: 2000px;
  /* adjust so 5 rows fit your design */
  position: relative;
  z-index: 2;
}

/* 🔹 INDIVIDUAL POST CARD */
.post-card {
  display: flex;
  flex-direction: row;
  background: transparent !important;
  border-radius: 0;
  overflow: hidden;
  box-shadow: none !important;
  transition: transform 0.3s ease;
  margin-left: 80px;

}

.post-card:hover {
  transform: translateY(-4px);
}

.post-card img {
  width: 513.5738525390625px;
  height: 323px;
  object-fit: cover;
  border-radius: 0;
  flex-shrink: 0;
  /* 🆕 Prevents the image from shrinking */
  display: block;
  /* 🆕 Removes inline whitespace gap */
  align-self: center;
  /* 🆕 Vertically center inside .post-card */
}


.post-info {
  padding: 2rem;
  width: 50%;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.post-category {
  font-size: 16px;
  font-weight: 400;
  color: #592EA9;
  /* purple accent */
  text-transform: uppercase;
  letter-spacing: 3px;
  margin-bottom: 0.5rem;
  display: inline-block;
}

.post-info h3 {
  font-size: 36px;
  font-weight: 500;
  margin: 0.2rem 0 0.5rem;
  color: #232536;
}

.post-info p {
  font-size: 16px;
  font-weight: 400;
  line-height: 28px;
  color: #6D6E76;
}

/* 🔹 PAGINATION - Figma Accurate */
.pagination {
  margin-top: 60px;
  text-align: center;
  font-size: 1rem;
  font-weight: 500;
  z-index: 2;
  position: relative;
}

.pagination a {
  display: inline-block;
  margin: 0 10px;
  color: #1A1A1A;
  /* Neutral dark color for both */
  text-decoration: none;
  font-weight: 500;
  /* Normal weight */
  transition: color 0.3s ease, font-weight 0.3s ease;
}

.pagination a:hover {
  color: #000;
  /* Darker on hover */
  font-weight: 700;
  /* Bold on hover */
}

.pagination a::before,
.pagination a::after {
  padding: 0 4px;
  content: "";
  /* Remove if not needed */
}



.blog-all-posts {
  position: relative;
  z-index: 1;
}

/* 📱 Responsive for tablets (portrait & small tablets) */
@media (max-width: 1024px) {
  .posts-grid {
    grid-template-rows: unset; /* auto-fit rows naturally */
    grid-template-columns: 1fr;
    gap: 30px;
    min-height: auto;
  }

  .post-card {
    flex-direction: column; /* stack image + content */
    margin-left: 0;  /* remove large side margin */
    align-items: center; /* center content */
  }

  .post-card img {
    width: 100%;       /* full width on tablet */
    height: auto;      /* maintain aspect ratio */
    max-height: 320px; /* prevent super tall images */
  }

  .post-info {
    width: 100%;      /* take full width */
    padding: 1.5rem;  /* less padding */
    text-align: center; /* center align text */
  }

  .post-info h3 {
    font-size: clamp(22px, 3.5vw, 30px); /* scale nicely */
  }

  .post-info p {
    font-size: 15px;
    line-height: 1.5;
  }
}



/* 🔹 RESPONSIVE FIXES */
@media (max-width: 768px) {
  .featured-wrapper {
    flex-direction: column-reverse;
    gap: 40px;
  }

  .featured-text,
  .featured-image {
    max-width: 100%;
    text-align: center;
  }

  .posts-grid {
    gap: 30px;

  }

  .post-card {
    flex-direction: column;
    margin-left: 10px;
  }

  .post-card img {
    width: 416px;
    height: 318px;
  }

  .post-info {
    width: 100%;
    padding: 1.4rem;
  }
}

/* 🛠 Fix: Expand featured post container to match Figma width */

/* 🔄 Fix width to match Figma */
.blog-featured-post .container,
.blog-all-posts .container {
  max-width: 1440px;
  /* or 1280px depending on your Figma width */
  margin: 0 auto;
  padding-left: 40px;
  padding-right: 40px;
}


/* About */
.about-hero-section {
  position: relative;
  padding: clamp(140px, 22vh, 240px) 20px clamp(110px, 16vh, 200px);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  background: url('../images/eclipse2.svg') no-repeat center 35px;
  background-size: contain;

}



.about-hero-content {
  position: relative;
  z-index: 1;
  max-width: 1500px;
  margin: -60px auto;
}

.about-gradient-text {
  font-size: 78px;
  font-weight: 400;
  line-height: 1.2;


  background: linear-gradient(90deg,
      #000000 49%,
      rgba(114, 25, 163, 0.9) 54%,
      #000000 7%,
      #01CFFF 63%);

  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent;
  margin-bottom: 32px;
}


.about-hero-content p {
  font-size: 34px;
  font-weight: 100;
  /* lighter */
  color: #676666;
  line-height: 1.2;
}

.about-hero-content a {
  font-size: 20px;
  font-weight: 100;
  /* lighter */
  color: #999999;
  line-height: 1.2;
}

@media (max-width: 1024px) {
  .about-gradient-text {
    font-size: 56px;
  }

  .about-hero-content p {
    font-size: 26px;
  }

  .about-hero-content a {
    font-size: 18px;
  }
}

/* Mobile large (up to 768px) */
@media (max-width: 768px) {
  .about-hero-section {
    padding: 120px 15px 100px;
    background-position: center 20px;
    background-size: contain;
  }

  .about-gradient-text {
    font-size: 42px;
  }

  .about-hero-content p {
    font-size: 20px;
  }

  .about-hero-content a {
    font-size: 16px;
  }
}

/* Small mobile (up to 480px) */
@media (max-width: 480px) {
  .about-hero-section {
    padding: 100px 10px 80px;
  }

  .about-gradient-text {
    font-size: 32px;
  }

  .about-hero-content p {
    font-size: 18px;
  }

  .about-hero-content a {
    font-size: 14px;
  }
}

/* Extra small devices (up to 320px) */
@media (max-width: 320px) {
  .about-hero-section {
    padding: 80px 8px 60px;
    margin-bottom: 50px;
  }

  .about-gradient-text {
    font-size: 26px;
    margin-left: 10px;
  }

  .about-hero-content p {
    font-size: 16px;
    margin-left: 10px;

  }

  .about-hero-content a {
    font-size: 13px;
    margin-left: 10px;
  }
}

.who-we-are {
  padding: 80px 0;
  background: none;
  margin: 0 60px;
  margin-top: 100px;
  margin-bottom: 100px;
}

.who-we-are .container {
  max-width: 1200px;
  margin: 0 auto;
}

.who-we-are-content {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 5px;
}

.text-box {
  flex: 1;
  min-width: 300px;
  max-width: 500px;
  margin-left: 80px;
}

.heading-line {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
}

.text-box .accent-line {
  width: 50px;
  height: 3px;
  margin: 0;
  flex-shrink: 0;
  display: block;
}

.text-box h2 {
  color: #7219A3;
  font-size: 38px;
  font-weight: 400;
  margin: 0;
  line-height: 1.2;
}

.text-box p {
  color: #18251888;
  font-size: 24px;
  font-weight: 200;
  line-height: 1.6;
  margin: 0;
  max-width: 400px;
}

.image-box {
  flex: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  min-width: 300px;
}

.image-box img {
  width: 400px;
  height: 380px;
  object-fit: cover;
  border-radius: 50%;
  border: 4px solid #e6f7ff;
  box-shadow: 0 15px 40px rgba(0, 0, 0, 0.1);
}

/* Responsive Design */
@media (max-width: 768px) {
  .who-we-are {
    padding: 60px 15px;
    margin: 0 auto;
    /* centers section */
  }

  .who-we-are-content {
    flex-direction: column;
    text-align: center;
    gap: 30px;
    margin: 0 auto;
    /* centers content */
  }

  .text-box {
    max-width: 100%;
    margin: 0 auto;
    /* equal margins left/right */
  }

  .text-box .accent-line {
    width: 50px;
    height: 3px;
    margin: 0;
    flex-shrink: 0;
    display: block;
    margin-left: 10px;
  }

  .text-box h2 {
    font-size: 28px;
    margin-left: 15px;
  }

  .image-box img {
    width: 300px;
    height: 300px;
    margin: 0 auto;
    /* centers image */
    display: block;
    /* ensures auto margins work */
  }
}

@media (max-width: 320px) {
  .who-we-are {
    padding: 40px 10px;
  }

  .who-we-are-content {
    gap: 20px;
  }

  .text-box .accent-line {
    width: 40px;
    margin-left: 10px;
  }

  .text-box h2 {
    font-size: 22px;
    margin-left: 10px;
  }

  .text-box p {
    font-size: 20px;

  }

  .image-box img {
    width: 160px;
    height: 160px;
  }
}


@media (max-width: 480px) {
  .who-we-are {
    padding: 40px 10px;
  }

  .text-box h2 {
    font-size: 24px;
  }

  .text-box p {
    font-size: 15px;
  }

  .image-box img {
    width: 250px;
    height: 250px;
  }
}


.about-vector {
  position: absolute;
  bottom: -2000px;
  /* move it 50px lower */
  left: 0;
  width: 100%;
  z-index: 0;
  line-height: 0;
}


.about-vector img {
  display: block;
  width: 100%;
  height: auto;
}

@media (max-width: 499px) {
  .about-vector {
    bottom: -4800px;
    /* adjust based on your design */
  }

  .about-vector img {
    width: 100%;
    height: auto;
  }
}

@media (min-width: 500px) and (max-width: 765px) {
  .about-vector {
    display: none !important;
  }
}

@media (min-width: 768px) and (max-width: 1024px) {
  .about-vector {
    display: none !important;
  }
}
/* HOME page 3rd comp */
.stats-section {
  margin-top: 80px;
  padding: 4rem 1rem;
  font-family: 'Outfit', sans-serif;
  background: transparent;
  text-align: center;
}

.stats-title {
  font-size: 38px;
  font-weight: 400;
  margin-bottom: 6rem;
  color: #000;
}

/* ROW 1: Two Columns Layout */
.stats-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem;
  max-width: 1200px;
  margin: 0 auto 3rem;
  align-items: stretch;
}

/* LEFT COLUMN: 2x2 Grid */
.stats-column.small-stats {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.5rem;
  height: 100%;
}

/* RIGHT COLUMN BOX */
.stats-row>.large-box {
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}

/* ROW 2: Two Large Boxes */
.stats-row.bottom-row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 2rem;
  max-width: 1200px;
  margin: 0 auto;
}

/* BOX STYLES */
.stat-box {
  background-color: #3F4143;
  /* exact Figma colour */
  color: white;
  padding: 3rem 2.5rem;
  border-radius: 12px;
  display: flex;
  flex-direction: column;
  align-items: center;
  /* centers horizontally */
  justify-content: center;
  /* centers vertically */
  text-align: center;
  /* centers text content */
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
  height: 100%;
  box-sizing: border-box;
}

.stat-box h3 {
  font-size: 38px;
  font-weight: 100;
  margin: 0;
}

.stat-box p {
  margin-top: 0.8rem;
  font-size: 18px;
  font-weight: 100;
}


.stat-box sup {
  font-size: 1.2rem;
  vertical-align: super;
}

.large-box h4 {
  font-size: 34px;
  margin-bottom: 0.8rem;
  font-weight: 400;
}

.large-box p {
  font-size: 18px;
  font-weight: 100;
  line-height: 1.6;
}

/* Make ONLY the big cards left-aligned like Figma */
.stat-box.large-box {
  align-items: flex-start;
  /* left edge */
  justify-content: flex-start;
  /* vertical middle inside the card */
  text-align: left;
  /* left text */
  padding: 3rem 3rem;
  /* generous padding like Figma */
}

/* Typography & spacing inside the big cards */
.stat-box.large-box h4 {
  font-size: 34px;
  font-weight: 400;
  /* bigger title like Figma */
  line-height: 1.2;
  margin: 0 0 1rem 0;
}

.stat-box.large-box p {
  font-size: 18px;
  font-weight: 100;
  line-height: 1.7;
  max-width: 48ch;
  /* nicer reading width */
  margin: 0;
}

/* Keep small cards centered (explicit, just in case) */
.stats-column.small-stats .stat-box {
  align-items: center;
  justify-content: center;
  text-align: center;
}


/* Responsive Fixes */
@media (max-width: 900px) {
  .stats-row {
    grid-template-columns: 1fr;
  }

  .stats-row>.large-box {
    margin-top: 2rem;
  }

  .stats-column.small-stats {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 600px) {
  .stats-column.small-stats {
    grid-template-columns: 1fr;
  }
}

/* Colors to match Figma */
.stats-section .stat-box h3,
.stats-section .stat-box h4 {
  color: #FFFFFF;
  /* headings/number = pure white */
  font-weight: 500;
}

.stats-section .stat-box p {
  color: rgba(255, 255, 255, 0.65);
  /* subtext = soft light gray */
  /* If you prefer a solid hex close to your Figma swatch:
     color: #B8C0C9; */
}

/* (keeps your large cards left-aligned while using the same color system) */
.stats-section .stat-box.large-box h4 {
  color: #FFFFFF;
}

.stats-section .stat-box.large-box p {
  color: rgba(255, 255, 255, .65);
}

/* Position/flip the vector so it goes top-left → bottom-right */
.stats-section {
  position: relative;
  overflow: hidden;
  /* clip vector1 to this section */
  isolation: isolate;
  /* its own stacking context */
  margin-bottom: 120px;
  /* ensure space before next section */
}

.stats-section .stats-vector {
  position: absolute;
  inset: -120px -120px -120px -120px;
  /* bleed inside but still clipped */
  z-index: 0;
  pointer-events: none;
  line-height: 0;
}

.stats-section .stats-vector img {
  width: 140%;
  height: auto;
  transform: scaleX(-1);
  /* TL → BR */
  opacity: 1;
}

/* Keep all real content above the vector */
.stats-section>*:not(.stats-vector) {
  position: relative;
  z-index: 1;
}

/* Extra guard so cards never get cropped by shadows */
.stats-row.bottom-row {
  margin-bottom: 2rem;
}

/* Heading like Figma */
.stats-title {
  font-size: 2.6rem;
  /* bump if you want it larger */
  font-weight: 500;
  line-height: 1.25;
  color: #000;
  /* Figma heading color */
  text-align: center;
  margin: 0 0 3rem;
}

@media (max-width: 900px) {
  .stats-section .stats-vector {
    inset: -80px -80px;
  }

  .stats-title {
    font-size: 2rem;
    margin-bottom: 2rem;
  }
}


.cta-section {
  position: relative;
  isolation: isolate;
  margin-top: 200px;
  margin-bottom: 100px;
}

.cta-bg-svg {
  position: absolute;
  top: 62%;
  /* moves it lower */
  left: 38%;
  /* keeps it centered horizontally */
  width: 1000px;
  max-width: 100%;
  transform: translate(-50%, -50%);
  /* centers on its middle */
  z-index: -1;
  pointer-events: none;
  line-height: 0;
}


.cta-card {
  position: relative;
  z-index: 1;
  margin: 0 auto;
  max-width: 1220px;
  min-height: 420px;
  background: #000000;
  border-radius: 26px;
  overflow: hidden;
  box-shadow: 0 14px 30px rgba(0, 0, 0, .18);
}

.cta-vector {
  position: absolute;
  inset: -160px -120px auto -120px;
  z-index: 0;
  pointer-events: none;
  line-height: 0;
}

.cta-vector img {
  width: 140%;
  height: auto;
  transform: scaleX(-1);
  opacity: 1;
}


.cta-lines {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.cta-content {
  position: relative;
  z-index: 2;
  height: 100%;
  padding: 84px 40px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 28px;
}

.cta-content h2 {
  margin: 0;
  font-weight: 400;
  font-size: clamp(34px, 4.6vw, 56px);
  line-height: 1.2;
  letter-spacing: .2px;
  color: #F1F3F5;
}

.cta-link {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: clamp(16px, 1.6vw, 20px);
  color: #EDEDED;
  text-decoration: none;
  opacity: .9;
  transition: opacity .2s ease, transform .2s ease;
}

.cta-link .arr {
  font-size: 1.2em;
  line-height: 1;
}

.cta-link:hover {
  opacity: 1;
  transform: translateY(-1px);
}


@media (max-width: 780px) {
  .cta-card {
    min-height: 360px;
  }

  .cta-content {
    padding: 64px 24px;
  }
}

/* Hide background ellipse on small devices */
@media (max-width: 768px) {
  .cta-bg-svg {
    display: none;
  }
}


.stats-cta-wrap {
  position: relative;
  isolation: isolate;
  overflow: hidden;
}

/* Default / Desktop */
/* Desktop / default */
.stats-cta-wrap .diagonal-vector {
  position: absolute;
  inset: 0;
  /* stretch full container */
  z-index: 0;
  /* stays in background */
  pointer-events: none;
  line-height: 0;
}

.stats-cta-wrap .diagonal-vector img {
  width: 100%;
  height: auto;
  object-fit: cover;
}

@media (max-width: 768px) {
  .stats-cta-wrap .diagonal-vector {
    position: absolute;
    top: auto !important;
    right: auto !important;
    bottom:100px !important;  /* match about-vector bottom */
    left: 0 !important;
    width: 70%;   /* same responsive width as about-vector */
    z-index: 0;
  }

  .stats-cta-wrap .diagonal-vector img {
    width: 100%;       /* same as about-vector img */
    height: auto;      /* same as about-vector img */
    object-fit: contain;
  }
}

/* Hide hero-vector on iPads and tablets */
@media (min-width: 768px) and (max-width: 1024px) {
  .stats-cta-wrap .diagonal-vector {
    display: none !important;
  }
}


/* Small Phones */
@media (max-width: 480px) {
  .stats-cta-wrap .diagonal-vector img {
    width: 70%;
    margin: 0 auto;
    /* center it horizontally */
  }
}


.stats-cta-wrap>section {
  position: relative;
  z-index: 1;
}









/* =========================================================
   FAQ + TESTIMONIALS  (Figma-matched, scoped, clean)
   ========================================================= */


/* ---------- Section wrapper ---------- */
.faq-testimonials {
  position: relative;
  /* sits above the diagonal vector */
  z-index: 1;
  padding: 96px 48px 140px;
  font-family: 'Outfit', system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
  -webkit-font-smoothing: antialiased;
  color: #0d0d0d;
}

/* thin cyan rim at the very top (from the mock) */
.faq-testimonials .faq-top-accent {
  position: absolute;
  top: 0;
  left: 24px;
  right: 24px;
  height: 56px;
  border-top-left-radius: 28px;
  border-top-right-radius: 28px;
  border: 1.5px solid rgba(0, 200, 255, .35);
  border-bottom: none;
  pointer-events: none;
}

/* inner max width aligns with your grid */
.faq-testimonials .faq-inner {
  max-width: 1200px;
  margin: 0 auto;
}

/* ---------- FAQ heading ---------- */
.faq-testimonials .faq-title {
  margin: 0 0 56px;
  text-align: center;
  font-weight: 800;
  /* heavy, like Figma */
  letter-spacing: .2px;
  font-size: clamp(36px, 4vw, 56px);
  color: #0E0E0E;
}

/* ---------- FAQ list (new structure matching Image 1) ---------- */
.faq-testimonials .faq-list {
  list-style: none;
  margin: 0 auto 96px;
  /* gap before testimonial */
  padding: 0;
  max-width: 800px;
  /* narrower column */
}

.faq-testimonials .faq-item {
  margin: 0;
  border: 1px solid #000;
  border-radius: 8px;
  margin-bottom: 16px;
  overflow: hidden;
  background: none;
  transition: all 0.3s ease;
}

.faq-testimonials .faq-item:hover {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  transform: translateY(-2px);
}

.faq-testimonials .faq-item.active {
  border-color: #6F1FB7;
  box-shadow: 0 6px 20px rgba(111, 31, 183, 0.15);
}

.faq-testimonials .faq-question {
  display: flex;
  align-items: stretch;
  /* let children (like .faq-toggle) stretch full height */
  padding: 0 0 0 32px;
  /* remove top/bottom padding so toggle fills height */
  min-height: 60px;
  /* control row height */
  background: none;
  cursor: pointer;
  transition: background-color 0.3s ease;
  position: relative;
}


.faq-testimonials .faq-question:hover {
  background-color: transparent;
}

.faq-testimonials .faq-number {
  font-size: 20px;
  font-weight: 700;
  color: #000;
  margin-top: 16px;
  margin-left: 16px;
  margin-right: 24px;
  min-width: 30px;
}

.faq-testimonials .faq-text {
  flex: 1;
  font-size: 20px;
  font-weight: 700;
  color: #000;
  line-height: 1.4;
  margin-top: 16px;

}

.faq-testimonials .faq-toggle {
  background: #6F1FB7;
  border: none;
  width: 60px;
  /* make it wider (optional) */
  height: 61px;
  /* full height of the parent row */
  border-radius: 0 6px 6px 0;
  /* rounded only on right side */
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
  margin-left: 16px;
}

.faq-testimonials .faq-toggle:hover {
  background: #01CFFF;
  transform: scale(1.05);
}

.faq-testimonials .faq-icon {
  color: #fff;
  font-size: 20px;
  font-weight: bold;
  transition: transform 0.3s ease;
}

.faq-testimonials .faq-item.active .faq-icon {
  transform: rotate(45deg);
}

.faq-testimonials .faq-answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s ease, padding 0.4s ease;
  background: transparent;
  border-top: 1px solid #e9ecef;
}

.faq-testimonials .faq-item.active .faq-answer {
  max-height: 300px;
  padding: 24px 32px;
}

.faq-testimonials .faq-answer p {
  margin: 0;
  font-size: 16px;
  line-height: 1.6;
  color: #000000;
}

@media (max-width: 520px) {

  /* Section padding stays compact */
  .faq-testimonials {
    padding: 56px 16px 84px;
    position: relative;
  }

  /* Title like figma */
  .faq-testimonials .faq-title {
    margin: 0 0 16px;
    font-size: clamp(22px, 6.6vw, 28px);
    font-weight: 700;
  }

  /* List becomes a flat stack with thin borders */
  .faq-testimonials .faq-list {
    list-style: none;
    margin: 0 0 28px;
    padding: 0;
    max-width: 100%;
    border-top: 1px solid #D9E4EC;
    /* top line like figma */
    border-radius: 12px 12px 0 0;
    /* soft top corners */
    overflow: hidden;
  }

  /* Kill card look on mobile */
  .faq-testimonials .faq-item {
    margin: 0;
    border: 0;
    border-radius: 0;
    background: #fff;
    box-shadow: none;
  }

  .faq-testimonials .faq-item:hover {
    box-shadow: none;
    transform: none;
  }

  /* Each row: compact, flat, divider line on bottom */
  .faq-testimonials .faq-question {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px 12px 16px 12px;
    background: #fff;
    border-bottom: 1px solid #D9E4EC;
    /* row divider */
    cursor: pointer;
  }

  /* Hide the left numbers on mobile (figma has none) */
  .faq-testimonials .faq-number {
    display: none;
  }

  /* Question text sizing like figma */
  .faq-testimonials .faq-text {
    flex: 1;
    font-size: 16px;
    line-height: 1.4;
    font-weight: 500;
    color: #0F172A;
  }

  /* Turn the purple square button into a small cyan chevron */
  .faq-testimonials .faq-toggle {
    width: 0;
    height: 0;
    margin-left: 8px;
    background: none;
    border: none;
    padding: 0;
    /* triangle ↓ */
    border-left: 7px solid transparent;
    border-right: 7px solid transparent;
    border-top: 9px solid #22D3EE;
    /* cyan */
    transform-origin: 50% 45%;
    transition: transform .2s ease;
  }

  .faq-testimonials .faq-icon {
    display: none;
  }

  /* hide the + sign */

  /* Rotate triangle when open (points up) */
  .faq-testimonials .faq-item.active .faq-toggle {
    transform: rotate(180deg);
  }

  /* Answer panel: simple text block under the question */
  .faq-testimonials .faq-answer {
    max-height: 0;
    overflow: hidden;
    transition: max-height .35s ease, padding .25s ease;
    padding: 0 12px;
    background: #fff;
  }

  .faq-testimonials .faq-item.active .faq-answer {
    max-height: 600px;
    /* allow tall text */
    padding: 10px 12px 16px;
    border-bottom: 1px solid #D9E4EC;
    /* keep divider after open */
  }

  .faq-testimonials .faq-answer p {
    margin: 0;
    font-size: 14.5px;
    line-height: 1.55;
    color: #495057;
  }

  /* Top blue line – match Figma */
  /* Remove the grey top border so it doesn't compete with the blue line */
  /* Remove the grey top rule so it doesn't compete with the blue line */
  .faq-testimonials .faq-list {
    border-top: 0 !important;
  }

  /* Full-bleed container for the accent */
  .faq-testimonials .faq-top-accent {
    position: absolute;
    top: 0;
    left: 0;
    /* container edges don't matter; we draw via viewport width */
    right: 0;
    height: 32px;
    /* vertical space above title */
    border: 0;
    pointer-events: none;
    z-index: 0;
  }

  /* The blue line itself (viewport width, centered) */
  .faq-testimonials .faq-top-accent::after {
    content: "";
    position: absolute;
    top: 20px;
    /* nudge up/down if needed */
    left: 50%;
    width: calc(100vw - 8px);
    /* full-bleed with 4px inset each side */
    transform: translateX(-50%);
    /* center on viewport */
    height: 3px;
    /* thickness */
    background: #6BD3FF;
    /* blue */
    border-radius: 9999px;
    /* rounded ends */
  }
}


/* =========================================================
   Niceties for other sections (kept simple)
   ========================================================= */

/* Large stats cards lift a little on hover */
.stat-box.large-box {
  transition: transform .28s ease, box-shadow .28s ease, filter .28s ease;
}

.stat-box.large-box:hover,
.stat-box.large-box:focus-within {
  transform: translateY(-6px);
  box-shadow: 0 16px 34px rgba(0, 0, 0, .18);
  filter: brightness(1.02);
}

/* Small stats cards – subtle lift */
.stats-column.small-stats .stat-box {
  transition: transform .22s ease, box-shadow .22s ease;
}

.stats-column.small-stats .stat-box:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 24px rgba(0, 0, 0, .14);
}

/* Focus ring for keyboard users */
.stat-box.large-box:focus-within {
  outline: 2px solid rgba(0, 200, 255, .45);
  outline-offset: 3px;
}



/* More gap between CTA and FAQ, to match Figma */
.stats-cta-wrap .faq-testimonials {
  margin-top: clamp(100px, 12vw, 160px);
}


/* =========================
   CTA hover effect (same as stats large-box)
   ========================= */
.cta-card {
  transition: transform .28s ease, box-shadow .28s ease, filter .28s ease;
}

.cta-card:hover,
.cta-card:focus-within {
  transform: translateY(-6px);
  box-shadow: 0 16px 34px rgba(0, 0, 0, .18);
  filter: brightness(1.02);
}

/* Optional: keyboard accessibility outline */
.cta-card:focus-within {
  outline: 2px solid rgba(0, 200, 255, .45);
  outline-offset: 3px;
}

/* Initial hidden state */
.cta-card {
  opacity: 0;
  transform: translateY(40px);
  transition: transform .28s ease, box-shadow .28s ease, filter .28s ease;
  animation: ctaFadeIn 0.8s ease-out forwards;
  animation-delay: 0.4s;
  /* delay before it starts */
}

/* Hover effect same as stats */
.cta-card:hover,
.cta-card:focus-within {
  transform: translateY(-6px);
  box-shadow: 0 16px 34px rgba(0, 0, 0, .18);
  filter: brightness(1.02);
}

@keyframes ctaFadeIn {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}


/* same hover lift you used on stats */
.cta-card {
  transition: transform .28s ease, box-shadow .28s ease, filter .28s ease;
}

.cta-card:hover,
.cta-card:focus-within {
  transform: translateY(-6px);
  box-shadow: 0 16px 34px rgba(0, 0, 0, .18);
  filter: brightness(1.02);
}

/* draw-in animation for the purple lines after AOS applies */
.cta-card .line-purple {
  stroke-dasharray: 1600;
  stroke-dashoffset: 1600;
  opacity: 0;
}

.aos-animate .cta-card .line-purple {
  animation: ctaLineDraw 1.2s ease-out forwards;
  animation-delay: .35s;
  /* start after the card begins to appear */
}

@keyframes ctaLineDraw {
  0% {
    stroke-dashoffset: 1600;
    opacity: .2;
  }

  100% {
    stroke-dashoffset: 0;
    opacity: 1;
  }
}

/* === CTA height tuning to match Figma === */
.cta-card {
  /* give it more vertical presence on desktop */
  min-height: clamp(520px, 58vh, 680px);
}

/* give the content some breathing room so the headline sits nicely */
.cta-content {
  padding: clamp(72px, 10vh, 120px) 40px;
}

/* adjust for tablet */
@media (max-width: 1024px) {
  .cta-card {
    min-height: clamp(480px, 52vh, 600px);
  }
}

/* adjust for mobile */
@media (max-width: 780px) {
  .cta-card {
    min-height: 420px;
  }

  .cta-content {
    padding: 64px 24px;
  }
}

/* Center CTA content */
.cta-card {
  display: flex;
  align-items: center;
  /* vertical center */
  justify-content: center;
  /* horizontal center */
  text-align: center;
  /* keep text centered */
  flex-direction: column;
  /* stack heading & link */
}

/* H2 + underline exactly like the mock */
.blog-all-posts .section-heading {
  position: relative;
  margin: 0 0 90px;
  /* bigger bottom gap */
  font-weight: 500;
}

.blog-all-posts .section-heading::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -16px;
  /* gap between text & line */
  height: 1px;
  background: rgba(0, 0, 0, .16);
}





/* =========================
   MOBILE-ONLY BASELINE FIXES
   Add at the very end of your CSS
   ========================= */
@media (max-width: 520px) {

  /* 1) Featured block — tighter & centered like Figma */
  .blog-featured-post {
    padding: 56px 0 28px;
  }

  .featured-text,
  .featured-image {
    max-width: 100%;
    text-align: center;
  }

  .featured-text h2 {
    font-size: clamp(22px, 6vw, 28px);
    line-height: 1.25;
    margin: 10px 0 8px;
  }

  .featured-description {
    max-width: 100%;
    font-size: 15px;
    margin: 10px auto 18px;
  }

  .featured-image img {
    max-width: 320px;
    margin: 0 auto;
    display: block;
  }

  /* 2) “All posts” heading + underline spacing */
  .blog-all-posts {
    padding: 48px 0 56px;
  }

  .blog-all-posts .container {
    padding-top: 24px;
    padding-bottom: 48px;
  }

  .blog-all-posts .section-heading {
    text-align: left;
    margin: 0 0 56px;
    font-weight: 600;
    font-size: clamp(24px, 7vw, 30px);
  }

  .blog-all-posts .section-heading::after {
    bottom: -12px;
  }

  /* 3) Hide or soften the blue vector that overlaps text on phones */
  .vector-background {
    display: none;
  }

  /* If Figma shows it, change to: opacity:.25; transform: translateY(-20px) scale(1.1); */

  /* 4) Post cards — ensure image ratio + comfy padding */
  .post-card {
    gap: 0;
  }

  .post-card img {
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
    /* keeps thumbnails consistent */
    object-fit: cover;
    object-position: center;
  }

  .post-info {
    width: 100%;
    padding: 14px 12px 18px;
  }

  .blog-all-posts .post-info h3 {
    font-size: clamp(18px, 5.4vw, 22px);
    line-height: 1.25;
    margin: 8px 0 8px;
  }

  .blog-all-posts .post-info p {
    font-size: 14.5px;
    line-height: 1.55;
  }

  .blog-all-posts .post-info .post-category {
    font-size: 11px;
    letter-spacing: .12em;
  }

  /* 5) Pagination touch targets */
  .pagination {
    margin-top: 36px;
  }

  .pagination a {
    padding: 8px 10px;
    font-size: 14px;
  }

  /* 6) Stats section — single column + smaller numbers */
  .stats-section {
    margin-top: 48px;
    padding: 36px 0;
  }

  .stats-title {
    font-size: 22px;
    margin-bottom: 28px;
  }

  .stats-row {
    grid-template-columns: 1fr;
    gap: 16px;
    margin: 0 0 20px;
  }

  .stats-column.small-stats {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .stat-box {
    padding: 20px 16px;
    border-radius: 12px;
  }

  .stat-box h3 {
    font-size: 28px;
  }

  .stat-box p {
    font-size: 14px;
  }

  .stat-box.large-box {
    align-items: flex-start;
    text-align: left;
    padding: 22px 18px;
  }

  .stat-box.large-box h4 {
    font-size: 18px;
  }

  .stat-box.large-box p {
    font-size: 14.5px;
    line-height: 1.55;
  }

  /* 7) Diagonal vector behind stats/cta — reduce bleed */
  .stats-cta-wrap .diagonal-vector {
    inset: -60px -40px -80px -40px;
  }

  .stats-cta-wrap .diagonal-vector img {
    width: 140%;
  }

  /* 8) CTA card — tighter vertical rhythm */
  .cta-card {
    min-height: 380px;
  }

  .cta-content {
    padding: 48px 20px;
    gap: 18px;
  }

  .cta-content h2 {
    font-size: clamp(22px, 6.6vw, 28px);
    line-height: 1.25;
  }

  .cta-link {
    font-size: 15px;
  }

  /* 9) FAQ/Testimonial — preserve portrait card proportions but fit viewport */
  .faq-testimonials {
    padding: 56px 20px 84px;
  }

  .faq-testimonials .faq-title {
    font-size: clamp(22px, 6.6vw, 28px);
    margin-bottom: 28px;
  }

  .faq-testimonials .faq-list {
    margin-bottom: 72px !important;
  }

  .faq-testimonials .faq-q {
    font-size: 18px;
    padding: 18px 0;
  }

  .faq-testimonials .testi-stack {
    width: 88vw;
    height: 480px;
  }

  /* 10) Container side padding (global mobile gutters) */
  .blog-featured-post .container,
  .blog-all-posts .container {
    padding-left: 16px;
    padding-right: 16px;
    max-width: 100%;
  }
}

@media (max-width: 520px) {

  /* Change order so text comes first on mobile */
  .featured-wrapper {
    flex-direction: column;
    align-items: flex-start;
    /* left align */
  }

  /* Ensure text block full width and left aligned */
  .featured-text {
    max-width: 100%;
    text-align: left;
  }

  /* Make heading, meta, description, and button left aligned */
  .featured-text h2,
  .featured-label,
  .featured-meta,
  .featured-description,
  .btn-read-more {
    text-align: left;
  }

  /* Make button inline instead of centered */
  .btn-read-more {
    display: inline-block;
  }

  /* Image comes after text now */
  .featured-image {
    max-width: 100%;
    text-align: left;
  }
}

/* === Featured Post: mobile exact layout + truly centered full-bleed image === */
@media (max-width: 520px) {

  /* use a single mobile gutter var so both sides stay equal */
  :root {
    --mobile-gutter: 16px;
  }

  .blog-featured-post .container {
    padding-left: var(--mobile-gutter);
    padding-right: var(--mobile-gutter);
  }

  /* order + let children stretch EXCEPT where we override */
  .featured-wrapper {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    /* image can be full width */
  }

  /* unwrap so we can re-order label/h2/meta/desc/button */
  .featured-text {
    display: contents;
    text-align: left;
  }

  /* ORDER: label → image → h2 → meta → desc → button */
  .featured-label {
    order: 1;
    display: block;
    margin-bottom: 10px;
    font-size: .85rem;
    letter-spacing: 1.6px;
  }

  /* ✅ FULL-BLEED, CENTERED IMAGE (override desktop sizing/alignment) */
  .featured-image {
    order: 2;
    margin-top: 12px;
    /* expand over equal gutters and keep perfectly centered */
    margin-left: calc(-1 * var(--mobile-gutter));
    margin-right: calc(-1 * var(--mobile-gutter));
    width: calc(100% + (2 * var(--mobile-gutter)));
    max-width: none;
    /* kill desktop cap */
    flex: 0 0 auto;
    /* don't let flex shrink it oddly */
    text-align: initial;
    /* override any right alignment */
  }

  .featured-image img {
    display: block;
    width: 100%;
    max-width: none;
    aspect-ratio: 16 / 10;
    /* bump if you want it taller (try 16/9) */
    object-fit: cover;
    object-position: center;
  }

  .featured-text h2 {
    order: 3;
    font-size: clamp(22px, 6vw, 26px);
    line-height: 1.28;
    font-weight: 600;
    margin: 14px 0 8px;
  }

  .featured-meta {
    order: 4;
    font-size: .8rem;
    margin: 0 0 8px;
  }

  .featured-description {
    order: 5;
    font-size: .95rem;
    line-height: 1.55;
    margin: 0 0 14px;
    max-width: 36ch;
  }

  /* ✅ Button should NOT stretch */
  .btn-read-more {
    order: 6;
    display: inline-flex;
    /* keeps size to content */
    align-self: flex-start;
    /* prevents full-row stretch */
    width: auto;
    /* explicit */
    max-width: none;
    padding: .72rem 1.4rem;
    /* slightly less wide per your note */
    font-size: .98rem;
    margin: 0 0 18px 0;
  }

  .blog-featured-post {
    padding: 40px 0 28px;
  }

  /* === Typography scale like Figma === */
  .featured-label {
    font-size: 1.2rem;
    /* was 0.85rem */
    letter-spacing: 1.8px;
    margin-bottom: 0px;
  }

  .featured-text h2 {
    font-size: clamp(25px, 7vw, 32px);
    /* bigger headline */
    line-height: 1.3;
    font-weight: 650;
    margin: 0px 0 0px;
  }

  .featured-meta {
    font-size: 0.9rem;
    /* was 0.8rem */
    margin-bottom: 0px;
  }

  .featured-description {
    font-size: 1.2rem;
    /* was 0.95rem */
    line-height: 1.6;
    max-width: 38ch;
    /* allow a touch more width */
    margin-bottom: 0px;
  }

  .btn-read-more {
    font-size: 1rem;
    /* slightly larger text on button */
    padding: 0.8rem 1.5rem;
  }

}

/* === MOBILE FIX: keep 2x2 grid for the small stats on phones === */
@media (max-width: 520px) {
  .stats-row {
    grid-template-columns: 1fr;
  }

  /* large cards stay full width */
  .stats-column.small-stats {
    grid-template-columns: 1fr 1fr;
    /* 2 columns like Figma */
    gap: 12px;
    /* tighter gaps like your mock */
  }

  /* compact padding so numbers look balanced */
  .stats-column.small-stats .stat-box {
    padding: 20px 14px;
  }

  /* large cards stack beneath the 2x2 grid (as in Figma) */
  .stat-box.large-box {
    margin-top: 16px;
  }
}

/* === MOBILE FIX: reduce gap between Expert Team and CTA === */
@media (max-width: 520px) {

  /* Remove bottom margin from last stat card */
  .stats-row.bottom-row .stat-box.large-box:last-child {
    margin-bottom: 0;
  }

  /* Pull CTA section closer */
  .cta-section {
    margin-top: 24px;
    /* was larger — adjust to match Figma */
  }
}



@media (max-width: 520px) {

  /* Increase service section heading and paragraph font size */
  .services-section .service-item h3 {
    font-size: 1.75rem;
    /* was smaller, now ~20px */
    line-height: 1.3;
  }

  .services-section .service-item p {
    font-size: 1.35rem;
    /* was ~14-15px, now ~15-16px */
    line-height: 1.55;
  }

  /* Increase icon/logo size in services section */
  .services-section .service-icon img {
    width: 48px;
    /* was likely ~32px-40px */
    height: auto;
    /* keep proportions */
  }
}

@media (max-width: 520px) {

  /* 1) Reduce space between post content and pagination */
  .pagination {
    margin-top: 20px;
    /* was bigger, now tighter */
  }

  /* 2) Increase size and weight of Prev/Next links */
  .pagination a {
    font-size: 1.05rem;
    /* ~16–17px */
    font-weight: 900;
  }
}

@media (max-width: 520px) {

  /* Remove bottom margin from last service item */
  .services-section .service-item:last-child {
    margin-bottom: 0;
  }

  /* Reduce top margin of stats section */
  .stats-section {
    margin-top: 20px;
    /* was bigger, now tighter */
  }
}


/* === DESKTOP: Increase size of Prev/Next links === */
@media (min-width: 1025px) {
  .pagination a {
    font-size: 1.2rem;
    /* ~19px */
    font-weight: 600;
    /* bolder for emphasis */
  }
}


@media (min-width: 1025px) {

  /* Increase service titles */
  .services-section .service-item h3 {
    font-size: 1.6rem;
    /* ~25-26px */
    line-height: 1.3;
  }

  /* Increase service descriptions */
  .services-section .service-item p {
    font-size: 1.05rem;
    /* ~17px */
    line-height: 1.6;
  }

  /* Increase service icons */
  .services-section .service-icon img {
    width: 40px;
    /* bigger icons for desktop */
    height: auto;
  }
}


/* CALL how we work   */

:root {
  --hww-bg1: #c7f1ff;
  --hww-bg2: #10b7ff;
  --hww-card: #ffffff;
  --hww-text: #101114;
  --hww-sub: #6a6f77;
}

/* Wrapper */
.hww-inner {
  max-width: 1140px;
  margin: 50px auto;
  padding: 20px 24px;
  position: relative;
  z-index: 1;
}

/* Blue background */
.hww-inner::before {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: 0;
  bottom: 0;
  width: 100vw;
  border-radius: 28px;
  background: linear-gradient(135deg, var(--hww-bg1) 15%, var(--hww-bg2) 85%);
  box-shadow: 0 24px 60px rgba(0, 0, 0, .08);
  z-index: -1;
}

/* Heading */
.hww-header {
  padding-top: 28px;
}

.hww-header h2 {
  margin: 0 0 4px;
  font-size: clamp(26px, 3vw, 38px);
  font-weight: 800;
  color: var(--hww-text);
}

.hww-sub {
  margin: 0;
  color: var(--hww-sub);
  font-size: clamp(13px, 1.1vw, 17px);
}

/* Grid */
.hww-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 48px;
  align-items: stretch;
  padding: 20px 0px 30px;
  margin-top: 28px;
  margin-bottom: 28px;
}




/* Fixed equal height for both image and card */
.hww-figure,
.hww-card {
  height: 450px;
  /* fixed height */
}

/* Left image */
.hww-figure {
  margin: 0;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 14px 40px rgba(0, 0, 0, .14);
}

.hww-figure img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Right card */
.hww-card {
  background: var(--hww-card);
  border-radius: 18px;
  padding: 0px 24px;
  display: flex;
  flex-direction: column;
  box-shadow: 0 20px 40px rgba(0, 0, 0, .10), 0 6px 18px rgba(0, 0, 0, .06);
  position: relative;
}

/* Steps take available space evenly */
.hww-steps {
  list-style: none;
  margin: 0;
  padding: 36px 8px;
  flex: 0;
  /* no stretching */
  display: flex;
  flex-direction: column;
  gap: 14px;
  /* equal normal spacing between steps */

}

.hww-step {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 15px;
}

.hww-step .badge {
  display: inline-grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 999px;
  color: #fff;
  font-weight: 700;
  font-size: 15px;
  background: radial-gradient(circle at 30% 30%, #7b27d8, #5217a6 70%);
  box-shadow: 0 6px 16px rgba(111, 31, 183, .35);
}

.hww-step h3 {
  margin: 0 0 2px;
  font-size: 19px;
  font-weight: 500;
  background: radial-gradient(circle at 30% 30%, #7b27d8, #5217a6 70%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.hww-step h4 {
  margin: 0 0 2px;
  font-size: 18px;
  font-weight: 600;
  color: var(--hww-text);
}

.hww-step p {
  margin: 0;
  color: #3e434b;
  line-height: 1.0;
  font-size: 16px;
}

/* Button fully inside card */
/* Button fully inside card with animation */
.hww-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 20px;
  min-width: 140px;
  width: auto;
  padding: 10px 24px;
  border-radius: 9999px;
  text-decoration: none;
  color: #fff;
  font-weight: 600;
  letter-spacing: .2px;
  background: linear-gradient(92.24deg, #2BD2B6 7.25%, #B667E2 99.57%);
  box-shadow: 0 4px 12px rgba(0, 0, 0, .10), inset 0 -3px 8px rgba(0, 0, 0, .12);
  transition: transform .15s ease, filter .15s ease;
  align-self: flex-start;
  margin-top: -10px;
  position: relative;
  /* for animation pseudo-element */
  overflow: hidden;
  /* keep pseudo-element inside */
}

@media (min-width: 781px) {
  .hww-cta {
    margin-left: 14px;
  }
}

.hww-cta:hover {
  transform: translateY(-2px);
  filter: brightness(1.03);
}

/* Animation overlay */
.hww-cta .cta-text {
  position: relative;
  z-index: 2;
  transition: opacity 0.3s;
}

.hww-cta::after {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, #2FCDA7 0%, #8157d5 100%);
  z-index: 1;
  transition: left 2s ease;
}

/* Loading animation */
.hww-cta.loading::after {
  left: 0;
}

.hww-cta.loading .cta-text {
  opacity: 0;
}

/* Scheduled state */
.hww-cta.scheduled .cta-text {
  opacity: 1;
}


/* Responsive */
@media (max-width: 1024px) {
  .hww-grid {
    grid-template-columns: 1fr;
    row-gap: 16px;
    padding: 20px;
  }

  .hww-figure,
  .hww-card {
    height: auto;
  }

  /*.hww-figure img {
    height: 220px;
  }*/

  /* .hww-cta {
    position: static;
    margin-top: 14px; */
  }
}

/*@media (max-width: 580px) {
  .hww-figure img {
    height: 180px;
  }
}*/

/* IMPACT */
/* IMPACT SECTION */
.ideas-impact {
  padding: 10px 20px;
  background-color: transparent;
  text-align: center;
  margin-top: -50px;
}

.ideas-impact h2 {
  font-size: 38px;
  font-weight: 600;
  margin-bottom: 180px;
  color: #000000;
  text-align: center; /* centers text inside the h2 */
}

/* Desktop View */
.ideas-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 50px;
  align-items: center;
}

.idea-item img,
.idea-item2 img {
  width: 70%;
  height: auto;
  display: block;
  margin: 0 auto;
}

.idea-item2 img {
  margin-top: -150px;
}

/* Mobile Layout Styles */
.mobile-view {
  display: none;
}

.idea-step {
  display: flex;
  align-items: flex-start;
  gap: 15px;
  margin-bottom: 20px;
  text-align: left;
}

.idea-step img {
  width: 50px;
  height: 50px;
}

.idea-step h3 {
  font-size: 18px;
  font-weight: 500;
  margin: 0 0 5px;
  color: #000000;
}

.idea-step p {
  font-size: 14px;
  font-weight: 200;
  margin: 0;
  color: #000000;
}

/* Responsive */
@media (max-width: 768px) {
  .desktop-view {
    display: none;
  }

  .mobile-view {
    display: block;
  }

  .ideas-impact {
    margin-top: -50px;
    margin-bottom: 70px;
  }

  .ideas-impact h2 {
    margin-bottom: 40px;
    font-size: 1.8rem;
  }
}


/* For about page impact css */
.ideas-impact-inner {
  padding: 10px 20px;
  background-color: transparent;
  text-align: center;
  margin: 0;
  /* reset */
}

.ideas-impact-inner h2 {
  font-size: 2.4rem;
  font-weight: 800;
  margin-bottom: 180px;
  color: #000000;
}

/* Main Layout (hidden by default on desktop) */
.ideas-list-inner {
  display: none;
}

.idea-step-inner {
  display: flex;
  align-items: flex-start;
  gap: 15px;
  margin-bottom: 20px;
  text-align: left;
}

.idea-step-inner img {
  width: 50px;
  height: 50px;
}

.idea-step-inner h3 {
  font-size: 1.2rem;
  font-weight: 500;
  margin: 0 0 5px;
  color: #000000;
}

.idea-step-inner p {
  font-size: 0.95rem;
  font-weight: 100;
  margin: 0;
  color: #000000;
}

/* ✅ Desktop / Web view */
@media (min-width: 769px) {
  .ideas-impact-inner {
    margin-top: -250px;
    /* only on desktop */
  }
}

/* ✅ Apply ONLY on desktop screens (>= 1024px wide) */
@media (min-width: 1024px) {
  .ideas-impact-inner {
    margin-top: -250px;
  }
}


/* ✅ Mobile view */
@media (max-width: 768px) {
  .ideas-impact-inner {
    margin-top: -100px;
    /* only on mobile */
    margin-bottom: 70px;
  }

  .ideas-list-inner {
    display: block;
  }

  .ideas-impact-inner h2 {
    margin-bottom: 40px;
    font-size: 1.8rem;
  }
}





.testimonial-section {
  display: flex;
  flex-direction: column;
  align-items: center;
  /* center horizontally */
  text-align: center;
  margin: 90px auto;
  padding-bottom: 200px;
}

/* Heading */
h2 {
  font-size: 38px;
  font-weight: 100;
  color: #000000;
  margin-bottom: 50px;
  line-height: 1.4;
}

/* Card stack wrapper */
.card-stack {
  position: relative;
  display: flex;
  /* allow flex centering */
  justify-content: center;
  /* center cards horizontally */
  width: 300px;
  /* desktop default */
}

/* Individual card */
.card {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 280px;
  padding: 30px 12px;
  background: #fff;
  border-radius: 12px;
  box-shadow: 0px 10px 25px rgba(0, 0, 0, 0.05);
  cursor: grab;
  transition: transform 0.3s ease, opacity 0.3s ease;
}

.card p {
  font-size: 15px;
  font-weight:100;
  line-height: 1.6;
  color: #111010;
  text-align: left;
  margin: 0;
}

.author {
  position: fixed;
  bottom: 20px; /* Distance from bottom */
  left: 20px;   /* Distance from left */
  text-align: left;
  margin-top: 0; /* Remove margin-top since it's no longer needed */
  z-index: 999;  /* Ensure it stays above other elements */
}

.author .name {
  font-size: 13px;
  font-weight: 500;
  color: #111;
}

.author .role {
  font-size: 12px;
  font-weight: 300;
  color: #999;
  margin-top: 2px;
}


/* Stack depth */
.card:nth-child(1) {
  z-index: 3;
}

.card:nth-child(2) {
  transform: scale(0.98) translateY(8px);
  z-index: 2;
}

.card:nth-child(3) {
  transform: scale(0.96) translateY(16px);
  z-index: 1;
}



/* ================= Responsive ================= */

/* Tablets */
@media (max-width: 1024px) {
  .card-stack {
    width: 320px;
    /* slightly larger for tablets */
  }
}

/* Mobile */
@media (max-width: 767px) {
  .testimonial-section {
    margin: 100px auto;
    margin-bottom: 100px;
    padding-bottom: 300px;
  }

  .card-stack {
    width: 90%;
    /* take up most of screen but still centered */
    max-width: 240px;
  }

  h2 {
    font-size: 22px;
    margin-bottom: 30px;
  }

  .card {
    height: 270px;
    padding: 10px;

  }

  .card p {
    font-size: 14px;
  }

  .author .name {
    font-size: 12px;
  }

  .author .role {
    font-size: 11px;
  }
}



/* VALUES */
/* Our Values Section Styles */
.our-values {
  padding: 80px 0;
  background: none;
  position: relative;
  overflow: hidden;
  margin-top: 60px;
}


.our-values .container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
  position: relative;
  z-index: 2;
}

/* Header with accent line */
.values-header {
  display: flex;
  align-items: center;
  margin-bottom: 80px;
  gap: 15px;
  margin-left: 70px;
}

.values-header .accent-line {
  flex-shrink: 0;
}

.values-header h2 {
  color: #7219A3;
  font-size: 38px;
  font-weight: 300;
  margin: 0;
  line-height: 1.2;
}

/* Content layout */
.values-content {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  max-width: 1000px;
  margin-left: 150px;
}

.values-column {
  display: flex;
  flex-direction: column;
  gap: 40px;
}

/* Individual value items */
.value-item {
  margin-bottom: 0;
}

.value-item h3 {
  color: #000000;
  font-size: 28px;
  font-weight: 300;
  margin: 0 0 15px 0;
  line-height: 1.3;

}

.value-item p {
  color: #82878F;
  font-size: 18px;
  line-height: 1.6;
  margin: 0;
  font-weight: 200;
}

/* ============================= */
/* RESPONSIVE: Tablet & Mobile   */
/* ============================= */

/* Tablet and below (<=1024px) */
@media (max-width: 1024px) {
  .values-header {
    margin-left: 0;
    justify-content: flex-start;
  }

  .values-header h2 {
    color: #000000;
    /* heading black */
    white-space: nowrap;
    /* keep heading in one line */
  }

  .values-content {
    margin-left: 0;
    justify-content: center;
    grid-template-columns: 1fr !important;
    /* stack into one column */
  }

  .values-column {
    align-items: center;
    text-align: center;
    gap: 40px;
  }

  .value-item {
    text-align: center;
  }
}

/* Tablet Portrait & Mobile (<=768px) */
@media (max-width: 768px) {
  .values-header {
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 15px;
    margin-bottom: 60px;
    text-align: center;
  }

  .values-header h2 {
    color: #000000;
    font-size: 38px;
    white-space: nowrap;
  }

  .values-content {
    grid-template-columns: 1fr;
    gap: 60px;
    margin-left: 0;
    justify-items: center;
  }

  .values-column {
    align-items: center;
    text-align: center;
    gap: 40px;
  }

  .value-item h3 {
    font-size: 28px;
    color: #000000;
  }

  .value-item p {
    font-size: 18px;
    color: #82878F;
  }
}

/* Mobile Landscape (<=600px) */
@media (max-width: 600px) {
  .values-header {
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 15px;
    margin-bottom: 50px;
    text-align: center;
  }

  .values-header h2 {
    font-size: 38px;
    color: #000000;
    white-space: nowrap;
  }

  .values-content {
    gap: 50px;
    justify-items: center;
  }

  .values-column {
    align-items: center;
    text-align: center;
    gap: 35px;
  }
}

/* Mobile Portrait (<=480px) */
@media (max-width: 480px) {
  .values-header {
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 12px;
    margin-bottom: 40px;
    text-align: center;
  }

  .values-header h2 {
    font-size: 38px;
    color: #000000;
    white-space: nowrap;
  }

  .values-content {
    gap: 40px;
    justify-items: center;
  }

  .values-column {
    align-items: center;
    text-align: center;
    gap: 30px;
  }
}

/* Small Mobile Devices (<=375px) */
@media (max-width: 375px) {
  .values-header {
    gap: 10px;
    justify-content: center;
    text-align: center;
  }

  .values-header h2 {
    font-size: 38px;
    color: #000000;
    white-space: nowrap;
  }

  .values-content {
    gap: 35px;
    grid-template-columns: 1fr;
  }

  .values-column {
    align-items: center;
    text-align: center;
    gap: 25px;
  }
}

/* Extra Small Mobile Devices (<=320px) */
@media (max-width: 320px) {
  .values-header {
    gap: 8px;
    justify-content: center;
    text-align: center;
  }

  .values-header h2 {
    font-size: 38px;
    color: #000000;
    white-space: nowrap;
  }

  .values-content {
    gap: 30px;
    grid-template-columns: 1fr;
  }

  .values-column {
    align-items: center;
    text-align: center;
    gap: 20px;
  }
}



/* ===== HOW WE WORK — robust mobile (≤680px) ===== */
@media (max-width: 680px) {

  /* Single column, consistent gutters */
  .hww-grid {
    grid-template-columns: 1fr;
    gap: clamp(28px, 7vw, 48px);
    padding: 0 clamp(14px, 4vw, 24px);
    /* ~16–24px side gutters */
  }

  /* Image: fluid aspect, rounded corners, no fixed heights */
  .hww-figure {
    margin: 0;
  }

  .hww-figure img {
    display: block;
    width: 100%;
    /* ↑ keep full width, but make it visually larger by increasing height */
    height: clamp(260px, 75vw, 360px);
    /* was auto/aspect-ratio */
    object-fit: cover;
    border-radius: 18px;
  }

  /* White card: comfy padding + same radius as image */
  .hww-card {
    padding: clamp(16px, 3.5vw, 24px);
    border-radius: 18px;
  }

  /* Steps spacing + readable type on small screens */
  .hww-steps {
    padding: 0;
    gap: clamp(10px, 2.8vw, 16px);
  }

  .hww-step {
    gap: clamp(10px, 2.6vw, 16px);
  }

  .hww-step .badge {
    width: clamp(26px, 7vw, 34px);
    height: clamp(26px, 7vw, 34px);
    font-size: clamp(12px, 3.6vw, 16px);
  }

  .hww-step h3 {
    font-size: clamp(16px, 4.6vw, 20px);
  }

  /* “Step 1” */
  .hww-step h4 {
    font-size: clamp(16px, 4.4vw, 20px);
  }

  /* title */
  .hww-step p {
    font-size: clamp(13px, 3.8vw, 16px);
    line-height: 1.5;
  }
  /* CTA: centered, stretches nicely, never overflows */
  .hww-cta {
    /* kill any leftover desktop offset */
    margin-left: 0 !important;
    margin-right: 0 !important;

    /* center + safe width on all phones */
    display: inline-flex;
    align-self: center;
    margin-top: 16px;
    width: min(72%, 280px);
    /* smaller than before */
    min-width: 200px;
    /* keeps presence on tiny phones */
    padding: 10px 18px;
    min-width: 0;
    border-radius: 9999px;
  }

  .hww-card {
    padding-bottom: clamp(16px, 4vw, 22px);
  }
}

/* Ultra-narrow safety: make CTA full-width if needed */
@media (max-width: 360px) {
  .hww-cta {
    width: 100%;
    min-width: unset; /* Allow shrinking */
    padding: 8px 12px; /* Reduce horizontal padding */
    font-size: 14px; /* Optional: make text fit */
  }
}



/* iPad Mini Responsive Fix */
@media (min-width: 768px) and (max-width: 1024px) {

  /* Reposition contact information to appear after form */
  .contact-container {
    display: flex;
    flex-direction: column;
  }

  .hero-section {
    order: 1;
  }

  .contact-section {
    order: 2;
  }

  .contact-info {
    order: 3;
    margin-top: 30px;
  }

  /* Form layout adjustments */
  .form-row {
    flex-direction: column;
    gap: 20px;
  }

  .field {
    width: 100%;
  }

  /* Specific adjustment for email field */
  .field:nth-child(2) {
    margin-top: 10px;
  }

  /* Specific adjustment for phone field */
  .field:nth-child(3) {
    margin-top: 10px;
  }

  /* Add gap between first name and last name */
  .form-row:first-child .field:first-child {
    margin-bottom: 15px;
  }

  /* Adjust radio group for better spacing */
  .radio-group {
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin-top: 10px;
  }

  /* Make first name and last name appear on the same line */
  .form-row:first-child {
    flex-direction: row !important;
    gap: 20px !important;
  }

  /* Ensure each field takes half the width minus gap */
  .form-row:first-child .field {
    width: calc(50% - 10px) !important;
    flex: 0 0 calc(50% - 10px) !important;
  }

  /* Add spacing between the fields */
  .form-row:first-child .field:first-child {
    margin-right: 10px;
  }

  /* Reset any conflicting styles first */
  .form-row:first-child {
    display: flex !important;
    flex-direction: row !important;
    align-items: stretch !important;
    /* This ensures both fields have same height */
    justify-content: space-between !important;
    gap: 20px !important;
  }

  /* Ensure perfect vertical alignment */
  .form-row:first-child .field {
    flex: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
  }

  /* Make sure labels are perfectly aligned */
  .form-row:first-child .field label {
    margin-bottom: 8px;
    height: 20px;
    /* Fixed height for perfect alignment */
    display: flex;
    align-items: center;
  }

  /* Ensure inputs have exactly the same styling */
  .form-row:first-child .field input {
    width: 100%;
    height: 44px;
    /* Fixed height for perfect alignment */
    box-sizing: border-box;
    padding: 12px 15px;
    border: 1px solid #ddd;
    border-radius: 8px;
    font-size: 16px;
  }

  /* Force exact same styling for both fields */
  .form-row:first-child .field:first-child,
  .form-row:first-child .field:last-child {
    margin: 0;
    padding: 0;
  }

  /* Remove any block styling and ensure proper line appearance */
  .form-row:first-child .field input {
    height: auto !important;
    padding: 8px 12px !important;
    border: 1px solid #ddd !important;
    border-radius: 4px !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  /* Ensure both fields have the same appearance */
  .form-row:first-child .field:first-child input,
  .form-row:first-child .field:last-child input {
    border-bottom: 2px solid #555 !important;
  }

  /* Focus state for better visual feedback */
  .form-row:first-child .field input:focus {
    border-color: #a777e3 !important;
    outline: none !important;
    box-shadow: 0 0 0 2px rgba(167, 119, 227, 0.2) !important;
  }

  /* Adjust the container to ensure proper spacing */
  .form-row:first-child {
    margin-bottom: 15px !important;
  }

  /* Make sure labels are properly aligned */
  .form-row:first-child .field label {
    margin-bottom: 5px !important;
    font-size: 14px !important;
    color: #555 !important;
  }

  /* Add line styling to First Name and Last Name fields */
  .form-row:first-child .field input {
    border: none !important;
    border-bottom: 2px solid #ddd !important;
    border-radius: 0 !important;
    padding: 8px 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  /* Focus state for line fields */
  .form-row:first-child .field input:focus {
    border-bottom-color: #6e8efb !important;
    outline: none !important;
  }

  /* Ensure proper spacing between First Name and Last Name */
  .form-row:first-child {
    gap: 30px !important;
  }

  /* Make sure labels are properly aligned above the lines */
  .form-row:first-child .field label {
    margin-bottom: 8px !important;
    font-size: 14px !important;
    color: #555 !important;
    display: block !important;
  }

  /* Match the styling of Email and Phone Number fields */
  .field input:not([type="radio"]):not([type="submit"]) {
    border: none !important;
    border-bottom: 2px solid #ddd !important;
    border-radius: 0 !important;
    padding: 8px 0 !important;
    background: transparent !important;
  }

  .field input:focus {
    border-bottom-color: #6e8efb !important;
    outline: none !important;
  }

  /* Change line color for all input fields to #555 */
  .field input:not([type="radio"]):not([type="submit"]) {
    border-bottom-color: #555 !important;
  }

  /* Change line color on focus */
  .field input:not([type="radio"]):not([type="submit"]):focus {
    border-bottom-color: #6e8efb !important;
  }
}



/* iPad Mini Schedule Call Button Proper Spacing */
@media (min-width: 768px) and (max-width: 1024px) {

  /* Add proper spacing above the button */
  .hww-card {
    padding-bottom: 30px !important;
  }

  /* Reset any unwanted button styles and add proper margin */
  .hww-cta {
    margin-top: 40px !important;
    padding: 14px 40px !important;
    border-top: none !important;
    display: inline-block !important;
    background: linear-gradient(135deg, #6e8efb, #a777e3) !important;
    color: white !important;
    border-radius: 30px !important;
    text-decoration: none !important;
    font-weight: bold !important;
    font-size: 16px !important;
  }

}





/*POST PAGE */
.single-blog-container {
  max-width: 1200px;   /* increased width */
  margin: 20px auto;   /* smaller top/bottom margin */
  background: #fff;
  padding: 24px;
  border-radius: 8px;
  box-sizing: border-box; /* prevent overflow issues */
}

.blog-featured-image img {
  width: 100%;   /* fit perfectly inside container */
  height: 50%;
  border-radius: 6px;
  display: block;
  margin: 0 auto; /* center image if smaller */
}

.blog-title {
  font-size: 36px;
  font-weight: 700;
  line-height: 48px;
  margin-top: 20px;
  margin-bottom: 10px;
  color: #000;
 
}

.blog-meta {
  font-size: 18px;
  font-weight: 700;
  color: #2D3748;
  margin-bottom: 20px;
  
}
.blog-meta p a{
  font-size: 18px;
  font-weight: 400;
  color: #666768;
  margin-bottom: 20px;
  
}
.blog-divider {
  min-width: 1150px;   /* minimum width */
  width: 40%;         /* adjust how wide you want it */
  height: 1px;        /* thin line */
  background-color: #E8E7E7; /* black line */
  margin: 20px auto;  /* center horizontally with spacing */
}


.blog-description {
  font-size: 16px;
  font-weight: 400;
  line-height: 1.8;
  color: #718096;

}

/* H2 Styling */
.blog-description h2 {
  font-family: Inter, sans-serif;
  font-weight: 700;
  font-size: 30px;
  line-height: 100%;
  letter-spacing: 0;
  margin: 20px 0 10px;
  color: #2D3748;
}

/* H3 Styling */
.blog-description h3 {
  font-family: Inter, sans-serif;
  font-weight: 700;
  font-size: 16px;
  line-height: 100%;
  letter-spacing: 0;
  margin: 15px 0 8px;
  color: #2D3748;
}


.scroll-to-top {
  position: fixed;
  bottom: 30px;
  right: 30px;
  background: #49007d; /* your theme color */
  color: #fff;
  border: none;
  border-radius: 50%;
  width: 45px;
  height: 45px;
  font-size: 20px;
  cursor: pointer;
  display: none; /* hidden initially */
  justify-content: center;
  align-items: center;
  box-shadow: 0 4px 6px rgba(0,0,0,0.2);
  transition: opacity 0.3s ease-in-out;
  z-index: 9999;
}

.scroll-to-top.show {
  display: flex;
  opacity: 1;
}
