:root {
  /* Precise colors extracted from visual analysis */
  --bg-gradient-start: #2e7135; /* Mid-dark green */
  --bg-gradient-end: #5da845; /* Lighter, fresher green */

  --btn-dark-bg: #063b26; /* Very dark green, almost black-green */
  --btn-lime-top: #75ae3e; /* Top of lime gradient */
  --btn-lime-bottom: #7ab33a; /* Bottom of lime gradient */

  --text-white: #ffffff;
  --text-opacity: 0.9;
}

body {
  font-family:
    "Inter",
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    Roboto,
    Helvetica,
    Arial,
    sans-serif;
  color: #fff;
  overflow-x: hidden;
  margin: 0;
  padding: 0;
  min-height: 100vh;
}

.dark-green-bg {
  background: linear-gradient(
    115deg,
    var(--bg-gradient-start) 0%,
    var(--bg-gradient-end) 100%
  );
}

/* Typography tweaks */
h1.hero-title {
  font-weight: 600; /* Inter SemiBold */
  letter-spacing: -1.5px;
  line-height: 1.1;
  font-size: 3.5rem; /* Match the large scale */
}

.text-white-opacity {
  color: rgba(255, 255, 255, 0.85);
}

/* Nav */
.transparent-nav {
  background: transparent;
  transition: padding 0.3s;
}

.navbar-brand .logo-text {
  font-weight: 700;
}

.nav-link {
  color: rgba(255, 255, 255, 0.9) !important;
  font-size: 0.95rem;
  font-weight: 400;
  padding: 0 !important;
  transition: color 0.2s;
}
.nav-link:hover {
  color: #fff !important;
  text-shadow: 0 0 10px rgba(255, 255, 255, 0.3);
}

.nav-separator {
  color: rgba(255, 255, 255, 0.4);
  font-size: 0.8rem;
  font-weight: 300;
  margin: 0 2px;
}

.auth-buttons .small-text {
  font-size: 0.95rem;
}

/* Buttons */
.btn-pill {
  border-radius: 50px;
}

.btn-dark-green {
  background-color: var(--btn-dark-bg);
  color: white;
  border: none;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  font-size: 0.95rem;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
  transition:
    transform 0.2s,
    background-color 0.2s;
}
.btn-dark-green:hover {
  background-color: #051f15;
  color: white;
  transform: translateY(-1px);
}

.btn-lime {
  background: linear-gradient(
    180deg,
    #a3d95b 0%,
    #8cc63f 100%
  ); /* Brighter, more yellow-green */
  border: none;
  color: #063b26; /* Dark green text */
  font-weight: 600;
  /* Soft glow */
  box-shadow:
    0 5px 20px rgba(163, 217, 91, 0.4),
    inset 0 1px 0 rgba(255, 255, 255, 0.4);
  font-size: 1rem;
  transition:
    transform 0.2s,
    box-shadow 0.2s;
}
.btn-lime:hover {
  transform: translateY(-2px);
  color: #063b26;
  box-shadow:
    0 8px 25px rgba(163, 217, 91, 0.5),
    inset 0 1px 0 rgba(255, 255, 255, 0.5);
}

.btn-outline-white {
  border: 1px solid rgba(255, 255, 255, 0.4);
  color: white;
}
.btn-outline-white:hover {
  background: rgba(255, 255, 255, 0.1);
  border-color: white;
  color: white;
}

.btn-outline-white-large {
  border: 1.5px solid white;
  color: white;
  font-size: 1rem;
  background: transparent;
  transition: all 0.2s;
}
.btn-outline-white-large:hover {
  background: white;
  border-color: white;
  color: var(--bg-gradient-start);
}

/* Layout */
.hero-section {
  min-height: 100vh;
  padding-top: 80px;
  position: relative;
  z-index: 1;
}

/* Language Selector */
.language-selector .dropdown-toggle::after {
  display: none;
}

/* Responsive */
@media (max-width: 991px) {
  .navbar-collapse {
    background: rgba(10, 40, 20, 0.95);
    backdrop-filter: blur(10px);
    border-radius: 12px;
    padding: 1.5rem;
    margin-top: 1rem;
  }
  .custom-nav-links {
    margin: 1.5rem 0 !important;
    flex-direction: column;
    align-items: flex-start !important;
    gap: 1rem !important;
  }
  .nav-separator {
    display: none;
  }
  .hero-title {
    font-size: 2.5rem;
  }
  .hero-text {
    text-align: center;
    padding-right: 0 !important;
  }
  .hero-image-container {
    display: none; /* Hide empty space on mobile to avoid gaps */
  }
  .d-flex.flex-wrap {
    justify-content: center;
  }
}

@media (min-width: 1400px) {
  .container-fluid.px-5 {
    padding-left: 5rem !important;
    padding-right: 5rem !important;
  }
  .hero-title {
    font-size: 4.5rem;
  }
}

/* Sections */
section {
  position: relative;
}

/* Stats Section */
.stats-section {
  background-color: #f8f9fa; /* Light grey background */
  padding-top: 5rem;
}

.stats-badge {
  background: white;
  border: 1px solid #e5e7eb;
  border-radius: 50px;
  padding: 0.5rem 1.2rem;
  font-size: 0.85rem;
  font-weight: 500;
  color: #4b5563;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 1.5rem;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}

.stats-badge::before {
  content: "";
  display: block;
  width: 6px;
  height: 6px;
  background-color: #9ca3af;
  border-radius: 50%;
}

.section-heading-centered {
  color: #111;
  font-weight: 700;
  letter-spacing: -1px;
  line-height: 1.2;
  margin-bottom: 1rem;
}

.section-subheading-centered {
  color: #4b5563;
  font-size: 1.05rem;
  margin-bottom: 4rem;
  max-width: 600px;
  margin-left: auto;
  margin-right: auto;
}

.stats-card {
  background: white;
  border-radius: 16px;
  padding: 2.5rem 1.5rem;
  text-align: center;
  height: 100%;
  box-shadow:
    0 4px 6px rgba(0, 0, 0, 0.02),
    0 10px 15px rgba(0, 0, 0, 0.03);
  border: 1px solid rgba(0, 0, 0, 0.03);
  transition: transform 0.2s;
}

.stats-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.05);
}

