body.page-template-template-solutions h2:before {
    content: none;
    display: initial;
    height: auto;
    margin-top: initial;
    visibility: visible;
}

.dflex-banner-area--content {
    align-items: center;
}

.padding-6 {
    padding: 57px 16px;
}

.bg-dark-green {
    background: #066D6D;
}

.featured-image__wrapper-banner img {
    width: 100%;
    height: 380px;
    object-fit: cover;
    border-radius: 300px 0 0 300px;
    border: 20px solid #DBF6F6;
    border-right: none;
}

.left-image .featured-image__wrapper-banner img {
    border-radius: 0 300px 300px 0;
    border-left: 0;
    border-right: 20px solid #DBF6F6;
}

.bg-dark-green .banner-area-content * {
    color: #fff;
}

.bg-dark-green .banner-area-content a {
    font-weight: 600 !important;
    color: #fff !important;
    border-bottom: dotted 1px #fff !important;
}

.what-image-wrap {
    flex: 1;
    position: relative;
}

.what-image-wrap img {
    width: 100%;
    border-radius: 16px;
    box-shadow: 0 8px 32px rgba(0,0,0,0.08);
    object-fit: cover;
}

.what-image-wrap.img-contain img {
  object-fit: contain;
}

.what-section.padding-6.bg-light-green .what-image-wrap.img-contain img {
    box-shadow: 0 8px 32px rgba(0,0,0,0.3);
    background: #fff;
}

.anchor-wrap-img-play.no-pointers {
    pointer-events: none;
}

.what-section .content-wrap {
    gap: 30px;
    align-items: center;
    justify-content: center;
}

.sparkle {
    position: absolute;
    top: -68px;
    left: -42px;
    height: 125px;
    width: 100px;
}

.content-wrap.media-position-media-right .sparkle {
    position: absolute;
    top: -68px;
    right: -42px;
    height: 125px;
    width: 100px;
    transform: rotate(45deg);
    left: initial;
}

.sparkle svg {
    width: 100%;
    height: 100%;
}

#what-we-do {
    padding-top: 100px;
}

.btn-orange {
    background: var(--orange);
    color: #fff;
}

.btn-teal {
    background: #006B62;
    color: #fff;
}

.what-buttons {
    display: flex;
    gap: 16px;
    margin-top: 28px;
}

.anchor-wrap-img-play {
    display: inline-block;
    width: 100%;
    position: relative;
}

.btn.btn-orange:hover {
    background: #ffae63;
    color: #fff;
}

.btn.btn-teal:hover {
    opacity: .8;
    color: #fff;
}

.bg-light-green {
  background: rgba(219, 246, 246, 0.52);
}

.anchor-wrap-img-play svg {
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    width: 100%;
    transform: translate(0, -50%);
}

.what-content,
.what-image-wrap {
    flex: 0 0 100%;
    min-width: 100%;
}

.features-section {
    background: #F5F0EB;
}

.features-grid {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 30px;
    margin-top: 25px;
}

.feature-card {
    background: #fff;
    padding: 32px;
    border-radius: 16px;
    box-shadow: 0 4px 20px rgba(0,0,0,0.06);
    transition: transform 0.2s, box-shadow 0.2s;
}

.feature-icon {
    width: 80px;
    height: 65px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 25px;
}

.list--checkmark li {
    position: relative;
}

.two--column {
    column-count: 2;
    column-gap: 10px;
}

.two--column li {
    break-inside: avoid;
}

.list--checkmark li::before {
    content: '';
    background: url('data:image/svg+xml,<svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M7 0C10.8653 0 14 3.13469 14 7C14 10.8653 10.8653 14 7 14C3.13469 14 0 10.8653 0 7C0 3.13469 3.13469 0 7 0ZM5.54636 9.27365L3.83259 7.55846C3.54062 7.26632 3.54056 6.78992 3.83259 6.49784C4.12468 6.20582 4.6032 6.20764 4.89316 6.49784L6.10136 7.70699L9.10695 4.7014C9.39904 4.40931 9.87549 4.40931 10.1675 4.7014C10.4596 4.99342 10.4592 5.47029 10.1675 5.76196L6.63078 9.2987C6.33912 9.59037 5.86224 9.59078 5.57022 9.2987C5.56201 9.29049 5.55409 9.28215 5.54636 9.27365Z" fill="%23E87D1E"/></svg>');
    width: 15px;
    height: 15px;
    position: absolute;
    background-repeat: no-repeat;
    left: -20px;
    top: 9px;
}

