   .hero-section {
        background-image: url('/images/shreevishnupriyafinance-img/hero-banner.webp');
  background-size: cover;
  opacity: 1;
  background-position: center;
  background-repeat: no-repeat;
   padding-top:200px;
  padding-bottom:150px;
}

.logo-wrapper {
  margin: 0 auto 1.5rem;
  width:100%;
  max-width:500px;
  text-align: center;
}
.logo-wrapper img{
    max-width:324px;
}
.hero-heading {
  font-family: 'Oswald', Sans-Serif;
  font-size:42px;
  font-weight: 700;
  color:#080808;
  margin-bottom:50px !important;
  max-width:850px;
  margin:0 auto;
}
/* ── Tablet (768px – 1024px) ── */
@media (max-width: 1024px) {
  .hero-section {
    padding-top: 120px;
    padding-bottom: 120px;
  }

  .logo-wrapper img {
    max-width: 200px;
  }

   .hero-heading {
    font-size: 32px;
    font-weight: 700;
    margin-bottom: 24px;
    line-height: 1.3;
    max-width:800px;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
  }
}

/* ── Mobile (max 767px) ── */
@media (max-width: 767px) {
  .hero-section {
    padding-top: 150px;
    padding-bottom: 80px;
  }

  .logo-wrapper {
    max-width: 100%;
    margin-bottom: 1rem;
  }

  .logo-wrapper img {
    max-width: 180px;
  }

  .hero-heading {
    font-size: 22px;
    font-weight: 700;
    margin-bottom: 24px;
    line-height: 1.3;
    max-width: 350px;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
  }
}
.about-section {
  padding-top: 120px;
  padding-bottom: 80px;
  background-color: #ffffff;
}

.about-img-wrapper {
  border-radius: 16px;
  padding: 0;        /* removed padding */
  text-align: center;
}


.about-img-wrapper img {
  max-width: 100%;
  height: auto;
}

.about-content {
  padding-left: 30px;
  padding-top: 0;    /* ensures top alignment */
}


.about-heading {
  font-family: 'Oswald', Sans-Serif;
  font-size: 30px;
  font-weight: 700;
  color:#162456;
  margin-bottom: 24px;
  line-height: 1.3;
  max-width:600px;
}

.about-para {
  font-size: 18px;
  color:#212121;
  line-height: 1.7;
  font-family: 'Dm sans', Sans-Serif;
  margin-bottom: 16px;
  max-width:600px;
}
.about-para-sub {
  font-size: 18px;
  color:#212121;
  line-height: 1.7;
  font-family: 'Dm sans', Sans-Serif;
  margin-bottom: 16px;
  max-width:610px;
}

/* Tablet */
@media (max-width: 1024px) {
    .about-section {
  padding-top: 80px;
  padding-bottom: 20px;
}
  .about-heading {
    font-size: 22px;
  }
  .about-para {
       font-size:14px; 
  }
  .about-para-sub {
       font-size:14px; 
  }
  .about-content {
    padding-left: 20px;
  }
}

/* Mobile */
@media (max-width: 767px) {
    .about-section {
  padding-top: 50px;
  padding-bottom:50px;
}
  .about-img-wrapper {
    margin-bottom: 30px;
  }

  .about-content {
    padding-left: 0px;
  }

  .about-heading {
    font-size: 22px;
  }

  .about-para {
    font-size: 14px;
  }
  .about-para-sub {
       font-size:14px; 
  }
}

.challenge-section {
  padding-top: 80px;
  padding-bottom: 80px;
  background-image: url('/images/shreevishnupriyafinance-img/challenge-section.svg');
  background-size: cover;
  opacity: 1;
  background-position: center;
  background-repeat: no-repeat;
}

.sub-heading {
  font-size:22px;
  font-weight: 600;
  color:#162456;
  margin-bottom: 10px;
  font-family: 'DM Sans', sans-serif;
}

.challenge-heading {
  font-family: 'Oswald', Sans-Serif;
  font-size: 36px;
  font-weight: 700;
  color:#162456;
  line-height: 1.3;
  margin-bottom: 20px;
  max-width:350px;
   margin-top:30px;
}
.right-content {
  padding-left: 20%;
  margin-top:30px;
}

.sub-heading-1 {
  font-size: 22px;
  font-weight: 600;
  color: #162456;
  margin-bottom: 10px;
  font-family: 'DM Sans', sans-serif;
  display: block;
}