.stats-icon-box {
  width: 56px;
  height: 56px;
  background: linear-gradient(135deg, #75ae3e 0%, #063b26 100%);
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 1.5rem auto;
  color: white;
  font-size: 1.5rem;
  box-shadow: 0 4px 10px rgba(46, 113, 53, 0.2);
}

.stats-number {
  font-weight: 700;
  color: #111;
  font-size: 2.5rem;
  margin-bottom: 0.5rem;
  line-height: 1;
}

.stats-label {
  color: #4b5563;
  font-weight: 500;
  font-size: 0.95rem;
  line-height: 1.4;
}

/* Transformation Section (below stats) */
.transformation-section {
  padding-top: 4rem;
  padding-bottom: 5rem;
  text-align: center;
}
.transform-title {
  font-weight: 700;
  color: #111;
  letter-spacing: -1px;
  font-size: 2.5rem;
  margin-bottom: 1rem;
}
.transform-subtitle {
  color: #4b5563;
  font-weight: 500;
  margin-bottom: 4rem;
}
.lang-circles {
  display: inline-flex;
  margin: 0 0.8rem;
  vertical-align: middle;
}
.lang-circle {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background-color: white;
  border: 1px solid #e5e7eb;
  margin-left: -10px;
  position: relative;
  z-index: 1;
}
.lang-circle:hover {
  transform: scale(1.1);
  z-index: 10;
}
.lang-circle:nth-child(1) {
  background: linear-gradient(
    90deg,
    #008751 33%,
    #ffffff 33%,
    #ffffff 66%,
    #008751 66%
  );
} /* Nigeria */
.lang-circle:nth-child(2) {
  background: linear-gradient(
    0deg,
    #ce1126 33%,
    #fcd116 33%,
    #fcd116 66%,
    #006b3f 66%
  );
} /* Ghana/Guinea style */
.lang-circle:nth-child(3) {
  background: linear-gradient(
    90deg,
    #000000 33%,
    #bb133e 33%,
    #bb133e 66%,
    #006400 66%
  );
} /* Kenya style */
.lang-circle:nth-child(4) {
  background: linear-gradient(135deg, #00247d 50%, #cf142b 50%);
} /* UK/Union Jack abstract */
.lang-circle:nth-child(5) {
  background: linear-gradient(0deg, #ffcd00 50%, #0056b9 50%);
} /* Generic Blue/Yellow */

.lang-circle:first-child {
  margin-left: 0;
}

/* Testimonial Cards */
.testimonial-card {
  background: white;
  border-radius: 20px;
  padding: 2.5rem;
  text-align: left;
  position: relative;
  height: 100%;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.01);
  border: 1px solid rgba(0, 0, 0, 0.03);
}
.testimonial-text {
  font-size: 1.05rem;
  line-height: 1.6;
  color: #111;
  font-weight: 500;
  margin-bottom: 2rem;
  padding-right: 2rem;
  position: relative;
  z-index: 2;
}
.testimonial-footer {
  display: flex;
  align-items: center;
  gap: 1rem;
}
.testimonial-avatar {
  width: 48px;
  height: 48px;
  background: #44803f;
  color: white;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
  font-size: 1rem;
}
.testimonial-info h5 {
  font-size: 0.95rem;
  font-weight: 700;
  margin-bottom: 0.1rem;
  color: #111;
}
.testimonial-location {
  font-size: 0.85rem;
  color: #6b7280;
  display: flex;
  align-items: center;
  gap: 0.3rem;
}
.testimonial-location img {
  /* Placeholder for flag circle if needed, or css circle */
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: #eee;
}
.star-rating {
  color: #fbbf24;
  font-size: 0.8rem;
  margin-top: 0.2rem;
}
.quote-bg-icon {
  position: absolute;
  top: 2rem;
  right: 2rem;
  color: #f3f4f6;
  font-size: 3rem;
  z-index: 1;
}

/* Built For Estates Section */
.built-for-section {
  background-color: #f8f9fa;
}
.built-intro-text {
  margin: 0 auto 4rem auto;
  text-align: center;
  color: #4b5563;
  font-size: 1.1rem;
  line-height: 1.6;
}

/* Feature List */
.built-feature-item {
  display: flex;
  gap: 1.5rem;
  margin-bottom: 0.5rem;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid #e5e7eb;
}
.built-feature-item:last-child {
  border-bottom: none;
  margin-bottom: 0;
  padding-bottom: 0;
}
.built-icon {
  flex-shrink: 0;
  width: 54px;
  height: 54px;
  background-color: #366931; /* Custom brand green */
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  font-size: 1.4rem;
  box-shadow: 0 4px 6px rgba(54, 105, 49, 0.2);
}
.built-feature-title {
  font-weight: 700;
  color: #111;
  font-size: 1.15rem;
  margin-bottom: 0.5rem;
}
.built-feature-desc {
  color: #6b7280;
  font-size: 0.95rem;
  line-height: 1.55;
  max-width: 95%;
}

/* Right Side Mockups */
.mockup-container {
  position: relative;
  height: 100%;
  min-height: 550px;
  display: flex;
  align-items: center;
  justify-content: center;
  perspective: 1000px;
}
.mockup-card-back {
  position: absolute;
  top: 5%;
  right: 0;
  width: 340px;
  background: white;
  border-radius: 20px;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.08);
  transform: rotate(8deg) translateX(20px);
  padding: 1.5rem;
  border: 1px solid #eee;
  z-index: 1;
}
.mockup-card-front {
  position: absolute;
  top: 15%;
  right: 15%; /* Overlap */
  width: 320px;
  background: white;
  border-radius: 24px;
  box-shadow: 0 30px 60px rgba(0, 0, 0, 0.12);
  transform: rotate(-6deg);
  padding: 1.5rem;
  z-index: 2;
  border: 1px solid #eee;
}

/* Mockup Content Styling */
.mock-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1.5rem;
}
.mock-title {
  font-size: 0.8rem;
  font-weight: 700;
  color: #111;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.mock-subtitle {
  font-size: 1rem;
  color: #4b5563;
}

