* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

:root {
  --primary-blue: #4677d0;
  --primary-blue-light: #2563eb;
  --primary-blue-dark: #243d6a;
  --orange-accent: #f59e0b;
  --text-dark: #111827;
  --text-gray: #6b7280;
  --text-gray-light: #a3a3a3;
  --text-light: #9ca3af;
  --bg-light: #f9fafb;
  --bg-gradient-start: #e0f2fe;
  --bg-gradient-end: #d1fae5;
  --white: #ffffff;
  --border-light: #e5e7eb;
}

.desktop-navbar {
  background: transparent;
  gap: 1rem;
  justify-content: space-between;
}

.navbar-logo {
  background-color: white;
  margin-right: 0;
  border-radius: 1rem;
  padding: 14px;
  height: 71px;
  min-width: 185px;
  display: flex;
  align-items: center;
  justify-content: center;

  img {
    max-width: 136px;
  }
}

.navbar-links {
  background-color: white;
  border-radius: 1rem;
  padding: 14px;
  width: 100%;
  justify-content: space-around;
  white-space: nowrap;
  height: 71px;
  align-items: center;

  a {
    color: black;
    font-weight: 500;
  }

  a.nav-link-active {
    color: #4677d0;
  }
}

.navbar-buttons {
  display: flex;
  gap: 1rem;
  font-weight: 500;

  a {
    border-radius: 1rem;
    padding: 14px;

    &:first-child {
      white-space: nowrap;
    }
  }
}

.navbar-register-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 71px;
  width: 154px;
}

.navbar-login-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 71px;
  background-color: white;
  border-radius: 1rem;
  color: black;
  width: 98px;
}

.custom-container {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 24px;
}

/* Header/Navigation */
.without-login-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  /* background: var(--white); */
  z-index: 1000;
  padding: 16px 0;
  max-width: 1281px;
  margin: auto;
  /* box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05); */
}

.button-custom {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px 30px;
  border-radius: 48px;
  font-size: 18px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s;
  border: none;
}

/* #hero-get-started-btn {
  background-color: #4677d0;
  background-image: linear-gradient(to bottom,
      var(--primary-blue),
      var(--primary-blue-dark));
  color: var(--white);
} */

.btn-primary {
  /* background: var(--primary-blue); */
  background-color: #4677d0;
  background-image: linear-gradient(to bottom,
      var(--primary-blue),
      var(--primary-blue-dark));
  color: var(--white);
}

.btn-primary:hover {
  /* background-image: linear-gradient(to top, var(--primary-blue), var(--primary-blue-dark)); */
  border: 1px solid #fd964b !important;
}