.challenge-heading-1 {
  font-family: 'Oswald', Sans-Serif;
  font-size: 36px;
  font-weight: 700;
  color: #162456;
  line-height: 1.3;
  margin-bottom: 20px;
  display: block;
  max-width:420px;
  margin-top:10px;
}
.line-img {
  width: 100%;
  max-width: 420px;
  height: auto;
  margin-top: 40px;
  float: right;
}
.line-img-1 {
  width: 100%;
  max-width: 420px;
  height: auto;
  margin-top: 0px;
  float:left;
}
.challenge-content {
  padding-top: 10px;
}

.challenge-para {
  font-size:18px;
  color:#162456;
  line-height: 1.8;
  margin-bottom: 0;
  font-family: 'DM Sans', sans-serif;
  max-width:528px;
  margin-top:50px;
}
.challenge-para-1 {
  font-size:18px;
  color:#162456;
  line-height: 1.8;
  margin-bottom: 0;
  font-family: 'DM Sans', sans-serif;
  max-width:435px;
  margin-top:100px;
}
.challenge-para-2 {
  font-size:18px;
  color:#162456;
  line-height: 1.8;
  margin-bottom: 0;
  font-family: 'DM Sans', sans-serif;
  max-width:440px;
  margin-top:0px;
}
/* Tablet */
@media (max-width: 1024px) {
   .challenge-heading {
    font-size: 22px;
    max-width:300px;
  }
.sub-heading {
  font-size:14px;
}
.challenge-heading-1 {
    font-size: 22px;
    max-width:300px;
  }
.sub-heading-1 {
  font-size:14px;
}
.challenge-para {
    font-size:14px;
    margin-top:10px;
}
.challenge-para-1 {
    font-size:14px;
    margin-top:70px;
}
.challenge-para-2 {
    font-size:14px;
    margin-top:60px;
}
  .line-img {
    max-width: 260px;
    margin-top:70px;
  }
   .line-img-1 {
    max-width: 260px;
  }
  .right-content {
    padding-left: 10%;
  }
}

/* Mobile */
@media (max-width: 767px) {
  .challenge-section {
    padding-top: 50px;
    padding-bottom: 0px;
  }

  .challenge-heading {
    font-size: 22px;
      margin-bottom: 5px !important;
      max-width: 100%;
  }
.sub-heading {
  font-size:14px;
  margin-bottom: 5px !important;
}
.challenge-heading-1 {
    font-size: 22px;
    margin-bottom: 5px !important;
  }
.sub-heading-1 {
  font-size:14px;
}
  .challenge-content {
    padding-top: 20px;
  }
.challenge-para {
    font-size:14px;
    margin-top:10px;
}
.challenge-para-1 {
    font-size:14px;
    margin-top:0px;
}
.challenge-para-2 {
    font-size:14px;
    margin-top:10px;
}
  .line-img {
    max-width:100%;
    margin-bottom: 5px;
    margin-top:30px;
  }
  .line-img-1 {
    max-width:100%;
    margin-bottom: 5px;
    margin-top:30px;
  }
  .right-content {
    padding-left: 0;
    margin-top:5px;
  }
}
.solution-section {
  padding-top: 80px;
  padding-bottom: 80px;
  background-color: #ffffff;
}
.solution-section .row{
    margin-top:30px;
}
.solution-heading {
  font-family: 'Oswald', Sans-Serif;
  font-size: 36px;
  font-weight: 700;
  color:#162456;
  margin-bottom: 10px;
}

.solution-col {
  padding: 20px 30px;
}

.divider-left {
  border-left: none;
  position: relative;
  padding-left: 80px !important;
}

.divider-left::before {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  height: 60%;
  width: 1px;
  background-color: #898989;
}

.solution-icon {
  width: 20px;
  height: 20px;
  margin-bottom: 10px;
}

.solution-title {
  font-family: 'DM Sans', sans-serif;
  font-size: 18px;
  font-weight: 700;
  color:#000000;
  margin-bottom: 10px;
  line-height: 1.4;
}