.mock-stat-card-green {
  background: linear-gradient(135deg, #44803f 0%, #2e7135 100%);
  color: white;
  border-radius: 18px;
  padding: 1.5rem;
  margin-bottom: 1.5rem;
  box-shadow: 0 8px 16px rgba(46, 113, 53, 0.25);
}
.mock-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0.5rem;
}
.mock-stat-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
}
.mock-small-card {
  background: #f9fafb;
  padding: 1rem;
  border-radius: 14px;
}
.mock-list-item {
  display: flex;
  align-items: center;
  padding: 0.8rem;
  background: white;
  border: 1px solid #f3f4f6;
  border-radius: 12px;
  margin-bottom: 0.8rem;
  gap: 0.8rem;
}
.mock-badge {
  padding: 0.2rem 0.6rem;
  border-radius: 20px;
  font-size: 0.7rem;
  font-weight: 600;
}
.badge-pending {
  background: #fef3c7;
  color: #d97706;
}
.badge-resolved {
  background: #d1fae5;
  color: #059669;
}

/* Section Headings */
.section-title {
  color: #111;
  font-weight: 700;
  letter-spacing: -0.5px;
}
.section-subtitle {
  color: #667;
  font-size: 1.1rem;
  line-height: 1.6;
}

/* Feature Cards (Benefits Grid) */
.feature-card {
  background-color: #f9fafb; /* Light grey from design */
  border-radius: 16px;
  padding: 2.5rem;
  height: 100%;
  transition:
    transform 0.3s ease,
    box-shadow 0.3s ease;
  border: 1px solid transparent;
}
.feature-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
  border-color: rgba(0, 0, 0, 0.05);
}
.feature-icon-wrapper {
  width: 50px;
  height: 50px;
  background: white;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1.5rem;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05);
  font-size: 1.25rem;
  color: var(--bg-gradient-start);
}

/* Community & Commerce */
.commerce-section {
  background-color: #fff;
}
.btn-blue {
  background-color: #2563eb;
  color: white;
  border: none;
  transition: background-color 0.2s;
}
.btn-blue:hover {
  background-color: #1d4ed8;
  color: white;
}

/* Confidence Section (Refined) */
.confidence-section {
  padding-bottom: 5rem;
}

.confidence-feature-list {
  margin-top: 2rem;
  margin-bottom: 3rem;
}

.confidence-feature-item {
  display: flex;
  gap: 1.25rem;
  margin-bottom: 1.8rem;
}

.confidence-feature-icon {
  flex-shrink: 0;
  width: 48px;
  height: 48px;
  background-color: #44803f; /* Brand Forest Green */
  color: white;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.2rem;
}
/* Managed Communities Section */
.managed-communities-section {
  padding-top: 5rem;
  padding-bottom: 5rem;
  background: linear-gradient(
    135deg,
    #fff8f0 0%,
    #fafaf9 100%
  ); /* Subtle warm bg */
}

.managed-card {
  background: white;
  border-radius: 20px;
  padding: 2.5rem 1.5rem;
  text-align: center;
  height: 100%;
  /* Soft shadow + border */
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.02);
  border: 1px solid rgba(0, 0, 0, 0.03);
  transition: transform 0.2s;
}
.managed-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.05);
}

.managed-icon-box {
  width: 60px;
  height: 60px;
  background: linear-gradient(135deg, #44803f 0%, #2e7135 100%);
  border-radius: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 1.5rem auto;
  font-size: 1.5rem;
  color: white;
  box-shadow: 0 5px 15px rgba(46, 113, 53, 0.3);
}

.managed-card-text {
  font-weight: 600;
  color: #1f2937;
  font-size: 1.05rem;
  line-height: 1.4;
  margin: 0 auto;
}

.managed-footer-text {
  text-align: center;
  margin-top: 3rem;
  color: #4b5563;
  font-size: 1.05rem;
  font-weight: 500;
}

.confidence-feature-text h5 {
  font-weight: 700;
  font-size: 1.05rem;
  color: #111;
  margin-bottom: 0.3rem;
}

.confidence-feature-text p {
  color: #6b7280;
  font-size: 0.95rem;
  line-height: 1.5;
  margin-bottom: 0;
}

.btn-lime {
  background-color: #44803f; /* Brand Forest Green */
  color: white;
  border: none;
  font-weight: 600;
  padding: 0.8rem 2rem;
  transition: background-color 0.2s;
}
.btn-lime:hover {
  background-color: #2e7135;
  color: white;
}

/* Right Side Dashboard Mockup */
.confidence-mockup-wrapper {
  border-radius: 32px;
  padding: 3rem;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);
}

.confidence-dashboard-card {
  background: white;
  border-radius: 20px;
  padding: 2rem;
  width: 100%;
  max-width: 450px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
}

.conf-dash-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1.5rem;
  font-size: 0.85rem;
  font-weight: 600;
  color: #374151;
}

.conf-dash-stat-box {
  background: #f3f4f6;
  border-radius: 12px;
  padding: 1rem 1.25rem;
  margin-bottom: 1rem;
}
.conf-dash-label {
  font-size: 0.8rem;
  color: #6b7280;
  margin-bottom: 0.2rem;
}
.conf-dash-val {
  font-size: 1.5rem;
  font-weight: 700;
  color: #111;
}
.conf-dash-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
  margin-bottom: 1rem;
}

.conf-dash-green-card {
  background-color: #44803f;
  color: white;
  padding: 1.25rem;
  border-radius: 16px;
  position: relative;
  overflow: hidden;
}
.conf-dash-green-title {
  font-size: 0.8rem;
  opacity: 0.9;
  margin-bottom: 0.2rem;
}
.conf-dash-green-val {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1;
  margin-bottom: 0.5rem;
}
.conf-progress-bar {
  height: 6px;
  background: rgba(255, 255, 255, 0.3);
  border-radius: 3px;
  margin-top: 0.5rem;
  position: relative;
}
.conf-progress-fill {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 94%;
  background: white;
  border-radius: 3px;
}

/* Impact Section (What Changes) */
.impact-section {
  background-color: #f8f9fa;
  padding-top: 5rem;
  padding-bottom: 5rem;
  /* faint vertical lines bg if possible, skipping for now to keep simple and clean */
}