.btn-outline {
  border: 1px solid rgba(255, 255, 255, 0.25);

  background: linear-gradient(180deg,
      rgba(255, 255, 255, 0.25),
      rgba(255, 255, 255, 0.1));
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.btn-outline:hover {
  background: linear-gradient(180deg,
      rgba(255, 255, 255, 0.25),
      rgba(255, 255, 255, 0.1));
}

/* Hero Section */
.hero {
  position: relative;
  min-height: 100vh;
  padding-top: 120px;
  overflow: hidden;

  .container {
    position: relative;
    z-index: 1;
  }
}

.text-blue {
  color: var(--primary-blue-light);
}

.welcome-to-smartgen-description {
  display: flex;
  flex-direction: row;
  gap: 3.2rem;
  padding: 2.25rem;
  justify-content: center;
  align-items: flex-start;
  margin-top: 1.5rem;
  margin-bottom: 5rem;
  border-radius: 24px;
  background: var(--bg, #f8fafd);

  div:first-child {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 1.5rem;

    p {
      font-size: 2.5rem;
      font-style: normal;
      font-weight: 700;
      line-height: 120%;
      min-width: 430px;
    }
  }

  div:nth-child(2) {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 1.5rem;
  }

  p {
    color: #060535;
    font-size: 18px;
    font-weight: 400;
    margin: 0;
  }

  .for-mobile {
    display: none;
  }

  .for-desktop {
    display: inline-flex;
  }
}

.welcome-to-smartgen-list {
  padding-top: 2.5rem;
  margin-bottom: 5rem;

  h2 {
    color: #101828;
    text-align: center;
    font-size: 2.25rem;
    font-weight: 700;
    line-height: 130%;
    margin-bottom: 14px;
  }

  >p {
    color: #6a7282;
    text-align: center;
    font-size: 1rem;
    font-weight: 400;
    line-height: 140%;
    /* margin: 0 auto 5rem; */
    margin: 0 auto 56px;
    max-width: 38.25rem;
  }

  >div {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2rem;
  }

  article {
    flex-direction: row;
    border-radius: 2rem;
    display: flex;
    justify-content: space-between;
    background: #fff;
    box-shadow: 0 7.014px 15.031px 0 rgba(0, 0, 0, 0.06);
    padding: 2.5rem 7rem 0;
    gap: 7.5rem;

    >div {
      display: flex;
      flex-direction: column;
      align-items: start;
      justify-content: center;
      gap: 4rem;
    }

    h5 {
      font-weight: 700;
      font-size: 1.5rem;
      color: #101828;
    }

    p {
      font-size: 1rem;
      color: #6a7282;
      font-weight: 400;
    }

    p.read-more {
      display: flex;
      align-items: center;
      justify-content: center;
      height: 2rem;
      gap: 6px;

      img {
        width: 1rem;
      }
    }

    img {
      width: 25rem;
      flex-shrink: 0;
    }
  }
}

.hero-title-other-than-home {
  font-weight: 700 !important;
  line-height: 120% !important;
}

@media (max-width: 480px) {
  .welcome-to-smartgen-list {
    padding-bottom: 2.25rem;

    article {
      padding: 2.25rem 2.25rem 0 !important;
    }
  }

  .welcome-to-smartgen-list article {
    gap: 5rem;
  }

  .welcome-to-smartgen-description {
    padding: 2.25rem;

    div:first-child {
      p {
        min-width: auto;
      }
    }
  }
}

.translucent-black-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: black;
  opacity: 0.6;
}

.hero-bg {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: -1;
}

.hero-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.hero-content {
  text-align: center;
  padding-top: 3.75rem;
  color: white;
  margin-bottom: 7rem;

  >div.who-we-are {
    width: fit-content;
    margin-bottom: 12px;
  }
}

.hero h1 {
  font-size: 4.5rem;
  font-weight: 900;
  line-height: 1.1;
  margin-bottom: 24px;
}

.hero h1 .highlight {
  color: #32f981;
}

.hero-subtitleSolid {
  font-size: 20px;
  font-weight: 700;
  max-width: 60%;
  color: white;
}

.hero-subtitle {
  font-size: 18px;
  font-weight: 400;
  max-width: 50%;
  color: white;
  margin: 36px auto 52px;
  line-height: 150%;
}

.hero-buttons {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  gap: 1.5rem;

  a {
    width: 15rem;
    font-family: Satoshi !important;
    white-space: nowrap;
  }

  p {
    font-size: 18px;
    font-style: normal;
    font-weight: 500;
    line-height: 120%;
    display: block;
    margin: 0;
  }
}

.hero-phones-mobile {
  display: none;
}

.hero-phones-desktop {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  gap: 24px;
  padding: 0 20px;
  margin-bottom: 2rem;
}

.home-about-h2 {
  color: rgba(0, 0, 0, 0.8);
  text-align: center;
  font-family: Satoshi;
  font-size: 56px;
  font-style: normal;
  font-weight: 700;
  line-height: 120%;
  /* margin-bottom: 5rem; */
  margin-bottom: 126px;
  position: relative;

  span {
    color: var(--primary-blue);
  }
}

.phone-mockup {
  width: 220px;
  border-radius: 32px;
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.15);
  transition: transform 0.3s;
}

.home-second-div {
  position: relative;
}

.home-blurr {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 100%;
  height: 40%;
  z-index: 1;
  top: 100%;
  transform: translateY(-50%);
}

.explore-all-button {
  margin-top: 3rem;
  background-image: unset;
}

.explore-all-button:hover {
  border: 0px !important;
}

.testimonials {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;

  >h2 {
    margin-bottom: 5rem;
  }

  >div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
    width: calc(100% + 10rem);
  }

  article {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    background-color: #f8fafd;
    border-radius: 24px;
    padding: 1.5rem;
    position: relative;
    height: 30rem;

    h4 {
      font-size: 1.125rem;
      font-weight: 500;
    }

    p {
      font-size: 1rem;
      font-weight: 400;
    }

    img {
      position: absolute;
      bottom: 0;
      left: 0;
    }
  }
}

/* .phone-mockup:hover {
    transform: translateY(-10px);
} */