.list--checkmark li::marker {
    content: none;
}

.perks-section {
    background: #fff;
    display: flex;
    gap: 30px;
    align-items: center;
    flex-wrap: wrap;
    flex-direction: column-reverse;
}

.perks-image-wrap,
.perks-content {
    flex: 0 0 100%;
}

.accordion-item {
    margin-bottom: 12px;
    border-radius: 12px;
    overflow: hidden;
}

.accordion-item:not(.open) .accordion-trigger {
    background: #fff;
    box-shadow: 0 2px 8px rgba(0,0,0,0.06);
}

.accordion-trigger {
    width: 100%;
    padding: 15px 25px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border: none;
    cursor: pointer;
    font-weight: 800;
    color: #404A4F;
    text-align: left;
    position: relative;
    background: transparent;
    font-size: 22px;
}

.accordion-body {
    padding: 0px 25px 25px;
    font-size: 16px;
    color: #404A4F;
    line-height: 1.6;
    display: none;
}

.accordion-arrow {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    transition: transform 0.2s;
    display: inline-flex;
}

.accordion-item.open .accordion-plus {
    display: none;
}

.accordion-item.open button > span:first-child {
    color: #066D6D;
}

.accordion-body a {
    border-bottom: dotted 1px #056d6c;
    color: #056d6c !important;
}

.accordion-minus {
    display: none;
}

.accordion-item.open .accordion-minus {
    display: inline-flex;
}

.perks-image-wrap img {
    width: 100%;
    border-radius: 16px;
    box-shadow: 0 8px 32px rgba(0,0,0,0.08);
    object-fit: cover;
}

.accordion-item.open {
    background: #DBF6F6;
}

.accordion-item.open .button {
    color: #066D6D;
    
}

.accordion-item.open .accordion-body {
    display: block;
}

.call-toaction__wrapper {
    margin-top: 35px;
}

.perks-image-wrap .small-img-perks {
    display: none;
}

.perks-image-wrap {
    position: relative;
}



.voting-solutions-section {
    padding: 48px 24px 64px;
    background: #F8F2ED;
}

.voting-solutions-section .section-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 32px;
    flex-wrap: wrap;
    gap: 20px;
}

.voting-solutions-section .section-title {
    line-height: 1.3;
    max-width: 600px;
}

.voting-solutions-section .slick-arrows {
    display: flex;
    gap: 12px;
    align-items: center;
}

.voting-solutions-section .slick-arrow {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: #066D6D;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    transition: background 0.2s, transform 0.2s;
    flex-shrink: 0;
}

.voting-solutions-section .slick-arrow:hover {
    background: #006064;
    transform: scale(1.05);
}

.voting-solutions-section .slick-arrow svg {
    width: 24px;
    height: 24px;
}

.voting-solutions-section .slick-list {
    margin: 0 -12px;
}

.voting-solutions-section .slick-slide {
    padding: 0 12px;
    height: inherit;
}

.voting-solutions-section .slick-slide .solution-card-inner {
    height: 100%;
}

.services-icon-card .icon-card {
  width: 100%;
}

.voting-solutions-slider .slick-track {
    display: flex;
}

.voting-solutions-section .solution-card .solution-card-inner:hover {
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
    border: 1px solid #066D6D;
}

.voting-solutions-section .solution-card-inner {
    flex: 1;
    display: flex;
    flex-direction: column;
    background: #fff;
    border-radius: 20px;
    padding: 28px 24px;
    height: 100%;
    transition: border-color 0.2s, box-shadow 0.2s;
    width: 420px;
    margin: 0;
    position: relative;
    height: 100%;
    border: 1px solid transparent;
}