.impact-title {
  font-size: 3rem;
  font-weight: 800;
  color: #111;
  letter-spacing: -1px;
  margin-bottom: 1rem;
  line-height: 1.2;
}

.impact-subtitle {
  font-size: 1.1rem;
  color: #4b5563;
  margin: 0 auto 5rem auto;
}

/* Impact Columns */
.impact-col-side {
  position: relative;
  padding-left: 2rem;
  border-left: 1px solid #e5e7eb;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 2rem;
}
.impact-col-side:last-child {
  border-left: none; /* If using grid/flex differently, but standard approach */
}

/* Custom Accordion */
.custom-accordion .accordion-button {
  color: #111;
  background: transparent;
  box-shadow: none;
  padding-left: 0;
  padding-right: 0;
}
.custom-accordion .accordion-button:not(.collapsed) {
  color: #2e7135;
  background: transparent;
  box-shadow: none;
}
.custom-accordion .accordion-button::after {
  background-size: 1rem;
  transition: transform 0.3s ease;
}
.custom-accordion .accordion-button:focus {
  box-shadow: none;
  border-color: rgba(0, 0, 0, 0.125);
}

/* Hover Lift */
.hover-lift {
  transition:
    transform 0.3s ease,
    box-shadow 0.3s ease;
}
.hover-lift:hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.15) !important;
}

.impact-card {
  background: white;
  border-radius: 20px;
  padding: 2.5rem 2rem;
  text-align: center;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.03);
  border: 1px solid rgba(0, 0, 0, 0.04);
  font-weight: 600;
  color: #1f2937;
  font-size: 1.1rem;
  position: relative;
  transition: transform 0.2s;
  height: 160px; /* Fixed height for consistency */
  display: flex;
  align-items: center;
  justify-content: center;
}
.impact-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.05);
}

/* Connecting Lines (Desktop Only) */
@media (min-width: 992px) {
  .impact-col-left .impact-card::after {
    content: "";
    position: absolute;
    top: 50%;
    right: -50px; /* Gap to center */
    width: 50px;
    height: 0;
    border-top: 2px dashed #d1d5db;
    z-index: 0;
  }
  .impact-col-right .impact-card::before {
    content: "";
    position: absolute;
    top: 50%;
    left: -50px;
    width: 50px;
    height: 0;
    border-top: 2px dashed #d1d5db;
    z-index: 0;
  }
}

/* Center Dashboard Card */
.impact-dashboard-container {
  background: white;
  padding: 1.5rem;
  border-radius: 24px;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.08);
  border: 1px solid #e5e7eb;
  max-width: 400px;
  margin: 0 auto;
  position: relative;
  z-index: 2; /* Above lines */
}

/* Reuse mock styles from previous step but scoped or shared */
.impact-db-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 2rem;
}
.impact-db-title {
  font-size: 0.8rem;
  font-weight: 700;
  color: #15803d;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.impact-db-subtitle {
  font-size: 0.95rem;
  color: #374151;
  font-weight: 500;
}
.impact-db-icon {
  width: 40px;
  height: 40px;
  background: #65a30d; /* Lighter green */
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
}

.impact-stat-main {
  background: linear-gradient(180deg, #4d7c0f 0%, #15803d 100%);
  border-radius: 16px;
  padding: 2rem;
  color: white;
  margin-bottom: 1.5rem;
  text-align: center;
  box-shadow: 0 10px 20px rgba(21, 128, 61, 0.2);
}
.impact-stat-val {
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 1;
  margin: 0.5rem 0;
}
.impact-stat-label {
  font-size: 0.85rem;
  opacity: 0.9;
}

.impact-grid-row {
  display: flex;
  gap: 1rem;
}
.impact-grid-col {
  flex: 1;
  background: #f3f4f6;
  border-radius: 12px;
  padding: 1.2rem;
  text-align: left;
}
.impact-grid-val {
  font-size: 1.5rem;
  font-weight: 700;
  color: #111;
  margin-bottom: 0.2rem;
}
.impact-grid-lbl {
  font-size: 0.8rem;
  color: #6b7280;
}

.impact-footer-badge {
  margin-top: 1.5rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 0.8rem;
  font-weight: 600;
}
.badge-live {
  color: #16a34a;
  display: flex;
  align-items: center;
  gap: 0.4rem;
}
.badge-pending {
  background: #fff7ed;
  color: #ea580c;
  padding: 0.3rem 0.8rem;
  border-radius: 20px;
}

.impact-bottom-text {
  margin-top: 4rem;
  font-weight: 700;
  color: #374151;
  font-size: 1.1rem;
}

.cta-card {
  background: linear-gradient(
    135deg,
    #75ae3e 0%,
    #063b26 100%
  ); /* Green Gradient */
  border-radius: 20px;
  padding: 5rem 2rem;
  text-align: center;
  color: white;
  position: relative;
  overflow: hidden;
  box-shadow: 0 20px 40px rgba(6, 59, 38, 0.15); /* Deep green shadow */
}
.cta-card h2 {
  font-size: 2.5rem;
  margin-bottom: 1.5rem;
  letter-spacing: -0.5px;
}
.cta-subtitle {
  font-size: 1.1rem;
  color: rgba(255, 255, 255, 0.9);
  max-width: 700px;
  margin: 0 auto 3rem auto;
  font-weight: 400;
  line-height: 1.6;
}
.cta-footer-divider {
  height: 1px;
  background: rgba(255, 255, 255, 0.15);
  margin: 3rem 4rem 1.5rem 4rem;
}
.cta-footer-text {
  font-size: 0.95rem;
  color: rgba(255, 255, 255, 0.8);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
}
.cta-footer-dot {
  width: 6px;
  height: 6px;
  background-color: #fbbf24; /* Amber/Yellow Dot */
  border-radius: 50%;
}
.cta-card::before {
  content: "";
  position: absolute;
  bottom: -50px;
  left: -50px;
  width: 200px;
  height: 200px;
  background: rgba(255, 255, 255, 0.03);
  border-radius: 50%;
  pointer-events: none;
}
/* Subtle pattern overlay for CTA if desired, strictly optional */

/* Footer */
.site-footer {
  background-color: #020403; /* Deepest black-green */
  color: #9ca3af;
  padding-top: 5rem;
  padding-bottom: 2rem;
  font-size: 0.9rem;
}

.footer-heading {
  color: white;
  font-weight: 600;
  margin-bottom: 1.5rem;
  font-size: 1.1rem;
}

.footer-link {
  color: #9ca3af;
  text-decoration: none;
  display: block;
  margin-bottom: 0.8rem;
  transition: color 0.2s;
}
.footer-link:hover {
  color: white;
}

/* App Buttons */
.app-btn-row {
  display: flex;
  gap: 0.5rem;
  margin-bottom: 1rem;
}
.app-btn {
  background: white;
  border-radius: 6px;
  padding: 0.4rem 0.8rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  text-decoration: none;
  color: black;
  transition: opacity 0.2s;
  min-width: 120px;
}
.app-btn:hover {
  opacity: 0.9;
  color: black;
}
.app-btn i {
  font-size: 1.4rem;
}
.app-btn-text {
  display: flex;
  flex-direction: column;
  line-height: 1;
  align-items: flex-start;
}
.app-btn-small {
  font-size: 0.6rem;
  text-transform: uppercase;
  font-weight: 600;
}
.app-btn-large {
  font-size: 0.9rem;
  font-weight: 700;
}

/* Newsletter */
.newsletter-input-group {
  background: white;
  border-radius: 50px;
  padding: 0.3rem 0.3rem 0.3rem 1.2rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.newsletter-input {
  border: none;
  outline: none;
  background: transparent;
  color: #333;
  width: 100%;
  font-size: 0.95rem;
}
.newsletter-btn {
  background-color: #75ae3e;
  color: white;
  border: none;
  border-radius: 50px;
  padding: 0.5rem 1.5rem;
  font-weight: 600;
  transition: background 0.2s;
}
.newsletter-btn:hover {
  background-color: #5d8e2e;
}

/* Social Icons */
.social-icon-box {
  width: 36px;
  height: 36px;
  background: linear-gradient(135deg, #75ae3e 0%, #063b26 100%);
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  transition: transform 0.2s;
}
.social-icon-box:hover {
  transform: translateY(-2px);
  color: white;
}

.social-icons-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  max-width: 140px; /* Force wrap after 3 icons (36*3 + 8*2 = 124px) */
}

.footer-bottom {
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  margin-top: 4rem;
  padding-top: 2rem;
  text-align: center;
  color: #6b7280;
}

/* Managed Communities Section */
.managed-communities-section {
  padding-top: 5rem;
  padding-bottom: 5rem;
  background: linear-gradient(
    to right,
    #fdfbf7,
    #fff
  ); /* Subtle warm background based on screenshot */
}

.managed-card {
  background: white;
  border-radius: 20px;
  padding: 3rem 2rem;
  text-align: center;
  height: 100%;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.02);
  border: 1px solid rgba(0, 0, 0, 0.03);
  transition: transform 0.2s;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.managed-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.05);
}