/* .phone-mockup.center {
    width: 260px;
    z-index: 2;
} */

/* FAQ Section */
.faq-section {
  padding: 72px 0 64px;
}

.faq-section h2 {
  text-align: center;
  font-size: 55px;
  font-weight: 700;
  margin-bottom: 20px;
  color: #262626;
}

.faq-section .subtitle {
  font-size: 20px;
  font-weight: 500;
  text-align: center;
  color: var(--text-gray-light);
  margin-bottom: 31px;
}

.faq-list {
  max-width: 800px;
  margin: 0 auto;
}

.faq-item {
  border-bottom: 1px solid var(--border-light);
  padding: 25px 0 32px;
}

.faq-question {
  display: flex;
  justify-content: space-between;
  align-items: center;
  cursor: pointer;
  font-weight: 500;
  font-size: 18px;
  color: #101828;
}

.faq-toggle {
  width: 32px;
  height: 32px;
  border: 2px solid var(--primary-blue);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  color: var(--primary-blue);
}

.faq-answer {
  display: none;
  padding-top: 8px;
  color: var(--text-gray);
  font-size: 16px;
  line-height: 150%;
  padding-right: 48px;
}

.faq-item.open .faq-answer {
  display: block;
}

.still-have-questions {
  background-color: #f9fafb;
  border-radius: 16px;
  padding: 2rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin-bottom: 4.5rem;

  h4 {
    color: #101828;
    font-size: 1.25rem;
    font-weight: 500;
    line-height: 130%;
    margin-bottom: 0.5rem;
  }

  p {
    margin-bottom: 2rem;
    color: #a3a3a3;
    font-size: 1.25rem;
    font-weight: 500;
    text-align: center;
  }

  a {
    background-image: unset;
    border-radius: 0.5rem;
  }

  a:hover {
    border: unset !important;
  }
}

@media (max-width: 480px) {
  .home-about-h2 {
    margin-top: 0 !important;
    margin-bottom: 6.125rem;
  }

  .faq-section {
    padding: 72px 0 45px;
  }

  .faq-section h2 {
    padding: 0 28px;
    margin-bottom: 14px;
  }

  .faq-section .subtitle {
    font-weight: 400;
    font-size: 14px;
    padding: 0 18px;
    margin-bottom: 20px;
  }

  .faq-question {
    font-size: 14px;
  }

  .faq-answer {
    font-size: 14px;
    line-height: 150%;
  }

  .faq-item {
    padding: 25px 0 24px;
  }

  .still-have-questions {
    padding: 2rem !important;
  }

  .explore-all-button {
    margin-top: 1.25rem;
  }
}

.home-above-footer-revamp {
  max-width: 1140px;
  margin: 0 auto;
  display: flex;
  align-items: flex-start;
  gap: 3.5rem;
  justify-content: space-between;

  >img {
    width: 100%;
  }

  div:first-child {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;

    h4 {
      font-size: 3.5rem;
      font-weight: 700;
      margin-bottom: 1rem;
    }

    p {
      font-size: 1.125rem;
      font-weight: 400;
      color: #a3a3a3;
      margin-bottom: 2rem;
    }

    div.download-buttons {
      display: flex;
      flex-direction: column;
      justify-content: center;
      gap: 1.5rem;

      a {
        border-radius: 1rem;
        padding: 1.25rem;
        text-align: center;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 0.5rem;

        img {
          width: 20px;
        }
      }
    }
  }

  div.for-mobile {
    display: none;
  }

  div.for-desktop {
    flex-direction: column;
    display: flex;

    p {
      font-size: 1.75rem;
      font-weight: 500;
      margin-bottom: 2rem;
    }

    img {
      max-width: 256px;
    }
  }
}

/* .contact-us-blurr {
    position: absolute;
    width: 100%;
    top: -85%;
    z-index: 2;
} */