.voting-solutions-section .card-badge {
    display: inline-block;
    background: var(--orange);
    color: #fff;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    padding: 4px 10px;
    border-radius: 4px;
    margin-bottom: 16px;
    width: fit-content;
}

.voting-solutions-section .card-title {
    font-size: 25px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    text-transform: capitalize;
}

.voting-solutions-section .card-list {
    list-style: none;
    padding: 0;
    margin: 0 0 16px;
}

.voting-solutions-section .card-list li {
    position: relative;
    padding-left: 20px;
    margin-bottom: 8px;
    font-size: 0.95rem;
    color: var(--gray-700);
    line-height: 1.5;
}

.voting-solutions-section .card-list li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 8px;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #066D6D;
}

.voting-solutions-section .card-note {
    font-size: 16px;
    line-height: 1.5;
    border-radius: 20px;
    background: rgba(232, 125, 30, 0.13);
    padding: 18px;
    height: auto;
    flex: 0 0;
    margin-top: auto;
}

.voting-solutions-slider .learn-more__wrapper {
    position: relative;
    width: 420px;
    margin: 0 auto;
    opacity: 0;
    transition: .3s;
}

.voting-solutions-section .card-note strong {
    color: #404A4F;
}

.voting-solutions-section .card-cta {
    display: inline-block;
    background: #066D6D;
    color: #fff;
    font-size: 16px;
    font-weight: 700;
    text-decoration: none;
    padding: 12px 24px;
    border-radius: 8px;
    transition: background 0.2s;
    width: fit-content;
    margin-top: auto;
}

.learn-more__wrapper .card-cta:after {
    content: url('data:image/svg+xml,<svg width="12" height="12" viewBox="0 0 12 12" fill="none" xmlns="http://www.w3.org/2000/svg"><g clip-path="url(%23clip0_2022_485)"><path d="M11.8082 5.53363L7.47457 1.19991C7.35087 1.0762 7.18599 1.0083 7.01019 1.0083C6.83419 1.0083 6.66941 1.0763 6.5457 1.19991L6.15224 1.59347C6.02863 1.71698 5.96054 1.88195 5.96054 2.05785C5.96054 2.23366 6.02863 2.40419 6.15224 2.5277L8.68042 5.06144H0.648287C0.286144 5.06144 0 5.34495 0 5.70719V6.26357C0 6.62582 0.286144 6.93791 0.648287 6.93791H8.7091L6.15234 9.48579C6.02873 9.6095 5.96063 9.76999 5.96063 9.94589C5.96063 10.1216 6.02873 10.2844 6.15234 10.408L6.5458 10.8003C6.66951 10.924 6.83429 10.9914 7.01029 10.9914C7.18609 10.9914 7.35097 10.9231 7.47467 10.7994L11.8083 6.46582C11.9323 6.34172 12.0005 6.17606 12 5.99997C12.0004 5.82329 11.9323 5.65753 11.8082 5.53363Z" fill="white"/></g><defs><clipPath id="clip0_2022_485"><rect width="12" height="12" fill="white"/></clipPath></defs></svg>');
    margin-left: 9px;
    position: relative;
    top: 1px;
}

/* Hide default Slick arrows; we use custom ones */
.voting-solutions-section .slick-prev,
.voting-solutions-section .slick-next {
    display: none !important;
}

.voting-solutions-section .solution-card .card-cta {
    position: relative;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    text-align: center;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}

.voting-solutions-section .solution-card:not(.no--link-card):hover .solution-card-inner,
.voting-solutions-section .slick-slide:not(.no--link-card):hover .solution-card-inner {
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
    transform: .2s;
}

.voting-solutions-section .solution-card:hover .learn-more__wrapper,
.voting-solutions-section .slick-slide:hover .learn-more__wrapper {
    visibility: visible;
    opacity: 1;
}


.voting-solutions-slider.slick-initialized.slick-slider .slick-list {
    overflow: visible;
    margin-bottom: 40px;
}


.services-icon-card .header p {
    color: #fff;
}