.managed-icon-box {
  width: 64px;
  height: 64px;
  background: linear-gradient(135deg, #75ae3e 0%, #063b26 100%);
  border-radius: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  font-size: 1.75rem;
  margin-bottom: 1.5rem;
  box-shadow: 0 4px 10px rgba(46, 113, 53, 0.2);
}

.managed-card-text {
  font-size: 1.1rem;
  font-weight: 600;
  color: #111;
  line-height: 1.4;
}

.managed-footer-text {
  text-align: center;
  margin-top: 3rem;
  font-weight: 600;
  color: #4b5563;
  font-size: 1.05rem;
}

/* Foundation Section */
.foundation-section {
  padding-top: 5rem;
  padding-bottom: 5rem;
  background-color: #fdfbf7; /* Subtle warm background */
}
.foundation-card {
  background: white;
  border-radius: 20px;
  padding: 2.5rem;
  text-align: center;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
  border: 1px solid #f3f4f6;
  height: 100%;
  position: relative;
  overflow: hidden;
  transition: transform 0.2s;
}
.foundation-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
}
.foundation-card-bg-circle {
  display: block;
  position: absolute;
  top: -40px;
  right: -40px;
  width: 150px;
  height: 150px;
  background-color: #ecfccb; /* Pale lime/green */
  border-radius: 50%;
  z-index: 0;
  opacity: 0.6;
}
.foundation-icon-box {
  width: 60px;
  height: 60px;
  background: linear-gradient(
    135deg,
    #75ae3e 0%,
    #063b26 100%
  ); /* Green Gradient */
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  font-size: 1.5rem;
  margin: 0 auto 1.5rem auto;
  position: relative;
  z-index: 1;
}
.foundation-icon-box i {
  color: white;
}
.foundation-card-title {
  font-weight: 700;
  margin-bottom: 1rem;
  position: relative;
  z-index: 1;
  font-size: 1.25rem;
  color: #111;
}
.foundation-card-text {
  font-size: 0.95rem;
  color: #6b7280;
  line-height: 1.6;
  position: relative;
  z-index: 1;
  text-align: center;
}
.foundation-footer-text {
  text-align: center;
  margin-top: 4rem;
  font-weight: 700;
  color: #374151;
  font-size: 1.1rem;
  opacity: 1;
}
/* Section Title Override Reset */
.foundation-section .section-title {
  color: #111;
}
.foundation-section .section-subtitle {
  color: #667;
  opacity: 1;
}

/* Scrolled Navbar State */
.navbar.scrolled {
  background: rgba(6, 59, 38, 0.95) !important; /* Deep green */
  backdrop-filter: blur(10px);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
  padding-top: 1rem !important;
  padding-bottom: 1rem !important;
}

/* Ensure transition applies smoothly */
.navbar {
  transition: all 0.3s ease-in-out;
}

.hero-frames-container {
  perspective: 1500px;
  transform-style: preserve-3d;
  height: 600px !important;
  width: 100%;
  max-width: 650px;
  margin: 0 auto;
  position: relative;
  padding-top: 2rem;
}

.hero-card {
  position: absolute;
  background: white;
  border-radius: 24px;
  padding: 1.5rem;
  box-shadow:
    0 15px 35px rgba(0, 0, 0, 0.1),
    0 5px 15px rgba(0, 0, 0, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.8);
  transition:
    transform 0.4s ease,
    z-index 0s;
  width: 290px; /* Standardized width */
}