.solution-para {
  font-size: 18px;
  color:#000000;
  line-height: 1.7;
  font-family: 'DM Sans', sans-serif;
  margin-bottom: 0;
  max-width: 325px;
}
.solution-para-1 {
  font-size: 18px;
  color:#000000;
  line-height: 1.7;
  font-family: 'DM Sans', sans-serif;
  margin-bottom: 0;
  max-width: 315px;
}
.solution-para-2 {
  font-size: 18px;
  color:#000000;
  line-height: 1.7;
  font-family: 'DM Sans', sans-serif;
  margin-bottom: 0;
  max-width: 310px;
}
.solution-para-3 {
  font-size: 18px;
  color:#000000;
  line-height: 1.7;
  font-family: 'DM Sans', sans-serif;
  margin-bottom: 0;
  max-width: 250px;
}
.solution-para-4 {
  font-size: 18px;
  color:#000000;
  line-height: 1.7;
  font-family: 'DM Sans', sans-serif;
  margin-bottom: 0;
  max-width: 250px;
}
.solution-para-5 {
  font-size: 18px;
  color:#000000;
  line-height: 1.7;
  font-family: 'DM Sans', sans-serif;
  margin-bottom: 0;
  max-width: 280px;
}
/* Tablet */
@media (max-width: 1024px) {
    .solution-section{
        padding-top: 30px;
        padding-bottom: 30px;
    }
  .solution-heading {
    font-size:22px;
  }
  .solution-title {
      font-size:14px;
  }
  .solution-para {
      font-size:14px;
  }
.solution-para-1 {
      font-size:14px;
  }
  .solution-para-2 {
      font-size:14px;
  }
  .solution-para-3 {
      font-size:14px;
  }
  .solution-para-4 {
      font-size:14px;
  }
  .solution-para-5 {
      font-size:14px;
  }
  .solution-col {
    padding: 16px 20px;
  }
  .divider-left {
  border-left: none;
  position: relative;
  padding-left: 20px !important;
}

.divider-left::before {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  height: 60%;
  width: 1px;
  background-color: #898989;
}
  
}

/* Mobile */
@media (max-width: 767px) {
    .solution-section {
  padding-top: 10px;
  padding-bottom: 10px;
}
  .solution-heading {
    font-size:22px;
  }

  .divider-left {
    border-left: none;
    border-top: 1px solid #e0e0e0;
    padding-top: 24px;
    margin-top: 10px;
  }
  .solution-title {
      font-size: 14px;
  }
.solution-para {
     font-size: 14px;
}
.solution-para-1 {
      font-size:14px;
  }
  .solution-para-2 {
      font-size:14px;
  }
  .solution-para-3 {
      font-size:14px;
  }
  .solution-para-4 {
      font-size:14px;
  }
  .solution-para-5 {
      font-size:14px;
  }
  .solution-col {
    padding: 16px 20px;
  }
}
@media (min-width: 768px) {

  .solution-col:not(:nth-child(3n))::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    height: 60%;
    width: 1px;
    background-color: #898989 !important;
  }

}

/* ---------- Mobile: Bottom Divider ---------- */
@media (max-width: 767.98px) {

  .solution-col {
    border-bottom: 1px solid #898989;
  }

  /* Remove border for last item */
   .row:last-child .solution-col:last-child {
    border-bottom: none;
  }

}

.impact-section {
  padding-top: 0px;
  padding-bottom: 60px;
  background-color: #ffffff;
}

.impact-title {
  font-weight:700;
  font-size:36px;
  color:#000000;
  font-family: 'Oswald',Sans-Serif;
  text-align: center;
  margin-bottom: 5px;
}

.impact-subtitle {
  font-family: 'Oswald',Sans-Serif;
  font-weight: 700;
  font-size:36px;
  color:#000000;
  text-align: center;
  margin-bottom: 50px;
}

.impact-table-wrapper {
  max-width: 100%;
  margin: 0 auto;
}

/* IMPORTANT: row gap for rounded effect */
.impact-table {
  border-collapse: separate;
  border-spacing: 0 12px; /* vertical spacing between rows */
  width: 100%;
}

/* remove all borders */
.impact-table,
.impact-table th,
.impact-table td {
  border: none !important;
  box-shadow: none !important;
  outline: none !important;
}

/* ── THEAD ── */
.impact-table thead th {
  background-color: #EAE4F8 !important;
  font-weight: 700;
  font-size: 22px;
  padding: 16px 20px;
  vertical-align: middle;
  text-align: center;
}

/* thead border radius */
.impact-table thead th:first-child {
  border-top-left-radius: 10px;
  border-bottom-left-radius: 10px;
  text-align: center;
}

.impact-table thead th:last-child {
  border-top-right-radius: 10px;
  border-bottom-right-radius: 10px;
}

.th-metric {
  color: #000000;
  text-align:center;
}

.th-before {
  color: #15004D;
  text-align: center;
}

.th-after {
  color: #3808B5;
  text-align: center;
}

/* ── TBODY ── */

/* move background from tr → td */
.impact-table tbody tr td {
  background-color: #ffffff;
}

/* even rows */
.impact-table tbody tr:nth-child(even) td {
  background-color: #F8F8F8;
}

/* apply row radius using td */
.impact-table tbody tr td:first-child {
  border-top-left-radius: 10px;
  border-bottom-left-radius: 10px;
  overflow: hidden;
  text-align: center;
}