.footer-container {
  background: #2d4c85;
  padding: 5rem;
  color: rgb(255, 255, 255);

  >p {
    max-width: 1090px;
    margin: 0 auto;
  }

  h5 {
    margin-bottom: 1rem;
    font-size: 1.25rem;
    font-weight: 700;
  }

  div.footer-content {
    display: flex;
    justify-content: space-between;
    margin: 0 auto 3rem;
    max-width: 1090px;

    div.footer-about {
      max-width: 26rem;

      p {
        font-size: 1rem;
        font-weight: 400;
        line-height: 150%;
        margin-bottom: 2rem;
      }

      div.social-media-icons {
        display: flex;
        gap: 1rem;
        align-items: center;
        justify-content: flex-start;
      }
    }

    div.footer-links {
      max-width: 12.5rem;
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      justify-content: flex-start;
      font-size: 1rem;
      font-weight: 500;
      gap: 1rem;
    }

    div.contact-address {
      max-width: 18.75rem;
      display: flex;
      flex-direction: column;
      gap: 3rem;

      p.email {
        font-size: 1rem;
        font-weight: 500;
      }

      p.address {
        font-size: 1rem;
        font-weight: 400;
        display: flex;
        align-items: flex-start;
        justify-content: center;
        gap: 6px;
      }
    }
  }
}

.home-below-footer-revamp-mobile {
  display: none;

  a {
    color: black;
  }
}

.home-below-footer-revamp-desktop {
  background-color: #e3edff;
  display: block;

  div {
    max-width: 1090px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1rem 0;
  }

  a {
    color: rgb(0, 0, 0);
    font-size: 0.875rem;
    font-weight: 400;
  }

  p {
    font-size: 0.875rem;
    font-weight: 400;
    margin: 0;
  }
}

.signup-title,
.signup-subtitle {
  text-align: center;
}

/* Smooth continuous scroll */
@keyframes scroll {
  from {
    transform: translateX(0);
  }

  to {
    transform: translateX(-50%);
  }
}

/* Pause on hover */
.carousel:hover .carousel-track {
  animation-play-state: paused;
}

.about-subtitle {
  margin: 0;
  max-width: 60% !important;
}

.feature-subtitle {
  margin: 0;
  max-width: 50% !important;
}

/* --- Features Page Styles & Responsiveness --- */

/* Global Image Fix */
img {
  max-width: 100%;
  height: auto;
  display: block;
}

/* Variables from Features.html */
:root {
  --primary-color: #2b4286;
  --text-color: #1f2937;
  --bg-color: #ffffff;
}

/* Features Container */
/* .container {
    max-width: 1440px;
    margin: 0 auto;
    padding: 1rem 4.8125rem;
    display: flex;
    flex-direction: column;
    gap: 4rem;
} */

/* Score Sections */
.score-section {
  position: relative;
  width: 100%;
  min-height: 400px;
  border-radius: 32px;
  overflow: hidden;
  display: flex;
  align-items: center;
  box-shadow:
    0 4px 6px -1px rgba(0, 0, 0, 0.1),
    0 2px 4px -1px rgba(0, 0, 0, 0.06);
  background-color: white;
  margin-bottom: 2rem;
}

.score-section.reversed {
  justify-content: flex-end;
}

.score-bg-image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
}

/* Dual Background Logic */
.score-bg-image.desktop-bg {
  display: block;
}

.score-bg-image.mobile-bg {
  display: none;
}

/* Mobile Visibility override */
@media (max-width: 900px) {
  .score-bg-image.desktop-bg {
    display: none;
  }

  .score-bg-image.mobile-bg {
    display: block;
  }
}

.score-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg,
      #2b4286 0%,
      rgba(43, 66, 134, 0.85) 50%,
      rgba(217, 217, 217, 0) 100%);
  z-index: 1;
}