/* Man Image Positioning */
.hero-man-container {
  position: absolute;
  bottom: 72px;
  right: -70px;
  z-index: 10;
  width: 600px;
  height: auto;
  pointer-events: none;
}

.hero-man-img {
  width: 100%;
  height: auto;
  display: block;
  filter: drop-shadow(0 20px 40px rgba(0, 0, 0, 0.25));
}

/* Specific Card Positioning */
.card-overview {
  top: 40px;
  left: -30px;
  z-index: 2;
  transform: rotate(-8deg) translateZ(-10px);
}

.card-requests {
  top: 70px;
  right: -30px;
  z-index: 1;
  transform: rotate(8deg) translateZ(-30px);
}

/* Glass Background matches design */
.hero-glass-bg {
  position: absolute;
  top: 10%;
  left: -5%;
  width: 110%;
  height: 80%;
  background: rgba(255, 255, 255, 0.08);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 40px;
  transform: rotate(-2deg) translateZ(-50px);
  z-index: -1;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.05);
}

/* Problem Section */
.problem-card {
  background: white;
  border-radius: 24px;
  padding: 3rem 2rem;
  text-align: center;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.03);
  border: 1px solid rgba(0, 0, 0, 0.04);
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease;
}

.problem-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 15px 30px rgba(0, 0, 0, 0.08);
}

.problem-icon-box {
  width: 64px;
  height: 64px;
  background: linear-gradient(
    135deg,
    #5ea84d 0%,
    #2f7532 100%
  ); /* Green Gradient */
  border-radius: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  font-size: 1.5rem;
  margin-bottom: 1.5rem;
  box-shadow: 0 8px 16px rgba(47, 117, 50, 0.2);
}

.problem-text {
  font-size: 1.1rem;
  font-weight: 600;
  color: #1f2937;
  line-height: 1.5;
  margin: 0;
}

/* Community Grid Section */
.community-grid-card {
  background: white;
  border-radius: 20px;
  padding: 2.5rem 1.5rem;
  text-align: center;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.02);
  border: 1px solid rgba(0, 0, 0, 0.04);
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease;
}
.community-grid-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.05);
}

.community-icon-box {
  width: 60px;
  height: 60px;
  background-color: #ecfccb; /* Very light lime/green */
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #acc965;
  font-size: 1.5rem;
  margin-bottom: 1rem;
}

.community-card-title {
  font-weight: 600;
  color: #111;
  margin: 0;
  line-height: 1.4;
  font-size: 1rem;
}

.managed-dashboard-center-card {
  background: white;
  border-radius: 32px;
  padding: 1.5rem;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.08); /* Soft deep shadow */
  border: 1px solid rgba(0, 0, 0, 0.05);
}

/* Operating System Section */
.os-card {
  background: linear-gradient(
    180deg,
    #a4e05d 0%,
    #f5fbef 100%
  ); /* Vibrant Lime to White */
  border-radius: 24px;
  padding: 3rem 2rem;
  text-align: center;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  transition: transform 0.2s ease;
  border: 1px solid rgba(0, 0, 0, 0.05);
}

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

.os-icon-box {
  width: 60px;
  height: 60px;
  background-color: #2f5f33; /* Dark Green */
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  font-size: 1.5rem;
  margin-bottom: 1.5rem;
  box-shadow: 0 4px 10px rgba(47, 95, 51, 0.3);
}

.os-card-title {
  font-size: 1.25rem;
  font-weight: 700;
  color: #111;
  margin-bottom: 1rem;
}

.os-card-list {
  list-style: none;
  padding: 0;
  margin: 0;
  text-align: center;
}

.os-card-list li {
  font-size: 0.95rem;
  color: #4b5563; /* Gray 600 */
  margin-bottom: 0.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
}

.os-card-list li::before {
  content: "•";
  color: #15803d; /* Green 700 */
  font-weight: bold;
  font-size: 1.2rem;
}

/* Comparison Section */
.comparison-outer-card {
  background: white;
  border-radius: 32px;
  padding: 3rem;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.08);
  position: relative;
  border: 1px solid rgba(0, 0, 0, 0.05);
}

.comparison-inner-card {
  border-radius: 20px;
  padding: 1.5rem;
  height: 100%;
  border: 1px solid transparent;
}

.comparison-inner-card.red-theme {
  background-color: #fef2f2;
  border-color: #fecaca;
}

.comparison-inner-card.green-theme {
  background-color: #ecfdf5;
  border-color: #a7f3d0;
}

.comp-header {
  font-weight: 700;
  font-size: 1.1rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.comp-list {
  list-style: none;
  padding: 0;
  margin: 0;
  font-size: 0.9rem;
}

.comp-list li {
  margin-bottom: 0.5rem;
  padding-left: 1.25rem;
  position: relative;
  color: #4b5563;
}

.comp-list.red-list li::before {
  content: "×";
  color: #ef4444;
  position: absolute;
  left: 0;
  font-weight: bold;
  font-size: 1.2rem;
  line-height: 1;
}

.comp-list.green-list li::before {
  content: "✓";
  color: #10b981;
  position: absolute;
  left: 0;
  font-weight: bold;
}

/* Custom Check List */
.custom-check-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.custom-check-list li {
  position: relative;
  padding-left: 1.5rem;
  margin-bottom: 0.75rem;
  color: #4b5563;
  font-size: 1.05rem;
}

.custom-check-list li::before {
  content: "•";
  color: #9ca3af;
  position: absolute;
  left: 0;
  font-weight: bold;
}

/* Hub UI Card */
.hub-ui-card {
  background: white;
  position: relative;
  overflow: hidden;
}

/* =========================================
   About Page Specific Styles
   ========================================= */

/* Why Acilect Exists Section */
.why-exists-section .number-circle {
  font-family: monospace;
  color: #4b5563;
  font-size: 0.9rem;
  margin-right: 1rem;
  width: 25px;
  display: inline-block;
}

.why-exists-section .expanded-card {
  background: #fafafa;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  padding: 1.5rem;
  margin-bottom: 1rem;
  border-left: 4px solid #44803f; /* Green accent */
}

/* Green Quote Box */
.green-border-quote {
  border-left: 4px solid #44803f;
  padding-left: 1.5rem;
  font-style: italic;
  color: #4b5563;
  font-size: 1.05rem;
  background-color: #f9fafb;
  padding: 1.5rem;
  border-radius: 0 12px 12px 0;
}

/* Problem Section - Feature Grid */
.grid-feature-card {
  background: white;
  border-radius: 16px;
  padding: 2rem;
  height: 100%;
  border: 1px solid #f3f4f6;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.02);
  transition:
    transform 0.2s,
    box-shadow 0.2s;
}
.grid-feature-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.05);
}