.services-icon-card .header a {
    border-bottom: solid 1px #ffae63;
    color: #ffae63 !important;
}

.services-icon-card.solutions-template .header h2:before {
    content: '';
    background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="74" height="42" viewBox="0 0 74 42" fill="none"><path d="M36.9995 0.75C37.8387 0.75 38.5219 1.42753 38.522 2.26562V14.9238C38.522 15.762 37.8388 16.4395 36.9995 16.4395C36.1603 16.4392 35.478 15.7619 35.478 14.9238V2.26562C35.4781 1.42768 36.1603 0.750217 36.9995 0.75Z" fill="%23E87D1E" stroke="%23E87D1E" stroke-width="0.5"/><path d="M68.2884 38.2185C69.1276 38.2185 69.8098 38.896 69.8099 39.7341C69.8099 40.5723 69.1277 41.2498 68.2884 41.2498H63.2005C62.3614 41.2495 61.679 40.5722 61.679 39.7341C61.6791 38.8962 62.3615 38.2187 63.2005 38.2185H68.2884Z" fill="%23E87D1E" stroke="%23E87D1E" stroke-width="0.5"/><path d="M10.7991 38.2185C11.6385 38.2185 12.3205 38.8961 12.3206 39.7341C12.3206 40.5723 11.6386 41.2498 10.7991 41.2498H5.71124C4.872 41.2495 4.18976 40.5722 4.18976 39.7341C4.18987 38.8962 4.87207 38.2187 5.71124 38.2185H10.7991Z" fill="%23E87D1E" stroke="%23E87D1E" stroke-width="0.5"/><path d="M20.7341 12.6494C21.437 12.3348 22.2792 12.5948 22.6735 13.2744L25.2175 17.6592L25.2888 17.7979C25.5842 18.4525 25.3747 19.2273 24.7907 19.6465L24.6599 19.7305C24.4208 19.8678 24.1592 19.9335 23.9011 19.9336C23.4421 19.9336 22.9922 19.7264 22.6979 19.3486L22.5817 19.1758L20.0378 14.791C19.6168 14.0653 19.8676 13.138 20.5954 12.7197L20.7341 12.6494Z" fill="%23E87D1E" stroke="%23E87D1E" stroke-width="0.5"/><path d="M71.106 18.9839C71.809 18.6693 72.6512 18.9295 73.0454 19.6089L73.1167 19.7466C73.4337 20.448 73.1711 21.2879 72.4888 21.6802L72.4878 21.6792L60.4595 29.27L60.4517 29.2749L60.3267 29.0581L60.4507 29.2749C60.2117 29.4122 59.95 29.478 59.6919 29.478C59.2327 29.478 58.7831 29.2708 58.4888 28.8931L58.3726 28.7202C57.9779 28.0398 58.1735 27.182 58.7993 26.7329L58.9302 26.6489L70.9585 19.0591L70.9673 19.0542L71.106 18.9839Z" fill="%23E87D1E" stroke="%23E87D1E" stroke-width="0.5"/><path d="M1.03906 19.4783C1.46044 18.8971 2.23768 18.691 2.89355 18.9841L3.03223 19.0544L3.04199 19.0593L3.04102 19.0603L15.0791 26.6541H15.0781C15.7542 27.0482 16.0135 27.8833 15.6982 28.5818L15.627 28.7205C15.3447 29.2069 14.8331 29.4781 14.3086 29.4783C14.0502 29.4783 13.788 29.4125 13.5488 29.2751L13.54 29.2703L1.51172 21.6794V21.6804C0.783964 21.2622 0.533287 20.3348 0.954102 19.6091L1.03906 19.4783Z" fill="%23E87D1E" stroke="%23E87D1E" stroke-width="0.5"/><path d="M51.4113 13.1436C51.8628 12.5209 52.7227 12.328 53.4045 12.7197L53.5353 12.8037C54.1194 13.2228 54.3288 13.9977 54.0334 14.6523L53.9621 14.791L51.4182 19.1758C51.1358 19.6623 50.6235 19.9336 50.0988 19.9336C49.9053 19.9336 49.71 19.8966 49.5236 19.8203L49.34 19.7305C48.6122 19.3122 48.3614 18.3849 48.7824 17.6592L51.3264 13.2744L51.4113 13.1436Z" fill="%23E87D1E" stroke="%23E87D1E" stroke-width="0.5"/></svg>');
    position: relative;
    background-size: contain;
    background-repeat: no-repeat;
    display: block;
    height: 55px;
    width: 85px;
    margin: 0 auto;
    visibility: visible;
}