.score-section.reversed .score-overlay {
  background: linear-gradient(270deg, #1f2227 0%, #1f2227 50%, #d9d9d900 100%);
}

.score-content {
  position: relative;
  z-index: 2;
  width: 50%;
  padding: 3rem 3.5rem;
  color: white;
}

.score-content h2 {
  font-size: 32px;
  font-weight: 700;
  margin: 0 0 16px;
  line-height: 100%;
}

.score-content .subtitle {
  font-size: 20px;
  font-weight: 500;
  line-height: 120%;
  margin: 0 0 16px;
  /* opacity: 0.95; */
}

.score-content .description {
  font-size: 16px;
  font-weight: 400;
  line-height: 150%;
  margin: 0 0 25px;
  /* opacity: 0.85; */
}

.score-features {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-bottom: 1rem;
}

/* Smarter Switching Section */
.smarter-section {
  width: 100%;
  /* padding: 4rem 0 5rem; */
  /* background-image: url("images/Featured-powered.png"); */
  background-size: cover;
  background-position: center;
  margin: 4rem auto 5rem;
}

.smarter-container {
  max-width: 1288px;
  margin: 0 auto;
  /* padding: 0 4.265rem; */
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 7rem;
  align-items: center;
}

.smarter-subtitle {
  color: #4677d0;
  font-size: 24px;
  margin-bottom: 11px;
  font-weight: 500;
  line-height: 120%;
}

.smarter-title {
  font-size: 3.4675rem;
  font-weight: 700;
  color: #4677d0;
  line-height: 120%;
  margin-bottom: 1.5rem;
}

.smarter-desc {
  color: #262626;
  font-size: 20px;
  font-weight: 400;
  line-height: 150%;
  margin-bottom: 40px;
}

.smarter-btn {
  display: inline-block;
  background: #4677d0;
  color: #fff;
  padding: 0.75rem 1.5rem;
  border-radius: 9999px;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
  border: none;
  cursor: pointer;
  transition: opacity 0.2s;
  line-height: 120%;
}

.smarter-btn:hover {
  opacity: 0.9;
}

.feature-cards {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

.feature-card {
  border: 1px solid hsl(214, 32%, 91%);
  border-radius: 1rem;
  padding: 1.5rem;
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  background: #fff;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
  transition: transform 0.2s;
}

.feature-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
}

.feature-icon {
  width: 28px;
  height: 28px;
  flex-shrink: 0;
  margin-top: 2px;
}

.feature-card h3 {
  font-size: 1.5rem;
  font-weight: 700;
  margin: 0 0 0.5rem;
}

.feature-card p {
  font-size: 1.25rem;
  margin: 0;
  font-weight: 400;
  line-height: 140%;
}

.features-intro {
  padding: 2rem;
}

.features-intro-container {
  max-width: 900px;
  margin: 0 auto;
  text-align: center;
}

.features-intro h2 {
  font-size: 42px;
  font-weight: 800;
  line-height: 1.3;
  color: #0a0f2c;
  margin-bottom: 22px;
}

.features-intro p {
  font-size: 18px;
  line-height: 1.7;
  color: #444;
  max-width: 750px;
  margin: 0 auto;
}

/* Responsive */

@media (max-width: 768px) {
  .features-intro h2 {
    font-size: 28px;
    font-weight: 700;
  }

  .features-intro p {
    font-size: 14px;
    font-weight: 400;
  }
}

/* RESPONSIVE MEDIA QUERIES */

/* Tablet / Mobile (Max Width: 900px) */
@media (max-width: 900px) {
  /* .container {
        padding: 2rem 1rem;
        gap: 2rem;
    } */

  .smarter-section {
    margin-top: 72px !important;
  }

  .smarter-container {
    padding: 0 1rem 2rem;
    gap: 40px;
    grid-template-columns: 1fr;
  }

  .score-section {
    flex-direction: column !important;
    height: auto;
    min-height: auto;
    display: block;
    /* Allow block layout for relative image */
    position: relative;

    .ai-energy-health {
      margin-top: 7rem;
    }
  }

  .score-bg-image {
    /* Reset for mobile to dictate height */
  }

  /* Target specifically the mobile background image */
  .score-bg-image.mobile-bg {
    position: relative !important;
    width: 100%;
    height: auto !important;
    max-height: 1000px;
    /* Restrict max height */
    object-fit: cover;
    /* Ensure it covers the area if cropped */
    display: block;
    z-index: 0;
  }

  .score-section .score-overlay {
    display: none;
    /* Removed as per previous request, ensuring it stays gone */
  }

  .score-content {
    position: absolute;
    /* Overlay on top of the image */
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: transparent;
    padding: 1.5rem 1rem;
    z-index: 1;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    /* Align content to bottom */
  }

  .score-section.reversed .score-overlay {
    background: linear-gradient(0deg, #1f2227 0%, #1f2227 50%, #d9d9d900 100%);
  }

  .score-section.reversed .score-content {
    background: transparent;
  }

  .score-content h2 {
    font-size: 24px;
  }

  .smarter-title {
    font-size: 2rem;
  }

  /* Hero Responsiveness */
  .hero-phones-desktop {
    display: none;
  }

  .hero-phones-mobile {
    display: block;
    padding: 0 20px;
    text-align: center;
  }

  .hero-phones-mobile>div {
    display: flex;
    justify-content: center;
    gap: 10px;
    margin-bottom: 20px;
  }

  .hero h1 {
    font-size: 3rem;
  }

  .hero-subtitle {
    max-width: 90%;
  }
}

/* Small Mobile (Max Width: 480px) */
@media (max-width: 480px) {
  .hero h1 {
    font-size: 2.2rem;
    line-height: 50px !important;
  }

  .hero-subtitle {
    font-size: 16px;
  }

  .phone-mockup {
    width: 160px;
    /* Smaller phones */
  }

  .smarter-title {
    font-size: 24px;
    font-weight: 700;
  }

  /* .score-content h2 {
        font-size: 20px;
    } */
}

/* Features Page Specific Overrides */
.features-hero {
  /* min-height: 745px; */
  padding-top: 0 !important;
  height: auto;
  display: block;
  position: relative;
  overflow: hidden;
}

.features-hero .custom-container {
  position: relative;
  top: 0;
  left: 0;
  right: 0;
  height: 100%;
  z-index: 1;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}

.features-hero .hero-content {
  text-align: left;
  padding-top: 12rem;
  /* Adjust based on navbar height + desired spacing */
  margin-bottom: 0;
  pointer-events: auto;
}

.features-hero .hero-subtitle {
  /* Align left by removing auto margin */
  max-width: 40%;
  /* Slightly wider for left align readability */
  /* font-family: Arial, Helvetica, sans-serif; */
}

.features-hero .hero-buttons {
  justify-content: flex-start;
  /* Align buttons left */
}

/* Ensure mobile alignment matches desktop for consistency or override */
@media (max-width: 1280px) {
  .features-hero {
    min-height: 674px;
    height: auto;
    display: flex;
    flex-direction: column;
  }

  .features-hero .hero-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
  }

  .features-hero .hero-bg img {
    width: 100%;
    height: 100%;
    object-fit: cover !important;
  }

  .features-hero .custom-container {
    position: relative;
    height: 100%;
    z-index: 1;
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
  }

  .features-hero .hero-content {
    text-align: left;
    padding-top: 2rem;
    pointer-events: auto;
    margin-bottom: 2rem;
  }

  .features-hero .hero-subtitle {
    max-width: 100%;
  }

  .features-hero .hero-buttons {
    justify-content: flex-start;
  }
}

.features-hero .hero-content h1 {
  font-size: 4rem;
  text-align: left;
  line-height: 120%;
}

@media (max-width: 900px) {
  .features-hero .hero-content h1 {
    text-align: left;
    font-size: 36px;
    font-weight: 700;
    margin-bottom: 24px;
  }
}

/* --- About Us Page Styles --- */

.smartgen-statement {
  background: #ffffff;
  padding: 60px 20px;
}

.smartgen-statement-container {
  max-width: 1100px;
  margin: 0 auto;
  text-align: center;
}

.smartgen-statement h2 {
  font-size: 36px;
  line-height: 130%;
  font-weight: 700;
  color: #0a0f2c;
  margin-bottom: 24px;
}

.smartgen-statement .highlight {
  color: #4a74e8;
}

.smartgen-statement p {
  font-size: 18px;
  color: #333;
  letter-spacing: 0.3px;
  margin-bottom: 0;
}

.about-how-we-think {
  font-size: 16px;
  font-weight: 500;
  width: max-content;
  color: black;
  border: 0.5px solid #7e879f33;
  padding: 12px 16px 14px 8px;
  border-radius: 16px;
  background: white;
  display: flex;
  align-items: center;
  gap: 10px;
}

@media (max-width: 900px) {
  .smartgen-statement h2 {
    font-size: 28px;
  }

  .smartgen-statement p {
    font-size: 16px;
  }

  .smartgen-about-container {
    flex-direction: column !important;

    .smartgen-about-image {
      width: 100% !important;
    }
  }
}

.smartgen-about {
  background: linear-gradient(90deg, #ecfaf5 0%, #f4f9ff 100%);
  padding: 90px 20px 160px;
}

.smartgen-about-container {
  max-width: 1200px;
  margin: 0 auto;

  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;

  .smartgen-about-image {
    width: 35%;

    img {
      border-radius: 20px;
    }
  }
}

.smartgen-about-text h2 {
  font-size: 36px;
  font-weight: 700;
  margin-bottom: 18px;
  color: #0a0f2c;
  line-height: 130%;
}

.smartgen-about-text p {
  font-size: 16px;
  line-height: 140%;
  font-weight: 400;
  color: #444;
  margin-bottom: 16px;
  max-width: 520px;
}

.smartgen-about-text .emphasis {
  font-weight: 600;
  color: #0a0f2c;
}

@media (max-width: 900px) {
  .smartgen-about-container {
    grid-template-columns: 1fr;
    text-align: center;
  }

  .smartgen-about-text p {
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 24px;
  }
}

/* Revised/Alternating Styles */
.smartgen-about.no-bg {
  background: none;
}

.smartgen-about.reversed .smartgen-about-container {
  /* grid-template-columns: 420px 1fr; */
}

.smartgen-about.reversed .smartgen-about-image {
  order: -1;
}

/* Maximize gap for specific About Us sections (User Request) */
.smartgen-about.no-bg.reversed .smartgen-about-container {
  /* grid-template-columns: 420px auto; */
  /* Text takes only needed width */
  /* justify-content: space-between; */
  /* Push columns apart */
  /* gap: 2rem; */
  /* Minimum safety gap */
}

@media (max-width: 900px) {
  .smartgen-about.reversed .smartgen-about-container {
    grid-template-columns: 1fr;
  }

  .smartgen-about.reversed .smartgen-about-image {
    order: 0;
    /* margin-top: 40px; */
  }
}

/* --- How It Works Page Styles --- */

.smartgen-hero {
  max-width: 1280px;
  margin: 80px auto;
  text-align: center;
  padding: 0 20px;
}

.smartgen-hero h2 {
  font-size: 36px;
  line-height: 130%;
  font-weight: 700;
  color: #0a0f2c;
  margin-bottom: 24px;
}

.smartgen-hero .highlight {
  color: #4a74e8;
  /* blue accent */
}

.smartgen-hero p {
  font-size: 18px;
  color: #444;
  max-width: 650px;
  margin: 0 auto;
  line-height: 140%;
}

.hero-image-container {
  max-width: 1280px;
  margin: 40px auto;
  border-radius: 12px;
  overflow: hidden;

  .mobile {
    display: none;
  }

  .desktop {
    display: block;
  }
}

/* Features Section */
.features-section {
  width: 100%;
  padding: 60px 40px;
  background-image: url("../../web_assets/images/home-full-gradient-mobile.webp");
  background-size: cover;
  background-position: center;
  box-sizing: border-box;
}

.features-grid {
  max-width: 1200px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8rem;
  align-items: self-start;

  .card-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 24px;

    .card {
      border: 1px solid #7e879f33;
      background-color: white;
      border-radius: 15px;
      padding: 36px;
      gap: 12px;
    }
  }

  h2 {
    font-size: 36px !important;
    font-weight: 700 !important;
    text-align: left;
    margin-bottom: 16px;
  }

  h3 {
    font-size: 24px !important;
    font-weight: 500 !important;
    text-align: left !important;
  }

  p {
    font-size: 18px !important;
    font-weight: 400 !important;
    text-align: left;
    width: 100%;
    color: #737373;
    margin: 0;
  }
}

/* Cards Section */
.cards-section {
  width: 100%;
  padding: 60px 40px;
  background: #ffffff;
  text-align: center;
  box-sizing: border-box;
}

.cards-container {
  h2 {
    font-size: 36px;
    font-weight: 700;
    /* width: 80%; */
    margin: 0 auto 14px;
  }

  >p {
    font-size: 16px;
    font-weight: 400;
    width: 60%;
    margin: 0 auto 64px;
  }
}

.cards-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 24px;
  margin-bottom: 5rem;
}