.grid-feature-card i {
  opacity: 0.9;
}

/* Why Now Section */
.why-now-section hr {
  opacity: 0.1;
}

/* Floating Cards Overlays */
.overlay-card-float {
  background: white;
  border-radius: 16px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
  z-index: 10;
}

/* About Brand Section */
.brand-card {
  transition: transform 0.3s;
  border: 1px solid transparent;
}
.brand-card:hover {
  transform: translateY(-5px);
}
.brand-icon-box {
  width: auto;
  display: inline-flex;
}

/* What Acilect Does Section */
.what-card {
  transition: transform 0.3s;
}
.what-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.05);
}
.icon-circle {
  box-shadow: 0 4px 10px rgba(25, 135, 84, 0.2);
}

/* Who We Serve Section */
.tiny-text {
  font-size: 0.7rem;
  font-weight: 500;
}
.serve-section .fa-network-wired,
.serve-section .fa-bolt,
.serve-section .fa-message {
  font-size: 1.1rem;
  color: #374151; /* Gray-700 */
}

/* Operators Section */
.pixel-text {
  font-size: 0.65rem;
  font-family: monospace; /* Or a specific font if requested */
}

.operators-section .rounded-circle {
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
}

/* Built for Growth Section */
.growth-section .bg-dark {
  background: #0b1221 !important; /* Specific dark blue/black from design */
}
.growth-section .badge.bg-secondary {
  background: rgba(255, 255, 255, 0.1) !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
}

.growth-section .bg-secondary.bg-opacity-10 {
  background: rgba(255, 255, 255, 0.05) !important;
  border-color: rgba(255, 255, 255, 0.05) !important;
}
.growth-section .text-success {
  color: #4ade80 !important; /* Brighter green for dark bg */
}

.growth-section .fa-regular.fa-credit-card,
.growth-section .fa-solid.fa-globe,
.growth-section .fa-solid.fa-bolt,
.growth-section .fa-solid.fa-user-group {
  opacity: 0.9;
}

/* Mobile Responsiveness */
@media (max-width: 1199px) {
  .container {
    padding-left: 2rem;
    padding-right: 2rem;
  }
}

/* Hero Composite Image */
.hero-composite-img {
  filter: drop-shadow(0 20px 40px rgba(0, 0, 0, 0.15));
  transform: scale(1.1);
  transform-origin: center center;
}