.impact-table tbody tr td:last-child {
  border-top-right-radius: 10px;
  border-bottom-right-radius: 10px;
  overflow: hidden;
}

/* base td */
.impact-table tbody td {
  vertical-align: middle;
  color: #333;
  padding: 0;
}

/* ── Column 1 ── */
.td-metric {
  font-weight:600;
  font-size: 18px;
  color:#101010;
  text-align: left;
  white-space: nowrap;
  padding: 16px 20px !important;
}

/* odd rows spacing */
.impact-table tbody tr:nth-child(odd) .td-metric {
  padding: 26px 80px !important;
}

/* ── Column 2 ── */
.td-before {
  font-size: 16px;
  color: #444444;
  text-align: center;
  padding: 16px 20px !important;
}

.impact-table tbody tr:nth-child(odd) .td-before {
  padding: 26px 80px !important;
}

/* ── Column 3 ── */
.td-after {
  font-size: 16px;
  text-align: center;
  padding: 0 !important;
  padding-left: 50px !important;
}

/* inner box */
.after-inner {
  background-color: #F0EAFF;
  border-radius: 10px;
  font-size: 16px;
  color: #1a0066;
  text-align: center;
  line-height: 1.5;
  padding: 16px 18px;
  margin: 0;
}

/* odd rows gap */
.impact-table tbody tr:nth-child(odd) .after-inner {
  margin: 10px 0;
}

/* even rows flush */
.impact-table tbody tr:nth-child(even) .after-inner {
  margin: 0;
}



/* =========================
   TABLET VIEW (≤1024px)
========================= */
@media (max-width: 1024px) {
    .impact-section{
        padding-top:10px;
    }

  .impact-title {
    font-size: 1.4rem;
  }

  .impact-subtitle {
    font-size: 1.1rem;
    margin-bottom: 20px;
  }

  .impact-table thead th {
    font-size: 16px;
    padding: 14px 16px;
  }

  .td-metric {
    font-size: 14px;
    padding: 14px 16px !important;
  }
  .td-before {
    font-size: 14px;
    padding: 14px 16px !important;
  }

  /* ── Column 3 ── */
.td-after {
  font-size: 14px;
  text-align: center;
  padding: 0 !important;
  padding-left: 0px !important;
}

/* inner box */
.after-inner {
  background-color: #F0EAFF;
  border-radius: 10px;
  font-size: 14px;
  color: #1a0066;
  text-align: center;
  line-height: 1.5;
  padding: 16px 18px;
  margin: 0;
}

/* odd rows gap */
.impact-table tbody tr:nth-child(odd) .after-inner {
  margin: 10px 0;
}

/* even rows flush */
.impact-table tbody tr:nth-child(even) .after-inner {
  margin: 0;
}

  /* reduce big spacing */
  .impact-table tbody tr:nth-child(odd) .td-metric,
  .impact-table tbody tr:nth-child(odd) .td-before {
    padding: 20px 20px !important;
  }

}