/* Redeisgned Cards */
.how-it-work-card {
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid #e5e7eb;
  position: relative;
  height: 486px;
}

.how-it-work-card-img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
}

.how-it-work-card-overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: linear-gradient(180deg,
      rgba(255, 255, 255, 0.01),
      rgba(255, 255, 255, 0.85) 30%,
      #ffffff 100%);
  padding: 4rem 1.5rem 0;
  z-index: 1;
  height: 18rem;
  text-align: left;
}

.how-it-work-card-title {
  font-size: 1.5rem;
  font-weight: 700;
  color: #1a2b4a;
  margin: 0 0 8px;
  line-height: 150%;
}

.how-it-work-card-text {
  color: #3f3f3f;
  font-size: 1rem;
  line-height: 160%;
  margin: 0 0 12px;
  font-weight: 500;
}

.contact-us-form-container h2 {
  font-size: 40px;
  line-height: 140%;
  font-weight: 700;
}

/* Responsive Styles */
@media (max-width: 768px) {
  .smartgen-hero {
    margin: 36px auto;

    h1 {
      font-size: 28px;
      font-weight: 700;
      margin-bottom: 14px;
    }

    p {
      font-size: 14px;
      font-weight: 400;
    }
  }

  .features-section,
  .cards-section {
    padding: 32px 20px;
  }

  .features-grid {
    grid-template-columns: 1fr;
    gap: 32px;
    text-align: center;

    .card-container {
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: space-between;
      gap: 24px;
    }

    h2 {
      font-size: 24px !important;
      font-weight: 700 !important;
      text-align: left;
      margin-bottom: 16px;
    }

    h3 {
      font-size: 18px !important;
      font-weight: 500 !important;
      text-align: left !important;
      margin-bottom: 12px;
    }

    p {
      font-size: 14px !important;
      font-weight: 400 !important;
      text-align: left;
      width: 100%;
      color: #737373;
    }
  }

  .cards-container {
    h2 {
      font-size: 28px;
      font-weight: 700;
      margin-bottom: 14px;
    }

    p {
      font-size: 14px;
      font-weight: 400;
      margin: 0 auto 36px;
      width: 90%;
    }
  }

  .cards-grid {
    grid-template-columns: 1fr;
  }

  .how-it-work-card-text {
    font-size: 0.875rem;
    font-weight: 500 !important;
  }
}