/* Election Voting Software – Accordion Tabs */

.election-software-section {
    background: rgba(219, 246, 246, 0.52);
}

.election-software-section .section-heading {
  text-align: center;
  margin-bottom: 16px;
}

.election-software-section .section-subtitle {
  text-align: center;
  margin-bottom: 32px;
}

.election-tabs {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin-bottom: 40px;
  flex-wrap: wrap;
}

.election-tab {
    transition: background 0.2s, color 0.2s;
    color: #404A4F;
    text-align: center;
    font-size: 22px;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
    text-transform: capitalize;
    border-radius: 100px;
    padding: 24px 44px;
    border: 1px solid rgba(6, 109, 109, 0.39);
}

.election-tab:hover {
  background: #DBF6F6;
  color: #066D6D;
  border-color: transparent;
}

.election-tab.active {
    background: #DBF6F6;
    color: #066D6D;
    border-color: transparent;
}

.election-content {
  max-width: 1200px;
  margin: 0 auto;
}

.election-panel {
  display: none;
  gap: 48px;
  align-items: center;
  animation: election-panel-in 0.3s ease;
}

.election-panel.active {
  display: flex;
}

.wrap-accordion-main__content {
    max-width: 887px;
    margin: 0 auto;
}

.container-accordion-tab {
    padding: 40px;
    background: #fff;
    border-radius: 20px;
    margin-top: 45px;
}

@keyframes election-panel-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

.election-text {
  flex: 1;
}

.election-text p {
  font-size: 16px;
  color: #555555;
  margin-bottom: 16px;
  line-height: 1.7;
}

.election-text p:last-child {
  margin-bottom: 0;
}

.election-image-wrap {
  flex: 1;
}

.election-image-wrap img {
  width: 100%;
  border-radius: 16px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.08);
}

.voting-solutions-slider:not(.slick-initialized) {
    display: flex;
    gap: 35px;
    justify-content: center;
    margin-bottom: 50px;
}

@media ( max-width: 1199px) {
  .dflex-banner-area--content:not(.left-image) .featured-image__wrapper-banner {
        margin-top: 25px;
    }
}

@media (max-width: 768px) {
  .election-software-section {
    padding: 48px 24px;
  }

  .election-tabs {
    flex-direction: column;
    margin-bottom: 24px;
  }

  .election-tab {
    width: 100%;
    text-align: center;
  }

  .election-panel.active {
    flex-direction: column;
    gap: 24px;
  }

  .election-image-wrap {
    order: -1;
  }

  .election-image-wrap img {
    max-height: 240px;
    object-fit: cover;
  }

  .dflex-banner-area--content.right-image .featured-image__wrapper-column {
    padding-right: 0;
  }

  .dflex-banner-area--content.left-image .featured-image__wrapper-column {
    padding-left: 0;
  }
}

@media ( max-width: 576px ) {
    .what-section .what-buttons .btn {
        padding: 10px;
    }
}