@media (max-width: 991px) {
  .container {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }

  /* Hero Text Centering */
  .hero-text {
    text-align: center !important;
    margin-bottom: 0rem; /* Reduced from 3rem */
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .hero-title {
    font-size: 2.8rem;
  }

  .lead {
    font-size: 1rem !important;
    margin-left: auto;
    margin-right: auto;
  }

  /* Button Stacking */
  .hero-text .d-flex.flex-wrap {
    flex-direction: column;
    align-items: center;
    width: 100%;
    max-width: 400px;
    margin: 0 auto 1.5rem auto; /* Slightly reduced bottom margin */
  }

  .hero-text .btn {
    width: 100%;
    justify-content: center;
  }

  .hero-composite-img {
    transform: scale(1.1) translateY(-30px); /* Pull up significantly */
    max-height: 450px;
    object-position: top center; /* Align to top of container */
  }

  /* Adjust hero section height on mobile */
  .hero-section .col-lg-6:last-child {
    height: 400px !important; /* Reduced height to remove bottom gap */
    margin-top: 0;
    margin-bottom: 0 !important;
  }

  /* Built For Estates Mockup Scaling */
  .mockup-container {
    height: 500px !important;
    transform: scale(0.8);
    transform-origin: center top;
    margin-bottom: -50px;
  }

  .mockup-card-back {
    right: 50%;
    transform: translateX(60%) rotate(8deg);
  }

  .mockup-card-front {
    right: 50%;
    transform: translateX(40%) rotate(-6deg);
  }
}

@media (max-width: 768px) {
  .display-1 {
    font-size: 2.8rem;
  }

  .hero-text-content {
    text-align: center;
    margin-bottom: 2rem;
  }

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

  .hero-frames-container {
    height: 480px !important;
    transform: scale(0.8);
    width: 100%;
    overflow: visible;
    margin-top: 0;
  }

  .hero-man-container {
    width: 400px;
    right: 50%;
    transform: translateX(50%);
    bottom: 0;
  }

  .card-overview {
    left: 50%;
    width: 260px;
    transform: translateX(-90%) rotate(-6deg);
    top: 20px;
  }

  .card-requests {
    left: 50%;
    width: 260px;
    transform: translateX(-20%) rotate(4deg);
    top: 60px;
  }

  .hero-glass-bg {
    width: 100%;
    left: 0;
    top: 50px;
    height: 70%;
    transform: none;
  }
}

@media (max-width: 576px) {
  .hero-title {
    font-size: 1.75rem !important; /* Much smaller for mobile */
    line-height: 1.3;
  }

  .hero-title br {
    display: none; /* Let text wrap naturally */
  }

  .hero-composite-img {
    max-height: 350px;
    object-position: top center;
    margin-top: 75px;
  }

  .navbar-brand .logo-text {
    font-size: 1.2rem !important;
  }

  /* Ensure no horizontal scroll */
  body,
  html {
    overflow-x: hidden;
  }

  .built-feature-item {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  .impact-stats-row {
    flex-direction: column;
  }

  /* Mobile Stats Section Fixes */
  .stats-section {
    padding-top: 3rem;
    padding-bottom: 1rem; /* Reduced from 3rem */
  }

  .transformation-section {
    padding-bottom: 1rem !important; /* Reduced from 5rem */
  }

  .built-for-section {
    padding-top: 2rem !important; /* Reduced from 5rem */
  }

  .section-heading-centered {
    font-size: 1.75rem !important; /* Smaller heading */
    margin-bottom: 1rem;
  }

  .section-subheading-centered {
    font-size: 0.95rem;
    margin-bottom: 2.5rem;
  }

  .stats-card {
    padding: 1.5rem; /* Reduce padding */
  }

  .stats-number {
    font-size: 2rem; /* Smaller numbers */
  }

  .transform-title {
    font-size: 1.75rem;
    margin-bottom: 1.5rem;
  }

  .transform-subtitle {
    flex-direction: column;
    gap: 0.5rem !important;
    margin-bottom: 2.5rem;
  }

  .lang-circles {
    margin: 0.5rem 0;
  }

  .testimonial-card {
    padding: 1.5rem;
  }

  .testimonial-text {
    font-size: 0.95rem;
    line-height: 1.5;
  }

  /* Built For Estates Mobile Scaling */
  .mockup-container {
    height: 380px !important;
    transform: scale(0.55);
    margin-top: 2rem;
    margin-bottom: -80px;
  }

  .mockup-card-back {
    width: 300px;
  }

  .mockup-card-front {
    width: 290px;
  }

  .md-display-none {
    display: none;
  }

  /* Managed Communities Mobile */
  .managed-communities-section {
    padding-top: 3rem;
    padding-bottom: 3rem;
  }

  .managed-card {
    padding: 1.5rem;
    margin-bottom: 1rem;
  }

  .managed-footer-text {
    margin-top: 2rem;
    font-size: 0.95rem;
  }
}

/* Community Page Mobile Fixes */
@media (max-width: 768px) {
  .hero-section h1.display-3 {
    font-size: 2rem !important;
    line-height: 1.2 !important;
  }

  .hero-section .lead {
    font-size: 1rem !important;
    margin-bottom: 2rem !important;
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .hero-section .d-flex.justify-content-center.gap-3 {
    flex-direction: column;
    align-items: center;
    gap: 0.75rem !important;
    width: 100%;
    max-width: 320px; /* Slightly narrower to force neatness */
    margin: 25px auto;
  }

  .hero-section .btn {
    width: 100%;
    padding-top: 0.7rem !important;
    padding-bottom: 0.7rem !important;
    padding-left: 1rem !important;
    padding-right: 1rem !important;
    font-size: 0.95rem !important;
    white-space: nowrap; /* Try to force single line */
  }
}

@media (max-width: 400px) {
  .hero-section .btn {
    font-size: 0.85rem !important;
    white-space: normal; /* Allow wrap on very small screens */
  }
}

/* Heading Sizes Fix for Mobile */
@media (max-width: 768px) {
  /* General Mobile Heading Adjustments */
  .section-title {
    font-size: 1.75rem !important;
    line-height: 1.3 !important;
    margin-bottom: 0.5rem !important;
  }

  /* Specific adjustment for the Core Problem section to prevent 4-line wrapping */
  h2.section-title {
    font-size: 1.6rem !important;
    letter-spacing: -0.5px !important;
  }

  /* Optimize spacing around the badge pill */
  .rounded-pill.bg-white.shadow-sm {
    margin-bottom: 1rem !important;
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important;
  }

  /* Reduce paragraph size slightly for better proportions */
  .section-title + p {
    font-size: 1rem !important;
    margin-bottom: 2rem !important;
  }
}

/* =========================================
   About Us Page Specialized Responsiveness
   ========================================= */

@media (max-width: 991px) {
  /* Reset Hero Section Spacing */
  .about-hero-section {
    padding-top: 140px !important;
    padding-bottom: 60px !important; /* Remove the gap for absolute items */
    margin-bottom: 40px !important;
    border-radius: 0 0 40px 40px !important;
    height: auto !important;
  }

  /* Make the floating image grid relative and stacked */
  .about-hero-section .position-absolute {
    position: relative !important;
    top: 0 !important;
    right: auto !important;
    left: auto !important;
    margin-top: 2rem;
  }

  /* Adjust Hero Images */
  .about-hero-section .rounded-4 {
    height: auto !important;
    min-height: 300px !important;
  }

  /* Mission Section Spacing */
  .mission-section {
    margin-top: 0 !important;
    padding-top: 2rem !important;
  }

  /* General Container Padding Override */
  .container.px-5 {
    padding-left: 1.5rem !important;
    padding-right: 1.5rem !important;
  }

  .container.px-5.py-5 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }
}

@media (max-width: 768px) {
  /* Typography Scaling */
  .about-hero-section h1.display-4 {
    font-size: 2.2rem !important;
  }

  .display-4 {
    font-size: 2.2rem !important;
  }

  .display-5 {
    font-size: 1.8rem !important;
  }

  .display-6 {
    font-size: 1.6rem !important;
  }

  .lead {
    font-size: 1rem !important;
  }

  /* Hero Image Stack Adjustments */
  .about-hero-section .col-lg-5,
  .about-hero-section .col-lg-6 {
    margin-bottom: 1.5rem;
  }

  /* Fix Specific Image Heights */
  .why-exists-section img,
  .why-now-section img,
  .operators-section img,
  .serve-section img,
  .focus-section img {
    height: auto !important;
    min-height: unset !important;
    max-height: 400px;
    object-fit: cover;
  }

  /* About Brand Section Cards */
  .brand-section .brand-card {
    min-height: auto !important;
  }

  .brand-section .col-md-4 {
    margin-bottom: 1rem;
  }

  /* Center text on mobile for better balance */
  .about-hero-section .text-center {
    text-align: center !important;
  }

  /* What We Do Cards */
  .what-card {
    padding: 1.5rem !important;
  }

  /* CTA Section */
  .cta-section .rounded-5 {
    padding: 2rem !important;
    border-radius: 1.5rem !important;
  }

  .cta-section h2 {
    font-size: 2rem !important;
  }

  /* Adjust 'Why Acilect Exists' list spacing */
  .why-exists-section .d-flex.flex-column {
    gap: 1rem !important;
    margin-bottom: 2rem !important;
  }
}