/* =========================
   MOBILE VIEW (≤767px)
========================= */
@media (max-width: 767px) {

  .impact-section {
    padding: 20px 12px;
  }

  .impact-title {
    font-size: 22;
  }

  .impact-subtitle {
    font-size: 22;
  }
.impact-table thead th {
    font-size: 14px;
}
  /* Scroll wrapper */
  .impact-table-wrapper {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

   .impact-table {
    min-width: 520px;
    border-spacing: 0 6px; /* tighter rows */
  }

  /* ALL TD compact */
  .impact-table tbody td {
    padding: 6px px !important;   /* reduce height */
    line-height: 1.3;              /* tighter text */
  }

  /* Column 1 */
  .td-metric {
    font-size: 12px;
    padding: 8px !important;
    white-space: normal; /* allow wrap */
  }

  /* Column 2 */
  .td-before {
    font-size: 12px;
    padding: 8px !important;
  }


/* ── Column 3 ── */
.td-after {
  font-size: 12px;
  text-align: center;
  padding: 0 !important;
  padding-left: 0px !important;
}

/* inner box */
.after-inner {
  background-color: #F0EAFF;
  border-radius: 10px;
  font-size: 12px;
  color: #1a0066;
  text-align: center;
  line-height: 1.5;
  padding: 16px 18px;
  margin: 0;
}

/* odd rows gap */
.impact-table tbody tr:nth-child(odd) .after-inner {
  margin: 10px 0;
}

/* even rows flush */
.impact-table tbody tr:nth-child(even) .after-inner {
  margin: 0;
}

  /* remove big odd row padding */
  .impact-table tbody tr:nth-child(odd) .td-metric,
  .impact-table tbody tr:nth-child(odd) .td-before {
    padding: 10px !important;
  }
}



.about-section-1 {
  padding-top: 80px;
  padding-bottom: 80px;
  background-color: #ffffff;
}

.about-img-wrapper-1 {
  border-radius: 16px;
  padding: 0;        /* removed padding */
  text-align: center;
}


.about-img-wrapper-1 img {
  max-width: 100%;
  height:450px;
}

.about-content-1 {
  padding-left: 30px;
  padding-top: 0;    /* ensures top alignment */
}


.about-heading-1 {
  font-family: 'Oswald', Sans-Serif;
  font-size: 36px;
  font-weight: 700;
  color:#000000;
  margin-bottom: 24px;
  line-height: 1.3;
  max-width:400px;
  margin-top:80px;
}

.about-para-1 {
  font-size:20px;
  color:#080808;
  font-family: 'Dm sans', Sans-Serif;
  margin-bottom: 0px;
  max-width:610px;
}

/* Tablet */
@media (max-width: 1024px) {
    .about-section-1 {
  padding-top: 80px;
  padding-bottom: 50px;
}
  .about-heading-1 {
    font-size: 22px;
    margin-top:30px !important;
  }
  .about-para-1 {
       font-size:14px; 
  }
  .about-content-1 {
    padding-left: 20px;
  }
  .about-img-wrapper-1 img {
  max-width: 100%;
  height:auto;
}
}

/* Mobile */
@media (max-width: 767px) {
    .about-section-1 {
  padding-top: 0px;
  padding-bottom:50px;
}
  .about-img-wrapper-1 {
    margin-bottom: 30px;
  }

  .about-content-1 {
    padding-left: 0px;
  }

  .about-heading-1 {
    font-size: 22px;
  }

  .about-para-1 {
    font-size: 14px;
  }
  .about-img-wrapper-1 img {
  max-width: 100%;
  height:auto;
}
}



/* SECTION BACKGROUND */
.demo-section {
  background: url('/images/shreevishnupriyafinance-img/digital-stamping-bg.svg') no-repeat center center;
  background-size: cover;
  padding: 100px 0;
}

/* INNER BOX BACKGROUND */
.demo-inside {
  background: url('/images/shreevishnupriyafinance-img/digital-stamping-inside-bg.svg') no-repeat center center;
  background-size: cover;
  padding: 70px 50px;
  border-radius: 20px;
  opacity: 1;
}

.wrapper {
  max-width: 1140px; /* similar to container */
  margin: 0 auto;
  padding: 0 15px;
}

.demo-title {
  font-size:42px;
  font-family: 'Oswald',Sans-Serif;
  color:#ffffff;
  font-weight: 700;
  margin-bottom:30px;
}
.demo-content{
     font-size:20px;
  font-family: 'DM sans',Sans-Serif;
  color:#ffffff;
  font-weight: 400 !important;
  margin-bottom:50px !important;
  margin: 0 auto;
  max-width:850px;
  opacity: 0.77;
  margin-bottom:20px !important;
}
.demo-btn img {
  max-width: 180px;
}

/* ── TABLET (641px to 768px — iPad Portrait, won't affect mobile) ── */
@media(max-width: 1024px) {
 
    /* Section */
    .demo-section {
        padding: 30px 0;
    }
 
    /* Inner box */
    .demo-inside {
        padding: 50px 30px;
        border-radius: 16px;
    }
 
    /* Title */
    .demo-title {
        font-size: 22px;
        margin-bottom: 12px;
        margin-top:20px;
    }
    .demo-content{
        font-size:14px;
        margin-bottom: 15px;
    }
    /* Button */
    .demo-btn img {
        max-width: 150px;
    }
}
@media (max-width:767px){
    .demo-section {
  padding: 20px 0;
}
.demo-title{
     font-size:16px;
  font-family: 'Oswald',Sans-Serif;
  color:#ffffff;
  font-weight: 400 !important;
  padding:0px 20px;
  margin-bottom:10px;
}
.demo-content{
    font-size: 14px;
    margin-bottom: 20px;
    max-width:500px;
}
.demo-inside {
 padding: 30px 30px;
}
}
    .hover-btn1 {
            font-weight: bold !important;
        }

        .hover-btn1:hover {
            background: linear-gradient(to right, #E40078, #4D00FF);
            color: #FFFFFF !important;

        }
        .hover-btn1:hover svg circle {
    fill: white;
}

.hover-btn1:hover svg path {
    stroke: #7b00ff;
}
.hover-btn:hover {
    background: linear-gradient(to right, #E40078, #4D00FF);
    border:none !important;
}