@media( min-width:768px ) {
    .features-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media( min-width:1025px ) {

    .padding-6 {
        padding: 57px 0;
    }

    .row.content-wrap.media-position-media-right {
        flex-direction: row-reverse;
    }

    .perks-section {
        background: #fff;
        display: flex;
        gap: 30px;
        align-items: center;
        flex-wrap: nowrap;
        flex-direction: row;
    }

    .perks-image-wrap,
    .perks-content {
        flex: 0 0 50%;
    }


    .perks-image-wrap img {
       height: 506px;
    }

    .ctm-col-md-offset-4 {
        margin-left: auto;
        flex: 0 0 43.33%;
    }

    .left-image .ctm-col-md-offset-4 {
        flex: 1;
    }

    .features-grid {
        grid-template-columns: repeat(3, 1fr);
    }

    .banner-area-content {
        padding-right: 55px;
    }

    .left-image .banner-area-content {
        padding-left: 55px;
    }

    .what-content {
        flex: 0 0 50%;
        min-width: 50%;
    }

    .content-wrap.media-position-media-right .what-content {
      flex: 0 0 56%;
      min-width: 56%;
    }

    .what-image-wrap {
        flex: 0 0 40%;
        min-width: 40%;
    }

    .perks-image-wrap .small-img-perks {
        display: block;
        height: auto;
        position: absolute;
        bottom: -80px;
        width: 230px;
        box-shadow: none;
        right: 0;
        object-fit: cover;
        box-shadow: none;
    }

    .what-image-wrap img {
        height: 300px;
    }

}

@media( min-width:1200px ) {
    .ctm-col-md-offset-4 {
        flex: 0 0 45.33%;
    }
}

@media( min-width:1600px ) {
    .ctm-col-md-offset-4 {
        flex: 0 0 40.33%;
    }
}

@media( min-width:1725px ) {
    .ctm-col-md-offset-4 {
        flex: 0 0 35.33%;
    }

    .perks-image-wrap .small-img-perks {
        display: block;
        height: auto;
        position: absolute;
        bottom: -80px;
        width: 230px;
        box-shadow: none;
        right: -95px;
        object-fit: cover;
    }
}

/* ===========================
   Testimonials Section
   =========================== */
.testimonials {
  position: relative;
  width: 100%;
  display: flex;
  align-items: center;
}

.testimonials-wrapper {
  padding: 40px 60px;
}

@media ( max-width: 768px ) {
    .testimonials-wrapper {
        padding: 40px 16px;
    }
}

/* ===========================
   Decorative Shape (top-right)
   =========================== */
.testimonials__decorative-shape {
  position: absolute;
  top: -23px;
  right: 0;
  width: 184px;
  height: 194px;
  pointer-events: none;
  z-index: 0;
}

.testimonials__decorative-shape img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

/* ===========================
   Content Layout (image + card)
   =========================== */
.testimonials__content {
  display: flex;
  align-items: center;
  position: relative;
  z-index: 1;
  width: 100%;
}

/* ===========================
   Image Wrapper
   =========================== */
.testimonials__image-wrapper {
  flex-shrink: 0;
  width: 663px;
  height: 405px;
  border-radius: 154px 20px 20px 20px;
  overflow: hidden;
  position: relative;
  z-index: 1;
}

.testimonials__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* ===========================
   Testimonial Card
   =========================== */
.testimonials__card {
  background-color: #ffffff;
  border-radius: 20px;
  box-shadow: 0 4px 25px rgba(64, 74, 79, 0.25);
  margin-left: -117px;
  position: relative;
  z-index: 2;
  flex-shrink: 0;
}

.testimonials__card-inner {
  padding: 39px 34px;
  max-width: 725px;
  display: flex;
  flex-direction: column;
  gap: 21px;
}

/* ===========================
   Heading
   =========================== */
.testimonials__heading {
  font-family: "DM Sans", sans-serif;
  font-weight: 700;
  font-size: 30px;
  line-height: 28px;
  color: #066d6d;
}

/* ===========================
   Body (Quote + Attribution)
   =========================== */
.testimonials__body {
  display: flex;
  flex-direction: column;
  gap: 11px;
}

.testimonials__quote {
  font-family: "DM Sans", sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 28px;
  color: #404a4f;
}

.testimonials__attribution {
  font-family: "DM Sans", sans-serif;
  font-weight: 700;
  font-size: 16px;
  line-height: 28px;
  color: #404a4f;
}

.testimonials h2.testimonials__heading {
    color: #066D6D;
}

/* ===========================
   Responsive Adjustments
   =========================== */


@media( min-width: 1025px ) {
    .testimonials-wrapper {
        padding: 80px 60px;
    }
}

@media (max-width: 1200px) {
  .testimonials__image-wrapper {
    width: 500px;
    height: 350px;
    border-radius: 120px 20px 20px 20px;
  }

  .testimonials__card-inner {
    max-width: 580px;
  }
}

@media (max-width: 960px) {
  .testimonials {
    padding: 30px 30px;
  }

  .testimonials__content {
    flex-direction: column;
    align-items: center;
  }

  .testimonials__image-wrapper {
    width: 100%;
    max-width: 600px;
    height: 320px;
    border-radius: 100px 20px 20px 20px;
  }

  .testimonials__card {
    margin-left: 0;
    margin-top: -60px;
    width: 90%;
    max-width: 700px;
  }

  .testimonials__card-inner {
    max-width: 100%;
  }

  .testimonials__decorative-shape {
    width: 120px;
    height: 130px;
  }
}

@media (max-width: 600px) {
  .testimonials {
    padding: 20px 16px;
  }

  .testimonials__image-wrapper {
    height: 240px;
    border-radius: 60px 16px 16px 16px;
  }

  .testimonials__card {
    margin-top: -40px;
    width: 95%;
    border-radius: 16px;
  }

  .testimonials__card-inner {
    padding: 24px 20px;
    gap: 16px;
  }

  .testimonials__heading {
    font-size: 24px;
    line-height: 24px;
  }

  .testimonials__quote,
  .testimonials__attribution {
    font-size: 14px;
    line-height: 24px;
  }

  .testimonials__decorative-shape {
    width: 80px;
    height: 90px;
    top: -10px;
  }
}

/* ===========================
   Contact CTA Section
   =========================== */
.contact-cta {
  background-color: #e87d1e;
  width: 100%;
  padding: 56px 290px;
}

/* ===========================
   Container (flex row)
   =========================== */
.contact-cta__container {
  display: flex;
  align-items: center;
  gap: 50px;
  max-width: 1440px;
  margin: 0 auto;
}

/* ===========================
   Text Content (left side)
   =========================== */
.contact-cta__text {
  flex-shrink: 0;
  width: 564px;
  display: flex;
  flex-direction: column;
  gap: 17px;
}

/* ===========================
   Heading
   =========================== */
.contact-cta__heading {
  font-family: "DM Sans", sans-serif;
  font-weight: 700;
  font-size: 40px;
  line-height: normal;
  color: #ffffff;
  text-transform: capitalize;
}

/* ===========================
   Description Paragraph
   =========================== */
.contact-cta__description * {
  font-weight: 400;
  font-size: 16px;
  line-height: 28px;
  color: #ffffff;
}

/* ===========================
   Dotted Underline Links
   =========================== */
.contact-cta__link {
  color: #ffffff;
  text-decoration: underline;
  text-decoration-style: dotted;
  font-family: "DM Sans", sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 21px;
}

.contact-cta__link:hover {
  text-decoration-style: solid;
}

/* ===========================
   CTA Button
   =========================== */
.contact-cta__actions {
  display: flex;
  align-items: flex-start;
}

.contact-cta__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-color: #066d6d;
  color: #ffffff;
  font-family: "DM Sans", sans-serif;
  font-weight: 700;
  font-size: 16px;
  line-height: normal;
  text-align: center;
  text-decoration: none;
  padding: 14px 44px;
  border-radius: 100px;
  border: none;
  cursor: pointer;
  transition: background-color 0.2s ease;
}