/* --- Features Page Utility Classes --- */
.font-weight-600 {
  font-weight: 600;
}

.min-width-20 {
  min-width: 20px;
}

/* About Us Hero - Full Height Logic */
.about-hero {
  min-height: auto !important;
  padding-top: 0 !important;
  height: auto;
  display: block;
  position: relative;
  overflow: hidden;
}

.about-hero .hero-bg {
  position: relative;
  height: auto;
  z-index: 0;
}

.about-hero .hero-bg img {
  width: 100%;
  height: auto;
  object-fit: contain;
  display: block;
}

.about-hero .custom-container {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 100%;
  z-index: 1;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  pointer-events: none;
}

/* Adjust padding for content positioning */
.about-hero .hero-content {
  text-align: left;
  /* Left align to match features page */
  padding-top: 16rem;
  /* Adjust as needed */
  margin-bottom: 0;
  pointer-events: auto;
}

.about-hero .hero-subtitle {
  margin: 0 0 52px 0;
  /* Remove auto margin to prevent centering */
  max-width: 60%;
  /* Limit width for readability like feature page */
}

/* Responsive Fix for About Us (Mobile/Tablet/Small Laptop) */
@media (max-width: 1280px) {
  .about-hero {
    min-height: 100vh !important;
    height: auto;
    display: flex;
    flex-direction: column;
  }

  .about-hero .hero-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
  }

  .about-hero .hero-bg img {
    width: 100%;
    height: 100%;
    object-fit: cover !important;
  }

  .about-hero .custom-container {
    position: relative;
    height: 100%;
    z-index: 1;
    pointer-events: none;
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    /* Align left horizontally for about us */
  }

  .about-hero .hero-content {
    padding-top: 8rem;
    pointer-events: auto;
    margin-bottom: 2rem;
    text-align: left;
    /* Keep left aligned on mobile */
    display: flex;
    flex-direction: column;
    gap: 1rem;
  }

  .about-hero .hero-subtitle {
    max-width: 100%;
    /* Full width on mobile */
  }

  .about-hero .hero-content h1 {
    text-align: left;
    /* Ensure left align */
  }
}

.glass-pill {
  display: inline-flex;
  align-items: top;
  gap: 8px;
  /* width: fit-content; */
  position: relative;
  padding: 14px 30px;
  border-radius: 999px;
  color: #fff;
  font-size: 16px;
  font-weight: 400;
  letter-spacing: 0.2px;
  overflow: hidden;
  line-height: 120%;
}

.glass-pill .feature-bullet {
  color: #fff;
}

.glass-pill::before {
  content: "";
  position: absolute;
  inset: 0;
  padding: 1.5px;
  border-radius: inherit;

  background: linear-gradient(120deg,
      rgba(255, 255, 255, 0.6),
      rgba(255, 255, 255, 0.15),
      rgba(255, 255, 255, 0.6));

  -webkit-mask:
    linear-gradient(#000 0 0) content-box,
    linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
}

.glass-pill::after {
  content: "";
  position: absolute;
  inset: -10px;
  border-radius: inherit;

  background: rgba(255, 255, 255, 0.15);
  filter: blur(24px);
  z-index: -1;
}