.contact-cta__button:hover {
  background-color: #055a5a;
}

/* ===========================
   Images Grid (right side)
   =========================== */
.contact-cta__images {
  position: relative;
  display: grid;
  grid-template-columns: 352px 352px;
  gap: 22px;
  flex-shrink: 0;
}

/* ===========================
   Left Image
   =========================== */
.contact-cta__image-left {
  width: 352px;
  height: 379px;
  border-radius: 154px 20px 20px 20px;
  overflow: hidden;
}

.contact-cta__image-left img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* ===========================
   Right Image
   =========================== */
.contact-cta__image-right {
  width: 352px;
  height: 379px;
  border-radius: 20px 20px 154px 20px;
  overflow: hidden;
}

.contact-cta__image-right img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* ===========================
   Decorative Vote Badge
   =========================== */
.contact-cta__badge {
  position: absolute;
  left: 296px;
  top: 124px;
  width: 136px;
  height: 143px;
  z-index: 2;
}

.contact-cta__badge-shape {
  position: absolute;
  inset: 0;
}

.contact-cta__badge-bg {
  width: 100%;
  height: 100%;
  display: block;
}

.contact-cta__badge-icon {
  position: absolute;
  top: 12px;
  left: 20px;
  width: 96px;
  height: 96px;
  overflow: hidden;
}

.contact-cta__badge-icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
  padding: 6%;
}

/* ===========================
   Responsive Adjustments
   =========================== */
@media (max-width: 1600px) {
  .contact-cta {
    padding: 56px 120px;
  }
}

@media (max-width: 1400px) {
  .contact-cta {
    padding: 56px 60px;
  }

  .contact-cta__images {
    grid-template-columns: 280px 280px;
    gap: 18px;
  }

  .contact-cta__image-left,
  .contact-cta__image-right {
    width: 280px;
    height: 310px;
  }

  .contact-cta__image-left {
    border-radius: 120px 16px 16px 16px;
  }

  .contact-cta__image-right {
    border-radius: 16px 16px 120px 16px;
  }

  .contact-cta__badge {
    left: 228px;
    top: 100px;
    width: 110px;
    height: 116px;
  }

  .contact-cta__badge-icon {
    top: 10px;
    left: 16px;
    width: 78px;
    height: 78px;
  }
}

@media (max-width: 1100px) {
  .contact-cta {
    padding: 48px 40px;
  }

  .contact-cta__container {
    gap: 36px;
  }

  .contact-cta__text {
    width: 420px;
  }

  .contact-cta__heading {
    font-size: 32px;
  }

  .contact-cta__images {
    grid-template-columns: 220px 220px;
    gap: 14px;
  }

  .contact-cta__image-left,
  .contact-cta__image-right {
    width: 220px;
    height: 260px;
  }

  .contact-cta__image-left {
    border-radius: 90px 14px 14px 14px;
  }

  .contact-cta__image-right {
    border-radius: 14px 14px 90px 14px;
  }

  .contact-cta__badge {
    left: 172px;
    top: 80px;
    width: 100px;
    height: 105px;
  }

  .contact-cta__badge-icon {
    top: 8px;
    left: 14px;
    width: 72px;
    height: 72px;
  }
}

@media (max-width: 860px) {
  .contact-cta__container {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  .contact-cta__text {
    width: 100%;
    max-width: 600px;
    align-items: center;
  }

  .contact-cta__actions {
    justify-content: center;
  }

  .contact-cta__images {
    grid-template-columns: 260px 260px;
    gap: 16px;
  }

  .contact-cta__image-left,
  .contact-cta__image-right {
    width: 260px;
    height: 290px;
  }

  .contact-cta__image-left {
    border-radius: 100px 16px 16px 16px;
  }

  .contact-cta__image-right {
    border-radius: 16px 16px 100px 16px;
  }

  .contact-cta__badge {
    left: 210px;
    top: 90px;
  }
}

@media (max-width: 600px) {
  .contact-cta {
    padding: 36px 20px;
  }

  .contact-cta__heading {
    font-size: 26px;
  }

  .contact-cta__description {
    font-size: 14px;
    line-height: 24px;
  }

  .contact-cta__images {
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    width: 100%;
  }

  .contact-cta__image-left,
  .contact-cta__image-right {
    width: 100%;
    height: 200px;
  }

  .contact-cta__image-left {
    border-radius: 60px 12px 12px 12px;
  }

  .contact-cta__image-right {
    border-radius: 12px 12px 60px 12px;
  }

  .contact-cta__badge {
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 90px;
    height: 95px;
  }

  .contact-cta__badge-icon {
    top: 6px;
    left: 10px;
    width: 64px;
    height: 64px;
  }

  .contact-cta__button {
    padding: 12px 36px;
    font-size: 14px;
  }
}
