/* ==========================================================================
   Component Styles â€” technbrains-child
   Enqueued via wp_enqueue_style( 'tnb-components' ) in functions.php.
   Dynamic rules (checkmark URL) injected via wp_add_inline_style().
   ========================================================================== */

/* --------------------------------------------------------------------------
   Global Button (.tnb-btn) â€” matches Button.module.scss .btn
   -------------------------------------------------------------------------- */
.tnb-btn {
  color: #fff;
  font-size: 18px;
  font-weight: 600;
  background: #ec1c24;
  text-transform: uppercase;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  border: none;
  padding: 10px 30px;
  transition: ease all 0.25s;
  position: relative;
  overflow: hidden;
  z-index: 1;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  border-radius: 0;
}
.tnb-btn::before {
  position: absolute;
  content: "";
  /* width: 290px; */
  width: 110%;
  height: 220px;
  background: #fff;
  top: -100px;
  left: -220%;
  transform: rotate(15deg);
  display: block;
  transition: ease all 0.75s;
  z-index: -1;
}
.tnb-btn:hover:not(:disabled) {
  color: #ec1c24;
}
.tnb-btn:hover:not(:disabled)::before {
  left: 0;
}
.tnb-btn:disabled {
  cursor: not-allowed;
  opacity: 0.4;
}
.tnb-btn:disabled::before {
  content: unset;
}

/* Text-slide wrapper â€” kept for components that use textWrapper markup */
.tnb-btn .textWrapper {
  position: relative;
  overflow: hidden;
  height: 1.5rem;
  line-height: 1.5rem;
}
.tnb-btn .primaryText {
  display: block;
  transition: transform 1.125s cubic-bezier(0.19, 1, 0.22, 1);
}
.tnb-btn .secondaryText {
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  transition: all 1.125s cubic-bezier(0.19, 1, 0.22, 1);
}
.tnb-btn:hover:not(:disabled) .primaryText {
  transform: translateY(-100%);
}
.tnb-btn:hover:not(:disabled) .secondaryText {
  top: 0;
}

/* black-red: BLACK bg, RED sweeps leftâ†’right on hover */
.tnb-btn.black-red {
  background: #000;
  color: #fff;
}
.tnb-btn.black-red::before {
  background: #ec1c24;
}
.tnb-btn.black-red:hover:not(:disabled) {
  color: #fff;
}

/* slideHOv: RED bg, BLACK sweeps leftâ†’right on hover */
.tnb-btn.slideHOv {
  background: #ec1c24;
  color: #fff;
}
.tnb-btn.slideHOv::before {
  background: #000;
}
.tnb-btn.slideHOv:hover:not(:disabled) {
  color: #fff;
}

/* Utility modifiers */
.tnb-btn.btnTransparent {
  background: transparent;
  border: 1px solid #fff;
  color: #fff;
}
.tnb-btn.btnTransparent::before {
  content: unset;
}
.tnb-btn.btnWhite {
  background: #fff;
  color: #000;
}
.tnb-btn.btnWhite::before {
  content: unset;
}
@media (max-width: 767px) {
  .tnb-btn {
    font-size: 14px;
  }
}
@media (max-width: 400px) {
  .tnb-btn.black-red,
  .tnb-btn.slideHOv {
    width: 100%;
  }
}

/* --------------------------------------------------------------------------
   Revamp pages (ios-app-development, mobile-app-development):
   body gets 'tnb-revamp-page' class via functions.php body_class filter.
   Revamp button = rounded corners, no ::before sweep, simple lift + text-slide on hover.
   Enterprise page is NOT in this list â†’ keeps old ::before sweep effect.
   -------------------------------------------------------------------------- */
.tnb-revamp-page .tnb-btn {
  border-radius: 2rem;
  border: 1px solid #b3141a;
  font-weight: 500;
}
.tnb-revamp-page .tnb-btn::before,
.tnb-revamp-page .tnb-btn.slideHOv::before,
.tnb-revamp-page .tnb-btn.black-red::before {
  content: unset !important;
}
.tnb-revamp-page .tnb-btn:hover:not(:disabled) {
  color: #fff;
  transform: translateY(-1px);
}
.tnb-revamp-page .tnb-btn.slideHOv:hover:not(:disabled),
.tnb-revamp-page .tnb-btn.black-red:hover:not(:disabled) {
  color: #fff;
  transform: translateY(-1px);
}
.tnb-revamp-page .tnb-btn.btnTransparent {
  border: 1px solid #fff;
}
.tnb-revamp-page .tnb-btn.btnTransparent:hover:not(:disabled) {
  color: #fff;
  transform: translateY(-1px);
}
.tnb-revamp-page .tnb-btn.btnWhite {
  color: #000;
  border: 1px solid #fff;
}
.tnb-revamp-page .tnb-btn.btnWhite:hover:not(:disabled) {
  color: #000;
  transform: translateY(-1px);
}

/* --------------------------------------------------------------------------
   Banner
   -------------------------------------------------------------------------- */
.banner {
  padding: 100px 0;
  background-size: cover;
  background-repeat: no-repeat;
  position: relative;
  height: calc(100vh - 75px);
}
.banner .backgroundImageWrapper {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: -1;
  will-change: transform;
  transform: translateZ(0);
  opacity: 1;
}
.banner .mainWrapper {
  height: 100%;
  display: flex;
}
.banner .mainWrapper > .container {
  height: 100%;
  display: flex;
  align-items: center;
}
.banner .main {
  width: 50%;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.banner .main h1 {
  font-size: 54px;
  line-height: 60px;
  color: #fff;
  font-weight: 600;
  margin-bottom: 20px;
}
.banner .main > p {
  font-size: 16px;
  color: #fff;
  line-height: 27px;
  margin-bottom: 20px;
  width: 80%;
}
.banner .btnWrapper {
  display: flex;
  gap: 20px;
  margin-top: 20px;
}
.banner .btnWrapper .tnb-btn {
  font-size: 16px;
  font-weight: 600;
}
@media (max-width: 1600px) {
  .banner {
    height: 800px;
  }
  .banner .main h1 {
    font-size: 48px;
  }
}
@media (max-width: 1440px) {
  .banner {
    height: 700px;
  }
  .banner .main h1 {
    font-size: 40px;
    line-height: 1.2;
  }
}
@media (max-width: 1200px) {
  .banner {
    height: 650px;
  }
  .banner .main h1 {
    font-size: 34px;
  }
  .banner .btnWrapper {
    margin-top: 10px;
  }
  .banner .btnWrapper .tnb-btn {
    font-size: 15px;
  }
}
@media (max-width: 991px) {
  .banner {
    background-color: #000;
  }
  .banner .backgroundImageWrapper {
    display: none;
  }
  .banner .main {
    width: 100%;
    text-align: center;
  }
  .banner .main h1 {
    font-size: 30px;
  }
  .banner .main > p {
    width: 100%;
  }
  .banner .btnWrapper {
    margin-top: 10px;
    justify-content: center;
  }
  .banner .btnWrapper .tnb-btn {
    font-size: 14px;
  }
}
@media (max-width: 767px) {
  .banner .main h1 {
    font-size: 28px;
  }
  .banner .main > p {
    font-size: 14px;
    line-height: 1.6;
  }
  .banner .btnWrapper {
    flex-wrap: wrap;
    justify-content: center;
  }
}
@media (max-width: 420px) {
  .banner {
    height: 100vh;
  }
}

/* --------------------------------------------------------------------------
   Trusted By
   -------------------------------------------------------------------------- */
.trustedBy {
  padding: 80px 0;
}
.trustedBy .main {
  text-align: center;
  margin-bottom: 40px;
}
.trustedBy .main h2 {
  font-size: 40px;
  font-weight: 600;
  color: #000;
  margin-bottom: 15px;
}
.trustedBy .main p {
  font-size: 18px;
  color: #494949;
  font-weight: 500;
  line-height: 27px;
}
.trustedBy .listing {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  margin-top: 50px;
  justify-items: center;
  align-items: center;
}
.trustedBy .single {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 90px;
  border: 1px solid #e4e4e4;
  width: 100%;
  text-align: center;
}
.trustedBy .single img {
  max-width: 100%;
  height: auto;
}
@media (max-width: 1440px) {
  .trustedBy .single img {
    width: 100%;
    object-fit: contain;
    padding: 0 10px;
  }
}
@media (max-width: 991px) {
  .trustedBy .listing {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (max-width: 600px) {
  .trustedBy .listing {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* --------------------------------------------------------------------------
   Choose Results
   -------------------------------------------------------------------------- */
.choose-results {
  background: #f6f7f8;
  padding: 80px 0 150px;
  position: relative;
}
.choose-results::after {
  content: "";
  position: absolute;
  bottom: -55px;
  left: 0;
  width: 100%;
  height: 100px;
  background: #fff;
}
.choose-results .content {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 50px;
  position: relative;
}
.choose-results .content::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 1px;
  height: 100%;
  background: #bdbdbd;
}
.choose-results .leftSide {
  width: 40%;
}
.choose-results .leftSide h2 {
  font-size: 44px;
  font-weight: 600;
  color: #000;
  margin-top: 0;
  margin-bottom: 0.5rem;
  line-height: 1.2;
}
.choose-results .leftSide p {
  font-size: 18px;
  font-weight: 500;
  color: #000;
  line-height: 1.6;
  width: 90%;
  margin-top: 0;
  margin-bottom: 0.5rem;
}
.choose-results .leftSide p a {
  text-decoration:underline !important;
	color: #000;
}
.choose-results .awardGrid {
  display: flex;
  align-items: center;
  gap: 50px;
  margin-top: 20px;
}
.choose-results .awardGrid .imageWrapper {
  display: flex;
  align-items: center;
}
.choose-results .awardGrid img {
  max-height: 90px;
  width: auto;
}
.choose-results .rightSide {
  width: 40%;
}
.choose-results .rightSide span {
  font-size: 18px;
  font-weight: 500;
  line-height: 1.8;
  color: #000;
  margin-bottom: 0.5rem;
}
.choose-results .rightSide ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  gap: 50px;
}
.choose-results .rightSide ul li {
  width: 30%;
  display: flex;
  flex-direction: column;
}
.choose-results .rightSide ul li span {
  font-size: 50px;
  font-weight: 600;
  color: #ec1c24;
  line-height: 1.3;
  margin-top: 0;
  margin-bottom: 5px;
}
.choose-results .rightSide ul li p {
  font-size: 14px;
  font-weight: 500;
  color: #444;
  margin-top: 0;
  margin-bottom: 1rem;
  line-height: 1.2;
}
@media (max-width: 991px) {
	.choose-results .rightSide ul li span {
  font-size: 30px;
}
	.choose-results .rightSide span{
		font-size: 14px;
	}
}
@media (max-width: 767px) {
  .choose-results::after {
    content: none;
  }
  .choose-results .content {
    flex-direction: column;
    gap: 40px;
  }
  .choose-results .content::before {
    content: none;
  }
  .choose-results .leftSide,
  .choose-results .rightSide {
    width: 100%;
  }
  .choose-results .rightSide ul {
    flex-wrap: wrap;
    gap: 20px;
  }
  .choose-results .rightSide ul li {
    width: auto;
  }
	.choose-results .leftSide p{
		width:100%;
	}
}

/* choose-results modifier: appDev (android-app-development page) */
.choose-results.appDev {
  padding: 80px 0;
}
.choose-results.appDev::before {
  content: "";
  background-image: url("../images/revamp/common/tnb-icon.webp");
  width: 500px;
  height: 100%;
  position: absolute;
  background-size: contain;
  background-repeat: no-repeat;
  top: 0;
  background-position: center;
  right: 0;
  opacity: 0.05;
}
.choose-results.appDev::after {
  content: unset;
}

/* --------------------------------------------------------------------------
   Teams Choose
   Note: li::before background-image injected via wp_add_inline_style().
   -------------------------------------------------------------------------- */
.teamChoose {
  padding: 80px 0;
}
.teamChoose .topCont {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  padding-bottom: 50px;
  align-items: center;
}
.teamChoose .topCont .leftSide h2 {
  font-size: 44px;
  font-weight: 600;
  color: #000;
  line-height: 1.2;
}
.teamChoose .topCont .rightSide p {
  font-size: 18px;
  color: #666666;
  font-weight: 500;
  line-height: 1.6;
}
.teamChoose .BottomCont {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: start;
}
.teamChoose .BottomCont .leftSide {
  position: relative;
  height: 100%;
  border-radius: 15px;
  overflow: hidden;
}
.teamChoose .BottomCont .leftSide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 15px;
}
.teamChoose .BottomCont .rightSide {
  padding-left: 40px;
}
.teamChoose .BottomCont .rightSide ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
}
.teamChoose .BottomCont .rightSide ul li {
  position: relative;
  border-bottom: 1px solid #e3e3e3;
  margin-bottom: 20px;
  padding-bottom: 10px;
}
.teamChoose .BottomCont .rightSide ul li::before {
  content: "";
  position: absolute;
  left: -35px;
  top: 0;
  width: 19px;
  height: 19px;
  background-repeat: no-repeat;
  background-size: contain;
}
.teamChoose .BottomCont .rightSide ul li:last-child {
  border-bottom: none;
  margin-bottom: 0;
}
.teamChoose .BottomCont .rightSide .btnWrapper {
  margin-top: 30px;
}
.teamChoose .BottomCont .rightSide ul li h4 {
  font-size: 20px;
  font-weight: 600;
  color: #000;
  line-height: 1;
  margin-bottom: 6px;
}
.teamChoose .BottomCont .rightSide ul li p {
  font-size: 18px;
  font-weight: 400;
  color: #666666;
  line-height: 1.6;
  margin: 0;
}
.teamChoose .BottomCont .rightSide ul li p a{
	color: #666666;
	text-decoration:underline !important;
}
@media (max-width: 991px) {
  .teamChoose .topCont {
    grid-template-columns: 1fr;
    gap: 15px;
  }
  .teamChoose .BottomCont {
    grid-template-columns: 1fr;
  }
  .teamChoose .BottomCont .leftSide {
    display: none;
  }
  .teamChoose .BottomCont .rightSide {
    padding-left: 40px;
  }
}

/* --------------------------------------------------------------------------
   Augmentation Services
   -------------------------------------------------------------------------- */
.augmentationServices {
  padding: 140px 0 80px;
  background: #f6f7f8;
  position: relative;
}
.augmentationServices::after {
  content: "";
  position: absolute;
  top: -50px;
  left: 0;
  width: 100%;
  height: 120px;
  background: #fff;
  border-bottom-right-radius: 100%;
  border-bottom-left-radius: 100%;
}
.augmentationServices .main {
  text-align: center;
  margin-bottom: 50px;
}
.augmentationServices .main h2 {
  font-size: 44px;
  font-weight: 600;
  color: #000;
  margin-bottom: 16px;
  line-height: 50px;
}
.augmentationServices .main p {
  font-size: 18px;
  color: #494949;
  width: 70%;
  margin: 0 auto;
  line-height: 27px;
}
.augmentationServices .listing {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  margin-top: 50px;
}
.augmentationServices .listing.three-col {
  grid-template-columns: repeat(3, 1fr);
}
.augmentationServices .single {
  background: #fff;
  border-radius: 10px;
  padding: 20px;
  border: 1px solid #00000036;
}
.augmentationServices .single:hover {
  border-color: #ec1c24;
}
.augmentationServices .single .icon {
  margin-bottom: 20px;
}
.augmentationServices .single h3 {
  font-size: 22px;
  font-weight: 600;
  color: #000;
  margin-bottom: 10px;
}
.augmentationServices .single p {
  font-size: 16px;
  color: #666666;
  font-weight: 500;
  line-height: 25px;
  margin-bottom: 16px;
}

.augmentationServices .single p a {
  text-decoration:underline !important;
	color: #666666;
}
.augmentationServices .single .arrowIcon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  background: #ec1c24;
  border-radius: 40px;
  color: #fff;
  text-decoration: none;
  font-size: 20px;
}
.augmentationServices .single a svg {
  width: 18px;
  height: 18px;
}
.augmentationServices .btnWrapper {
  text-align: center;
  margin-top: 30px;
}
@media (max-width: 991px) {
  .augmentationServices .listing {
    grid-template-columns: repeat(2, 1fr);
  }
  .augmentationServices .listing.three-col {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 600px) {
  .augmentationServices .listing {
    grid-template-columns: 1fr;
  }
  .augmentationServices .listing.three-col {
    grid-template-columns: 1fr;
  }
}

/* --------------------------------------------------------------------------
   Enterprise Level
   -------------------------------------------------------------------------- */
.enterpriseLevelSec {
  padding: 50px 0;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
.enterpriseLevelSec .content {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 50px;
  align-items: start;
}
.enterpriseLevelSec .leftSide {
  width: 70%;
}
.enterpriseLevelSec .leftSide h2 {
  font-size: 44px;
  font-weight: 600;
  margin-bottom: 20px;
  line-height: 1.2;
}
.enterpriseLevelSec .leftSide p {
  font-size: 18px;
  line-height: 1.6;
  margin-bottom: 30px;
}
.enterpriseLevelSec .rightSide ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
}
.enterpriseLevelSec .rightSide ul li {
  border-bottom: 1px solid #cfcfcf;
  margin-bottom: 20px;
  padding-bottom: 20px;
}
.enterpriseLevelSec .rightSide ul li h4, .enterpriseLevelSec .rightSide ul li span {
  font-size: 20px;
  font-weight: 500;
  line-height: 1.5;
  margin-bottom: 6px;
  display:block;
}
.enterpriseLevelSec .rightSide ul li p {
  font-size: 18px;
  line-height: 1.6;
  margin: 0;
}
@media (max-width: 991px) {
  .enterpriseLevelSec .content {
    grid-template-columns: 1fr;
    gap: 30px;
  }
  .enterpriseLevelSec .leftSide {
    width: 100%;
  }
}

/* --------------------------------------------------------------------------
   Delivery Control
   -------------------------------------------------------------------------- */
.deliveryControl {
  padding: 80px 0;
}
.deliveryControl .main {
  text-align: center;
  margin-bottom: 50px;
}
.deliveryControl .main h2 {
  font-size: 44px;
  font-weight: 600;
  color: #000;
  margin-bottom: 16px;
  line-height: 50px;
}
.deliveryControl .main p {
  font-size: 18px;
  color: #494949;
  width: 70%;
  margin: 0 auto;
  line-height: 27px;
}
.deliveryControl .listing {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px 80px;
  margin-top: 120px;
}
.deliveryControl .single {
  display: flex;
  align-items: flex-start;
  gap: 20px;
  padding: 20px 0;
  margin-top: -50px;
}
.deliveryControl .single:nth-child(even) {
  margin-top: 50px;
}
.deliveryControl .single img {
  flex-shrink: 0;
}
.deliveryControl .single .info h3 {
  font-size: 32px;
  font-weight: 600;
  color: #000;
  line-height: 30px;
  margin-top: 10px;
  margin-bottom: 20px;
}
.deliveryControl .single .info p {
  font-size: 18px;
  color: #555;
  line-height: 27px;
  margin: 0;
}
.deliveryControl .btnWrapper {
  text-align: center;
  margin-top: 30px;
}
@media (max-width: 991px) {
  .deliveryControl .listing {
    grid-template-columns: 1fr;
    gap: 20px;
    margin-top: 50px;
  }
  .deliveryControl .single {
    margin-top: 0;
  }
  .deliveryControl .single:nth-child(even) {
    margin-top: 0;
  }
}
@media (max-width: 767px) {
  .deliveryControl .listing {
    grid-template-columns: 1fr;
  }
  .deliveryControl .single {
    flex-direction: column;
  }
}

/* --------------------------------------------------------------------------
   Case Studies Tabs Two
   -------------------------------------------------------------------------- */
.CaseStudiesTabsTwo {
  background: #000;
  padding: 80px 0;
}
.CaseStudiesTabsTwo .headContent {
  width: 80%;
  margin: 0 auto;
  text-align: center;
  margin-bottom: 50px;
}
.CaseStudiesTabsTwo .headContent h2 {
  font-size: 44px;
  font-weight: 600;
  color: #fff;
  margin-bottom: 16px;
  line-height: 1.2;
}
.CaseStudiesTabsTwo .headContent p {
  font-size: 18px;
  color: #bdbdbd;
  margin: 0 auto;
  line-height: 1.6;
}
.CaseStudiesTabsTwo .caseStudyContent {
  margin-top: 50px;
}
.CaseStudiesTabsTwo .tabs ul {
  display: flex;
  justify-content: space-around;
  list-style: none;
  padding: 0;
  margin: 0;
}
.CaseStudiesTabsTwo .tabs ul li {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  padding-bottom: 16px;
  cursor: pointer;
  position: relative;
}
.CaseStudiesTabsTwo .tabs ul li img {
  filter: grayscale(1);
  transition: filter 0.25s;
}
.CaseStudiesTabsTwo .tabs ul li h4 {
  font-size: 16px;
  font-weight: 600;
  color: #fff;
  text-align: center;
}
.CaseStudiesTabsTwo .tabs ul li h4::before {
  content: "";
  display: block;
  width: 0;
  height: 3px;
  background: #ec1c24;
  transition:
    width 0.25s,
    opacity 0.25s;
  position: absolute;
  bottom: -5px;
  left: 0;
  opacity: 0;
}
.CaseStudiesTabsTwo .tabs ul li.active img {
  filter: grayscale(0);
}
.CaseStudiesTabsTwo .tabs ul li.active h4::before {
  width: 100%;
  opacity: 1;
}
.CaseStudiesTabsTwo .tabContent {
  margin-top: 50px;
}
.CaseStudiesTabsTwo .tabContent .grid {
  display: none;
  grid-template-columns: 1fr 1fr;
  gap: 50px;
  align-items: start;
}
.CaseStudiesTabsTwo .tabContent .grid.active {
  display: grid;
}
.CaseStudiesTabsTwo .tabContent .leftSide img {
  width: 100%;
  height: 390px;
  object-fit: cover;
  border-radius: 12px;
}
.CaseStudiesTabsTwo .tabContent .titleWrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 15px;
}
.CaseStudiesTabsTwo .tabContent .titleWrap h3 {
  font-size: 32px;
  font-weight: 600;
  color: #fff;
  margin: 0;
  margin-bottom: 15px;
}
.CaseStudiesTabsTwo .tabContent .titleWrap a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 50px;
  height: 50px;
  background: #ec1c24;
  border: 3px solid #ec1c24;
  border-radius: 50%;
  color: #fff;
  text-decoration: none;
	transition: all .5s ease-in-out;
  flex-shrink: 0;
}
.CaseStudiesTabsTwo .tabContent .titleWrap a svg {
  width: 18px;
  height: 18px;
}
.CaseStudiesTabsTwo .tabContent .titleWrap a:hover{
	background-color: #0000;
    border-color: #fff;
}
.CaseStudiesTabsTwo .tabContent .titleWrap a:hover svg{
    color: #fff;
}
.CaseStudiesTabsTwo .tabContent .flexInfo {
  display: flex;
  gap: 30px;
  margin-bottom: 20px;
  flex-wrap: wrap;
}
.CaseStudiesTabsTwo .tabContent .flexInfo .item h4 {
  font-size: 18px;
  font-weight: 500;
  color: #ec1c24;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 4px;
}
.CaseStudiesTabsTwo .tabContent .flexInfo .item p {
  font-size: 15px;
  color: #bdbdbd;
  margin: 0;
}
.CaseStudiesTabsTwo .tabContent .rightSide > p {
  font-size: 18px;
  color: #bdbdbd;
  line-height: 1.6;
  margin-top: 20px;
  margin-bottom: 30px;
}
.CaseStudiesTabsTwo .tabContent .infoWrapper {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
}
.CaseStudiesTabsTwo .tabContent .single h5 {
  font-size: 54px;
  font-weight: 600;
  color: #ec1c24;
  line-height: 1;
  margin-bottom: 8px;
}
.CaseStudiesTabsTwo .tabContent .single p {
  font-size: 14px;
  color: rgba(255, 255, 255, 0.75);
  margin: 0;
  line-height: 1.4;
}
.CaseStudiesTabsTwo .btnWrapper {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 50px;
}
@media (max-width: 991px) {
  .CaseStudiesTabsTwo .tabContent .grid {
    grid-template-columns: 1fr;
  }
  .CaseStudiesTabsTwo .tabContent .leftSide {
    display: none;
  }
  .CaseStudiesTabsTwo .tabs ul {
    flex-wrap: wrap;
    gap: 10px;
  }
  .CaseStudiesTabsTwo .tabContent .infoWrapper {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 767px) {
  .CaseStudiesTabsTwo .tabs ul li h4 {
    display: none;
  }
  .CaseStudiesTabsTwo .tabContent .single h5 {
    font-size: 36px;
  }
}

/* --------------------------------------------------------------------------
   Teams Work
   -------------------------------------------------------------------------- */
.teamsWork {
  padding: 80px 0;
}
.teamsWork .mainGrid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: center;
}
.teamsWork .left h2 {
  font-size: 44px;
  font-weight: 600;
  color: #000;
  margin-bottom: 16px;
  line-height: 1.2;
}
.teamsWork .left > p {
  font-size: 18px;
  color: #494949;
  line-height: 27px;
  margin-bottom: 30px;
}
.teamsWork .left .grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  margin-bottom: 30px;
}
.teamsWork .left .single {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 20px 0;
  border-bottom: 1px solid #00000036;
}
.teamsWork .left .single:nth-child(odd) {
  padding-right: 10px;
}
.teamsWork .left .grid .single:last-child {
  border-bottom: 0;
}
.teamsWork .left .single svg {
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  color: #e80101;
  margin-top: 4px;
}
.teamsWork .left .single .info h3 a {
  font-size: 20px;
  font-weight: 600;
  color: #000;
  margin-bottom: 4px;
}
.teamsWork .left .single .info h3 {
  font-size: 20px;
  font-weight: 600;
  color: #000;
  margin-bottom: 4px;
}
.teamsWork .left .single .info p {
  font-size: 18px;
  color: #494949;
  line-height: 30px;
  margin: 0;
}
.teamsWork .left .btnWrapper {
  margin-top: 20px;
}
.teamsWork .right img {
  width: 100%;
  height: auto;
  border-radius: 20px;
}
@media (max-width: 991px) {
  .teamsWork .mainGrid {
    grid-template-columns: 1fr;
  }
  .teamsWork .left {
    text-align: center;
  }
  .teamsWork .left .grid {
    display: flex;
    flex-wrap: wrap;
    gap: 0 20px;
  }
  .teamsWork .right {
    display: none;
  }
}
@media (max-width: 600px) {
  .teamsWork .left .grid {
    flex-direction: column;
  }
}

/* --------------------------------------------------------------------------
   Built For Startup
   -------------------------------------------------------------------------- */
.builtForStartup {
  margin: 40px 0;
}
.builtForStartup .mainGrid {
  display: grid;
  grid-template-columns: 26% 74%;
  align-items: stretch;
}
.builtForStartup .left img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.builtForStartup .right {
  padding: 70px;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.builtForStartup .right h2 {
  font-size: 44px;
  font-weight: 600;
  color: #fff;
  margin-bottom: 20px;
  line-height: 1.2;
}
.builtForStartup .right > p {
  font-size: 18px;
  color: #fff;
  line-height: 27px;
  margin-bottom: 30px;
}
.builtForStartup .extraContent ul {
  list-style: none;
  padding-left: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 30px;
  margin-top: 40px;
}
.builtForStartup .extraContent ul li {
  display: flex;
  align-items: center;
  font-size: 20px;
  font-weight: 600;
  color: #fff;
  line-height: 1.4;
}
.builtForStartup .extraContent ul li svg {
  flex-shrink: 0;
  width: 22px;
  height: 22px;
  margin-right: 10px;
  /* color: #f00; */
}
.builtForStartup .btnWrapper {
  margin-top: 40px;
}
@media (max-width: 1600px) {
  .builtForStartup .mainGrid {
    grid-template-columns: 30% 70%;
  }
}
@media (max-width: 1200px) {
  .builtForStartup .mainGrid {
    grid-template-columns: 40% 60%;
  }
  .builtForStartup .right {
    padding: 50px;
  }
  .builtForStartup .right h2 {
    font-size: 35px;
  }
  .builtForStartup .right > p {
    font-size: 16px;
  }
  .builtForStartup .extraContent ul li {
    font-size: 16px;
  }
}
@media (max-width: 991px) {
  .builtForStartup .mainGrid {
    grid-template-columns: 1fr;
  }
  .builtForStartup .left {
    display: none;
  }
  .builtForStartup .right {
    padding: 50px;
  }
}
@media (max-width: 767px) {
  .builtForStartup .right {
    text-align: center;
  }
}

/* --------------------------------------------------------------------------
   Industry Grid
   -------------------------------------------------------------------------- */
.IndustryGrid {
  padding: 60px 0;
}
.IndustryGrid .main {
  text-align: center;
  margin-bottom: 40px;
}
.IndustryGrid .main h2 {
  font-size: 44px;
  font-weight: 600;
  color: #000;
  margin-bottom: 16px;
  line-height: 1.2;
}
.IndustryGrid .main p {
  font-size: 18px;
  color: #494949;
  width: 70%;
  margin: 0 auto;
  line-height: 1.6;
}
.IndustryGrid .gridList {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  margin-top: 50px;
}
.IndustryGrid .sliderInfo {
  height: 310px;
  background-size: cover;
  background-position: center;
  border-radius: 15px;
  overflow: hidden;
  position: relative;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 20px;
}
.IndustryGrid .sliderInfo::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to top,
    rgba(0, 0, 0, 0.6) 0%,
    rgba(0, 0, 0, 0) 100%
  );
}
.IndustryGrid .sliderInfo h3 {
  font-size: 24px;
  font-weight: 600;
  color: #fff;
  margin: 0;
  position: relative;
  z-index: 1;
}
.IndustryGrid .innerCont {
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  transition:
    max-height 0.5s ease,
    opacity 0.5s ease;
  position: relative;
  z-index: 1;
}
.IndustryGrid .sliderInfo:hover h3 {
  transform: none;
}
.IndustryGrid .sliderInfo:hover .innerCont {
  max-height: 200px;
  opacity: 1;
}
.IndustryGrid .innerCont p {
  font-size: 14px;
  color: rgba(255, 255, 255, 0.85);
  margin-bottom: 10px;
  line-height: 1.5;
  margin-top: 10px;
}
.IndustryGrid .innerCont a {
  display: inline-flex;
  align-items: center;
  color: #fff;
  font-size: 14px;
  font-weight: 500;
  text-decoration: none;
}
.IndustryGrid .innerCont a svg {
  width: 30px;
  height: 30px;
  margin-left: 10px;
}
@media (max-width: 1200px) {
  .IndustryGrid .gridList {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
  }
  .IndustryGrid .sliderInfo {
    width: 31%;
  }
}
@media (max-width: 991px) {
  .IndustryGrid .sliderInfo {
    width: 48%;
  }
  .IndustryGrid .innerCont {
    max-height: 100%;
    opacity: 1;
  }
}
@media (max-width: 600px) {
  .IndustryGrid .sliderInfo {
    width: 100%;
  }
}

/* --------------------------------------------------------------------------
   Predictable Process
   -------------------------------------------------------------------------- */
.predictableProcess {
  padding: 80px 0;
  overflow: hidden;
}
.predictableProcess .mainGrid {
  display: grid;
  grid-template-columns: 26% 74%;
  align-items: stretch;
}
.predictableProcess .left {
  border-right: 1px solid #fff;
}
.predictableProcess .left img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.predictableProcess .right {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.predictableProcess .right .info {
  padding: 50px;
  width: 70%;
}
.predictableProcess .right .info h2 {
  font-size: 44px;
  font-weight: 600;
  color: #fff;
  margin-bottom: 20px;
  line-height: 1.2;
}
.predictableProcess .right .info p {
  font-size: 18px;
  color: #fff;
  line-height: 27px;
  margin-bottom: 24px;
}
.predictableProcess .right .info p a {
  text-decoration:underline !important;
  color: #fff;
}
.predictableProcess .right .grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
}
.predictableProcess .right .single {
  padding: 30px 50px;
  border: 1px solid #fff;
  height: 120px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  transition: 0.5s;
}
.predictableProcess .right .single h3 {
  font-size: 20px;
  font-weight: 600;
  color: #fff;
  margin-bottom: 0;
}
.predictableProcess .right .single p {
  font-size: 14px;
  color: #fff;
  margin: 0px;
  max-height: 0;
  opacity: 0;
  transition:
    max-height 0.5s ease,
    opacity 0.5s ease;
  line-height: 1.5;
}
.predictableProcess .right .single:hover p {
  max-height: 150px;
  opacity: 1;
}
@media (max-width: 1600px) {
  .predictableProcess .mainGrid {
    grid-template-columns: 30% 70%;
  }
}
@media (max-width: 1440px) {
  .predictableProcess .right .single {
    height: 140px;
  }
}
@media (max-width: 1200px) {
  .predictableProcess .mainGrid {
    grid-template-columns: 35% 65%;
  }
  .predictableProcess .right .single {
    padding: 20px;
    height: 140px;
  }
}
@media (max-width: 991px) {
  .predictableProcess .mainGrid {
    grid-template-columns: 1fr;
  }
  .predictableProcess .left {
    display: none;
  }
  .predictableProcess .right .info {
    width: 100%;
    text-align: center;
    padding: 50px;
  }
  .predictableProcess .right .single p {
    max-height: 150px;
    opacity: 1;
  }
  .predictableProcess .right .single {
    height: auto;
  }
}
@media (max-width: 767px) {
  .predictableProcess .right .grid {
    grid-template-columns: 1fr;
  }
  .predictableProcess .right .info {
    padding: 50px 20px;
  }
}

/* predictableProcess modifier: androidApp (android-app-development page) */
.predictableProcess.androidApp .mainGrid .right .grid .single {
  height: 140px;
}
@media (max-width: 991px) {
  .predictableProcess.androidApp .mainGrid .right .grid .single p {
    max-height: 100%;
  }
}

/* --------------------------------------------------------------------------
   CTA Two
   -------------------------------------------------------------------------- */
.CtaTwo {
  margin: 40px 0;
}
.CtaTwo .mainCta {
  padding: 100px 80px;
  border-radius: 20px;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  align-items: center;
}
.CtaTwo .info h2 {
  font-size: 44px;
  font-weight: 600;
  color: #fff;
  line-height: 50px;
  margin-bottom: 30px;
}
.CtaTwo .info h3 {
  font-size: 24px;
  font-weight: 600;
  color: #fff;
  margin-bottom: 10px;
}
.CtaTwo .info p {
  font-size: 18px;
  color: #fff;
  line-height: 1.7;
  margin-bottom: 0;
}
.CtaTwo .btnWrapper {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-top: 30px;
}
.CtaTwo .linkWrap {
  margin-top: 20px;
}
.CtaTwo .linkWrap a {
  color: #fff;
	text-underline-offset: 6px;
	font-size: 16px;
	font-weight: 600;
	line-height: 24px;
	transition: all .4s ease-in-out;
	text-decoration: underline !important;
}
.CtaTwo .linkWrap a:hover {
  opacity: 0.8;
}
.CtaTwo .imageWrapper img {
  width: 100%;
  height: auto;
  border-radius: 10px;
}
@media (max-width: 991px) {
  .CtaTwo .mainCta {
    grid-template-columns: 1fr;
    padding: 60px 30px;
    text-align: center;
  }
  .CtaTwo .imageWrapper {
    display: none;
  }
  .CtaTwo .info h2 {
    font-size: 32px;
  }
  .CtaTwo .btnWrapper {
    justify-content: center;
  }
}

/* --------------------------------------------------------------------------
   Our Clients Say
   -------------------------------------------------------------------------- */
.ourClientsSay {
  padding: 80px 0;
}
.ourClientsSay .mainGrid {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 40px;
  gap: 20px;
}
.ourClientsSay .mainGrid .left h2 {
  font-size: 44px;
  font-weight: 600;
  color: #000;
  line-height: 1.2;
  margin: 0;
}
.ourClientsSay .mainGrid .right .pagination {
  display: flex;
  align-items: center;
  gap: 12px;
}
.ourClientsSay .mainGrid .right .btn {
  width: 60px;
  height: 60px;
  border-radius: 60px;
  border: 1px solid #a4a4a4;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition:
    color 0.25s,
    border-color 0.25s;
  background: #fff;
}
.ourClientsSay .mainGrid .right .btn:hover {
  color: #ec1c24;
  border-color: #ec1c24;
}
.ourClientsSay .mainGrid .right .btn svg {
  width: 25px;
  height: 25px;
}
.ourClientsSay .sliderSec {
  overflow: hidden;
  margin-top: 50px;
}
.ourClientsSay .clientSlider {
  display: flex;
  gap: 30px;
  transition: transform 0.4s ease;
}
.ourClientsSay .sliderInfo {
  flex: 0 0 calc(50% - 15px);
  background: #fff;
  border: 1px solid #b9b9b9;
  border-radius: 22px;
  padding: 30px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.ourClientsSay .sliderInfo > div > p {
  font-size: 20px;
  font-weight: 500;
  color: #000;
  line-height: 28px;
  margin-bottom: 24px;
  width: 80%;
}
.ourClientsSay .profileFlex {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-top: 20px;
}
.ourClientsSay .profileFlex img {
  border-radius: 50%;
  flex-shrink: 0;
}
.ourClientsSay .profileFlex .info span {
  font-size: 16px;
  font-weight: 600;
  color: #666666;
  margin-bottom: 5px;
}
.ourClientsSay .profileFlex .info p {
  font-size: 14px;
  color: #787878;
  width: 100%;
  margin: 0;
  line-height: 1;
}
.ourClientsSay .bottomInfo {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 30px;
  padding-top: 20px;
  border-top: 1px solid #ebebeb;
  flex-wrap: wrap;
  gap: 10px;
}
.ourClientsSay .bottomInfo a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 14px;
  font-weight: 600;
  color: #000;
  text-decoration: underline !important;
  text-underline-position: under;
  padding-block: 2px; /* Tap target 24 px (WCAG 2.2 AA, fix plan #73/#130/#132): negative margin keeps the layout */
  margin-block: -2px;
}
.ourClientsSay .bottomInfo a:hover {
  color: #f00;
}
.ourClientsSay .bottomInfo a svg {
  width: 16px;
  height: 16px;
}
@media (max-width: 991px) {
  .ourClientsSay .sliderInfo {
    flex: 0 0 calc(100% - 0px);
  }
  .ourClientsSay .sliderInfo > div > p {
    max-width: 100%;
  }
}

/* --------------------------------------------------------------------------
   Our Blog
   -------------------------------------------------------------------------- */
.ourBlog {
  padding: 60px 0 80px;
}
.ourBlog .main {
  text-align: center;
  margin-bottom: 50px;
}
.ourBlog .main h2 {
  font-size: 44px;
  font-weight: 600;
  color: #000;
  margin-bottom: 20px;
  line-height: 1.2;
}
.ourBlog .main p {
  font-size: 16px;
  color: #444;
  max-width: 700px;
  margin: 0 auto;
  line-height: 1.6;
}
.ourBlog .listing {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
  margin-top: 50px;
  margin-bottom: 40px;
}
.ourBlog .single {
  padding: 25px;
  border: 1px solid #dcdcdc;
  border-radius: 20px;
  transition: box-shadow 0.25s;
}
.ourBlog .single:hover {
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
}
.ourBlog .imageWrapper a {
  display: block;
}
.ourBlog .imageWrapper img {
  width: 100%;
  height: auto;
  max-height: 250px;
  min-height: 250px;
  object-fit: cover;
  display: block;
  border-radius: 20px;
}
.ourBlog .content {
  padding-top: 30px;
}
.ourBlog .content a {
  text-decoration: none;
}
.ourBlog .content h3 {
  font-size: 22px;
  font-weight: 600;
  color: #101828;
  margin-bottom: 10px;
  /* display: flex;
  align-items: flex-start;
  gap: 6px; */
  line-height: 1.3;
}
.ourBlog .content h3 svg {
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  margin-top: 3px;
  transition:
    transform 0.25s,
    opacity 0.25s;
  color: #f00;
  opacity: 0;
}
.ourBlog .single:hover .content h3 svg {
  transform: translate(3px, -3px);
  opacity: 1;
}
.ourBlog .content > p {
  font-size: 16px;
  font-weight: 500;
  color: #666666;
  line-height: 24px;
  margin-bottom: 20px;
}
.ourBlog .profileInfo {
  display: flex;
  align-items: center;
  gap: 12px;
}
.ourBlog .profileInfo img {
  border-radius: 50%;
  flex-shrink: 0;
}
.ourBlog .profileInfo .info h4 {
  font-size: 14px;
  font-weight: 500;
  color: #101828;
  margin-bottom: 2px;
}
.ourBlog .profileInfo .info p {
  font-size: 10px;
  font-weight: 600;
  color: #667085;
  margin: 0;
}
.ourBlog .btnWrapper {
  text-align: center;
  margin-top: 40px;
}
@media (max-width: 991px) {
  .ourBlog .listing {
    grid-template-columns: 1fr;
  }
}

/* --------------------------------------------------------------------------
   Main FAQs
   -------------------------------------------------------------------------- */
.mainFaqs {
  padding: 60px 0;
}
.mainFaqs .content {
  padding-bottom: 60px;
  text-align: center;
}
.mainFaqs .content h5 {
  font-size: 16px;
  font-weight: 600;
  color: #ec1c24;
  text-transform: uppercase;
}
.mainFaqs .content h3 {
  font-size: 28px;
  font-weight: bold;
  color: #000;
}
.mainFaqs .faqAccordian {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
  --bs-accordion-bg: transparent;
}
.mainFaqs .faqAccordian .accordion-item {
  border: none;
  border-top: 1px solid #b9b9b9;
  background: transparent;
}
.mainFaqs .faqAccordian .accordion-item:last-child {
  border-bottom: 1px solid #b9b9b9;
}
.mainFaqs .faqAccordian .accordion-button {
  color: #000;
  display: flex;
  align-items: center;
  gap: 20px;
  font-size: 16px;
  font-weight: 600;
  font-family: inherit;
  background-color: transparent;
  box-shadow: none;
}
.mainFaqs .faqAccordian .accordion-button small {
  color: #ec1c24;
  font-weight: 800;
  font-size: 26px;
  font-family: inherit;
  flex-shrink: 0;
  line-height: 1;
}
.mainFaqs .faqAccordian .accordion-button::after {
  background-image: url("data:image/svg+xml,%3Csvg stroke='%23ec1c24' fill='%23ec1c24' stroke-width='0' viewBox='0 0 448 512' height='1em' width='1em' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M201.4 342.6c12.5 12.5 32.8 12.5 45.3 0l160-160c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L224 274.7 86.6 137.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l160 160z'%3E%3C/path%3E%3C%2Fsvg%3E") !important;
  flex-shrink: 0;
}
.mainFaqs .faqAccordian .accordion-button:focus {
  box-shadow: none;
}
.mainFaqs .faqAccordian .accordion-button:not(.collapsed) {
  background-color: #ec1c24;
  color: #fff;
  box-shadow: none;
}
.mainFaqs .faqAccordian .accordion-button:not(.collapsed) small {
  color: #fff;
}
.mainFaqs .faqAccordian .accordion-button:not(.collapsed)::after {
  filter: brightness(10);
}
.mainFaqs .faqBody {
  font-size: 16px;
  font-weight: 500;
}
.mainFaqs .faqBody ul {
  padding-left: 20px;
}
.mainFaqs .faqBody a {
  color: #ec1c24;
  text-decoration: underline !important;
  text-underline-position: under;
}
@media (max-width: 700px) {
  .mainFaqs {
    padding: 30px 0;
  }
  .mainFaqs .content {
    padding-bottom: 30px;
  }
  .mainFaqs .content h3 {
    font-size: 20px;
  }
}

/* --------------------------------------------------------------------------
   Revamp FAQs
   -------------------------------------------------------------------------- */
.revampFaqs {
  padding: 60px 0;
}
.revampFaqs .rf-content {
  padding-bottom: 30px;
  text-align: center;
}
.revampFaqs .rf-content h2 {
  font-size: 44px;
  font-weight: 600;
  color: #000;
  margin: 0;
}
.revampFaqs .rf-accordian {
  --bs-accordion-bg: transparent;
  --bs-accordion-border-color: transparent;
  --bs-accordion-btn-focus-box-shadow: none;
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
}
.revampFaqs .rf-item {
  border: none;
  border-top: 1px solid #b9b9b9;
  background: transparent;
}
.revampFaqs .rf-item:last-child {
  border-bottom: 1px solid #b9b9b9;
}
.revampFaqs .rf-item.rf-hidden {
  display: none;
}
.revampFaqs .rf-head .accordion-button {
  font-family: inherit;
  font-size: 20px;
  font-weight: 500;
  color: #000;
  background: transparent;
  box-shadow: none;
  padding: 25px 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}
.revampFaqs .rf-head .accordion-button::after {
  display: none;
}
.revampFaqs .rf-head .accordion-button:focus {
  box-shadow: none;
}
.revampFaqs .rf-head .accordion-button:not(.collapsed) {
  color: #000;
  background: transparent;
  box-shadow: none;
}
.revampFaqs .rf-icon {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  color: #000;
}
.revampFaqs .rf-icon svg {
  font-size: 30px;
  width: 30px;
  height: 30px;
}
.revampFaqs .rf-head .accordion-button.collapsed .rf-minus-icon {
  display: none;
}
.revampFaqs .rf-head .accordion-button:not(.collapsed) .rf-plus-icon {
  display: none;
}
.revampFaqs .rf-body {
  font-size: 18px;
  font-weight: 500;
  line-height: 30px;
  color: #666666;
  padding-left: 0;
  padding-top: 0;
  padding-bottom: 20px;
}
.revampFaqs .rf-body ul {
  padding-left: 20px;
}
.revampFaqs .rf-body a {
  color: #ec1c24;
  text-decoration: underline !important;
  text-underline-position: under;
}
.revampFaqs .rf-btn-wrapper {
  margin-top: 40px;
  text-align: center;
}
@media (max-width: 1440px) {
  .revampFaqs .rf-content h2 {
    font-size: 40px;
  }
  .revampFaqs .rf-head .accordion-button {
    font-size: 18px;
  }
  .revampFaqs .rf-body {
    font-size: 16px;
  }
}
@media (max-width: 1200px) {
  .revampFaqs .rf-content h2 {
    font-size: 35px;
  }
}
@media (max-width: 991px) {
  .revampFaqs .rf-content h2 {
    font-size: 30px;
  }
  .revampFaqs .rf-head .accordion-button {
    font-size: 16px;
  }
  .revampFaqs .rf-body {
    font-size: 14px;
    line-height: 1.5;
  }
}
@media (max-width: 700px) {
  .revampFaqs {
    padding: 30px 0;
  }
  .revampFaqs .rf-content {
    padding-bottom: 30px;
  }
  .revampFaqs .rf-content h2 {
    font-size: 28px;
  }
}

/* --------------------------------------------------------------------------
   Tech Stack Tabs
   -------------------------------------------------------------------------- */
.techStackTabs {
  padding: 60px 0;
}
.techStackTabs .tst-main {
  width: 60%;
}
.techStackTabs .tst-main h2 {
  font-size: 44px;
  color: #000;
  font-weight: 600;
  line-height: 50px;
  margin-bottom: 20px;
}
.techStackTabs .tst-main p {
  font-size: 18px;
  color: #494949;
  font-weight: 500;
  line-height: 27px;
}
.techStackTabs .tst-listing {
  margin-top: 50px;
}
.techStackTabs .tst-tabs {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 30px;
}
.techStackTabs .tst-listing .tst-tabs li {
  position: relative;
}
.techStackTabs .tst-listing .tst-tabs li a{
	color:#ec1c24 !important;
}
.techStackTabs .tst-listing .tst-tabs li span {
  font-size: 20px;
  font-weight: 600;
  color: #666666;
  box-shadow: 4px 4px 14px 0px #00000012;
  padding: 20px;
  border-radius: 15px;
  border: 1px solid #fff;
  position: relative;
  display: block;
  width: 40%;
  cursor: pointer;
}
.techStackTabs .tst-listing .tst-tabs li span::after {
  content: "";
  background-color: #ec1c24;
  width: 100px;
  height: 1px;
  position: absolute;
  right: -100px;
  margin: auto;
  top: 0;
  bottom: 0;
  opacity: 0;
}
.techStackTabs .tst-listing .tst-tabs li span.active {
  border-color: #ec1c24;
  color: #000;
}
.techStackTabs .tst-listing .tst-tabs li span.active::after {
  opacity: 1;
}
.techStackTabs .tst-listing .tst-tabs li svg {
  color: #ec1c24;
  margin-right: 10px;
}
.techStackTabs .tst-tabContent {
  display: none;
  box-shadow: 4px 4px 14px 0px #00000012;
  padding: 20px 40px;
  border-radius: 15px;
  border: 1px solid #ec1c24;
  position: absolute;
  left: 46%;
  top: 0;
  background: #fff;
	z-index:1;
}
.techStackTabs .tst-tabContent.active {
  display: block;
}
.techStackTabs .tst-listing .tst-tabs li:last-child .tst-tabContent {
  bottom: 0;
  top: unset;
}
.techStackTabs .tst-tabContent ul {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  padding: 0;
  list-style: none;
}
.techStackTabs .tst-tabContent ul li {
  background-color: #f2f2f2;
  font-size: 18px;
  font-weight: 500;
  padding: 12px 20px;
  border-radius: 10px;
}
.techStackTabs .tst-listing button {
  margin-top: 50px;
}
.techStackTabs .tst-mobileTabs {
  display: none;
  margin-top: 30px;
}
.techStackTabs .tst-mobileTabs .tst-tabs {
  gap: 30px;
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
}
.techStackTabs .tst-mobileTabs .tst-tabs li {
  font-size: 16px;
  font-weight: 600;
  color: #666666;
  box-shadow: 4px 4px 14px 0px #00000012;
  padding: 10px;
  border-radius: 15px;
  border: 1px solid #fff;
  width: fit-content;
  cursor: pointer;
}
.techStackTabs .tst-mobileTabs .tst-tabs li.active {
  border-color: #ec1c24;
  color: #000;
}
.techStackTabs .tst-mobileTabs .tst-tabContent {
  display: none;
  box-shadow: 4px 4px 14px 0px #00000012;
  padding: 20px 40px;
  border-radius: 15px;
  border: 1px solid #ec1c24;
  background: #fff;
  margin-top: 50px;
}
.techStackTabs .tst-mobileTabs .tst-tabContent.active {
    display: block;
    position: relative;
    left: 0;
    right: 0;
    margin: 20px auto;
}
.techStackTabs .tst-mobileTabs .tst-tabContent ul {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  padding: 0;
  list-style: none;
  justify-content: center;
  margin: 0;
}
.techStackTabs .tst-mobileTabs .tst-tabContent ul li {
  background-color: #f2f2f2;
  font-size: 16px;
  font-weight: 500;
  padding: 12px 20px;
  border-radius: 10px;
}
@media (max-width: 1440px) {
  .techStackTabs .tst-main h2 {
    font-size: 40px;
  }
}
@media (max-width: 1200px) {
  .techStackTabs .tst-main {
    width: 70%;
  }
  .techStackTabs .tst-main h2 {
    font-size: 35px;
    line-height: 1.2;
  }
  .techStackTabs .tst-main p {
    font-size: 16px;
    line-height: 1.5;
  }
  .techStackTabs .tst-listing .tst-tabs li span {
    font-size: 18px;
  }
  .techStackTabs .tst-tabContent ul li {
    font-size: 16px;
  }
}
@media (max-width: 991px) {
  .techStackTabs .tst-main {
    width: 100%;
    text-align: center;
  }
  .techStackTabs .tst-main h2 {
    font-size: 30px;
  }
  .techStackTabs .tst-listing {
    display: none;
  }
  .techStackTabs .tst-mobileTabs {
    display: block;
  }
}

/* --------------------------------------------------------------------------
   Full CTA
   -------------------------------------------------------------------------- */
.fullCta {
  padding: 100px 0;
  margin: 60px 0;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
.fullCta .fc-main {
  width: 50%;
}
.fullCta .fc-main h2 {
  font-weight: 700;
  font-size: 44px;
  line-height: 50px;
  color: #fff;
  margin-bottom: 20px;
}
.fullCta .fc-main p {
  font-size: 16px;
  font-weight: 500;
  color: #fff;
  margin-bottom: 30px;
}
@media (max-width: 1440px) {
  .fullCta .fc-main h2 {
    font-size: 40px;
  }
}
@media (max-width: 1200px) {
  .fullCta .fc-main {
    width: 60%;
  }
  .fullCta .fc-main h2 {
    font-size: 35px;
    line-height: 1.2;
  }
}
@media (max-width: 991px) {
  .fullCta {
    padding: 80px 0;
  }
  .fullCta .fc-main {
    width: 100%;
    text-align: center;
  }
  .fullCta .fc-main h2 {
    font-size: 30px;
  }
}
@media (max-width: 767px) {
  .fullCta .fc-main h2 {
    font-size: 28px;
  }
  .fullCta .fc-main p {
    font-size: 14px;
  }
}

/* --------------------------------------------------------------------------
   Hero Banner â€” hero-banner.php (generic two-column: content left, image right)
   -------------------------------------------------------------------------- */
.heroBanner {
  padding: 60px 0;
  display: flex;
  align-items: center;
}
.heroBanner .banner-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  gap: 50px;
}
.heroBanner .banner-content h1 {
  font-size: 45px;
  line-height: 54px;
  font-weight: 700;
  color: #000;
}
.heroBanner .banner-content h4 {
  font-size: 25px;
  font-weight: 700;
  color: #ec1c24;
}
.heroBanner .banner-content p {
  font-size: 16px;
  color: #000;
  font-weight: 400;
  line-height: 28px;
}
.heroBanner .banner-content p a {
  color: #ec1c24;
}
.heroBanner .banner-btns {
  display: flex;
  gap: 20px;
  margin-top: 20px;
}
.heroBanner .banner-rewards {
  margin: 50px 0;
}
.heroBanner .banner-rewards ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  align-items: center;
  gap: 20px;
}
.heroBanner .banner-rewards ul li img {
  max-width: 111px;
  height: auto;
  width: auto;
}
.heroBanner .banner-image img {
  width: 100%;
  height: auto;
}
@media (max-width: 1440px) {
  .heroBanner .banner-content h1 {
    font-size: 38px;
    line-height: 1.3;
  }
}
@media (max-width: 1400px) {
  .heroBanner .banner-content h1 {
    font-size: 32px;
  }
  .heroBanner .banner-rewards ul li img {
    max-width: 85px;
  }
}
@media (max-width: 1200px) {
  .heroBanner .banner-content h1 {
    font-size: 30px;
  }
  .heroBanner .banner-grid {
    gap: 30px;
  }
  .heroBanner .banner-rewards ul li img {
    max-width: 70px;
  }
}
@media (max-width: 991px) {
  .heroBanner .banner-grid {
    grid-template-columns: 1fr;
  }
  .heroBanner .banner-content {
    text-align: center;
  }
  .heroBanner .banner-content h1 {
    font-size: 30px;
    line-height: 1.3;
  }
  .heroBanner .banner-content p {
    font-size: 15px;
    line-height: 1.5;
  }
  .heroBanner .banner-btns {
    justify-content: center;
  }
  .heroBanner .banner-rewards ul {
    justify-content: center;
  }
  .heroBanner .banner-rewards ul li img {
    max-width: 60px;
  }
  .heroBanner .banner-image img {
    width: 70%;
    margin: auto;
    display: block;
  }
}
@media (max-width: 767px) {
  .heroBanner .banner-content h1 {
    font-size: 26px;
  }
  .heroBanner .banner-content p {
    font-size: 14px;
  }
  .heroBanner .banner-btns {
    display: grid;
    justify-content: center;
    gap: 10px;
  }
  .heroBanner .banner-image img {
    width: 70%;
  }
}
@media (max-width: 479px) {
  .heroBanner .banner-rewards ul {
    flex-wrap: wrap;
  }
  .heroBanner .banner-image img {
    width: 100%;
  }
}
@media (max-width: 400px) {
  .heroBanner .banner-content h1 {
    font-size: 24px;
  }
  .heroBanner .banner-btns a,
  .heroBanner .banner-btns button {
    width: 100%;
    text-align: center;
  }
  .heroBanner .banner-rewards ul li img {
    max-width: 80px;
  }
}

/* --------------------------------------------------------------------------
   Dedicated Language Description (dedicated-lang-desc.php)
   -------------------------------------------------------------------------- */
.dedicatedLangDesc {
  padding: 50px 0;
  background-color: #fff;
  background-image: url("../images/home-page/digital-bg.webp");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 40%;
}
.dedicatedLangDesc .content p {
  font-size: 16px;
  line-height: 24px;
  text-align: center;
  color: #3a3a3a;
}
.dedicatedLangDesc .content p span {
  color: #ed2a32;
}

/* Swiper images â€” per SCSS .images { flex space-evenly, img scale .8 â†’ .9 } */
.dedicatedLangDesc .swiper {
  margin-top: 40px;
  padding-bottom: 30px;
}
.dedicatedLangDesc .swiper-slide {
  display: flex;
  align-items: center;
  justify-content: center;
  height: auto;
}
.dedicatedLangDesc .images {
  display: flex;
  justify-content: space-evenly;
  align-items: center;
  width: 100%;
}
.dedicatedLangDesc .images img {
  width: auto;
  height: auto;
  max-width: 100%;
  transition: transform 0.5s;
  transform: scale(0.8);
}
.dedicatedLangDesc .images img:hover {
  transform: scale(0.9);
}
.dedicatedLangDesc .swiper-pagination-bullet-active {
  background: #ec1c24;
}

@media (max-width: 1199px) {
  .dedicatedLangDesc .content p {
    font-size: 20px;
    line-height: 30px;
  }
}
@media (max-width: 767px) {
  .dedicatedLangDesc {
    padding: 30px 0;
  }
  .dedicatedLangDesc .swiper {
    margin-top: 20px;
  }
  .dedicatedLangDesc .content p {
    font-size: 16px;
    line-height: 26px;
  }
}

/* --------------------------------------------------------------------------
   Language Services (language-services.php)
   -------------------------------------------------------------------------- */
.languageServices {
  padding: 100px 0;
  background-image: url("../images/stack/service-banner.png");
  background-size: cover;
  background-position: center;
  overflow: hidden;
}
.languageServices .ls-grid {
  display: grid;
  grid-template-columns: 45% 45%;
  justify-content: space-between;
  gap: 100px;
}
.languageServices .ls-content {
  padding-top: 80px;
}
.languageServices .ls-content h2 {
  font-weight: bold;
  font-size: 32px;
  color: #000;
}
.languageServices .ls-content p {
  font-size: 16px;
  line-height: 24px;
  color: #000;
}
.languageServices .ls-content p a {
  text-decoration:underline !important;
  color: #000;
}
.languageServices .ls-content span {
  font-weight: 500;
  font-size: 14px;
  color: #000;
  margin-top: 15px;
  display:block;
}
.languageServices .ls-content span a {
  color: #ec1c24;
  text-decoration: underline;
  transition: color 0.5s;
}
/* Tap target 24 px (WCAG 2.2 AA, fix plan #73/#130/#132): inline link, vertical padding adds hit area without moving text. */
.languageServices .ls-content span a { padding-block: 3px; }
.languageServices .ls-content span a:hover {
  color: #000;
}
.languageServices .ls-list {
  overflow: auto;
  height: 700px;
  scrollbar-width: none;
}
.languageServices .ls-list::-webkit-scrollbar {
  display: none;
}
.languageServices .ls-list-info {
  display: flex;
  gap: 30px;
  align-items: flex-start;
  margin-bottom: 30px;
}
.languageServices .ls-list-info img {
  width: 60px;
  height: auto;
  flex-shrink: 0;
}
.languageServices .ls-list-info h5 {
  font-weight: bold;
  font-size: 20px;
  color: #ec1c24;
}
.languageServices .ls-list-info p {
  font-size: 16px;
  line-height: 24px;
  color: #000;
}
.languageServices .ls-list-info p a {
	color: #000;
	text-decoration:underline !important;
}
.languageServices .ls-content .tnb-btn {
  padding: 14px 15px;
  font-size: 15px;
  transform: none !important;
}
@media (max-width: 1200px) {
  .languageServices .ls-grid {
    grid-template-columns: 1fr 1fr;
    gap: 60px;
  }
  .languageServices .ls-content h2 {
    font-size: 30px;
  }
}
@media (max-width: 991px) {
  .languageServices .ls-grid {
    grid-template-columns: 1fr 1fr;
    gap: 40px;
  }
  .languageServices .ls-content h2 {
    font-size: 26px;
  }
  .languageServices .ls-list-info h5 {
    font-size: 18px;
  }
}
@media (max-width: 767px) {
  .languageServices {
    padding: 60px 0;
  }
  .languageServices .ls-grid {
    grid-template-columns: 1fr;
    gap: 40px;
  }
  .languageServices .ls-content {
    padding: 0;
    text-align: center;
  }
  .languageServices .ls-content h2 {
    font-size: 26px;
  }
  .languageServices .ls-list {
    height: auto;
    overflow: visible;
  }
  .languageServices .ls-list-info {
    gap: 20px;
  }
  .languageServices .ls-list-info h5 {
    font-size: 16px;
  }
}

/* --------------------------------------------------------------------------
   Proposal CTA (proposal.php)
   -------------------------------------------------------------------------- */
.proposal {
  background-image: url("../images/stack/proposal-bg.png");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 300px;
  text-align: center;
  padding: 60px 0;
  color: #fff;
}
.proposal h2 {
  font-weight: bold;
  font-size: 35px;
  letter-spacing: 0.05em;
  text-align: center;
  margin-bottom: 20px;
  color: #fff;
/*   line-height: 70px; */
}
.proposal h2 span {
  color: #ec1c24;
  background-color: #fff;
  border-radius: 20px;
  padding: 10px;
}
.proposal .proposal-sub {
  font-weight: 600;
  font-size: 25px;
  text-align: center;
  line-height: 1.5;
  color: #fff;
}
.proposal .tnb-btn {
  padding: 14px 30px;
  font-size: 18px;
  transform: none !important;
}
@media (max-width: 1440px) {
  .proposal h2 {
    font-size: 32px;
  }
  .proposal .proposal-sub {
    font-size: 24px;
  }
}
@media (max-width: 1199px) {
  .proposal {
    padding: 50px 0;
  }
  .proposal h2 {
    font-size: 28px;
  }
  .proposal .proposal-sub {
    font-size: 20px;
  }
}
@media (max-width: 767px) {
  .proposal {
    padding: 30px 0;
  }
  .proposal h2 {
    font-size: 24px;
  }
  .proposal .proposal-sub {
    font-size: 18px;
  }
}

/* --------------------------------------------------------------------------
   Development Process (development-process.php / development-process-steps.php)
   Real Swiper 11 â€” slide structure handled by .swiper / .swiper-wrapper / .swiper-slide
   -------------------------------------------------------------------------- */
.developmentProcess {
  padding: 60px 0;
  text-align: center;
}
.developmentProcess .content {
  padding-bottom: 60px;
}
.developmentProcess .content h5 {
  font-size: 14px;
  font-weight: 600;
  color: #ec1c24;
  text-transform: uppercase;
  letter-spacing: 2px;
}
.developmentProcess .content h3 {
  font-size: 28px;
  font-weight: bold;
  color: #000;
}
.developmentProcess .content p {
  font-size: 16px;
  font-weight: 500;
  color: #000;
}
.developmentProcess .dev-slider {
  position: relative;
}
.developmentProcess .dev-slider .swiper-slide {
  height: auto !important;
}
.developmentProcess .testi-slider,
.testi-slider {
  position: unset !important;
}
.developmentProcess .swiper {
  overflow: hidden;
  padding: 10px;
}
.developmentProcess .swiper-slide {
  height: auto;
  display: flex;
}
.cyberSlider .swiper-wrapper {
  justify-content: center;
}
.dev-process .swiper-wrapper {
  align-items: center;
}
.testi-slider .swiper-pagination {
  display: none;
  bottom: -40px !important;
}
.dev-process .swiper-pagination {
  margin-top: 10px;
  position: relative !important;
  bottom: 0 !important;
}
.developmentProcess .dev-box {
  padding: 15px 20px;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
  border-radius: 10px;
  height: 300px;
  width: 100%;
  background: #fff;
  text-align: center;
}
.developmentProcess .dev-box img {
  margin-bottom: 10px;
  height: auto;
  max-width: 60px;
}
.developmentProcess .dev-box h2 {
  position: relative;
  font-size: 60px;
  font-weight: 800;
  color: #e5e5e5;
  top: -20px;
  left: -15px;
  text-align: left;
  margin: 0;
}
.developmentProcess .dev-box h3 {
  font-size: 20px;
  font-weight: bold;
  color: #000;
  transition: color 0.3s;
}
.box-left-align-featured .dev-box h3{
	text-align:left;
	
}
.box-left-align-featured .dev-box h3 span{
	position:unset;
}
.developmentProcess .dev-box h3 span {
  color: #ec1c24;
  font-size: 13px;
  font-weight: 400;
}
.developmentProcess .dev-box p {
  font-size: 16px;
  overflow: auto;
  height: 120px;
  padding: 0 6px;
}

.developmentProcess .dev-box p a{
	text-decoration:underline !important;
	color: #404040;
}
.developmentProcess .dev-box p::-webkit-scrollbar-track {
  -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
  border-radius: 10px;
  background-color: #f5f5f5;
}
.developmentProcess .dev-box p::-webkit-scrollbar {
  width: 6px;
  background-color: #f5f5f5;
}
.developmentProcess .dev-box p::-webkit-scrollbar-thumb {
  border-radius: 10px;
  -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
  background-color: #ec1c24;
}
.developmentProcess .dev-box:hover h4 {
  color: #ec1c24;
}
.developmentProcess .dev-box:hover img {
  filter: invert(24%) sepia(81%) saturate(2598%) hue-rotate(341deg)
    brightness(93%) contrast(100%);
}

/* Nav arrows â€” absolute outside swiper, matches live site */
.testimo-button-prev {
  position: absolute;
  left: -60px;
  top: 0;
  bottom: 0;
  display: flex;
  align-items: center;
  cursor: pointer;
  z-index: 10;
  user-select: none;
}
.testimo-button-next {
  position: absolute;
  right: -60px;
  top: 0;
  bottom: 0;
  display: flex;
  align-items: center;
  cursor: pointer;
  z-index: 10;
  user-select: none;
}
.testimo-button-prev svg,
.testimo-button-next svg {
  color: #bcbcbc;
  cursor: pointer;
  font-size: 30px;
  width: 30px;
  height: 30px;
}
.testimo-button-prev::after,
.testimo-button-next::after {
  content: unset;
  opacity: 0;
}
.developmentProcess .swiper-button-disabled,
.industriesSlider .swiper-button-disabled,
.platformSlider .swiper-button-disabled {
  display: none;
}

/* Variants */
.developmentProcess.gray-bg {
  background-color: #f5f5f5;
}
.developmentProcess.height-auto .dev-box {
  padding: 25px 20px;
  height: 100%;
}
.developmentProcess.height-auto .dev-box p {
  height: auto;
}
.developmentProcess.box-left-align .dev-box,
.developmentProcess.box-left-align-featured .dev-box {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 25px 20px;
  height: 100%;
}
.developmentProcess.box-left-align .dev-box h4,
.developmentProcess.box-left-align .dev-box p,
.developmentProcess.box-left-align-featured .dev-box h4,
.developmentProcess.box-left-align-featured .dev-box p {
  text-align: left;
}
.developmentProcess.box-left-align .dev-box p,
.developmentProcess.box-left-align-featured .dev-box p {
  height: auto;
}
.developmentProcess.box-left-align-featured {
  background-color: #f5f5f5;
}

@media (max-width: 1400px) {
  .developmentProcess {
    padding: 50px 0;
  }
  .developmentProcess .content {
    padding-bottom: 50px;
  }
  .developmentProcess .content h3 {
    font-size: 26px;
  }
  .developmentProcess .dev-box {
    padding: 55px 15px 15px 15px;
    height: 370px;
  }
  .developmentProcess.box-left-align .dev-box,
  .developmentProcess.box-left-align-featured .dev-box {
    padding: 25px 20px;
    height: 100%;
  }
  .developmentProcess .dev-box h2 {
    font-size: 50px;
  }
  .developmentProcess .dev-box h4 {
    font-size: 22px;
  }
  .testimo-button-prev {
    left: -40px;
  }
  .testimo-button-next {
    right: -40px;
  }
}
@media (max-width: 1199px) {
  .developmentProcess .dev-box {
    padding: 12px 15px 15px 15px;
    height: 300px;
  }
  .developmentProcess.box-left-align .dev-box,
  .developmentProcess.box-left-align-featured .dev-box {
    padding: 25px 20px;
    height: 100%;
  }
  .developmentProcess .dev-box h2 {
    font-size: 40px;
  }
  .developmentProcess .dev-box h4 {
    font-size: 18px;
  }
  .developmentProcess .dev-box p {
    font-size: 14px;
  }
  .developmentProcess .dev-box img {
    width: 50px;
  }
}
@media (max-width: 1024px) {
  .testimo-button-prev,
  .testimo-button-next {
    display: none;
  }
  .testi-slider .swiper-pagination {
    display: block;
  }
}
@media (max-width: 767px) {
  .developmentProcess {
    padding: 30px 0;
  }
  .developmentProcess .content {
    padding-bottom: 30px;
  }
  .developmentProcess .content h3 {
    font-size: 24px;
  }
  .developmentProcess .swiper {
    padding: 10px;
  }
  .developmentProcess .dev-box {
    padding: 15px;
    height: auto;
  }
  .developmentProcess .dev-box h2 {
    font-size: 30px;
    width: 100%;
    text-align: center;
    position: relative;
    left: 0;
    top: 0;
    margin-bottom: 15px;
  }
  .developmentProcess .dev-box h4 {
    font-size: 18px;
  }
  .developmentProcess .dev-box p {
    font-size: 14px;
    height: auto;
  }
}

/* --------------------------------------------------------------------------
   Development Services (development-services.php)
   -------------------------------------------------------------------------- */
.developmentServices {
  background: #f5f5f5;
  padding: 60px 0;
}
.developmentServices .ds-main-info {
  text-align: center;
  margin-bottom: 50px;
}
.developmentServices .ds-main-info .subheading {
  font-weight: 600;
  font-size: 14px;
  color: #ec1c24;
  text-transform: uppercase;
}
.developmentServices .ds-main-info h2 {
  font-weight: bold;
  font-size: 28px;
  color: #000;
}
.developmentServices .ds-main-info h2 span{
	color: #ec1c24;
}
.developmentServices .ds-main-info p {
  font-size: 16px;
  line-height: 24px;
  color: #000;
}
.developmentServices .ds-grid {
  display: grid;
  grid-template-columns: 0.8fr 1fr;
  gap: 30px;
  align-items: start;
}
.developmentServices .ds-left img {
  width: 100%;
  height: auto;
}
.developmentServices .ds-right {
  height: 500px;
  overflow: auto;
  scrollbar-width: none;
}
.developmentServices .ds-right::-webkit-scrollbar {
  display: none;
}
.developmentServices .ds-right.sec-center {
  display: flex;
  flex-direction: column;
  height: auto;
  justify-content: center;
}
.developmentServices .ds-details {
  margin-bottom: 20px;
}
.developmentServices .ds-details h3 {
  font-weight: bold;
  font-size: 22px;
  color: #ec1c24;
  margin-bottom: 0;
}
.developmentServices .ds-details h3 span {
  font-size: 20px;
  font-weight: 400;
}
.developmentServices .ds-details p {
  font-size: 16px;
  line-height: 30px;
  color: #000;
  margin: 0;
}
@media (max-width: 1200px) {
  .developmentServices .ds-grid {
    grid-template-columns: 1fr 1fr;
  }
  .developmentServices .ds-right {
    height: 400px;
  }
  .developmentServices .ds-details h4 {
    font-size: 20px;
  }
}
@media (max-width: 991px) {
  .developmentServices .ds-right {
    height: 300px;
  }
  .developmentServices .ds-details h4 {
    font-size: 18px;
    line-height: 1.5;
  }
  .developmentServices .ds-details p {
    font-size: 15px;
  }
}
@media (max-width: 767px) {
  .developmentServices .ds-grid {
    grid-template-columns: 1fr;
  }
  .developmentServices .ds-right {
    height: auto;
  }
  .developmentServices .ds-details h4 {
    text-align: center;
  }
  .developmentServices .ds-details p {
    text-align: center;
  }
}

/* --------------------------------------------------------------------------
   App Dev Form (app-dev-form.php)
   -------------------------------------------------------------------------- */
.appDevForm {
  padding: 60px 0;
  background-image: url("../images/app-dev/form-banner.webp");
  background-repeat: no-repeat;
  background-size: cover;
}
.appDevForm .adf-grid {
  display: grid;
  grid-template-columns: 1fr 0.8fr;
  align-items: center;
  gap: 80px;
}
.appDevForm .adf-left h2 {
  font-weight: bold;
  font-size: 40px;
  letter-spacing: 0.05em;
  line-height: 1.2;
  color: #fff;
}
.appDevForm .adf-left p {
  font-size: 16px;
  line-height: 24px;
  color: #fff;
}
.appDevForm .adf-right {
  background: #fff;
  padding: 30px;
  border-radius: 10px;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
}
.appDevForm .adf-right > span {
  font-size: 30px;
  color: #000;
  margin-bottom: 0;
  display: block;
  font-weight: 500;
}
.appDevForm .adf-right > strong {
  font-weight: 700;
  font-size: 38px;
  line-height: 35px;
  color: #ec1c24;
  margin-bottom: 10px;
}
.appDevForm .adf-right > p {
  font-size: 16px;
  color: #3a3a3a;
  margin-bottom: 15px;
}
.appDevForm .adf-field {
  margin-bottom: 16px;
}
.appDevForm .adf-field input,
.appDevForm .adf-field textarea {
  width: 100%;
  font-size: 16px;
  border: 1px solid #ec1c24;
  border-radius: 0;
  padding: 10px 14px;
  box-shadow: none;
  outline: none;
  transition: border-color 0.3s;
}
.appDevForm .adf-field input {
  height: 46px;
}
.appDevForm .adf-field textarea {
  resize: none;
}
.appDevForm .adf-field input:focus,
.appDevForm .adf-field textarea:focus {
  border-color: #c00;
}
.appDevForm .adf-msg {
  min-height: 20px;
  font-size: 14px;
  margin-bottom: 10px;
}
.appDevForm .adf-msg.error {
  color: #c00;
}
.appDevForm .adf-msg.success {
  color: #090;
}
.appDevForm .adf-form .tnb-btn {
  display: block;
  /* width: 100%; */
  text-align: center;
  font-size: 18px;
  margin: 0 auto;
  line-height: normal;
}
.appDevForm .adf-form .tnb-btn::before {
  width: 400px;
}
/* intl-tel-input phone field */
.appDevForm .adf-phone-field .iti {
  width: 100%;
  display: block;
}
.appDevForm .adf-phone-field .iti__selected-flag {
  border-right: 1px solid #d8d8d8;
  padding: 0 8px;
  background: transparent;
}
/* Validation error */
.appDevForm .adf-field-error {
  display: block;
  font-size: 12px;
  color: #c00;
  margin-top: 2px;
  margin-bottom: 8px;
}
.appDevForm .tnb-invalid {
  border-color: #c00 !important;
}
@media (max-width: 1200px) {
  .appDevForm .adf-grid {
    grid-template-columns: 1fr 1fr;
  }
  .appDevForm .adf-left h2 {
    font-size: 30px;
  }
  .appDevForm .adf-right span {
    font-size: 26px;
  }
  .appDevForm .adf-right > strong {
    font-size: 30px;
  }
}
@media (max-width: 991px) {
  .appDevForm .adf-grid {
    gap: 50px;
  }
  .appDevForm .adf-left h2 {
    font-size: 28px;
  }
  .appDevForm .adf-right {
    padding: 20px;
  }
  .appDevForm .adf-right span {
    font-size: 24px;
  }
  .appDevForm .adf-right > strong {
    font-size: 28px;
  }
}
@media (max-width: 767px) {
  .appDevForm .adf-grid {
    grid-template-columns: 1fr;
    gap: 30px;
  }
  .appDevForm .adf-left h2 {
    font-size: 26px;
    text-align: center;
  }
  .appDevForm .adf-left p {
    text-align: center;
  }
  .appDevForm .adf-right span {
    text-align: center;
  }
  .appDevForm .adf-right > strong {
    text-align: center;
  }
  .appDevForm .adf-right > p {
    text-align: center;
  }
}

/* --------------------------------------------------------------------------
   Industries Slider (industries-slider.php)
   -------------------------------------------------------------------------- */
.industriesSlider {
  padding: 60px 0;
}
.industriesSlider .is-main-info {
  text-align: center;
  margin-bottom: 40px;
}
.industriesSlider .is-main-info .subheading {
  font-size: 14px;
  font-weight: 600;
  color: #ec1c24;
  text-transform: uppercase;
}
.industriesSlider .is-main-info h2 {
  font-size: 28px;
  font-weight: bold;
  color: #000;
}
.industriesSlider .is-main-info h2 span {
  color: #ec1c24;
}
.industriesSlider .is-main-info p {
  font-size: 16px;
  font-weight: 500;
  color: #000;
}
.industriesSlider .is-main-tab {
  position: relative;
}
.industriesSlider .is-dev-slider {
  overflow: hidden;
  padding: 10px;
}
.industriesSlider .is-tab-box {
  padding: 20px 10px;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
  transition: 0.5s;
  cursor: pointer;
  height: 150px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.industriesSlider .is-tab-box img {
  height: auto;
  margin: auto;
  display: block;
  max-width: 60px;
}
.industriesSlider .is-tab-box h4 {
  font-size: 15px;
  text-align: center;
  color: #000;
  margin-top: 10px;
  margin-bottom: 0;
}
.industriesSlider .is-tab-box:hover {
  background-color: #fafafa;
}
.industriesSlider .is-tab-box.active {
  background-color: #fafafa;
}
.industriesSlider .is-tab-box.active h4 {
  color: #ec1c24;
}
.industriesSlider .is-tab-box.active img {
  filter: invert(24%) sepia(81%) saturate(2598%) hue-rotate(341deg)
    brightness(93%) contrast(100%);
}
.industriesSlider .is-tab-content {
  margin-top: 40px;
}
.industriesSlider .is-content-box {
  display: none;
  padding: 30px;
  border-radius: 20px;
  background: #f9f9f9;
  opacity: 0.79;
  box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
}
.industriesSlider .is-content-box.active {
  display: block;
}
.industriesSlider .is-content-box img {
  height: auto;
  width: auto;
  margin-bottom: 10px;
  max-width: 70px;
}
.industriesSlider .is-content-box span {
  font-weight: bold;
  font-size: 22px;
  line-height: 30px;
  text-align: left;
  color: #ec1c24;
	display:block;
}
.industriesSlider .is-content-box span a {
  font-weight: bold;
  font-size: 22px;
  line-height: 30px;
  text-align: left;
  color: #ec1c24;
}
.industriesSlider .is-content-box p {
  font-weight: 500;
  font-size: 16px;
  line-height: 30px;
  text-align: left;
  color: #000;
  margin-bottom: 0;
}
@media (max-width: 1200px) {
  .industriesSlider .is-main-info h2 {
    font-size: 26px;
  }
  .industriesSlider .is-content-box span {
    font-size: 20px;
  }
}
@media (max-width: 991px) {
  .industriesSlider .is-main-info h2 {
    font-size: 24px;
  }
  .industriesSlider .is-tab-box img {
    max-width: 50px;
  }
  .industriesSlider .is-content-box span {
    font-size: 18px;
  }
  .industriesSlider .is-content-box p {
    font-size: 15px;
  }
}
@media (max-width: 767px) {
  .industriesSlider .is-main-info h2 {
    font-size: 22px;
  }
  .industriesSlider .is-tab-box img {
    max-width: 50px;
  }
  .industriesSlider .is-content-box span {
    font-size: 18px;
  }
  .industriesSlider .is-content-box p {
    font-size: 15px;
  }
}
@media (max-width: 400px) {
  .industriesSlider .is-main-info h2 {
    font-size: 20px;
  }
  .industriesSlider .is-tab-box h4 {
    font-size: 14px;
  }
  .industriesSlider .is-content-box p {
    font-size: 14px;
    line-height: 1.6;
  }
}

/* ============================================================
   platformSlider â€” mirrors PlatformSlider.module.scss
   ============================================================ */
.platformSlider {
  padding: 60px 0;
  background-color: #f5f5f5;
}
.platformSlider .ps-main-info {
  text-align: center;
  margin-bottom: 40px;
}
.platformSlider .ps-main-info .psl-subtitle {
  font-size: 14px;
  font-weight: 600;
  color: #ec1c24;
  text-transform: uppercase;
}
.platformSlider .ps-main-info h2 {
  font-size: 28px;
  font-weight: bold;
  color: #000;
}
.platformSlider .ps-main-info p {
  font-size: 16px;
  font-weight: 500;
  color: #000;
}
.platformSlider .ps-main-tab {
  position: relative;
}
.platformSlider .ps-dev-slider {
  overflow: hidden;
  padding: 10px;
}
.platformSlider .ps-tab-box {
  padding: 20px 10px;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
  transition: 0.5s;
  cursor: pointer;
  height: 150px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.platformSlider .ps-tab-box:hover {
  background-color: #fafafa;
}
.platformSlider .ps-tab-image {
  height: 60px;
  width: 60px;
  margin: auto;
  display: flex;
}
.platformSlider .ps-tab-image img {
  height: auto;
  display: block;
  object-fit: contain;
  max-width: 60px;
  width: auto;
  margin: 0 auto;
}
.platformSlider .ps-tab-box h3 {
  font-size: 15px;
  text-align: center;
  color: #000;
  margin-top: 10px;
  margin-bottom: 0;
}
@media (max-width: 1200px) {
  .platformSlider .ps-main-info h2 {
    font-size: 26px;
  }
}
@media (max-width: 991px) {
  .platformSlider .ps-main-info h2 {
    font-size: 24px;
  }
  .platformSlider .ps-tab-image img {
    max-width: 50px;
  }
  .platformSlider .ps-tab-box h3 {
    font-size: 14px;
  }
}
@media (max-width: 767px) {
  .platformSlider .ps-main-info h2 {
    font-size: 22px;
  }
}
@media (max-width: 400px) {
  .platformSlider .ps-main-info h2 {
    font-size: 20px;
  }
  .platformSlider .ps-tab-box h3 {
    font-size: 14px;
  }
}

/* --------------------------------------------------------------------------
   Key Things (key-things.php)
   -------------------------------------------------------------------------- */
.keyThings {
  padding: 80px 0;
  background-image: url("../images/stack/key-banner.png");
  background-size: cover;
  background-repeat: no-repeat;
  color: #fff;
}
.keyThings .subheading {
  font-weight: 600;
  font-size: 14px;
  text-align: center;
  color: #fff;
  text-transform: uppercase;
	display:block;
}
.keyThings h2 {
  font-weight: 600;
  font-size: 28px;
  text-align: center;
  color: #fff;
}
.keyThings .kt-grid {
  display: grid;
  grid-template-columns: 0.4fr 1fr;
  gap: 70px;
  margin-top: 60px;
}
.keyThings .kt-left ul {
  padding: 0;
  list-style: none;
  margin: 0;
}
.keyThings .kt-tab-btn {
  display: flex;
  justify-content: flex-end;
  align-items: flex-start;
  gap: 40px;
  cursor: pointer;
}
.keyThings .kt-tab-btn h4 {
  border-bottom: 1px solid #fff;
  font-size: 22px;
  text-align: right;
  color: #fff;
  margin: 0;
  width: 100%;
  padding: 10px 0;
}
.keyThings .kt-tab-btn:last-child h4 {
  border-bottom: 0;
}
.keyThings .kt-tab-btn svg {
  color: #ec1c24;
  width: 25px;
  height: 25px;
  opacity: 0;
  margin-top: 12px;
  flex-shrink: 0;
}
.keyThings .kt-tab-btn.active h4 {
  color: #ec1c24;
}
.keyThings .kt-tab-btn.active svg {
  opacity: 1;
}
.keyThings .kt-tab-content {
  display: none;
}
.keyThings .kt-tab-content.active {
  display: block;
}
.keyThings .kt-tab-content p {
  font-size: 16px;
  line-height: 24px;
  text-align: left;
  color: #fff;
}
.keyThings .kt-tab-content span {
  font-size: 18px;
  font-weight: 600;
  color: #fff;
}
.keyThings .kt-tab-content ul {
  padding-left: 20px;
}
@media (max-width: 1200px) {
  .keyThings h3 {
    font-size: 26px;
  }
  .keyThings .kt-grid {
    gap: 50px;
  }
}
@media (max-width: 991px) {
  .keyThings h3 {
    font-size: 24px;
  }
  .keyThings .kt-grid {
    grid-template-columns: 0.6fr 1fr;
    gap: 50px;
  }
  .keyThings .kt-tab-btn h4 {
    font-size: 18px;
  }
}
@media (max-width: 767px) {
  .keyThings h3 {
    font-size: 24px;
  }
  .keyThings .kt-grid {
    grid-template-columns: 1fr;
    gap: 40px;
  }
  .keyThings .kt-left ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0 40px;
  }
  .keyThings .kt-tab-btn {
    display: block;
    position: relative;
  }
  .keyThings .kt-tab-btn h4 {
    font-size: 18px;
    border-bottom: 0;
    text-align: center;
  }
  .keyThings .kt-tab-btn svg {
    display: none;
  }
  .keyThings .kt-tab-content {
    text-align: center;
  }
  .keyThings .kt-tab-content p {
    text-align: center;
  }
  .keyThings .kt-tab-content span {
    font-size: 16px;
  }
	.keyThings .kt-tab-content ul{
		list-style:none;
	}
}
@media (max-width: 479px) {
  .keyThings h3 {
    font-size: 20px;
  }
  .keyThings .kt-tab-btn h4 {
    font-size: 16px;
  }
}

/* --------------------------------------------------------------------------
   Testimonials (testimonials.php)
   -------------------------------------------------------------------------- */
.testimonialMain {
  background-image: url("../images/testimonials/banner.webp");
  background-repeat: no-repeat;
  background-size: cover;
  padding: 60px 0;
}
.testimonialMain .testi-heading {
  margin-bottom: 50px;
}
.testimonialMain .testi-heading h2 {
  color: #fff;
  font-size: 45px;
  font-weight: 600;
  text-align: center;
}
.testimonialMain .testi-heading p {
  font-size: 16px;
  line-height: 24px;
  text-align: center;
  color: #fff;
}
.testimonialMain .main-testi-slider {
  position: relative;
}
.testimonialMain .testimonial-slider.swiper {
  overflow: hidden;
  padding-top: 110px;
}
.testimonialMain .slider-box {
  position: relative;
}
.testimonialMain .top-info {
  border-radius: 10px;
  background: #fff;
  padding: 20px 18px 15px 18px;
  height: 360px;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  gap: 20px;
}
.testimonialMain .pro-img {
  margin-top: -100px;
  height: auto;
  border-radius: 100px;
  display: block;
  max-width: 180px;
}
.testimonialMain .video-icon {
  position: relative;
  cursor: pointer;
}
.testimonialMain .video-icon::before {
  content: "";
  background-image: url("../images/testimonials/video-icon.png");
  width: 20px;
  height: 100%;
  background-position: bottom center;
  position: absolute;
  background-repeat: no-repeat;
  left: 0;
  right: 0;
  margin: auto;
  bottom: -5px;
  background-size: contain;
  pointer-events: none;
}
.testimonialMain .reviews {
  width: 100%;
  text-align: center;
}
.testimonialMain .reviews span {
  font-size: 24px;
  line-height: 25px;
  text-align: center;
  color: #000;
  margin: 0;
}
.testimonialMain .reviews img {
  margin: auto;
  display: block;
  width: 50px;
  height: auto;
  padding: 15px 0;
}
.testimonialMain .reviews p {
  font-size: 16px;
  line-height: 20px;
  text-align: center;
  color: #000;
}
.testi-video-modal {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
}
.testi-video-overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.8);
  cursor: pointer;
}
.testi-video-inner {
  position: relative;
  z-index: 1;
  width: 660px;
  max-width: 90vw;
}
.testi-video-inner iframe {
  width: 100%;
  height: 415px;
  border: 0;
  display: block;
}
.testi-video-close {
  position: absolute;
  top: -36px;
  right: 0;
  background: transparent;
  border: none;
  color: #fff;
  font-size: 28px;
  cursor: pointer;
  line-height: 1;
}
@media (max-width: 1440px) {
  .testimonialMain .testi-heading h2 {
    font-size: 40px;
  }
  .testimonialMain .reviews span {
    font-size: 18px;
    line-height: 1.5;
    margin-top: 15px;
  }
}
@media (max-width: 1400px) {
  .testimonialMain .testi-heading h2 {
    font-size: 35px;
  }
}
@media (max-width: 1200px) {
  .testimonialMain .testi-heading h2 {
    font-size: 30px;
  }
  .testimonialMain .reviews span {
    font-size: 16px;
    line-height: 1.5;
  }
  .testimonialMain .reviews p {
    font-size: 15px;
  }
}
@media (max-width: 991px) {
  .testimonialMain .testi-heading h2 {
    font-size: 28px;
  }
  .testimonialMain .top-info {
    height: 320px;
    gap: 10px;
  }
  .testimonialMain .pro-img {
    max-width: 150px;
  }
  .testimonialMain .reviews img {
    width: 30px;
  }
  .testimonialMain .reviews span {
    font-size: 16px;
    line-height: 1.5;
    margin-top: 10px;
  }
  .testimonialMain .reviews p {
    font-size: 15px;
  }
}
@media (max-width: 767px) {
  .testimonialMain {
    background: #000;
    background-image: none;
  }
  .testimonialMain .testi-heading h2 {
    font-size: 26px;
  }
  .testimonialMain .top-info {
    height: auto;
    gap: 10px;
  }
  .testimonialMain .reviews span {
    font-size: 15px;
    line-height: 1.5;
  }
  .testimonialMain .reviews p {
    font-size: 14px;
    line-height: 1.5;
  }
  .testi-video-inner iframe {
    height: 56.25vw;
  }
}
@media (max-width: 576px) {
  .testimonialMain .testi-heading h2 {
    font-size: 26px;
  }
}
@media (max-width: 400px) {
  .testimonialMain .testi-heading h2 {
    font-size: 22px;
  }
  .testimonialMain .testi-heading p {
    font-size: 15px;
  }
}

/* ============================================================
   mainBanner
   ============================================================ */
.mainBanner {
  padding: 60px 0;
  display: flex;
  align-items: center;
}
.mainBanner .banner-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  gap: 50px;
}
.mainBanner .banner-grid .content h1 {
  font-size: 45px;
  line-height: 54px;
  font-weight: 700;
  color: #000;
}
.mainBanner .banner-grid .content h4 {
  font-size: 25px;
  font-weight: 700;
  color: #ec1c24;
}
.mainBanner .banner-grid .content p a {
  color: #ec1c24;
}
.mainBanner .banner-grid .content p {
  font-size: 16px;
  color: #000;
  font-weight: 400;
  line-height: 28px;
}
.mainBanner .banner-grid .content .btns {
  display: flex;
  gap: 20px;
}
.mainBanner .banner-grid .content .btns a {
  display: block;
}
.mainBanner .banner-grid .content .rewards {
  margin: 50px auto;
}
.mainBanner .banner-grid .content .rewards ul {
  list-style: none;
  padding: 0;
  display: flex;
  align-items: center;
  gap: 20px;
}
.mainBanner .banner-grid .content .rewards ul li img {
  max-width: 111px;
  height: auto;
  width: auto;
}
.mainBanner .banner-grid .image img {
  width: 100%;
  height: auto;
}
@media (max-width: 1400px) {
  .mainBanner .banner-grid .content h1 {
    font-size: 32px;
    line-height: 1.2;
  }
  .mainBanner .banner-grid .content .rewards ul li img {
    max-width: 85px;
  }
}
@media (max-width: 1200px) {
  .mainBanner .banner-grid .content h1 {
    font-size: 30px;
  }
  .mainBanner .banner-grid .content .rewards ul li img {
    max-width: 70px;
  }
}
@media (max-width: 991px) {
  .mainBanner .banner-grid {
    grid-template-columns: 1fr;
  }
  .mainBanner .banner-grid .content {
    text-align: center;
  }
  .mainBanner .banner-grid .content h1 {
    font-size: 30px;
    line-height: 1.3;
  }
  .mainBanner .banner-grid .content p {
    font-size: 15px;
    line-height: 1.5;
  }
  .mainBanner .banner-grid .content .btns {
    justify-content: center;
  }
  .mainBanner .banner-grid .content .btns button {
    padding: 10px 20px;
    font-size: 12px;
  }
  .mainBanner .banner-grid .content .btns a {
    font-size: 12px;
  }
  .mainBanner .banner-grid .content .rewards ul {
    justify-content: center;
  }
  .mainBanner .banner-grid .content .rewards ul li img {
    max-width: 60px;
  }
  .mainBanner .banner-grid .image img {
    width: 70%;
    margin: auto;
    display: block;
  }
}
@media (max-width: 767px) {
  .mainBanner .banner-grid .content h1 {
    font-size: 26px;
  }
  .mainBanner .banner-grid .content p {
    font-size: 14px;
  }
  .mainBanner .banner-grid .content .btns {
    display: grid;
    justify-content: center;
    gap: 10px;
  }
}
@media (max-width: 479px) {
  .mainBanner .banner-grid .content .rewards ul {
    flex-wrap: wrap;
  }
  .mainBanner .banner-grid .image img {
    width: 100%;
  }
}
@media (max-width: 400px) {
  .mainBanner .banner-grid .content h1 {
    font-size: 24px;
  }
  .mainBanner .banner-grid .content .btns button {
    width: 100%;
    margin-bottom: 10px;
  }
  .mainBanner .banner-grid .content .btns a {
    width: 100%;
    text-align: center;
    display: block;
  }
}

/* ============================================================
   typesOfApps
   ============================================================ */
.typesOfApps {
  background-repeat: no-repeat;
  background-size: cover;
  padding: 60px 0;
}
.typesOfApps .types-info h5 {
  font-weight: 600;
  font-size: 14px;
  text-align: center;
  text-transform: uppercase;
  color: #fff;
}
.typesOfApps .types-info h2 {
  font-weight: bold;
  font-size: 28px;
  text-align: center;
  color: #fff;
}
.typesOfApps .types-info p {
  font-size: 16px;
  line-height: 24px;
  text-align: center;
  color: #fff;
}
.typesOfApps .types-info p a {
  text-decoration:underline !important;
  color: #fff;
}
.typesOfApps .types-tab {
  padding-top: 20px;
  padding-bottom: 40px;
}
.typesOfApps .types-tab ul {
  padding: 0;
  list-style: none;
  display: flex;
  gap: 40px;
  justify-content: center;
}
.typesOfApps .types-tab ul li {
  font-size: 25px;
  text-align: center;
  color: #fff;
  cursor: pointer;
}
.typesOfApps .types-tab ul li.active {
  border-bottom: 2px solid;
}
.typesOfApps .tab-content .tab-details {
  display: none;
}
.typesOfApps .tab-content .tab-details.active-tab {
  display: block;
}
.typesOfApps .tab-content .tab-details.grid-info {
  display: block;
  margin-top: 50px;
}
.typesOfApps .tab-content .tab-details.grid-info .content-grid {
  display: grid;
  gap: 40px;
}
.typesOfApps .tab-content .tab-details.grid-info .content-grid .left-info img {
  width: 100%;
}
.typesOfApps .tab-content .tab-details.grid-info .content-grid .right-info {
  height: 850px;
  overflow: auto;
}
.typesOfApps
  .tab-content
  .tab-details.grid-info
  .content-grid
  .right-info::-webkit-scrollbar {
  display: none;
}
.typesOfApps.retail-types .tab-content .tab-details {
  display: block;
  margin-top: 50px;
}
.typesOfApps.retail-types .tab-content .tab-details .content-grid {
  flex-direction: row-reverse;
  gap: 40px;
  display: flex;
}
.typesOfApps.retail-types .tab-content .tab-details .content-grid .left-info {
  width: auto;
  height: auto;
}
@media (max-width: 1400px) {
  .typesOfApps.retail-types
    .tab-content
    .tab-details
    .content-grid
    .right-info {
    width: 60%;
  }
}
@media (max-width: 991px) {
  .typesOfApps.retail-types .tab-content .tab-details .content-grid {
    flex-direction: column;
  }
  .typesOfApps.retail-types .tab-content .tab-details .content-grid .left-info {
    margin: auto;
  }
  .typesOfApps.retail-types
    .tab-content
    .tab-details
    .content-grid
    .left-info
    img {
    width: 80%;
    margin: auto;
    display: block;
  }
  .typesOfApps.retail-types
    .tab-content
    .tab-details
    .content-grid
    .right-info {
    width: 100%;
  }
}
.typesOfApps .tab-content .tab-details.flip-details {
  display: block;
  margin-top: 50px;
}
.typesOfApps .tab-content .tab-details.flip-details .content-grid {
  display: flex;
  gap: 40px;
}
.typesOfApps .tab-content .tab-details.flip-details .content-grid .left-info {
  width: auto;
}
.typesOfApps .tab-content .tab-details.flip-details .content-grid .right-info {
  height: 850px;
  overflow: auto;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.typesOfApps
  .tab-content
  .tab-details.flip-details
  .content-grid
  .right-info::-webkit-scrollbar {
  display: none;
}
.typesOfApps .tab-content .tab-details .content-grid {
  display: grid;
  grid-template-columns: 0.5fr 1fr;
  gap: 20px;
  align-items: center;
}
.typesOfApps .tab-content .tab-details .content-grid .left-info {
  margin: auto;
  display: block;
}
.typesOfApps .tab-content .tab-details .content-grid .left-info img {
  width: auto;
  height: auto;
}
.typesOfApps .tab-content .tab-details .content-grid .right-info h4, .typesOfApps .tab-content .tab-details .content-grid .right-info h3.toa-h4 {
  font-weight: bold;
  font-size: 20px;
  line-height: 30px;
  text-align: left;
  color: #fff;
  margin-bottom: 0;
}
.typesOfApps .tab-content .tab-details .content-grid .right-info p {
  font-size: 16px;
  line-height: 30px;
  text-align: left;
  color: #fff;
}

.typesOfApps .tab-content .tab-details .content-grid .right-info p a{
	color: #fff;
	text-decoration:underline !important;
}
@media (max-width: 1600px) {
  .typesOfApps .types-tab ul li {
    font-size: 22px;
  }
}
@media (max-width: 1440px) {
  .typesOfApps {
    background-position: center;
  }
  .typesOfApps .types-info h2 {
    font-size: 26px;
  }
  .typesOfApps .types-tab ul li {
    font-size: 22px;
  }
}
@media (max-width: 1400px) {
  .typesOfApps .types-info h2 {
    font-size: 26px;
  }
  .typesOfApps .types-info p {
    font-size: 16px;
  }
  .typesOfApps .types-tab ul li {
    font-size: 20px;
  }
  .typesOfApps .tab-content .tab-details .content-grid {
    grid-template-columns: 0.5fr 1fr;
  }
  .typesOfApps .tab-content .tab-details .content-grid .right-info h4, .typesOfApps .tab-content .tab-details .content-grid .right-info h3.toa-h4 {
    font-size: 18px;
  }
  .typesOfApps .tab-content .tab-details .content-grid .right-info p {
    font-size: 16px;
    line-height: 1.6;
  }
  .typesOfApps
    .tab-content
    .tab-details.flip-details
    .content-grid
    .right-info {
    width: 60%;
  }
}
@media (max-width: 1200px) {
  .typesOfApps .types-info h2 {
    font-size: 26px;
  }
  .typesOfApps .types-info p {
    font-size: 15px;
  }
  .typesOfApps .types-tab ul li {
    font-size: 18px;
  }
  .typesOfApps .tab-content .tab-details .content-grid .right-info h4, .typesOfApps .tab-content .tab-details .content-grid .right-info h3.toa-h4 {
    font-size: 16px;
  }
  .typesOfApps .tab-content .tab-details .content-grid .right-info p {
    font-size: 14px;
    line-height: 1.6;
  }
}
@media (max-width: 991px) {
  .typesOfApps .types-info h2 {
    font-size: 24px;
  }
  .typesOfApps .types-tab ul {
    flex-wrap: wrap;
  }
  .typesOfApps .types-tab ul li,
  .typesOfApps .tab-content .tab-details .content-grid .right-info h4, .typesOfApps .tab-content .tab-details .content-grid .right-info h3.toa-h4 {
    font-size: 16px;
  }
  .typesOfApps .tab-content .tab-details .content-grid .right-info p {
    font-size: 14px;
  }
  .typesOfApps
    .tab-content
    .tab-details.flip-details
    .content-grid
    .left-info
    img {
    margin: auto;
    display: block;
    width: 70%;
  }
}
@media (max-width: 767px) {
  .typesOfApps .types-info h2 {
    font-size: 24px;
  }
  .typesOfApps .types-tab ul {
    gap: 20px;
    flex-wrap: wrap;
  }
  .typesOfApps .types-tab ul li {
    font-size: 15px;
  }
  .typesOfApps .tab-content .tab-details .content-grid {
    grid-template-columns: 1fr;
  }
  .typesOfApps .tab-content .tab-details.grid-info .content-grid .right-info {
    height: auto;
  }
  .typesOfApps .tab-content .tab-details.flip-details .content-grid {
    flex-direction: column;
  }
  .typesOfApps
    .tab-content
    .tab-details.flip-details
    .content-grid
    .right-info {
    height: auto;
    overflow: auto;
  }
}
@media (max-width: 479px) {
  .typesOfApps .types-info h2 {
    font-size: 22px;
  }
  .typesOfApps .types-info p {
    font-size: 14px;
  }
  .typesOfApps .tab-content .tab-details .content-grid .right-info h4, .typesOfApps .tab-content .tab-details .content-grid .right-info h3.toa-h4 {
    font-size: 15px;
  }
  .typesOfApps .tab-content .tab-details .content-grid .right-info p {
    font-size: 14px;
  }
}
@media (max-width: 400px) {
  .typesOfApps .types-info h2 {
    font-size: 20px;
  }
  .typesOfApps .types-info p {
    font-size: 14px;
    line-height: 1.6;
  }
  .typesOfApps .types-tab ul li {
    font-size: 14px;
  }
}

/* ============================================================
   benefitsOfWork
   ============================================================ */
.benefitsOfWork {
  padding: 60px 0;
}
.benefitsOfWork .main-info .bow-eyebrow {
  font-size: 14px;
  font-weight: 600;
  color: #ec1c24;
  text-align: center;
  text-transform: uppercase;
}
.benefitsOfWork .main-info h2 {
  font-size: 28px;
  font-weight: bold;
  color: #000;
  text-align: center;
}
.benefitsOfWork .main-info p {
  font-size: 16px;
  font-weight: 500;
  color: #000;
  text-align: center;
}
.benefitsOfWork .grid-info {
  display: flex;
  gap: 60px;
  justify-content: center;
  margin: 50px 0;
}
.benefitsOfWork .grid-info .stats {
  width: 22%;
}
.benefitsOfWork .grid-info .stats .img-box {
  width: 90px;
  height: 90px;
  border-radius: 15px;
  background-color: #000;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: auto;
  transition: 0.5s;
}
.benefitsOfWork .grid-info .stats p {
  margin-top: 12px;
  font-size: 16px;
  line-height: 24px;
  text-align: center;
  color: #000;
  transition: 0.5s;
}
.benefitsOfWork .grid-info .stats:hover .img-box {
  background-color: #ec1c24;
}
.benefitsOfWork .grid-info .stats:hover p {
  color: #ec1c24;
}
.benefitsOfWork .grid-stats-content {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}
.benefitsOfWork .grid-stats-content .content-box {
  padding: 30px 20px;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
}
.benefitsOfWork .grid-stats-content .content-box h4 {
  font-weight: 600;
  font-size: 20px;
  line-height: 30px;
  text-align: left;
  color: #ec1c24;
}
.benefitsOfWork .grid-stats-content .content-box ul {
  padding-left: 20px;
  margin: 0;
}
.benefitsOfWork .grid-stats-content .content-box ul li {
  font-size: 16px;
  margin-bottom: 20px;
  text-align: left;
  color: #000;
}
.benefitsOfWork .grid-stats-content .content-box ul li::marker {
  color: #ec1c24;
}
.benefitsOfWork .grid-stats-content .content-box ul li:last-child {
  margin-bottom: 0;
}
@media (max-width: 1440px) {
  .benefitsOfWork .main-info h2 {
    font-size: 26px;
  }
  .benefitsOfWork .grid-info .stats p {
    font-size: 14px;
  }
  .benefitsOfWork .grid-stats-content .content-box ul li {
    font-size: 15px;
  }
}
@media (max-width: 1200px) {
  .benefitsOfWork .main-info p {
    font-size: 15px;
  }
  .benefitsOfWork .grid-info .stats {
    width: 30%;
  }
  .benefitsOfWork .grid-info .stats .img-box {
    width: 70px;
    height: 70px;
  }
  .benefitsOfWork .grid-info .stats .img-box img {
    width: 50px;
    height: auto;
  }
  .benefitsOfWork .grid-info .stats p {
    font-size: 14px;
  }
  .benefitsOfWork .grid-stats-content .content-box h4 {
    font-size: 18px;
    line-height: 1.5;
  }
  .benefitsOfWork .grid-stats-content .content-box ul li {
    font-size: 14px;
  }
}
@media (max-width: 991px) {
  .benefitsOfWork .main-info h2 {
    font-size: 24px;
  }
  .benefitsOfWork .main-info h2 br {
    display: none;
  }
  .benefitsOfWork .main-info p {
    font-size: 15px;
  }
  .benefitsOfWork .grid-info {
    gap: 30px;
  }
  .benefitsOfWork .grid-info .stats {
    width: 30%;
  }
  .benefitsOfWork .grid-info .stats .img-box {
    width: 70px;
    height: 70px;
  }
  .benefitsOfWork .grid-info .stats .img-box img {
    width: 50px;
    height: auto;
  }
  .benefitsOfWork .grid-info .stats p {
    font-size: 12px;
    line-height: 1.6;
  }
  .benefitsOfWork .grid-stats-content .content-box h4 {
    font-size: 16px;
    line-height: 1.5;
  }
  .benefitsOfWork .grid-stats-content .content-box ul li {
    font-size: 14px;
  }
}
@media (max-width: 767px) {
  .benefitsOfWork .main-info h2 {
    font-size: 22px;
  }
  .benefitsOfWork .main-info p {
    font-size: 14px;
  }
  .benefitsOfWork .grid-info {
    flex-direction: column;
    gap: 30px;
  }
  .benefitsOfWork .grid-info .stats {
    width: 100%;
  }
  .benefitsOfWork .grid-stats-content {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 400px) {
  .benefitsOfWork .main-info h2 {
    font-size: 20px;
  }
  .benefitsOfWork .grid-info .stats p {
    font-size: 12px;
  }
  .benefitsOfWork .grid-stats-content .content-box h4 {
    font-size: 14px;
  }
  .benefitsOfWork .grid-stats-content .content-box ul li {
    font-size: 12px;
  }
}

/* ============================================================
   twoBoxes
   ============================================================ */
.twoBoxes {
  padding: 60px 0;
}
.twoBoxes .main-info {
  text-align: center;
  margin-bottom: 40px;
}
.twoBoxes .main-info h4 {
  font-size: 14px;
  font-weight: 600;
  color: #ec1c24;
  text-transform: uppercase;
}
.twoBoxes .main-info h2 {
  font-size: 28px;
  font-weight: bold;
  color: #000;
}
.twoBoxes .main-info p {
  font-size: 16px;
  font-weight: 500;
  color: #000;
  text-align: center;
  margin-top: 30px;
}
.twoBoxes .main-tab {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}
.twoBoxes .main-tab .mainDiv {
  background: #fff;
  border-radius: 10px;
  padding: 30px 20px;
  box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.11);
}
.twoBoxes .main-tab .mainDiv .mainBox {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 10px;
}
.twoBoxes .main-tab .mainDiv h4, .twoBoxes .main-tab .mainDiv h3 {
  font-weight: bold;
  font-size: 20px;
  text-align: left;
  color: #000;
  margin: 0;
}
.twoBoxes .main-tab .mainDiv p {
  margin-top: 15px;
  margin-bottom: 0;
  color: #000;
  text-align: left;
  font-size: 16px;
  font-weight: 500;
}
.twoBoxes .main-tab .mainDiv p a{
	color: #000;
	text-decoration:underline !important;
}
.twoBoxes .main-tab .mainDiv:hover {
  background: #f8f8f8;
}
.twoBoxes .main-tab .mainDiv:hover img {
  filter: invert(24%) sepia(81%) saturate(2598%) hue-rotate(341deg)
    brightness(93%) contrast(100%);
}
.twoBoxes .main-tab .mainDiv:hover h4, 
.twoBoxes .main-tab .mainDiv:hover h3 {
  color: #ec1c24 !important;
}
@media (max-width: 1199px) {
  .twoBoxes .main-info h2 {
    font-size: 26px;
  }
}
@media (max-width: 991px) {
  .twoBoxes .main-info h2 {
    font-size: 24px;
  }
  .twoBoxes .main-tab .mainDiv h4 {
    font-size: 18px;
  }
  .twoBoxes .main-tab .mainDiv p {
    font-size: 15px;
  }
}
@media (max-width: 767px) {
  .twoBoxes .main-info h2 {
    font-size: 22px;
  }
  .twoBoxes .main-tab {
    grid-template-columns: 1fr;
  }
  .twoBoxes .main-tab .mainDiv h4 {
    font-size: 16px;
  }
  .twoBoxes .main-tab .mainDiv p {
    font-size: 14px;
  }
}

/* ============================================================
   solutionBusiness — mirrors NextGen/SolutionBusiness.module.scss
   ============================================================ */
.solutionBusiness {
  padding: 60px 0;
  text-align: center;
}
.solutionBusiness.gray-bg {
  background-color: #f5f5f5;
}
.solutionBusiness .sb-content {
  padding-bottom: 60px;
}
.solutionBusiness .sb-content h5 {
  font-size: 14px;
  font-weight: 600;
  color: #ec1c24;
  text-transform: uppercase;
}
.solutionBusiness .sb-content h3 {
  font-size: 28px;
  font-weight: bold;
  color: #000;
}
.solutionBusiness .sb-content p {
  font-size: 16px;
  font-weight: 500;
  color: #000;
}
.solutionBusiness .sb-main-row {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 50px;
}
.solutionBusiness .sb-main-div {
  display: flex;
  flex-direction: row;
  gap: 10px;
  align-items: center;
}
.solutionBusiness .sb-main-div, .solutionBusiness .sb-main-div a {
  display: flex;
  flex-direction: row;
  gap: 10px;
  align-items: center;
  color: #000;
  text-decoration: none;
}
.solutionBusiness.devList .sb-main-div img{
	background:#000;
}
.solutionBusiness .sb-main-div img {
  border-radius: 10px;
  box-shadow:
    rgba(50, 50, 93, 0.25) 0px 13px 27px -5px,
    rgba(0, 0, 0, 0.3) 0px 8px 16px -8px;
  padding: 10px;
  max-width: 64px;
  height: auto;
  width: 100%;
  flex-shrink: 0;
}
.solutionBusiness .sb-main-div h3 {
  text-align: left;
  font-size: 16px;
  margin: 0;
}
.solutionBusiness .sb-main-div:hover h3 {
  color: #ec1c24;
}
.solutionBusiness .sb-btns {
  margin-top: 20px;
}
@media (max-width: 1024px) {
  .solutionBusiness .sb-content {
    padding-bottom: 40px;
  }
  .solutionBusiness .sb-content h3 {
    font-size: 26px;
  }
}
@media (max-width: 991px) {
  .solutionBusiness .sb-content h3 {
    font-size: 24px;
  }
  .solutionBusiness .sb-content p {
    font-size: 15px;
  }
  .solutionBusiness .sb-main-row {
    gap: 30px;
  }
  .solutionBusiness .sb-main-div h3 {
    font-size: 14px;
  }
}
@media (max-width: 767px) {
  .solutionBusiness .sb-content {
    padding-bottom: 20px;
  }
  .solutionBusiness .sb-content h3 {
    font-size: 22px;
  }
  .solutionBusiness .sb-content p {
    font-size: 14px;
  }
  .solutionBusiness .sb-main-row {
    grid-template-columns: 1fr 1fr;
    gap: 30px;
  }
}
@media (max-width: 575px) {
  .solutionBusiness .sb-content {
    padding-bottom: 20px;
  }
  .solutionBusiness .sb-main-row {
    grid-template-columns: 1fr;
    gap: 30px;
  }
  .solutionBusiness .sb-main-div {
    flex-direction: column;
  }
  .solutionBusiness .sb-main-div h3 {
    text-align: center;
  }
}
/* devList modifier — black square icons, #f5f5f5 bg */
.solutionBusiness.devList {
  background-color: #f5f5f5;
}
.solutionBusiness.devList .sb-main-div a img {
  background-color: #000;
  max-width: 74px;
}
.solutionBusiness.devList .sb-main-div a img:hover {
  background-color: #ec1c24;
  filter: none;
}
/* dedicatedDev modifier — no img filter on hover */
.solutionBusiness.dedicatedDev .sb-main-div a img:hover {
  filter: none;
}
/* wide button slide fill */
.solutionBusiness .sb-btns .tnb-btn.slideHOv::before {
  width: 450px;
}

/* ============================================================
   softwareSolutions — mirrors AppDevelopment/SoftwareSolutions.module.scss
   ============================================================ */
.softwareSolutions {
  padding: 60px 0;
  background-image: url("../images/app-dev/custom-software/ss-bg.webp");
  background-repeat: no-repeat;
  background-size: cover;
}
.softwareSolutions .sw-main-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-gap: 100px;
  align-items: center;
}
.softwareSolutions .sw-left-info h2 {
  font-weight: bold;
  font-size: 32px;
  color: #fff;
}
.softwareSolutions .sw-left-info h2 span {
  color: #ec1c24;
}
.softwareSolutions .sw-left-info p {
  font-size: 16px;
  color: #fff;
}
.softwareSolutions .sw-right-info {
  height: 400px;
  overflow: auto;
  scrollbar-width: none;
}
.softwareSolutions .sw-right-info::-webkit-scrollbar {
  display: none;
}
.softwareSolutions .sw-list {
  display: flex;
  gap: 25px;
  margin-bottom: 10px;
  align-items: flex-start;
}
.softwareSolutions .sw-list img {
  flex-shrink: 0;
}
.softwareSolutions .sw-info h3 {
  font-weight: bold;
  font-size: 20px;
  color: #ec1c24;
  margin: 0 0 5px;
}
.softwareSolutions .sw-info p {
  font-size: 16px;
  color: #fff;
  margin: 0;
}
@media (max-width: 991px) {
  .softwareSolutions .sw-main-grid {
    grid-template-columns: 1fr;
    grid-gap: 40px;
  }
  .softwareSolutions .sw-right-info {
    height: auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
  }
}
@media (max-width: 767px) {
  .softwareSolutions .sw-main-grid {
    grid-gap: 30px;
  }
  .softwareSolutions .sw-right-info {
    grid-template-columns: 1fr;
  }
  .softwareSolutions .sw-left-info h2 {
    font-size: 26px;
  }
}
@media (max-width: 575px) {
  .softwareSolutions .sw-left-info h2 {
    font-size: 22px;
  }
  .softwareSolutions .sw-info h3 {
    font-size: 18px;
  }
}

/* ============================================================
   softwareDevProcess
   ============================================================ */
.softwareDevProcess {
  padding: 60px 0;
  text-align: center;
}
.softwareDevProcess .content {
  padding-bottom: 60px;
}
.softwareDevProcess .content span {
  font-size: 14px;
  font-weight: 600;
  color: #ed2a32;
  text-transform: uppercase;
}
.softwareDevProcess .content h3 {
  font-size: 28px;
  font-weight: bold;
  color: #000;
}
.softwareDevProcess .content p {
  font-size: 16px;
  font-weight: 500;
  color: #000;
}
.softwareDevProcess .development-slider {
  padding: 10px;
}
.softwareDevProcess .dev-box {
  padding: 15px 20px;
  box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
  border-radius: 10px;
  height: 300px;
  width: 400px;
  background-color: #fff;
}
.softwareDevProcess .dev-box img {
  margin-bottom: 10px;
  height: auto;
}
.softwareDevProcess .dev-box h2 {
  position: relative;
  font-size: 60px;
  font-weight: 800;
  color: #e5e5e5;
  top: -20px;
  left: -15px;
  text-align: left;
  margin: 0;
}
.softwareDevProcess .dev-box h4 {
  font-weight: bold;
  font-size: 28px;
  text-align: center;
  color: #ec1c24;
  margin-bottom: 30px;
}
.softwareDevProcess .dev-box span {
  font-size: 16px;
  line-height: 18px;
  font-weight: normal;
  text-align: left;
  color: #161616;
  display: flex;
  align-items: flex-start;
  margin-bottom: 20px;
  gap: 15px;
}
.softwareDevProcess .dev-box span img {
  margin: 0;
}
.softwareDevProcess .dev-box ul {
  padding-left: 22px;
  padding-right: 6px;
  overflow: auto;
  height: 215px;
}
.softwareDevProcess .dev-box ul::-webkit-scrollbar-track {
  -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
  border-radius: 10px;
  background-color: #f5f5f5;
}
.softwareDevProcess .dev-box ul::-webkit-scrollbar {
  width: 4px;
  background-color: #f5f5f5;
}
.softwareDevProcess .dev-box ul::-webkit-scrollbar-thumb {
  border-radius: 10px;
  -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
  background-color: #ed2a32;
}
.softwareDevProcess .dev-box ul li {
  font-size: 16px;
  line-height: 24px;
  text-align: left;
  color: #161616;
  margin-bottom: 12px;
}
.softwareDevProcess .dev-box ul li::marker {
  font-size: 20px;
  color: #ec1c24;
}
.softwareDevProcess.height-auto .dev-box {
  padding: 25px 20px;
  height: 100%;
}
.softwareDevProcess .dev-slider {
  position: relative;
}
.softwareDevProcess .dev-slider .swiper-slide {
  height: auto !important;
}
@media (max-width: 1400px) {
  .softwareDevProcess {
    padding: 50px 0;
  }
  .softwareDevProcess .content {
    padding-bottom: 50px;
  }
  .softwareDevProcess .content h3 {
    font-size: 26px;
  }
  .softwareDevProcess .development-slider {
    padding: 20px;
  }
  .softwareDevProcess .dev-box {
    padding: 55px 15px 15px 15px;
    height: 370px;
    width: 100%;
  }
  .softwareDevProcess .dev-box h2 {
    font-size: 50px;
  }
  .softwareDevProcess .dev-box h4 {
    font-size: 22px;
  }
  .softwareDevProcess.height-auto .dev-box {
    padding: 25px 20px;
    height: 100% !important;
  }
}
@media (max-width: 1199px) {
  .softwareDevProcess .development-slider {
    padding: 10px;
  }
  .softwareDevProcess .dev-box {
    padding: 12px 15px 15px 15px;
    height: 300px;
  }
  .softwareDevProcess .dev-box h2 {
    font-size: 40px;
  }
  .softwareDevProcess .dev-box h4 {
    font-size: 18px;
  }
  .softwareDevProcess .dev-box span {
    font-size: 14px;
  }
  .softwareDevProcess .dev-box ul li {
    font-size: 14px;
    line-height: 1.5;
  }
  .softwareDevProcess .dev-box img {
    width: auto;
  }
}
@media (max-width: 767px) {
  .softwareDevProcess {
    padding: 30px 0;
  }
  .softwareDevProcess .content {
    padding-bottom: 30px;
  }
  .softwareDevProcess .content h3 {
    font-size: 24px;
  }
  .softwareDevProcess .content p {
    font-size: 14px;
  }
  .softwareDevProcess .dev-box {
    padding: 15px;
    height: auto;
    width: auto;
  }
  .softwareDevProcess .dev-box h2 {
    font-size: 30px;
    width: 100%;
    text-align: center;
    position: relative;
    left: 0;
    top: 0;
    margin-bottom: 15px;
  }
  .softwareDevProcess .dev-box h4 {
    font-size: 18px;
  }
  .softwareDevProcess .dev-box span {
    font-size: 14px;
  }
  .softwareDevProcess .dev-box ul li {
    font-size: 14px;
  }
}
@media (max-width: 320px) {
  .softwareDevProcess .content h3 {
    font-size: 22px;
  }
  .softwareDevProcess .dev-box span {
    font-size: 14px;
    margin-bottom: 15px;
  }
}

/* ============================================================
   methodology
   ============================================================ */
.methodology {
  padding: 60px 0;
  background-image: url("../images/app-dev/custom-software/method-bg.webp");
  text-align: center;
}
.methodology button {
  margin: 30px auto;
  display: block;
  margin-bottom: 0;
}
.methodology .main-info h2 {
  font-weight: bold;
  font-size: 28px;
  text-align: center;
  color: #fff;
}
.methodology .main-info p {
  font-size: 16px;
  line-height: 24px;
  text-align: center;
  color: #fff;
}
.methodology .main-tab {
  display: flex;
  justify-content: center;
  gap: 80px;
  margin: 35px 0;
}
.methodology .main-tab .tab {
  cursor: pointer;
}
.methodology .main-tab .tab h4 {
  font-size: 24px;
  text-align: center;
  color: #fff;
}
.methodology .main-tab .tab.active h4 {
  color: #ec1c24;
}
.methodology .main-tab .tab.active img {
  filter: invert(80%) sepia(84%) saturate(6661%) hue-rotate(354deg)
    brightness(108%) contrast(84%);
}
.methodology .tab-content .content {
  display: none;
}
.methodology .tab-content .content p {
  font-size: 16px;
  line-height: 24px;
  text-align: center;
  color: #fff;
}
.methodology .tab-content .content.active {
  display: block;
}
@media (max-width: 1200px) {
  .methodology .main-info h2 {
    font-size: 26px;
  }
  .methodology .main-info p {
    font-size: 15px;
  }
  .methodology .main-tab .tab h4 {
    font-size: 18px;
  }
  .methodology .tab-content .content p {
    font-size: 15px;
  }
}
@media (max-width: 991px) {
  .methodology button {
    font-size: 14px;
  }
  .methodology .main-info h2 {
    font-size: 24px;
  }
  .methodology .main-info p {
    font-size: 14px;
  }
  .methodology .main-tab .tab img {
    max-width: 70px;
    height: auto;
  }
  .methodology .main-tab .tab h4 {
    font-size: 16px;
  }
  .methodology .tab-content .content p {
    font-size: 14px;
  }
}
@media (max-width: 767px) {
  .methodology .main-info h2 {
    font-size: 22px;
  }
  .methodology .main-tab {
    flex-wrap: wrap;
    gap: 0 50px;
  }
  .methodology .main-tab .tab img {
    max-width: 70px;
    height: auto;
  }
  .methodology .main-tab .tab h4 {
    font-size: 16px;
  }
}
@media (max-width: 320px) {
  .methodology button {
    font-size: 12px;
  }
  .methodology .main-info h2 {
    font-size: 20px;
  }
  .methodology .main-info p {
    font-size: 12px;
  }
  .methodology .main-tab .tab h4 {
    font-size: 14px;
  }
}

/* ============================================================
   stackNewBox
   ============================================================ */
.stackNewBox {
  padding: 60px 0;
  background-color: #fff;
}
.stackNewBox.gray-bg {
  background-color: #f6f4f4;
}
.stackNewBox.gray-bg .TabBox .tab-content ul li {
  background-color: #fff;
}
.stackNewBox.gray-bg .TabBox .tab-content ul li:hover {
  background-color: #ec1c24;
  color: #fff;
}
.stackNewBox .main-info h5 {
  font-size: 14px;
  font-weight: 600;
  color: #ec1c24;
  text-align: center;
  text-transform: uppercase;
}
.stackNewBox .main-info h2 {
  font-size: 28px;
  font-weight: bold;
  color: #000;
  text-align: center;
}
.stackNewBox .main-info p {
  font-size: 16px;
  font-weight: 500;
  color: #000;
  text-align: center;
}
.stackNewBox .MainBox {
  flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 0 30px;
    margin: 30px 0;
    display: flex;
}
.stackNewBox .MainBox .Tab {
  transition: 0.5s;
  text-align: center;
  cursor: pointer;
  /* Tap target 24 px (WCAG 2.2 AA, fix plan #73/#130/#132): negative margin keeps the layout */
  padding-block: 3px;
  margin-block: -3px;
}
.stackNewBox .MainBox .Tab span {
  font-weight: 700;
  font-size: 16px;
  text-align: center;
  color: #252525;
  margin: 0;
}
.stackNewBox .MainBox .Tab.active span {
  color: #ec1c24;
	text-underline-position: under;
    text-decoration: underline;
}
.stackNewBox .TabBox .tab-content {
  display: none;
}
.stackNewBox .TabBox .tab-content.active {
  display: block;
}
.stackNewBox .TabBox .tab-content ul {
  display: flex;
  list-style: none;
  gap: 10px;
  justify-content: center;
  flex-wrap: wrap;
  padding: 0;
}
.stackNewBox .TabBox .tab-content ul li {
  background-color: #f6f4f4;
  padding: 10px 15px;
  transition: 0.5s;
  font-size: 22px;
}
.stackNewBox .TabBox .tab-content ul li a {
	color:#404040;
  padding: 10px 15px;
  transition: 0.5s;
  font-size: 22px;
}
.stackNewBox .TabBox .tab-content ul li:hover {
  background-color: #ec1c24;
  color: #fff;
}
.stackNewBox .TabBox .tab-content ul li a:hover {
  
  color: #fff;
}
/* angular-stack modifier — scoped fix, no impact on other pages */
.stackNewBox.angular-stack .MainBox {
  background-color: transparent;
  padding: 0;
  border: none;
  border-radius: 0;
  justify-content: center;
}
.stackNewBox.angular-stack .MainBox .Tab h6 {
  font-weight: 600;
  font-size: 22px;
  color: #000;
  margin-top: 15px;
  margin-bottom: 0;
}
.stackNewBox.angular-stack .MainBox .Tab.active h6 {
  color: #ec1c24;
  text-decoration: underline;
  text-underline-position: under;
}
@media (max-width: 767px) {
  .stackNewBox.angular-stack .MainBox .Tab h6 {
    font-size: 18px;
  }
}
@media (max-width: 479px) {
  .stackNewBox.angular-stack .MainBox .Tab h6 {
    font-size: 12px;
  }
}
@media (max-width: 1200px) {
  .stackNewBox .main-info h2 {
    font-size: 26px;
  }
}
@media (max-width: 991px) {
  .stackNewBox .main-info h2 {
    font-size: 24px;
  }
}
@media (max-width: 767px) {
  .stackNewBox .main-info h2 {
    font-size: 24px;
  }
  .stackNewBox .MainBox .Tab span {
    font-size: 14px;
  }
  .stackNewBox .TabBox .tab-content ul li {
    font-size: 18px;
  }
}
@media (max-width: 479px) {
  .stackNewBox .main-info h2 {
    font-size: 22px;
  }
  .stackNewBox .MainBox {
    gap: 20px;
  }
  .stackNewBox .MainBox .Tab span {
    font-size: 12px;
  }
  .stackNewBox .TabBox .tab-content ul li {
    font-size: 12px;
  }
}
@media (max-width: 320px) {
  .stackNewBox .main-info h5 {
    font-size: 12px;
  }
  .stackNewBox .main-info h2 {
    font-size: 20px;
  }
}

/* ============================================================
   pricingTab
   ============================================================ */
.pricingTab {
  padding: 60px 0;
  text-align: center;
}
.pricingTab .content {
  padding-bottom: 20px;
}
.pricingTab .content span {
  font-size: 16px;
  font-weight: 550;
  color: #ed2a32;
  text-transform: uppercase;
}
.pricingTab .content h2 {
  font-size: 28px;
  font-weight: bold;
  color: #000;
}
.pricingTab .content p {
  font-size: 16px;
  font-weight: 500;
  color: #000;
}
.pricingTab .tab-list {
  margin-bottom: 50px;
  cursor: pointer;
}
.pricingTab .tab-list ul {
  display: flex;
  justify-content: center;
  list-style: none;
  padding: 0;
  margin-bottom: 0;
  gap: 60px;
}
.pricingTab .tab-list ul li {
  font-size: 16px;
  font-weight: 550;
}
.pricingTab .tab-list ul .pt-tab-btn.active {
  color: #ed2a32;
  border-bottom: 3px solid #ed2a32;
}
.pricingTab .tab-content {
  background-color: #fff;
  padding: 30px;
  text-align: left;
  box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
  border-radius: 20px;
}
.pricingTab .tab-content .box {
  display: none;
  width: 80%;
  margin: auto;
}
.pricingTab .tab-content .box.active {
  display: block;
}
.pricingTab .tab-content .box img {
  max-width: 120px;
  height: auto;
  margin-bottom: 10px;
}
.pricingTab .tab-content .box h3 {
  font-size: 22px;
  font-weight: bold;
  color: #ed2a32;
  margin: 0;
}
.pricingTab .tab-content .box .box-content {
  display: block;
}
.pricingTab .tab-content .box .box-content p {
  font-size: 16px;
  color: #000;
  margin-top: 10px;
  margin-bottom: 0;
}
@media (max-width: 1200px) {
  .pricingTab .content h2 {
    font-size: 26px;
  }
  .pricingTab .tab-list ul li {
    font-size: 15px;
    font-weight: 600;
  }
}
@media (max-width: 991px) {
  .pricingTab .content h2 {
    font-size: 22px;
  }
  .pricingTab .content p {
    font-size: 15px;
  }
  .pricingTab .tab-list ul {
    flex-wrap: wrap;
    gap: 20px;
  }
  .pricingTab .tab-list ul li {
    font-size: 15px;
  }
  .pricingTab .tab-content .box {
    width: 100%;
  }
  .pricingTab .tab-content .box h3 {
    font-size: 18px;
  }
  .pricingTab .tab-content .box .box-content p {
    font-size: 15px;
  }
}
@media (max-width: 767px) {
  .pricingTab .tab-content .box img {
    max-width: 100px;
  }
  .pricingTab .tab-content .box .box-content p {
    font-size: 14px;
  }
}
@media (max-width: 479px) {
  .pricingTab .content h2 {
    font-size: 20px;
  }
  .pricingTab .content p {
    font-size: 14px;
  }
}
@media (max-width: 400px) {
  .pricingTab .tab-content {
    padding: 15px;
  }
  .pricingTab .tab-content .box h3 {
    font-size: 16px;
  }
  .pricingTab .tab-content .box .box-content p {
    font-size: 12px;
  }
}
@media (max-width: 320px) {
  .pricingTab .tab-list ul li {
    font-size: 14px;
  }
}

/* ============================================================
   devCost
   ============================================================ */
.devCost {
  padding: 60px 0;
  background-image: url("../images/app-dev/custom-software/cost-bg.webp");
  background-repeat: no-repeat;
  background-size: cover;
}
.devCost .main-info span {
  font-size: 14px;
  font-weight: 600;
  color: #fff;
  text-align: center;
  text-transform: uppercase;
}
.devCost .main-info h2 {
  font-size: 28px;
  font-weight: bold;
  color: #fff;
  text-align: center;
}
.devCost .main-info p {
  font-size: 16px;
  font-weight: 500;
  color: #fff;
  text-align: center;
}
.devCost .main-info p a {
  text-decoration:underline !important;
  color: #fff;
}
.devCost .cost-slider {
  padding-top: 40px;
  overflow: inherit;
  overflow-x: clip;
  height: 550px;
}
.devCost .cost-slider .swiper-slide {
  position: relative;
}
.devCost .cost-slider .slider-box img {
  border-radius: 10px;
  width: 100%;
  height: auto;
}
.devCost .cost-slider .slider-box .top-info {
  width: 90%;
  margin: auto;
  padding: 20px;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0px 3px 12px rgba(0, 0, 0, 0.29);
  height: 220px;
  position: absolute;
  transform: translateY(-50%);
  left: 0;
  right: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: space-between;
}
.devCost .cost-slider .slider-box .top-info::before {
  content: "";
  background-image: url("../images/app-dev/custom-software/tnb-before.png");
  background-size: contain;
  background-repeat: no-repeat;
  width: 190px;
  height: 184px;
  position: absolute;
  top: 10px;
  right: 10px;
}
.devCost .cost-slider .slider-box .top-info span {
  font-weight: 600;
  font-size: 22px;
  line-height: 30px;
  text-align: left;
  color: #ec1c24;
}
.devCost .cost-slider .slider-box .top-info ul {
  margin: 0;
  padding-left: 20px;
  max-height: 110px;
  overflow-y: auto;
}
.devCost .cost-slider .slider-box .top-info ul::-webkit-scrollbar-track {
  -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
  border-radius: 10px;
  background-color: #f5f5f5;
}
.devCost .cost-slider .slider-box .top-info ul::-webkit-scrollbar {
  width: 4px;
  background-color: #f5f5f5;
}
.devCost .cost-slider .slider-box .top-info ul::-webkit-scrollbar-thumb {
  border-radius: 10px;
  -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
  background-color: #ed2a32;
}
.devCost .cost-slider .slider-box .top-info ul li {
  font-size: 16px;
  line-height: 18px;
  color: #161616;
  margin-bottom: 10px;
}
.devCost .cost-slider .slider-box .top-info ul li::marker {
  color: #ec1c24;
}
.devCost .cost-slider .slider-box .top-info ul li:last-child {
  margin: 0;
}
.devCost .cost-slider .slider-box .top-info button {
  background-color: transparent;
  font-size: 16px;
  border: 0;
  text-align: left;
  font-weight: 500;
  padding: 0;
  color: #ed2a32;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
}
.devCost .cost-slider .slider-box .top-info button svg {
  margin-left: 5px;
  transition: margin-left 0.5s;
  font-size: 18px;
}
.devCost .cost-slider .slider-box .top-info button:hover svg {
  margin-left: 10px;
}
.devCost .cost-slider .cost-pagination {
  display: flex;
  justify-content: flex-end;
  margin-top: -32px;
  gap: 20px;
  position: relative;
  z-index: 100;
}
.cost-button-prev svg,
.cost-button-next svg {
  font-size: 30px;
  transition: color 0.5s;
  color: #fff;
  cursor: pointer;
}
.cost-button-prev:hover svg {
  color: #ff0000;
}
.cost-button-next:hover svg {
  color: #ff0000;
}
@media (max-width: 1200px) {
  .devCost .main-info h2 {
    font-size: 26px;
  }
  .devCost .main-info p {
    font-size: 15px;
  }
  .devCost .cost-slider {
    height: 500px;
  }
  .devCost .cost-slider .slider-box .top-info {
    padding: 15px;
    height: 220px;
  }
  .devCost .cost-slider .slider-box .top-info span {
    font-size: 18px;
  }
  .devCost .cost-slider .slider-box .top-info ul li {
    font-size: 14px;
  }
  .devCost .cost-slider .slider-box .top-info button {
    font-size: 14px;
  }
}
@media (max-width: 767px) {
  .devCost .main-info h2 {
    font-size: 24px;
  }
  .devCost .main-info p {
    font-size: 14px;
  }
  .devCost .cost-slider {
    height: auto;
  }
  .devCost .cost-slider .slider-box .top-info {
    padding: 15px;
    height: 220px;
    position: relative;
    transform: none;
  }
  .devCost .cost-slider .cost-pagination {
    display: none;
  }
	.devCost .cost-slider .slider-box .top-info ul{
		max-height:100%;
	}
}
@media (max-width: 479px) {
  .devCost .main-info h2 {
    font-size: 22px;
  }
  .devCost .cost-slider .slider-box .top-info {
    height: 220px;
    position: relative;
    transform: none;
  }
  .devCost .cost-slider .slider-box .top-info span {
    font-size: 16px;
  }
}
@media (max-width: 320px) {
  .devCost .main-info h2 {
    font-size: 20px;
  }
  .devCost .main-info p {
    font-size: 12px;
  }
  .devCost .cost-slider .slider-box .top-info {
    height: 220px;
    position: relative;
    transform: none;
  }
  .devCost .cost-slider .slider-box .top-info span {
    font-size: 15px;
  }
  .devCost .cost-slider .slider-box .top-info ul li {
    font-size: 12px;
  }
  .devCost .cost-slider .slider-box .top-info button {
    font-size: 12px;
  }
}

/* ============================================================
   swiper-nav-btn shared
   ============================================================ */
.swiper-nav-btn {
  width: 40px;
  height: 40px;
  background-color: #ec1c24;
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  border-radius: 50%;
  font-size: 18px;
  transition: background-color 0.3s;
}
.swiper-nav-btn:hover {
  background-color: #c4141a;
}

/* ============================================================
   Modifier: mainFaqs.gray-bg
   ============================================================ */
.mainFaqs.gray-bg {
  background-color: #f5f5f5;
}

/* ============================================================
   Modifier: proposal.customSoftware
   ============================================================ */
.proposal.customSoftware .tnb-btn::before {
  width: 102%;
}

/* ============================================================
   Component: Dev Process (.devProcess) â€” mirrors DevProcess.jsx
   Grid layout: two-col header + three-col card grid
   ============================================================ */
.devProcess {
  padding: 60px 0;
}
.devProcess .main-info {
  display: grid;
  grid-template-columns: 0.8fr 1fr;
  align-items: center;
  gap: 20px;
}
.devProcess .main-info h2 {
  font-weight: 700;
  font-size: 40px;
  letter-spacing: 0.05em;
  line-height: 1.2;
}
.devProcess .main-info h2 span {
  color: #ec1c24;
}
.devProcess .main-info p {
  font-size: 16px;
  line-height: 24px;
  color: #161616;
  margin: 0;
}
.devProcess .main-info p a {
  text-decoration:underline !important;
  color: #161616;
}
.devProcess .info-grid {
  margin-top: 50px;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 30px;
}
.devProcess .info-grid .box {
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
  padding: 30px;
  transition:
    background-color 0.5s,
    color 0.5s;
}
.devProcess .info-grid .box .num-img {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 10px;
}
.devProcess .info-grid .box h6 {
  font-weight: 500;
  font-size: 25px;
  letter-spacing: 0.05em;
  color: #161616;
  margin: 0;
  transition: color 0.5s;
}
.devProcess .info-grid .box h4 {
  font-weight: 500;
  font-size: 25px;
  letter-spacing: 0.05em;
  color: #ec1c24;
  margin-bottom: 10px;
  transition: color 0.5s;
}
.devProcess .info-grid .box p {
  font-size: 16px;
  line-height: 24px;
  color: #161616;
  margin: 0;
  transition: color 0.5s;
}
.devProcess .info-grid .box:hover {
  background-color: #ec1c24;
}
.devProcess .info-grid .box:hover img {
  filter: brightness(10);
}
.devProcess .info-grid .box:hover h6,
.devProcess .info-grid .box:hover h4,
.devProcess .info-grid .box:hover p {
  color: #fff;
}

@media (max-width: 1440px) {
  .devProcess .main-info h2 {
    font-size: 35px;
  }
  .devProcess .info-grid .box h6 {
    font-size: 24px;
  }
  .devProcess .info-grid .box h4 {
    font-size: 24px;
  }
}
@media (max-width: 1400px) {
  .devProcess .info-grid .box h6 {
    font-size: 22px;
  }
  .devProcess .info-grid .box h4 {
    font-size: 22px;
  }
}
@media (max-width: 1200px) {
  .devProcess .main-info h2 {
    font-size: 30px;
  }
  .devProcess .main-info p {
    font-size: 15px;
    line-height: 1.5;
  }
  .devProcess .info-grid .box {
    padding: 20px;
  }
  .devProcess .info-grid .box h6 {
    font-size: 20px;
  }
  .devProcess .info-grid .box h4 {
    font-size: 20px;
  }
  .devProcess .info-grid .box p {
    font-size: 14px;
    line-height: 1.7;
  }
}
@media (max-width: 991px) {
  .devProcess .main-info {
    grid-template-columns: 1fr;
    gap: 10px;
  }
  .devProcess .main-info h2 {
    font-size: 28px;
    text-align: center;
  }
  .devProcess .main-info p {
    font-size: 14px;
    text-align: center;
  }
  .devProcess .info-grid {
    grid-template-columns: 1fr 1fr;
    margin-top: 20px;
  }
  .devProcess .info-grid .box {
    padding: 20px;
  }
  .devProcess .info-grid .box h6 {
    font-size: 20px;
  }
  .devProcess .info-grid .box h4 {
    font-size: 20px;
  }
  .devProcess .info-grid .box p {
    font-size: 14px;
  }
}
@media (max-width: 767px) {
  .devProcess .main-info h2 {
    font-size: 26px;
  }
  .devProcess .main-info p {
    font-size: 14px;
  }
  .devProcess .info-grid {
    grid-template-columns: 1fr;
  }
  .devProcess .info-grid .box img {
    max-width: 50px;
    height: auto;
  }
  .devProcess .info-grid .box h6 {
    font-size: 18px;
  }
  .devProcess .info-grid .box h4 {
    font-size: 18px;
  }
}
@media (max-width: 479px) {
  .devProcess .main-info h2 {
    font-size: 24px;
  }
  .devProcess .main-info p {
    font-size: 14px;
  }
  .devProcess .info-grid .box img {
    max-width: 50px;
    height: auto;
  }
  .devProcess .info-grid .box h6 {
    font-size: 16px;
  }
  .devProcess .info-grid .box h4 {
    font-size: 16px;
  }
}
@media (max-width: 320px) {
  .devProcess .main-info h2 {
    font-size: 22px;
  }
  .devProcess .main-info p {
    font-size: 12px;
  }
  .devProcess .info-grid .box img {
    max-width: 50px;
    height: auto;
  }
  .devProcess .info-grid .box h6 {
    font-size: 14px;
  }
  .devProcess .info-grid .box h4 {
    font-size: 14px;
  }
  .devProcess .info-grid .box p {
    font-size: 12px;
  }
}

/* --------------------------------------------------------------------------
   Our Process (our-process.php)
   -------------------------------------------------------------------------- */
.ourProcess {
  padding: 80px 0;
}
.ourProcess.gray-bg {
  background-color: #f5f5f5;
}
.ourProcess .process-info {
  margin-bottom: 0;
}
.ourProcess .process-info h4 {
  font-size: 14px;
  color: #ec1c24;
  text-transform: uppercase;
  font-weight: 600;
}
.ourProcess .process-info h2 {
  font-size: 45px;
  line-height: 1.2;
  text-align: center;
  font-weight: 600;
  color: #000;
}
.ourProcess .process-info p {
  font-size: 16px;
  line-height: 24px;
  text-align: center;
  color: #000;
}
.ourProcess.main-head-center .process-info h4 {
  font-weight: 600;
  font-size: 14px;
  text-align: center;
  color: #ec1c24;
  text-transform: uppercase;
}
.ourProcess.main-head-center .process-info h2 {
  font-weight: bold;
  font-size: 28px;
  text-align: center;
  color: #000;
}
.ourProcess.main-head-center .process-info p {
  font-size: 16px;
  line-height: 24px;
  text-align: center;
  color: #000;
}
.ourProcess .cards {
  --cards-closed-size: 10rem;
  --animation-speed-normal: 0.5s;
  display: flex;
  flex-direction: row;
  justify-content: center;
  gap: 1rem;
  width: 100%;
  padding: 3rem 0;
  overflow: hidden;
}
.ourProcess .cards .card {
  position: relative;
  z-index: 1;
  transition: all var(--animation-speed-normal) ease-in-out;
  cursor: pointer;
  width: var(--cards-closed-size);
  height: 25rem;
  flex: 0 0 var(--cards-closed-size);
  border: 0px;
  background: transparent;
}
.ourProcess .cards .card::before {
  content: "";
  background-color: rgba(0, 0, 0, 0.745);
  width: 100%;
  height: 100%;
  position: absolute;
  border-radius: 15px;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 2;
  transition: 0.5s;
  opacity: 0;
}
.ourProcess .cards .card > h4 {
  position: absolute;
  left: 0;
  bottom: -55px;
  color: #000;
  font-size: 16px;
  line-height: 1.3;
  transition: all ease-in 0.3s;
  /* white-space: nowrap; */
}
.ourProcess .cards .card img {
  object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: 1;
  transition: all var(--animation-speed-normal) ease-in-out;
  border-radius: 15px;
}
.ourProcess .cards .card .card-infos {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 3;
  color: #fff;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 0.125rem;
  opacity: 0;
  transition: all var(--animation-speed-normal) ease-in-out;
  width: 550px;
  padding: 50px;
}
.ourProcess .cards .card .card-infos h4 {
  font-size: 22px;
  margin: 0;
  line-height: 1;
  color: #fff;
}
.ourProcess .cards .card .card-infos h3 {
  font-size: 30px;
  text-align: left;
  color: #ec1c24;
}
.ourProcess .cards .card .card-infos p {
  font-size: 16px;
  line-height: 1.7;
  color: #fff;
}
.ourProcess .cards .card.active {
  width: 100%;
  height: 25rem;
  flex: 0 0 calc(950px - 24rem);
  position: relative;
}
.ourProcess .cards .card.active::before {
  opacity: 1;
}
.ourProcess .cards .card.active .card-infos {
  opacity: 1;
}
.ourProcess .cards .card.active > h4 {
  bottom: -35px;
  color: #ec1c24;
}
@media (max-width: 1440px) {
  .ourProcess .process-info h2 {
    font-size: 40px;
  }
  .ourProcess.main-head-center .process-info h2 {
    font-size: 26px;
  }
  .ourProcess .cards .card {
    height: 25rem;
  }
  .ourProcess .cards .card.active {
    flex: 0 0 calc(950px - 24rem);
  }
}
@media (max-width: 1400px) {
  .ourProcess .process-info h2 {
    font-size: 35px;
  }
  .ourProcess.main-head-center .process-info h2 {
    font-size: 28px;
  }
  .ourProcess .cards {
    --cards-closed-size: 8rem;
  }
  .ourProcess .cards .card.active {
    flex: 0 0 calc(900px - 24rem);
  }
}
@media (max-width: 1200px) {
  .ourProcess .process-info h2 {
    font-size: 30px;
  }
  .ourProcess.main-head-center .process-info h2 {
    font-size: 26px;
  }
  .ourProcess .cards {
    --cards-closed-size: 7rem;
  }
  .ourProcess .cards .card .card-infos {
    width: 350px;
    padding: 30px;
  }
  .ourProcess .cards .card .card-infos h4 {
    font-size: 20px;
  }
  .ourProcess .cards .card .card-infos h3 {
    font-size: 28px;
  }
  .ourProcess .cards .card .card-infos p {
    font-size: 14px;
    line-height: 1.6;
  }
  .ourProcess .cards .card.active {
    flex: 0 0 calc(800px - 24rem);
  }
}
@media (max-width: 991px) {
  .ourProcess .process-info h2 {
    font-size: 28px;
    text-align: center;
  }
  .ourProcess .process-info p {
    text-align: center;
  }
  .ourProcess .cards {
    flex-direction: column;
    gap: 2.5rem;
  }
  .ourProcess .cards .card {
    width: 100%;
    height: 5rem;
    flex: none;
  }
  .ourProcess .cards .card > h4 {
    bottom: -35px;
    font-size: 14px;
  }
  .ourProcess .cards .card .card-infos {
    height: auto;
    width: 100%;
    padding: 30px;
  }
  .ourProcess .cards .card .card-infos h4 {
    font-size: 18px;
  }
  .ourProcess .cards .card .card-infos h3 {
    font-size: 26px;
  }
  .ourProcess .cards .card .card-infos p {
    font-size: 14px;
    line-height: 1.6;
  }
  .ourProcess .cards .card.active {
    height: 60vw;
    flex: none;
  }
}
@media (max-width: 767px) {
  .ourProcess .process-info h2 {
    font-size: 26px;
  }
  .ourProcess .process-info p {
    font-size: 15px;
  }
  .ourProcess .cards {
    flex-direction: column;
    gap: 2.5rem;
  }
  .ourProcess .cards .card {
    width: 100%;
    height: 5rem;
    flex: none;
  }
  .ourProcess .cards .card .card-infos {
    height: 0;
    width: 100%;
    padding: 30px;
  }
  .ourProcess .cards .card.active {
    height: 60vw;
    flex: none;
  }
  .ourProcess .cards .card.active .card-infos {
    height: auto;
  }
}
@media (max-width: 576px) {
  .ourProcess {
    padding: 30px 0;
  }
  .ourProcess .process-info h2 {
    font-size: 24px;
  }
  .ourProcess .cards .card .card-infos {
    height: 0;
    padding: 30px;
  }
/*   .ourProcess .cards .card.active {
    height: 40vw;
  } */
  .ourProcess .cards .card.active .card-infos {
    height: auto;
  }
}
@media (max-width: 479px) {
  .ourProcess .process-info h2 {
    font-size: 22px;
  }
  .ourProcess .process-info p {
    font-size: 14px;
  }
  .ourProcess .cards {
    --cards-closed-size: 6rem;
  }
  .ourProcess .cards .card .card-infos {
    height: 0;
    padding: 20px;
  }
  .ourProcess .cards .card .card-infos h4 {
    font-size: 16px;
  }
  .ourProcess .cards .card .card-infos h3 {
    font-size: 22px;
    margin-bottom: 0;
  }
  .ourProcess .cards .card .card-infos p {
    font-size: 12px;
    margin-bottom: 0;
  }
}

/* --------------------------------------------------------------------------
   Development Services â€” white-bg modifier
   -------------------------------------------------------------------------- */
.developmentServices.white-bg {
  background: #fff;
}

/* --------------------------------------------------------------------------
   SDD Banner (.mobileAppBanner) â€” mirrors SoftwareDevDallas/Banner.module.scss
   -------------------------------------------------------------------------- */
.mobileAppBanner {
  background-image: url("../images/software-dev-dallas/bg.webp");
  background-size: cover;
  background-repeat: no-repeat;
  padding: 80px 0;
}
.mobileAppBanner .sdd-content {
  display: grid;
  grid-template-columns: 50% 50%;
  gap: 30px;
}
.mobileAppBanner .sdd-left {
  padding: 50px 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 10px;
}
.mobileAppBanner .sdd-left h1 {
  color: #fff;
  font-size: 55px;
  font-weight: 700;
  margin: 0;
}
.mobileAppBanner .sdd-left p {
  color: #fff;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.8;
  padding: 15px 0;
  margin: 0;
}
.mobileAppBanner .sdd-btn-wrapper {
  display: flex;
  gap: 15px;
  padding: 40px 0;
}
.mobileAppBanner .sdd-btn-wrapper button,
.mobileAppBanner .sdd-btn-wrapper a {
  margin-top: 0;
}
.mobileAppBanner.odoo .sdd-btn-wrapper {
  padding: 0;
}
.mobileAppBanner .sdd-right {
  padding: 0 20px 0 150px;
}
.mobileAppBanner.odoo {
  background-image: url("../images/software-dev-houston/mainhoustonbg.webp");
  background-position: bottom center;
}
.mobileAppBanner.odoo .sdd-left h1 {
  color: #252525;
  font-size: 60px;
}
.mobileAppBanner.odoo .sdd-left p {
  color: #252525;
  font-weight: 500;
}
.mobileAppBanner.dallas {
  background-image: url("../images/software-dev-houston/mainhoustonbg.webp");
  background-position: bottom center;
}
.mobileAppBanner.dallas .sdd-left h1 {
  color: #252525;
  font-size: 45px;
}
.mobileAppBanner.dallas .sdd-left h1 span {
  color: #ed2a32;
}
.mobileAppBanner.dallas .sdd-left p {
  color: #252525;
  font-weight: 500;
}
.mobileAppBanner.dallas .sdd-left p a {
  color: #252525;
  text-decoration:underline !important;
}
.mobileAppBanner.dallas .sdd-left ul{
	padding-left: 18px
}
.mobileAppBanner.dallas .sdd-left ul li {
  color: #252525;
  font-weight: 500;
}

.mobileAppBanner.dallas .sdd-btn-wrapper {
  padding: 0;
}


.sdd-banner-form {
  background-color: #fff;
  background-image: url("../images/software-dev-dallas/form-bg.png");
  background-size: cover;
  border-radius: 30px;
  box-shadow: 3px 3px 10px rgba(0, 0, 0, 0.27);
  padding: 25px;
}
.mobileAppBanner.odoo .sdd-banner-form {
  background: linear-gradient(165.61deg, #252525 -6.98%, #ed2a32 105.49%);
  padding: 40px 30px;
  border-radius: 30px;
  box-shadow: none;
}
.mobileAppBanner.dallas .sdd-banner-form {
  background: linear-gradient(165.61deg, #252525 -6.98%, #ed2a32 105.49%);
  padding: 50px 30px;
  border-radius: 30px;
  box-shadow: none;
}
.sdd-banner-form .sdf-header {
  padding: 15px;
  text-align: center;
  margin-bottom: 30px;
}
.mobileAppBanner.odoo .sdd-banner-form .sdf-header {
  margin-bottom: 0;
}
.mobileAppBanner.dallas .sdd-banner-form .sdf-header {
  margin-bottom: 0;
}
.sdd-banner-form .sdf-header h2 {
  font-size: 28px;
  font-weight: 700;
  color: #ec1c24;
}
.mobileAppBanner.odoo .sdd-banner-form .sdf-header h2 {
  color: #fff;
  text-align: center;
}
.mobileAppBanner.dallas .sdd-banner-form .sdf-header h2 {
  color: #fff;
  text-align: center;
}
.sdd-banner-form .sdf-header p {
  font-size: 14px;
  color: #000;
  margin: 0;
}
.mobileAppBanner.odoo .sdd-banner-form .sdf-header p {
  color: #fff;
  text-align: center;
}
.mobileAppBanner.dallas .sdd-banner-form .sdf-header p {
  color: #fff;
  text-align: center;
}
.sdd-banner-form .sdf-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}
.sdd-banner-form .sdf-field {
  position: relative;
}
.sdd-banner-form .sdf-field .iti {
  width: 100%;
}
.sdd-banner-form .sdf-field .iti.iti--allow-dropdown {
  margin-bottom: 20px !important;
}

.sdd-banner-form .sdf-field input,
.sdd-banner-form .sdf-field textarea {
  width: 100%;
  border: 1px solid #dbdbdb;
  border-radius: 6px;
  padding: 15px;
  margin-bottom: 20px;
  color: #000;
  height: 43px;
  font-size: 14px;
  background-color: #fff;
  box-shadow: none !important;
  transition: border-color 0.25s;
}
.sdd-banner-form .sdf-field input::placeholder,
.sdd-banner-form .sdf-field textarea::placeholder {
  color: #0f0f0f;
  font-weight: 400;
  font-size: 14px;
}
.sdd-banner-form .sdf-field input:focus,
.sdd-banner-form .sdf-field textarea:focus {
  border-color: #ec1c24;
  outline: none;
}
.sdd-banner-form .sdf-field textarea {
  height: 90px;
  resize: none;
}
.sdd-banner-form .sdf-btm {
  font-size: 12px;
  color: #777;
  text-align: center;
  margin-top: 10px;
  margin-bottom: 0;
}
.mobileAppBanner.odoo .sdd-banner-form .sdf-btm {
  display: none;
}
.mobileAppBanner.dallas .sdd-banner-form .sdf-btm {
  display: none;
}
.mobileAppBanner.houston {
  background-image: url("../images/software-dev-houston/housbg-2.webp");
  background-position: bottom center;
  padding-bottom: 590px;
  padding-top: 50px;
}
.mobileAppBanner.houston .sdd-left h1 {
  color: #252525;
  font-size: 45px;
}
.mobileAppBanner.houston .sdd-left h1 span {
  color: #ed2a32;
}
.mobileAppBanner.houston .sdd-left h1 br {
  display: none;
}
.mobileAppBanner.houston .sdd-left p {
  color: #252525;
  font-weight: 500;
}
.mobileAppBanner.houston .sdd-left p a {
  color: #ed2a32;
}
.mobileAppBanner.houston .sdd-btn-wrapper {
  padding: 0;
}
.mobileAppBanner.houston .sdd-banner-form {
  background: linear-gradient(165.61deg, #252525 -6.98%, #ed2a32 105.49%);
  padding: 50px 30px;
  box-shadow: none;
}
.mobileAppBanner.houston .sdd-banner-form .sdf-header {
  margin-bottom: 0;
}
.mobileAppBanner.houston .sdd-banner-form .sdf-header h2 {
  color: #fff;
  text-align: left;
}
.mobileAppBanner.houston .sdd-banner-form .sdf-header p {
  color: #fff;
  text-align: left;
}
.mobileAppBanner.houston .sdd-banner-form .sdf-btm {
  display: none;
}
.formBtnLp {
  display: block;
  width: max-content !important;
  margin: 0px auto;
  background: #000;
  color: #fff;
  border: none;
  border-radius: 6px;
  font-size: 14px;
  font-weight: 500;
  padding: 10px 30px;
  cursor: pointer;
  transition: all 0.3s ease;
  text-align: center;
  text-transform: capitalize;
  position: relative;
  overflow: hidden;
  line-height: 1.5;
}
.formBtnLp:hover {
  background-color: #fff;
  color: #ed2a32;
}
.tnb-btn.whiteBorder {
  background: transparent;
  border: 2px solid #fff;
  color: #fff;
}
.tnb-btn.whiteBorder:hover:not(:disabled) {
  background: #fff;
  color: #000;
}
@media (max-width: 1440px) {
  .sdd-banner-form {
    padding: 15px;
  }
  .mobileAppBanner.odoo .sdd-banner-form {
    padding: 15px;
  }
  .mobileAppBanner.dallas .sdd-banner-form {
    padding: 15px;
  }
  .mobileAppBanner.houston .sdd-banner-form {
    padding: 20px 30px;
  }
  .sdd-banner-form .sdf-header {
    margin-bottom: 0;
  }
  .sdd-banner-form .sdf-header h2 {
    font-size: 22px;
    margin: 0;
  }
  .sdd-banner-form .sdf-header p {
    padding: 10px 0;
  }
}
@media (max-width: 1600px) {
  .mobileAppBanner.odoo {
    padding: 50px 0;
  }
  .mobileAppBanner.odoo .sdd-right {
    padding: 0 20px 0 60px;
  }
  .mobileAppBanner.odoo .sdd-left h1 {
    font-size: 45px;
  }
  .mobileAppBanner.dallas {
    padding: 50px 0;
  }
  .mobileAppBanner.dallas .sdd-right {
    padding: 0 20px 0 60px;
  }
  .mobileAppBanner.houston {
    padding-bottom: 490px;
  }
  .mobileAppBanner.houston .sdd-right {
    padding: 0 20px 0 60px;
  }
  .mobileAppBanner.houston .sdd-banner-form {
    padding: 40px 30px;
  }
}
@media (max-width: 1440px) {
  .mobileAppBanner .sdd-left {
    padding: 10px 0;
  }
  .mobileAppBanner .sdd-left h1 {
    font-size: 40px;
  }
  .mobileAppBanner .sdd-left p {
    padding: 20px 0;
  }
}
@media (max-width: 1400px) {
  .mobileAppBanner.odoo {
    padding-top: 35px;
  }
  .mobileAppBanner.dallas {
    padding-top: 35px;
  }
  .mobileAppBanner.houston {
    padding-top: 35px;
  }
}
@media (max-width: 1366px) {
  .mobileAppBanner .sdd-left h1 {
    font-size: 40px;
  }
  .mobileAppBanner.odoo .sdd-left h1 {
    font-size: 35px;
  }
  .mobileAppBanner .sdd-left p {
    padding: 10px 0;
  }
  .mobileAppBanner.houston {
    padding-top: 35px;
  }
  .mobileAppBanner.houston .sdd-left h1 {
    font-size: 35px;
  }
  .mobileAppBanner.houston .sdd-btn-wrapper {
    padding-top: 20px;
  }
  .mobileAppBanner.houston .sdd-banner-form {
    padding: 15px;
  }
}
@media (max-width: 1200px) {
  .mobileAppBanner .sdd-content {
    gap: 20px;
  }
  .mobileAppBanner .sdd-left h1 {
    font-size: 35px;
  }
  .mobileAppBanner.odoo .sdd-left h1 {
    font-size: 35px;
  }
  .mobileAppBanner.odoo .sdd-right {
    padding: 0 30px;
  }
  .mobileAppBanner.dallas .sdd-left h1 {
    font-size: 35px;
  }
  .mobileAppBanner.dallas .sdd-right {
    padding: 0 30px;
  }
  .mobileAppBanner.houston .sdd-left h1 {
    font-size: 35px;
  }
  .mobileAppBanner.houston .sdd-right {
    padding: 0 30px;
  }
  .mobileAppBanner.houston .sdd-banner-form {
    padding: 15px;
  }
  .mobileAppBanner.houston .sdd-banner-form .sdf-header h2 {
    text-align: center;
  }
  .mobileAppBanner.houston .sdd-banner-form .sdf-header p {
    text-align: center;
  }
  .mobileAppBanner .sdd-btn-wrapper {
    padding: 15px 0;
    justify-content: center;
  }
}
@media (max-width: 1199px) {
  .mobileAppBanner .sdd-content {
    grid-template-columns: 1fr;
  }
  .mobileAppBanner .sdd-left {
    padding: 30px 0;
  }
  .mobileAppBanner .sdd-right {
    padding: 0;
  }
}
@media (max-width: 1024px) {
  .mobileAppBanner .sdd-left {
    text-align: center;
  }
  .mobileAppBanner .sdd-btn-wrapper {
    justify-content: center;
  }
}
@media (max-width: 991px) {
  .mobileAppBanner .sdd-left {
    text-align: center;
    padding: 50px 0;
  }
}
@media (max-width: 575px) {
  .mobileAppBanner.odoo {
    padding-bottom: 80px;
  }
  .mobileAppBanner.dallas {
    padding-bottom: 80px;
  }
  .mobileAppBanner .sdd-left h1 {
    font-size: 30px;
  }
  .mobileAppBanner.odoo .sdd-left h1 {
    font-size: 28px;
  }
  .mobileAppBanner.dallas .sdd-left h1 {
    font-size: 28px;
  }
  .mobileAppBanner.houston {
    background-image: url("../images/software-dev-houston/mainhoustonbg.webp");
    padding-bottom: 80px;
  }
  .mobileAppBanner.houston .sdd-left h1 {
    font-size: 28px;
  }
  .mobileAppBanner.houston .sdd-right {
    padding: 0;
  }
  .sdd-banner-form {
    padding: 25px 10px;
  }
  .mobileAppBanner.odoo .sdd-banner-form {
    padding: 15px;
  }
  .mobileAppBanner.dallas .sdd-banner-form {
    padding: 15px;
  }
  .mobileAppBanner.houston .sdd-banner-form {
    padding: 15px;
  }
  .sdd-banner-form .sdf-header {
    padding: 0;
  }
  .sdd-banner-form .sdf-header h2 {
    font-size: 20px;
  }
}
@media (max-width: 480px) {
  .mobileAppBanner {
    background-image: none;
    background-color: #000;
  }
  .mobileAppBanner.odoo {
    background-color: #252525;
  }
  .mobileAppBanner .sdd-btn-wrapper {
    flex-direction: column;
    align-items: center;
  }
  .sdd-banner-form .sdf-row {
    grid-template-columns: 1fr;
  }
}

/* --------------------------------------------------------------------------
   What We Offer (.whatWeOffer) â€” mirrors WhatWeOffer.module.scss
   -------------------------------------------------------------------------- */
.whatWeOffer {
  padding: 50px 0;
}
.whatWeOffer .offer-info {
  text-align: center;
}
/* eyebrow label (was an h5): heading defaults it inherited are spelled out */
.whatWeOffer .offer-info .offer-eyebrow {
  margin-top: 0;
  margin-bottom: .5rem;
  line-height: 1.2;
  clear: both;
  color: #ec1c24;
  font-size: 14px;
  font-weight: 700;
}
.whatWeOffer .offer-info h2 {
  color: #000;
  font-size: 32px;
  font-weight: 700;
}
.whatWeOffer .offer-info h2 span {
  color: #ec1c24;
}
.whatWeOffer .offer-info p {
  color: #000;
  font-size: 16px;
  line-height: 32px;
}
.whatWeOffer .offer-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  grid-gap: 10px 30px;
  margin-top: 50px;
}
.whatWeOffer .offer-grid .box {
  text-align: center;
  color: #000;
  transition: 0.6s;
  padding: 20px 30px;
  min-height: 300px;
}
.whatWeOffer .offer-grid .box:hover {
  background: #ec1c24;
  color: #fff;
  box-shadow: 7.281px 5.29px 40.67px 8.33px rgba(0, 0, 0, 0.14);
}
.whatWeOffer .offer-grid .box img {
  filter: invert(18%) sepia(97%) saturate(7416%) hue-rotate(12deg)
    brightness(103%) contrast(124%);
}
.whatWeOffer .offer-grid .box:hover img {
  filter: invert(98%) sepia(9%) saturate(320%) hue-rotate(202deg)
    brightness(118%) contrast(100%);
}
.whatWeOffer.odoo .offer-grid .box:hover img {
  filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(7449%)
    hue-rotate(52deg) brightness(122%) contrast(99%);
}
.whatWeOffer .offer-grid .box h3 {
  font-size: 24px;
  font-weight: 700;
  margin: 10px 0;
}
.whatWeOffer .offer-grid .box p {
  font-size: 16px;
  line-height: 23px;
  font-weight: 400;
}
@media (max-width: 1200px) {
  .whatWeOffer .offer-info h2 {
    font-size: 30px;
  }
  .whatWeOffer .offer-grid .box {
    padding: 10px;
  }
  .whatWeOffer .offer-grid .box h3 {
    font-size: 20px;
  }
  .whatWeOffer .offer-grid .box p {
    font-size: 14px;
  }
}
@media (max-width: 991px) {
  .whatWeOffer .offer-info h2 {
    font-size: 26px;
  }
  .whatWeOffer .offer-grid {
    grid-gap: 10px;
  }
  .whatWeOffer .offer-grid .box h3 {
    font-size: 18px;
  }
  .whatWeOffer .offer-grid .box p {
    font-size: 14px;
  }
}
@media (max-width: 767px) {
  .whatWeOffer .offer-info h2 {
    font-size: 24px;
  }
  .whatWeOffer .offer-grid {
    grid-template-columns: 1fr;
    grid-gap: 20px;
  }
  .whatWeOffer .offer-grid .box {
    min-height: unset;
    padding: 10px;
  }
}

/* --------------------------------------------------------------------------
   Industry Features (.mainFeatures) â€” mirrors Features.module.scss
   -------------------------------------------------------------------------- */
.mainFeatures {
  padding: 60px 0;
}
.mainFeatures .features-info {
  text-align: center;
}
.mainFeatures .features-info .subheading {
  font-weight: 600;
  font-size: 14px;
  color: #ec1c24;
  text-transform: uppercase;
}
.mainFeatures .features-info h2 {
  font-weight: 700;
  font-size: 28px;
  color: #000;
}
.mainFeatures .features-info h2 span {
  color: #ec1c24;
}
.mainFeatures .features-info p {
  font-size: 16px;
  line-height: 24px;
  color: #000;
}
.mainFeatures .features-list {
  margin-top: 40px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 30px;
}
.mainFeatures .features-list .features-box {
  text-align: center;
  padding: 30px;
  width: 30%;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
}
.mainFeatures .features-list .features-box img {
  margin-bottom: 10px;
}
.mainFeatures .features-list .features-box h3.features-box-title {
  font-weight: 700;
  font-size: 20px;
  line-height: 26px;
  color: #000;
}
.mainFeatures .features-list .features-box p {
  font-size: 16px;
  line-height: 24px;
  color: #000;
  margin-bottom: 0;
}
.mainFeatures .features-list .features-box p a {
  text-decoration:underline !important;
  color: #000;
}
.mainFeatures .tabs {
  padding: 20px 0;
}
.mainFeatures .tabs ul {
  list-style: none;
  padding: 0;
  display: flex;
  justify-content: center;
  gap: 30px;
  margin-bottom: 0;
}
.mainFeatures .tabs ul li {
  font-size: 20px;
  text-align: center;
  color: #000;
  cursor: pointer;
}
.mainFeatures .tabs ul li.active-tab {
  color: #ec1c24;
  border-bottom: 2px solid #ec1c24;
}
.mainFeatures .tab-content {
  display: none;
}
.mainFeatures .active-tab-content {
  display: block;
}
.mainFeatures .content-list-grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 30px;
}
.mainFeatures .content-list-grid .features-box {
  text-align: center;
  padding: 30px;
  width: 30%;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
}
.mainFeatures .content-list-grid .features-box img {
  margin-bottom: 10px;
}
.mainFeatures .content-list-grid .features-box h4 {
  font-weight: bold;
  font-size: 20px;
  line-height: 26px;
  text-align: center;
  color: #000;
}
.mainFeatures .content-list-grid .features-box p {
  font-size: 16px;
  line-height: 24px;
  text-align: center;
  color: #000;
  margin-bottom: 0;
}
.mainFeatures.gray-bg {
  background-color: #f5f5f5;
}
@media (max-width: 1400px) {
  .mainFeatures .features-info h2 {
    font-size: 26px;
  }
  .mainFeatures .features-list .features-box h3.features-box-title,
  .mainFeatures .content-list-grid .features-box h4 {
    font-size: 18px;
  }
  .mainFeatures .features-list .features-box p,
  .mainFeatures .content-list-grid .features-box p {
    font-size: 15px;
  }
}
@media (max-width: 1200px) {
  .mainFeatures .features-list .features-box,
  .mainFeatures .content-list-grid .features-box {
    padding: 30px 20px;
  }
  .mainFeatures .features-list .features-box img,
  .mainFeatures .content-list-grid .features-box img {
    width: 50px;
    height: auto;
  }
  .mainFeatures .features-list .features-box h3.features-box-title,
  .mainFeatures .content-list-grid .features-box h4 {
    font-size: 16px;
    line-height: 1.6;
  }
  .mainFeatures .features-list .features-box p,
  .mainFeatures .content-list-grid .features-box p {
    font-size: 14px;
    line-height: 1.6;
  }
}
@media (max-width: 991px) {
  .mainFeatures .features-info h2 {
    font-size: 26px;
  }
  .mainFeatures .tabs ul {
    flex-wrap: wrap;
  }
  .mainFeatures .tabs ul li {
    font-size: 18px;
  }
  .mainFeatures .features-list .features-box,
  .mainFeatures .content-list-grid .features-box {
    width: 46%;
    padding: 30px 20px;
  }
}
@media (max-width: 767px) {
  .mainFeatures .features-info h2 {
    font-size: 24px;
  }
  .mainFeatures .tabs ul li {
    font-size: 16px;
  }
  .mainFeatures .features-list .features-box,
  .mainFeatures .content-list-grid .features-box {
    width: 100%;
    padding: 30px 20px;
  }
}
@media (max-width: 479px) {
  .mainFeatures .features-info h2 {
    font-size: 22px;
  }
}

/* --------------------------------------------------------------------------
   Main CTA Banner (.mainCtaBanner) â€” mirrors Cta.module.scss
   -------------------------------------------------------------------------- */
.mainCtaBanner {
  background: url("../images/cta-banner.webp");
  background-size: cover;
  padding: 60px 0;
  box-shadow: 0 0 10px rgb(0 0 0 / 53%);
  position: relative;
}
.mainCtaBanner .cta-grid {
  display: grid;
  grid-template-columns: 1fr 0.8fr;
  grid-gap: 100px;
  align-items: center;
}
.mainCtaBanner .left-cta-info h2 {
  font-size: 35px;
  font-weight: 700;
  text-transform: uppercase;
  margin-bottom: 15px;
  color: #fff;
}
.mainCtaBanner .left-cta-info h2 span {
  color: #ffff00;
}
.mainCtaBanner .left-cta-info p {
  color: #fff;
  font-size: 16px;
  margin: 0;
}
.mainCtaBanner .right-cta-info .btn-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-gap: 15px;
}
.mainCtaBanner .right-cta-info .btn-grid a,
.mainCtaBanner .right-cta-info .btn-grid .footer-custom-btn {
  color: #fff;
  font-size: 16px;
/*   text-transform: uppercase; */
  font-weight: 600;
  border: 2px solid #fff;
  width: 100%;
  padding: 12px;
  text-align: center;
  margin-bottom: 20px;
  transition: all ease 0.5s;
  text-decoration: none;
  background: transparent;
  cursor: pointer;
  display: block;
}
.mainCtaBanner .right-cta-info .btn-grid a:hover,
.mainCtaBanner .right-cta-info .btn-grid .footer-custom-btn:hover {
  background: #fff;
  color: #000;
}
.mainCtaBanner .right-cta-info .cta-full-btn {
  display: block;
  width: 100%;
  padding: 11px;
  color: #000;
  font-size: 18px;
  font-weight: 700;
  background: #fff;
  text-align: center;
  border: 2px solid transparent;
  transition: 0.5s;
  cursor: pointer;
}
.mainCtaBanner .right-cta-info .cta-full-btn:hover {
  background: transparent;
  color: #fff;
  border-color: #fff;
}
.mainCtaBanner.odoo .right-cta-info .btn-grid {
  grid-template-columns: 1fr;
}
@media (max-width: 1200px) {
  .mainCtaBanner .left-cta-info h2 {
    font-size: 30px;
  }
  .mainCtaBanner .right-cta-info .cta-full-btn {
    font-size: 16px;
  }
}
@media (max-width: 1100px) {
  .mainCtaBanner .left-cta-info h2 {
    font-size: 25px;
  }
  .mainCtaBanner .right-cta-info .btn-grid a,
  .mainCtaBanner .right-cta-info .btn-grid .footer-custom-btn {
    font-size: 15px;
  }
  .mainCtaBanner .right-cta-info .cta-full-btn {
    font-size: 15px;
  }
}
@media (max-width: 991px) {
  .mainCtaBanner .cta-grid {
    grid-template-columns: 1fr 0.9fr;
    grid-gap: 20px;
  }
  .mainCtaBanner .left-cta-info h2 {
    font-size: 22px;
  }
  .mainCtaBanner .left-cta-info p {
    font-size: 12px;
  }
  .mainCtaBanner .right-cta-info .cta-full-btn {
    font-size: 12px;
  }
}
@media (max-width: 767px) {
  .mainCtaBanner .cta-grid {
    grid-template-columns: 1fr;
    grid-gap: 30px;
  }
  .mainCtaBanner .left-cta-info {
    text-align: center;
  }
  .mainCtaBanner .left-cta-info h2 {
    font-size: 22px;
  }
  .mainCtaBanner .right-cta-info .cta-full-btn {
    font-size: 14px;
  }
}
@media (max-width: 479px) {
  .mainCtaBanner .left-cta-info h2 {
    font-size: 20px;
  }
  .mainCtaBanner .left-cta-info p {
    font-size: 13px;
  }
}
@media (max-width: 300px) {
  .mainCtaBanner .right-cta-info .btn-grid {
    grid-template-columns: 1fr;
    grid-gap: 0;
  }
}

/* --------------------------------------------------------------------------
   Houston CTA (.ctaSection) â€” mirrors HoustonCta.module.scss
   -------------------------------------------------------------------------- */
.ctaSection {
  padding: 60px 0 40px;
}
.ctaSection .hs-content {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  background-image: url("../images/software-dev-houston/h-bg.webp");
  background-repeat: no-repeat;
  background-size: cover;
  border-radius: 20px;
  padding: 0 0 0 35px;
  position: relative;
}
.ctaSection .hs-content .hs-right {
  padding: 40px 0;
}
.ctaSection .hs-content .hs-right .hs-eyebrow {
  font-weight: 700;
  font-size: 22px;
  line-height: 1.5;
  color: #fff;
}
.ctaSection .hs-content .hs-right h2 {
  color: #fff;
  font-weight: 700;
  font-size: 32px;
  text-transform: capitalize;
}
.ctaSection .hs-content .hs-right p {
  color: #fff;
  font-size: 19px;
  font-weight: 700;
  padding: 20px 0;
  margin: 0;
}
.ctaSection .hs-content .hs-left {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  height: 100%;
}
.ctaSection .hs-content .hs-left img {
  margin-top: -50px;
}
@media (max-width: 1366px) {
  .ctaSection .hs-content .hs-right h2 {
    font-size: 38px;
  }
  .ctaSection .hs-content .hs-right p {
    font-size: 17px;
  }
}
@media (max-width: 1200px) {
  .ctaSection .hs-content {
    gap: 15px;
  }
  .ctaSection .hs-content .hs-right h2 {
    font-size: 35px;
  }
  .ctaSection .hs-content .hs-right p {
    padding: 15px 0;
  }
}
@media (max-width: 991px) {
  .ctaSection .hs-content {
    display: flex;
    flex-direction: column;
    padding: 0;
  }
  .ctaSection .hs-content .hs-right {
    text-align: center;
    padding: 30px 25px;
  }
  .ctaSection .hs-content .hs-right h2 {
    font-size: 30px;
  }
  .ctaSection .hs-content .hs-right p {
    font-size: 16px;
  }
  .ctaSection .hs-content .hs-left img {
    margin-top: 0;
    width: 90%;
    height: auto;
  }
}
@media (max-width: 575px) {
  .ctaSection .hs-content .hs-right h2 {
    font-size: 25px;
  }
}

/* --------------------------------------------------------------------------
   FAQ Revamp (.faqRevampSection) â€” mirrors FaqRevamp.module.scss
   -------------------------------------------------------------------------- */
.faqRevampSection {
  padding: 30px 0 60px;
}
.faqRevampSection .frs-content {
  padding-bottom: 60px;
  text-align: center;
}
.faqRevampSection .frs-content h2 {
  font-size: 42px;
  font-weight: 800;
  color: #252525;
  line-height: 1.3;
}
.faqRevampSection .frs-content h2 span {
  color: #ed2a32;
}
.faqRevampSection .frs-faq .accordion {
  display: grid;
  grid-template-columns: 1fr;
  grid-gap: 20px;
  --bs-accordion-bg: #f5f5f5;
}
.faqRevampSection .frs-faq .accordion-item {
  border-radius: 10px;
  border: 1px solid #d7d7d7;
}
.faqRevampSection .frs-faq .accordion-button {
  color: #000;
  display: flex;
  align-items: center;
  gap: 20px;
  font-size: 16px;
  font-weight: 700;
  border-radius: 10px !important;
  box-shadow: none;
  background: #f5f5f5;
}
.faqRevampSection .frs-faq .accordion-button::after {
  background-image: url("../images/mobile-app-new/arrow-up.svg") !important;
  --bs-accordion-btn-icon-transform: rotate(80deg);
}
.faqRevampSection .frs-faq .accordion-button:not(.collapsed) {
  color: #252525;
  background-color: #f5f5f5;
  box-shadow: none;
}
.faqRevampSection .frs-faq .accordion-button:focus {
  box-shadow: none;
}
.faqRevampSection .frs-faq .accordion-body {
  font-size: 14px;
  font-weight: 400;
  padding: 0 20px 20px;
}
.faqRevampSection .frs-faq .accordion-body ul {
  padding-left: 20px;
}
.faqRevampSection .frs-faq .accordion-body a {
  color: #ec1c24;
  text-decoration: underline !important;
  text-underline-position: under;
}
.faqRevampSection .fr-hidden {
  display: none;
}
.faqRevampSection .frs-btn-wrapper {
  text-align: center;
  margin-top: 30px;
}
.faqRevampSection.houston .frs-content h3 {
  font-size: 38px;
}
@media (max-width: 1367px) {
  .faqRevampSection .frs-content h2 {
    font-size: 38px;
  }
}
@media (max-width: 1200px) {
  .faqRevampSection .frs-content h2 {
    font-size: 36px;
  }
  .faqRevampSection.houston .frs-content h3 {
    font-size: 36px;
  }
}
@media (max-width: 991px) {
  .faqRevampSection.houston .frs-content h3 {
    font-size: 30px;
  }
}
@media (max-width: 700px) {
  .faqRevampSection {
    padding: 30px 0;
  }
  .faqRevampSection .frs-content {
    padding-bottom: 30px;
  }
  .faqRevampSection .frs-content h2 {
    font-size: 25px;
  }
  .faqRevampSection.houston .frs-content h3 {
    font-size: 25px;
  }
}
@media (max-width: 575px) {
  .faqRevampSection .frs-faq .accordion-button {
    font-size: 14px;
    line-height: 1.5;
  }
}

/* --------------------------------------------------------------------------
   New Button LP (.new-btn-lp) â€” mirrors NewButtonLp.module.scss
   -------------------------------------------------------------------------- */
.new-btn-lp {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #fff;
  font-size: 14px;
  font-weight: 500;
  background: #000;
  border: none;
  border-radius: 6px;
  padding: 8px 20px;
  margin-top: 20px;
  text-decoration: none;
  cursor: pointer;
  position: relative;
  overflow: hidden;
  z-index: 1;
  transition: color 0.3s;
  line-height: 1.5;
}
.new-btn-lp::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    95.08deg,
    #000 -16.06%,
    #626262 28.18%,
    #626262 63.06%,
    #000 124.32%
  );
  opacity: 0;
  z-index: -1;
  transition: opacity 0.3s;
}
.new-btn-lp:hover::before {
  opacity: 1;
}
.new-btn-lp:hover {
  color: #fff;
}
.new-btn-lp svg {
  flex-shrink: 0;
  fill: #ed2a32;
  /* margin-left: 10px;
  font-size: 20px;
  width: 1em;
  height: 1em; */
}

/* --------------------------------------------------------------------------
   FAQ Load More Button (.faq-load-more-btn) â€” mirrors faqBtnLp
   -------------------------------------------------------------------------- */
.faq-load-more-btn {
  background-color: #ed2a32;
  border-radius: 200px;
  padding: 10px 35px;
  transition: all 0.3s;
  border: 1px solid #ed2a32;
  font-weight: 500;
  color: #fff;
  cursor: pointer;
  display: inline-block;
  font-size: 15px;
  text-transform: none;
  line-height: 1.5;
}
.faq-load-more-btn:hover {
  background-color: #fff;
  color: #ed2a32;
  border-color: #ed2a32;
}

/* ============================================================
   dedicatedLangDesc â€” mirrors DedicatedLanguageDescription.module.scss
   ============================================================ */
.dedicatedLangDesc {
  padding: 50px 0;
  background-image: url("../images/home-page/digital-bg.webp");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 40%;
}
.dedicatedLangDesc .content p {
  font-size: 16px;
  line-height: 24px;
  text-align: center;
  color: #3a3a3a;
}
.dedicatedLangDesc .content p span {
  color: #ed2a32;
}
.dedicatedLangDesc .images {
  display: flex;
  justify-content: space-evenly;
  align-items: center;
  gap: 20px;
  margin-top: 40px;
}
.dedicatedLangDesc .images img {
  width: auto;
  height: auto;
  transition: 0.5s;
  transform: scale(0.8);
}
.dedicatedLangDesc .images img:hover {
  transform: scale(0.9);
}
@media (max-width: 767px) {
  .dedicatedLangDesc {
    padding: 30px 0;
  }
  .dedicatedLangDesc .content p {
    font-size: 16px;
    line-height: 26px;
  }
  .dedicatedLangDesc .images {
    margin-top: 20px;
    flex-wrap: wrap;
  }
}

/* ============================================================
   engagementBanner â€” mirrors EngagementModel/Banner.module.scss
   ============================================================ */
.engagementBanner {
  padding: 80px 0;
  position: relative;
}
.engagementBanner .banner-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: start;
  gap: 130px;
}
.engagementBanner.staff .banner-grid {
  align-items: center;
}
.engagementBanner .content h1 {
  font-size: 42px;
  line-height: 50px;
  font-weight: 700;
  color: #000;
}
.engagementBanner .content > p {
  font-size: 16px;
  color: #000;
  font-weight: 400;
  line-height: 28px;
  margin-bottom: 15px;
}
.engagementBanner .content ul {
  list-style: none;
  padding: 0;
  margin-top: 15px;
}
.engagementBanner .content ul li {
  font-size: 16px;
  color: #000;
  font-weight: 400;
  line-height: 28px;
  position: relative;
  padding-left: 25px;
}
.engagementBanner .content ul li::before {
  content: "\2713";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  color: #ec1c24;
  font-weight: bold;
}
.engagementBanner .btns {
  display: flex;
  gap: 10px;
  margin-top: 20px;
}
.engagementBanner .btns a {
  font-size: 18px;
}
.engagementBanner .rewards {
  margin: 50px auto;
}
.engagementBanner .rewards ul {
  list-style: none;
  padding: 0;
  display: flex;
  align-items: center;
  gap: 20px;
}
.engagementBanner .rewards ul li {
  padding: 0;
}
.engagementBanner .rewards ul li::before {
  content: none;
}
.engagementBanner .rewards ul li img {
  max-width: 111px;
  height: auto;
  width: auto;
}
.engagementBanner .hire-form {
  background-color: #fff;
  padding: 25px;
  border-radius: 30px;
  box-shadow: 3px 3px 10px rgba(0, 0, 0, 0.27);
}
.engagementBanner .form-content {
  padding: 15px;
  text-align: center;
  margin-bottom: 30px;
}
.engagementBanner .form-content h2 {
  color: #ec1c24;
  font-size: 28px;
  font-weight: bold;
}
.engagementBanner .form-content p {
  color: #000;
  font-size: 16px;
  margin: 0;
}
.engagementBanner .inputField {
  width: 88%;
  margin: 0 auto;
  position: relative;
}
/* all standard fields */
.engagementBanner .inputField input:not([type="tel"]),
.engagementBanner .inputField select,
.engagementBanner .inputField textarea {
  border: 1px solid #eeecec !important;
  border-radius: 0 !important;
  padding: 15px !important;
  margin-bottom: 25px !important;
  color: #000 !important;
  width: 100% !important;
  box-shadow: none !important;
  background-color: #f9f9f9 !important;
  font-family: inherit !important;
  font-size: 15px !important;
  display: block !important;
  outline: none !important;
}
.engagementBanner .inputField input:not([type="tel"]),
.engagementBanner .inputField select {
  height: 50px !important;
}
.engagementBanner .inputField textarea {
  resize: none !important;
}
.engagementBanner .inputField input:not([type="tel"])::placeholder,
.engagementBanner .inputField textarea::placeholder {
  color: #000 !important;
}
.engagementBanner .inputField input:not([type="tel"]):focus,
.engagementBanner .inputField select:focus,
.engagementBanner .inputField textarea:focus {
  border-color: #eeecec !important;
  box-shadow: none !important;
  outline: none !important;
}
/* intl-tel-input phone field */
.engagementBanner .inputField .intl-tel-input,
.engagementBanner .inputField .iti {
  width: 100%;
  display: block;
  margin-bottom: 25px;
}
.engagementBanner .inputField input[type="tel"] {
  border: 1px solid #eeecec !important;
  border-radius: 0 !important;
  height: 50px !important;
  width: 100% !important;
  padding: 15px 15px 15px 52px !important;
  box-shadow: none !important;
  background-color: #f9f9f9 !important;
  font-family: inherit !important;
  font-size: 15px !important;
  color: #000 !important;
  outline: none !important;
}
.engagementBanner .inputField input[type="tel"]:focus {
  border-color: #eeecec !important;
  box-shadow: none !important;
  outline: none !important;
}
.engagementBanner .inputField input[type="tel"]::placeholder {
  color: #000 !important;
}
.engagementBanner .inputField .flag-container,
.engagementBanner .inputField .iti__flag-container {
  height: 50px;
}
.engagementBanner .inputField .selected-flag,
.engagementBanner .inputField .iti__selected-flag {
  background-color: #f9f9f9 !important;
  border-right: 1px solid #eeecec;
  border-radius: 0 !important;
}
.engagementBanner .inputField .selected-flag:hover,
.engagementBanner .inputField .selected-flag:focus,
.engagementBanner .inputField .iti__selected-flag:hover,
.engagementBanner .inputField .iti__selected-flag:focus {
  background-color: #eeecec !important;
}
.engagementBanner .inputField .country-list,
.engagementBanner .inputField .iti__country-list {
  border-radius: 0;
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.15);
  z-index: 999;
  margin: 0;
}
/* submit button */
.engagementBanner .bannerForm > button[type="submit"] {
  display: block;
  width: 85%;
  margin: 0 auto;
}
@media (max-width: 1400px) {
  .engagementBanner .banner-grid {
    gap: 100px;
  }
  .engagementBanner .form-content h2 {
    font-size: 26px;
  }
}
@media (max-width: 1200px) {
  .engagementBanner .banner-grid {
    gap: 50px;
  }
  .engagementBanner .content h1 {
    font-size: 30px;
  }
  .engagementBanner .form-content h2 {
    font-size: 24px;
  }
  .engagementBanner .btns a {
    font-size: 14px;
  }
}
@media (max-width: 1024px) {
  .engagementBanner .banner-grid {
    grid-template-columns: 1fr;
    gap: 60px;
  }
  .engagementBanner .content {
    text-align: center;
  }
  .engagementBanner .content h1 {
    font-size: 28px;
    line-height: 1.4;
  }
  .engagementBanner .content ul li {
    text-align: left;
  }
  .engagementBanner .btns {
    justify-content: center;
  }
  .engagementBanner .rewards ul {
    justify-content: center;
    flex-wrap: wrap;
  }
  .engagementBanner .hire-form {
    width: 80%;
    margin: auto;
  }
}
@media (max-width: 767px) {
  .engagementBanner .btns {
    display: grid;
    gap: 10px;
  }
  .engagementBanner .hire-form {
    width: 100%;
  }
  .engagementBanner .rewards ul li img {
    max-width: 90px;
  }
}
@media (max-width: 575px) {
  .engagementBanner .form-content h2 {
    font-size: 20px;
  }
  .engagementBanner .form-content p {
    font-size: 14px;
  }
}
@media (max-width: 400px) {
  .engagementBanner .inputField {
    width: 100%;
  }
  .engagementBanner .bannerForm > button[type="submit"] {
    width: 100%;
  }
}

/* ============================================================
   benefitsSection â€” mirrors EngagementModel/Benefits.module.scss
   ============================================================ */
.benefitsSection {
  padding: 60px 0;
}
.benefitsSection .bs-main-info {
  display: grid;
  grid-template-columns: 0.8fr 1fr;
  align-items: center;
  gap: 20px;
  padding-bottom: 50px;
}
.benefitsSection .bs-main-info h2 {
  font-weight: bold;
  font-size: 40px;
  letter-spacing: 0.05em;
  line-height: 1.2;
  text-align: left;
}
.benefitsSection .bs-main-info h2 span {
  color: #ed2a32;
}
.benefitsSection .bs-main-info p {
  font-size: 16px;
  line-height: 24px;
  text-align: left;
  color: #161616;
}
.benefitsSection .bs-para-div {
  margin-bottom: 50px;
}
.benefitsSection .bs-para-box p {
  font-size: 25px;
}
.benefitsSection .bs-third-para {
  margin-top: 50px;
}
.benefitsSection .bs-info-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 30px;
}
.benefitsSection .bs-box-list {
  display: flex;
  gap: 30px;
  align-items: center;
}
.benefitsSection .bs-image-box {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background-color: #161616;
  color: white;
  padding: 20px;
  border-radius: 15px;
  text-align: center;
  height: 100%;
  gap: 10px;
  min-width: 198px;
  transition: background-color 0.3s;
}
.benefitsSection .bs-image-box h5 {
  font-size: 15px;
  color: #fff;
  margin: 0;
}
.benefitsSection .bs-image-box:hover {
  background-color: #ed2a32;
}
.benefitsSection .bs-box-list > p {
  line-height: 1.5;
  margin: 0;
}
.benefitsSection .bs-box-list > p a{
	color: #404040;
	text-decoration:underline !important;
}
@media (max-width: 1440px) {
  .benefitsSection .bs-main-info h2 {
    font-size: 35px;
  }
}
@media (max-width: 1200px) {
  .benefitsSection .bs-main-info h2 {
    font-size: 30px;
  }
  .benefitsSection .bs-main-info p {
    font-size: 15px;
    line-height: 1.5;
  }
}
@media (max-width: 991px) {
  .benefitsSection .bs-main-info {
    grid-template-columns: 1fr;
    gap: 10px;
  }
  .benefitsSection .bs-main-info h2 {
    font-size: 28px;
    text-align: center;
  }
  .benefitsSection .bs-main-info p {
    font-size: 14px;
    text-align: center;
  }
  .benefitsSection .bs-para-box p {
    font-size: 20px;
  }
  .benefitsSection .bs-box-list {
    flex-direction: column;
  }
  .benefitsSection .bs-box-list > p {
    text-align: center;
  }
}
@media (max-width: 767px) {
  .benefitsSection .bs-main-info h2 {
    font-size: 26px;
  }
}
@media (max-width: 575px) {
  .benefitsSection .bs-main-info h2 {
    font-size: 24px;
  }
  .benefitsSection .bs-info-grid {
    grid-template-columns: 1fr;
  }
  .benefitsSection .bs-image-box {
    width: 100%;
  }
}

/* ============================================================
   stepsHire â€” mirrors EngagementModel/StepsHire.module.scss
   ============================================================ */
.stepsHire {
  padding: 60px 0;
}
.stepsHire .sh-content {
  text-align: center;
}
.stepsHire .sh-content span {
  font-size: 16px;
  font-weight: 600;
  color: #ed2a32;
  text-transform: uppercase;
}
.stepsHire .sh-content h2 {
  font-size: 28px;
  font-weight: bold;
  color: #000;
}
.stepsHire .sh-box {
  background-color: #f3f3f3;
  display: grid;
  grid-template-columns: 1fr 1fr;
  width: 80%;
  margin: 50px auto;
  border-radius: 20px;
  box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
  overflow: hidden;
}
.stepsHire .sh-box-image {
  background: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 50px 0;
}
.stepsHire .sh-box-image img {
  width: 100%;
  height: auto;
}
.stepsHire .sh-box-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 0 20px 0 50px;
}
.stepsHire .sh-box-content h3 {
  font-size: 28px;
  font-weight: bold;
  color: #ec1c24;
}
.stepsHire .sh-box-content ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.stepsHire .sh-box-content ul li {
  font-size: 16px;
  line-height: 24px;
  gap: 10px;
}
.stepsHire .sh-box-content ul li a {
  text-decoration:underline !important;
	color: #404040;
}
.stepsHire .sh-hire-btn {
  width: 40%;
  font-size: 16px;
  margin-top: 20px;
}
@media (max-width: 1199px) {
  .stepsHire .sh-hire-btn {
    width: 50%;
  }
}
@media (max-width: 1024px) {
  .stepsHire .sh-box-content {
    padding: 40px 20px;
  }
  .stepsHire .sh-hire-btn {
    width: 80%;
  }
}
@media (max-width: 991px) {
  .stepsHire .sh-box {
    grid-template-columns: 1fr;
    width: 100%;
  }
  .stepsHire .sh-box-content {
    align-items: center;
    padding: 40px 20px;
  }
  .stepsHire .sh-box-content h3 {
    text-align: center;
  }
  .stepsHire .sh-hire-btn {
    width: 60%;
    margin: 20px auto 0;
  }
}
@media (max-width: 767px) {
  .stepsHire .sh-content h2 {
    font-size: 22px;
  }
}
@media (max-width: 575px) {
  .stepsHire .sh-hire-btn {
    width: 100%;
  }
}

/* ============================================================
   hireSteps — mirrors Hire/StepsHire.module.scss
   ============================================================ */
.hireSteps {
  padding: 60px 0;
}
.hireSteps .content {
  text-align: center;
}
.hireSteps .content h5 {
  font-size: 16px;
  font-weight: 550;
  color: #ed2a32;
}
.hireSteps .content h3 {
  font-size: 28px;
  font-weight: bold;
  color: #000;
}
.hireSteps .content p {
  font-size: 16px;
  font-weight: 500;
  color: #000;
}
.hireSteps .box-list {
  position: relative;
}
.hireSteps .box-list::before {
  content: "";
  background-image: url("../images/hire/side-line.webp");
  position: absolute;
  width: 31px;
  height: 952px;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: bottom;
}
.hireSteps .box-list .box {
  background-color: #f9f9f9;
  padding: 50px;
  display: grid;
  grid-template-columns: 65% auto;
  align-items: center;
  gap: 30px;
  width: 80%;
  margin: 50px auto;
}
.hireSteps .box-list .box .box-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.hireSteps .box-list .box .box-content > p {
  font-size: 18px;
  font-weight: 600;
  margin-bottom: 8px;
}
.hireSteps .box-list .box .box-content h4 {
  font-size: 28px;
  font-weight: bold;
  color: #ec1c24;
  margin-bottom: 15px;
}
.hireSteps .box-list .box .box-content ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.hireSteps .box-list .box .box-content ul li {
  text-align: left;
  font-size: 16px;
  line-height: 29px;
  display: flex;
  gap: 15px;
}
.hireSteps .box-list .box .box-content ul li::before {
  content: "\2713";
  color: #ed2a32;
  display: block;
}
.hireSteps .box-list .box img {
  max-width: 100%;
  height: auto;
  display: block;
}
@media (max-width: 1024px) {
  .hireSteps .box-list::before {
    display: none;
  }
}
@media (max-width: 991px) {
  .hireSteps .box-list .box {
    grid-template-columns: 1fr;
    width: 100%;
    gap: 20px;
  }
  .hireSteps .box-list .box img {
    margin: 0 auto;
  }
}
@media (max-width: 767px) {
  .hireSteps .content h3 {
    font-size: 22px;
  }
  .hireSteps .content p {
    font-size: 14px;
  }
}
@media (max-width: 420px) {
  .hireSteps .content {
    padding-bottom: 0;
  }
  .hireSteps .box-list .box {
    padding: 25px;
  }
}
@media (max-width: 320px) {
  .hireSteps .box-list .box .box-content h4 {
    font-size: 22px;
  }
}
@media (max-width: 280px) {
  .hireSteps .box-list .box {
    padding: 50px 15px;
  }
}

/* ============================================================
   requirements â€” mirrors EngagementModel/Requirements.module.scss
   ============================================================ */
.requirements {
  padding: 60px 0;
  text-align: center;
}
.requirements .content {
  padding-bottom: 60px;
}
.requirements .content h5 {
  font-size: 14px;
  font-weight: 600;
  color: #ed2a32;
  text-transform: uppercase;
}
.requirements .content h3 {
  font-size: 28px;
  font-weight: bold;
  color: #000;
}
.requirements .content p {
  font-size: 16px;
  font-weight: 500;
  color: #000;
}
.requirements .dev-slider {
  position: relative;
}
.requirements .development-slider {
  padding: 10px;
}
.requirements .dev-box {
  padding: 15px 20px;
  box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
  border-radius: 10px;
  min-height: 350px;
  background-color: #fff;
  transition: background-color 0.3s;
}
.requirements .dev-box .imgHead {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
}
.requirements .dev-box .imgHead h4 {
  font-size: 20px;
  font-weight: bold;
  color: #ed2a32;
  text-align: left;
}
.requirements .dev-box ul {
  margin: 0;
  padding: 0 6px;
  list-style: disc;
  text-align: left;
}
.requirements .dev-box ul li {
  font-size: 16px;
  line-height: 35px;
}
.requirements .dev-box ul li a{
	color: #404040;
	text-decoration:underline !important;
}
.requirements .dev-box ul li::marker {
  color: #ed2a32;
}
.requirements .dev-box:hover {
  background-color: #ed2a32;
}
.requirements .dev-box:hover .imgHead h4 {
  color: #fff;
}
.requirements .dev-box:hover img {
  filter: brightness(0) invert(1);
}
.requirements .dev-box:hover ul li {
  color: #fff;
}
.requirements .dev-box:hover ul li a {
  color: #fff;
}
.requirements .dev-box:hover ul li::marker {
  color: #fff;
}
@media (max-width: 1400px) {
  .requirements {
    padding: 50px 0;
  }
  .requirements .content {
    padding-bottom: 50px;
  }
  .requirements .content h3 {
    font-size: 26px;
  }
  .requirements .development-slider {
    padding: 20px;
  }
}
@media (max-width: 1199px) {
  .requirements .development-slider {
    padding: 10px;
  }
  .requirements .dev-box {
    min-height: 300px;
  }
  .requirements .dev-box .imgHead h4 {
    font-size: 18px;
  }
  .requirements .dev-box ul li {
    font-size: 14px;
  }
}
@media (max-width: 767px) {
  .requirements {
    padding: 30px 0;
  }
  .requirements .content {
    padding-bottom: 30px;
  }
  .requirements .content h3 {
    font-size: 24px;
  }
  .requirements .dev-box {
    min-height: unset;
  }
  .requirements .dev-box ul li {
    font-size: 14px;
    line-height: 1.6;
  }
}

/* ============================================================
   tableTwo â€” mirrors EngagementModel/TableTwo.module.scss
   ============================================================ */
.tableTwo {
  padding: 60px 0;
  text-align: center;
}
.tableTwo.gray-bg {
  background-color: #e8e8e8;
}
.tableTwo .tt-content {
  padding-bottom: 50px;
}
.tableTwo .tt-content h5 {
  font-size: 16px;
  font-weight: 600;
  color: #ed2a32;
  text-transform: uppercase;
}
.tableTwo .tt-content h3 {
  font-size: 28px;
  font-weight: bold;
  color: #000;
}
.tableTwo .tt-content p {
  font-size: 16px;
  font-weight: 500;
  color: #000;
}
.tableTwo .tt-table {
  width: 100%;
  border-radius: 20px;
  overflow: hidden;
  border-collapse: separate;
  border-spacing: 0;
}
.tableTwo .tt-table th {
  background-color: #f3f3f3;
  color: #111;
  padding: 10px;
  font-size: 20px;
  font-weight: 500;
  border-right: 1px solid #e8e8e8;
  width: 5%;
  text-align: center;
  transition: 0.5s;
}
.tableTwo .tt-table th:first-child {
  text-align: left;
}
.tableTwo .tt-table th:last-child {
  border-right: 0;
}
.tableTwo .tt-table th:nth-child(2) {
  color: #ed2a32;
}
.tableTwo .tt-table td {
  padding: 20px;
  border-right: 1px solid #e8e8e8;
  text-align: center;
  transition: 0.5s;
  position: relative;
}
.tableTwo .tt-table td:first-child {
  text-align: left;
}
.tableTwo .tt-table td:last-child {
  border-right: 0;
}
.tableTwo .tt-table tbody tr:nth-child(even) td {
  background-color: #f3f3f3;
}
.tableTwo .tt-table tbody tr:nth-child(odd) td {
  background-color: #fff;
}
.tableTwo .tt-table tbody tr td:nth-child(2) {
  background-color: #ed2a32;
  border: 1px solid #f6f6f6;
}
.tableTwo .tt-table tbody tr td:nth-child(2) img {
  filter: brightness(0) invert(1);
}
.tableTwo .tt-table .tt-dash {
  font-size: 36px;
  line-height: 1;
  color: #ed2a32;
  display: inline-block;
}
.tableTwo .tt-table tbody tr td:nth-child(2) .tt-dash {
  color: #fff;
}
@media (max-width: 991px) {
  .tableTwo .tt-content h5 {
    font-size: 14px;
  }
  .tableTwo .tt-content h3 {
    font-size: 22px;
  }
  .tableTwo .tt-content p {
    font-size: 14px;
  }
  .tableTwo .tt-table th {
    font-size: 15px;
  }
  .tableTwo .tt-table td {
    padding: 15px;
    font-size: 14px;
  }
}
@media (max-width: 575px) {
  .tableTwo .tt-content h3 {
    font-size: 20px;
  }
  .tableTwo .tt-content p {
    font-size: 14px;
  }
  .tableTwo .tt-table th {
    font-size: 13px;
    padding: 8px 5px;
  }
  .tableTwo .tt-table td {
    font-size: 13px;
    padding: 10px 5px;
  }
}

/* ============================================================
   progressSection â€” mirrors AppDevelopment/Progress.module.scss
   ============================================================ */
.progressSection {
  padding: 60px 0;
}
.progressSection .ps2-main-info {
  text-align: center;
}
.progressSection .ps2-main-info h5 {
  font-size: 14px;
  font-weight: 600;
  color: #ec1c24;
  text-transform: uppercase;
}
.progressSection .ps2-main-info h2 {
  font-size: 28px;
  font-weight: bold;
  color: #000;
}
.progressSection .ps2-main-info p {
  font-size: 16px;
  font-weight: 500;
  color: #000;
}
.progressSection .ps2-info-box {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 30px;
  margin-top: 30px;
}
.progressSection .ps2-left-box {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  align-items: center;
  gap: 20px;
}
.progressSection .ps2-image-box {
  padding: 20px 10px;
  border-radius: 10px;
  background: #000;
  box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
  transition: background-color 0.3s;
  cursor: pointer;
  height: 100%;
  text-align: center;
}
.progressSection .ps2-image-box h6 {
  font-weight: 600;
  font-size: 14px;
  text-align: center;
  color: #fff;
  margin-top: 15px;
}
.progressSection .ps2-image-box.active {
  background: #ec1c24;
}
.progressSection .ps2-right-box p {
  font-size: 16px;
  line-height: 30px;
  text-align: left;
  color: #000;
}
.progressSection .ps2-tab-panel {
  display: none;
}
.progressSection .ps2-tab-panel.active {
  display: block;
}
/* dedicatedTeam modifier */
.progressSection.dedicatedTeam .ps2-left-box {
  grid-template-columns: 1fr 1fr;
}
.progressSection.dedicatedTeam .ps2-image-box {
  background: #fff;
}
.progressSection.dedicatedTeam .ps2-image-box h6 {
  color: #000;
}
.progressSection.dedicatedTeam .ps2-image-box.active {
  background: #ec1c24;
}
.progressSection.dedicatedTeam .ps2-image-box.active img {
  filter: brightness(0) invert(1);
}
.progressSection.dedicatedTeam .ps2-image-box.active h6 {
  color: #fff;
}
@media (max-width: 1200px) {
  .progressSection .ps2-main-info h2 {
    font-size: 26px;
  }
  .progressSection .ps2-right-box p {
    font-size: 15px;
  }
}
@media (max-width: 991px) {
  .progressSection .ps2-main-info h2 {
    font-size: 24px;
  }
  .progressSection .ps2-info-box {
    grid-template-columns: 1fr;
  }
  .progressSection .ps2-right-box p {
    font-size: 15px;
    line-height: 1.5;
    text-align: center;
  }
}
@media (max-width: 767px) {
  .progressSection .ps2-image-box h6 {
    font-size: 12px;
  }
  .progressSection .ps2-right-box p {
    font-size: 14px;
  }
}
@media (max-width: 479px) {
  .progressSection .ps2-main-info h2 {
    font-size: 22px;
  }
  .progressSection .ps2-left-box {
    grid-template-columns: 1fr 1fr;
  }
}

/* ============================================================
   caseSlider â€” mirrors AppDevelopment/CaseSlider.module.scss
   ============================================================ */
.caseSlider {
  padding: 60px 0;
}
.caseSlider.gray-bg {
  background-color: #f5f5f5;
}
.caseSlider .cs-main-info {
  text-align: center;
  padding-bottom: 40px;
}
.caseSlider .cs-main-info h2 {
  font-size: 28px;
  font-weight: bold;
  color: #000;
}
.caseSlider .cs-main-info h2 span {
  color: #ec1c24;
}
.caseSlider .cs-main-info p {
  font-size: 16px;
  color: #000;
  line-height: 24px;
}
.caseSlider .cs-cost-slider {
  padding-top: 40px;
  overflow: clip;
  height: 550px;
}
.caseSlider .cs-slider-box {
  position: relative;
}
.caseSlider .cs-slider-box h6 {
  position: absolute;
  right: 10px;
  top: 10px;
  background-color: #ec1c24;
  font-size: 12px;
  text-align: center;
  color: #fff;
  padding: 2px 6px;
  z-index: 2;
}
.caseSlider .cs-slider-box > img {
  border-radius: 10px;
  width: 100%;
  height: auto;
}
.caseSlider .cs-top-info {
  width: 90%;
  margin: 0 auto;
  padding: 20px;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0px 3px 12px rgba(0, 0, 0, 0.29);
  height: 280px;
  position: absolute;
  transform: translateY(-50%);
  left: 0;
  right: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: space-between;
  overflow: hidden;
}
.caseSlider .cs-top-info::before {
  content: "";
  background-image: url("../images/app-dev/custom-software/tnb-before.png");
  background-size: contain;
  background-repeat: no-repeat;
  width: 190px;
  height: 184px;
  position: absolute;
  top: 10px;
  right: 10px;
  pointer-events: none;
}
.caseSlider .cs-top-info > div:first-child {
  width: 100%;
}
.caseSlider .cs-top-info > div:first-child > img {
  transform: scale(0.8);
/*   width: auto;
  height: auto; */
  transform-origin: left;
}
.caseSlider .cs-top-info > div:first-child > p {
  font-size: 16px;
  line-height: 1.5;
  text-align: left;
  color: #000;
  max-height: 110px;
  overflow: auto;
  padding-right: 10px;
}
.caseSlider .cs-top-info > div:first-child > p::-webkit-scrollbar {
  width: 6px;
  background-color: #f5f5f5;
}
.caseSlider .cs-top-info > div:first-child > p::-webkit-scrollbar-thumb {
  border-radius: 10px;
  background-color: #ec1c24;
}
.caseSlider .cs-arrow-info {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
}
.caseSlider .cs-arrow-info h5 {
  margin: 0;
  font-size: 16px;
  font-weight: 500;
  text-align: left;
  color: #ec1c24;
  border: 0;
  background-color: transparent;
  padding: 0;
}
.caseSlider .cs-arrow-info h5 span {
  color: #000;
  display: block;
  font-weight: 400;
  font-size: 14px;
}
.caseSlider .cs-arrow-info a {
  color: #ec1c24;
  transition: 0.5s;
  flex-shrink: 0;
}
.caseSlider .cs-pagination {
  display: flex;
  justify-content: flex-end;
  margin-top: -32px;
  gap: 20px;
  position: relative;
  z-index: 100;
}
.caseSlider .cs-btn-prev,
.caseSlider .cs-btn-next {
  cursor: pointer;
  color: #ec1c24;
  transition: 0.3s;
}
.caseSlider .cs-btn-prev:hover,
.caseSlider .cs-btn-next:hover {
  color: #000;
}
@media (max-width: 1200px) {
  .caseSlider .cs-cost-slider {
    height: 500px;
  }
  .caseSlider .cs-top-info {
    padding: 15px;
  }
  .caseSlider .cs-arrow-info h5 {
    font-size: 14px;
  }
  .caseSlider .cs-top-info > div:first-child > img {
    transform: scale(0.6);
  }
}
@media (max-width: 767px) {
  .caseSlider .cs-main-info h2 {
    font-size: 24px;
    text-align: center;
  }
  .caseSlider .cs-cost-slider {
    height: auto;
  }
  .caseSlider .cs-top-info {
    position: relative;
    transform: none;
    width: 100%;
    height: auto;
    margin-top: 15px;
  }
  .caseSlider .cs-pagination {
    display: none;
  }
}
@media (max-width: 479px) {
  .caseSlider .cs-main-info h2 {
    font-size: 22px;
  }
}

/* ============================================================
   twoBoxes.redHover â€” NextGen variant red-hover on boxes only
   ============================================================ */
.twoBoxes.redHover .main-tab .mainDiv:hover {
  background-color: #ec1c24;
}
.twoBoxes.redHover .main-tab .mainDiv:hover h4 {
  color: #fff;
}
.twoBoxes.redHover .main-tab .mainDiv:hover p {
  color: #fff;
}

.twoBoxes.redHover .main-tab .mainDiv:hover p a {
  color: #fff;
	text-decoration:underline !important;
}
.twoBoxes.redHover .main-tab .mainDiv:hover img {
  filter: brightness(0) invert(1);
}

/* ============================================================
   twoBoxes.engagement â€” EngagementModel/TwoBoxes variant
   bg-image, column mainBox, white headings, decorative ::before border
   ============================================================ */
.twoBoxes.engagement {
  background-image: url("../images/engagement-model/dedicated-team/bg-img.webp");
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
.twoBoxes.engagement .main-info {
  text-align: center;
  margin-bottom: 40px;
}
.twoBoxes.engagement .main-info h4 {
  color: #fff;
}
.twoBoxes.engagement .main-info h2 {
  color: #fff;
}
.twoBoxes.engagement .tnbLogo {
  text-align: center;
  margin-bottom: 50px;
}
.twoBoxes.engagement .main-tab {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}
.twoBoxes.engagement .main-tab::before {
  content: "";
  position: absolute;
  height: 850px;
  width: 40%;
  background-image: url("../images/engagement-model/dedicated-team/border.png");
  background-repeat: no-repeat;
  background-size: 100% 100%;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  pointer-events: none;
  z-index: 0;
}
.twoBoxes.engagement .main-tab .mainDiv {
  background: #fff;
  border-radius: 10px;
  padding: 20px;
  box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.11);
  z-index: 1;
}
.twoBoxes.engagement .main-tab .mainDiv .mainBox {
  flex-direction: column;
  align-items: center;
}
.twoBoxes.engagement .main-tab .mainDiv h4 {
  font-size: 20px;
  color: #000;
  text-align: center;
  margin: 0;
}
.twoBoxes.engagement .main-tab .mainDiv p {
  margin-top: 0;
  text-align: center;
  font-size: 16px;
  color: #000;
}
.twoBoxes.engagement .main-tab .mainDiv:hover {
  background: #f8f8f8;
  color: #ed2a32;
}
.twoBoxes.engagement .main-tab .mainDiv:hover img {
  filter: invert(24%) sepia(81%) saturate(2598%) hue-rotate(341deg)
    brightness(93%) contrast(100%);
}
.twoBoxes.engagement .clientLogo {
  text-align: center;
  margin-top: 50px;
}
.twoBoxes.engagement.redHover .main-tab .mainDiv:hover {
  background-color: #ed2a32;
  color: #fff;
}
.twoBoxes.engagement.redHover .main-tab .mainDiv:hover p {
  color: #fff;
}
.twoBoxes.engagement.redHover .main-tab .mainDiv:hover img {
  filter: brightness(0) invert(1);
}
@media (max-width: 767px) {
  .twoBoxes.engagement .main-info h2 {
    font-size: 24px;
  }
  .twoBoxes.engagement .main-tab {
    grid-template-columns: 1fr;
  }
  .twoBoxes.engagement .main-tab::before {
    display: none;
  }
}
@media (max-width: 575px) {
  .twoBoxes.engagement .main-tab .mainDiv h4 {
    font-size: 16px;
  }
  .twoBoxes.engagement .main-tab .mainDiv p {
    font-size: 14px;
  }
}

/* --------------------------------------------------------------------------
   Proposal modifiers
   -------------------------------------------------------------------------- */
.proposal.hireHead h2 {
  line-height: 50px;
}

/* --------------------------------------------------------------------------
   Engagement Table (engagement-table.php / EngagementModel/Table)
   -------------------------------------------------------------------------- */
.engagementTable {
  padding: 60px 0;
  text-align: center;
}
.engagementTable .et-content {
  padding-bottom: 50px;
}
.engagementTable .et-content h5 {
  font-size: 16px;
  font-weight: 600;
  color: #ed2a32;
  text-transform: uppercase;
}
.engagementTable .et-content h3 {
  font-size: 28px;
  font-weight: bold;
  color: #000;
}
.engagementTable .et-content p {
  font-size: 16px;
  font-weight: 500;
  color: #000;
}
.engagementTable .et-table {
  width: 100%;
  border-radius: 20px;
  overflow: hidden;
  border-collapse: separate;
  border-spacing: 0;
}
.engagementTable .et-table thead tr {
  font-size: 20px;
}
.engagementTable .et-table thead th {
  background-color: #f3f3f3;
  color: #ed2a32;
  padding: 10px;
  font-size: 20px;
  font-weight: 500;
  border-right: 1px solid #e8e8e8;
  width: 25%;
  transition: 0.5s;
}
.engagementTable .et-table thead th:last-child {
  border-right: 0;
}
.engagementTable .et-table thead th img {
  max-width: 180px;
  height: auto;
}
.engagementTable .et-table tbody tr:nth-child(even) td {
  background-color: #f3f3f3;
}
.engagementTable .et-table tbody tr:nth-child(odd) td {
  background-color: #fff;
}
.engagementTable .et-table tbody td {
  border-right: 1px solid #e8e8e8;
  padding: 20px;
  transition: 0.5s;
  position: relative;
}
.engagementTable .et-table tbody td:last-child {
  border-right: 0;
}
@media (max-width: 991px) {
  .engagementTable .et-content h5 {
    font-size: 14px;
  }
  .engagementTable .et-content h3 {
    font-size: 22px;
  }
  .engagementTable .et-content p {
    font-size: 14px;
  }
  .engagementTable .et-table thead th {
    font-size: 15px;
  }
  .engagementTable .et-table tbody td {
    padding: 15px;
    font-size: 14px;
  }
}
@media (max-width: 575px) {
  .engagementTable .et-content h3 {
    font-size: 20px;
  }
  .engagementTable .et-table thead th {
    font-size: 14px;
  }
  .engagementTable .et-table tbody td {
    font-size: 13px;
  }
}

/* --------------------------------------------------------------------------
   Development Price (development-price.php / EngagementModel/DevelopmentPrice)
   -------------------------------------------------------------------------- */
.developmentPrice {
  background: #fff;
  padding: 60px 0;
}
.developmentPrice.gray-bg {
  background: #f5f5f5;
}
.developmentPrice .dp-main-info {
  text-align: center;
  margin-bottom: 40px;
}
.developmentPrice .dp-main-info h4 {
  font-weight: 600;
  font-size: 14px;
  color: #ec1c24;
  text-transform: uppercase;
}
.developmentPrice .dp-main-info h2 {
  font-weight: bold;
  font-size: 28px;
  color: #000;
}
.developmentPrice .dp-main-info p {
  font-size: 16px;
  line-height: 24px;
  color: #000;
}
.developmentPrice .dp-grid-info {
  margin: 10px auto;
}
.developmentPrice .dp-grid-info .dp-image-info {
  margin: 40px 0;
  text-align: center;
}
.developmentPrice .dp-grid-info .dp-image-info img {
  max-width: 100%;
  height: auto;
}
.developmentPrice .dp-grid-info h4 {
  font-weight: bold;
  font-size: 22px;
  line-height: 30px;
  color: #ec1c24;
  margin: 10px 0;
}
.developmentPrice .dp-grid-info p {
  font-size: 16px;
  line-height: 30px;
  color: #000;
  margin: 0;
}
.developmentPrice .dp-grid-info ul {
  margin-top: 10px;
	padding-left:20px;
}
.developmentPrice .dp-grid-info ul li::marker {
  color: #ec1c24;
}
.developmentPrice .dp-grid-info ul li {
  font-size: 16px;
  line-height: 1.8;
}
@media (max-width: 991px) {
  .developmentPrice .dp-main-info h4 {
    font-size: 14px;
  }
  .developmentPrice .dp-main-info h2 {
    font-size: 24px;
  }
  .developmentPrice .dp-grid-info h4 {
    font-size: 18px;
  }
  .developmentPrice .dp-grid-info p {
    font-size: 15px;
    line-height: 1.6;
  }
}
@media (max-width: 767px) {
  .developmentPrice .dp-main-info h2 {
    font-size: 24px;
  }
  .developmentPrice .dp-grid-info h4 {
    font-size: 18px;
    text-align: center;
  }
  .developmentPrice .dp-grid-info p {
    font-size: 14px;
  }
  .developmentPrice .dp-grid-info ul li {
    font-size: 14px;
  }
}

/* --------------------------------------------------------------------------
   Scale With Experts
   -------------------------------------------------------------------------- */
.ScaleWithExperts {
  padding: 80px 0;
  position: relative;
}
.ScaleWithExperts .main h2 {
  font-weight: 600;
  font-size: 44px;
  line-height: 50px;
  text-align: center;
  color: #000;
  margin-bottom: 20px;
}
.ScaleWithExperts .main p {
  font-weight: 500;
  font-size: 18px;
  line-height: 27px;
  text-align: center;
  color: #494949;
  width: 70%;
  margin: 0 auto 0;
}
.ScaleWithExperts .main p a {
  color: #ec1c24;
}
.ScaleWithExperts .listing {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  gap: 20px;
  margin-top: 50px;
}
.ScaleWithExperts .listing .single {
  padding: 20px;
  background-color: #fff;
  border: 1px solid #00000036;
  border-radius: 10px;
  transition: border-color 0.2s;
}
.ScaleWithExperts .listing .single:hover {
  border-color: #ec1c24;
}
.ScaleWithExperts .listing .single .icon {
  margin-bottom: 20px;
}
.ScaleWithExperts .listing .single h3 {
  font-size: 22px;
  font-weight: 600;
  color: #000;
}
.ScaleWithExperts .listing .single p {
  font-size: 16px;
  color: #666;
  font-weight: 500;
  line-height: 25px;
}
.ScaleWithExperts .listing .single p a {
  color: #666;
  text-decoration:underline !important;
}
.ScaleWithExperts .btnWrapper {
  text-align: center;
  margin-top: 30px;
}
@media (max-width: 1199px) {
  .ScaleWithExperts .main h2 {
    font-size: 35px;
  }
  .ScaleWithExperts .main p {
    font-size: 18px;
    width: 100%;
  }
  .ScaleWithExperts .listing {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 991px) {
  .ScaleWithExperts {
    padding: 50px 0;
  }
  .ScaleWithExperts .main h2 {
    font-size: 30px;
  }
}
@media (max-width: 767px) {
  .ScaleWithExperts .main h2 {
    font-size: 25px;
  }
}
@media (max-width: 479px) {
  .ScaleWithExperts .main h2 {
    font-size: 22px;
  }
  .ScaleWithExperts .listing {
    grid-template-columns: 1fr;
  }
}

/* --------------------------------------------------------------------------
   Why Staff Augmentation
   -------------------------------------------------------------------------- */
.WhyStaffAugmentation {
  padding: 80px 0;
}
.WhyStaffAugmentation .headContent {
  width: 70%;
  display: flex;
  flex-direction: column;
  gap: 15px;
  margin-bottom: 20px;
}
.WhyStaffAugmentation .headContent h2 {
  font-weight: 600;
  font-size: 44px;
  line-height: 1.2;
  color: #000;
  margin: 0;
}
.WhyStaffAugmentation .headContent p {
  font-weight: 500;
  font-size: 18px;
  line-height: 1.6;
  color: #494949;
  margin: 0;
}
.WhyStaffAugmentation .headContent p a {
  text-decoration:underline !important;
  color: #494949;
}
.WhyStaffAugmentation .headContent h3 {
  font-weight: 600;
  font-size: 20px;
  line-height: 1.1;
  position: relative;
  padding-left: 10px;
  color: #000;
  margin: 0;
}
.WhyStaffAugmentation .headContent h3::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 3px;
  height: 110%;
  background-color: #ec1c24;
}
.WhyStaffAugmentation .content .tableWrapper {
  border-radius: 15px;
  background-color: #fbfbfb;
  display: grid;
  grid-template-columns: 1fr 1fr;
}
.WhyStaffAugmentation .content .tableWrapper .tableHead {
  padding: 20px;
  border-bottom: 1px solid #d9d9d9;
}
.WhyStaffAugmentation .content .tableWrapper .tableHead h3 {
  font-weight: 600;
  font-size: 34px;
  line-height: 1;
  text-align: center;
  color: #e80101;
  margin: 0;
}
.WhyStaffAugmentation .content .tableWrapper .tableBody {
  padding: 20px 30px;
}
.WhyStaffAugmentation .content .tableWrapper .tableBody h4 {
  font-weight: 600;
  font-size: 20px;
  line-height: 1.4;
  color: #000;
  margin-top: 20px;
  width: 70%;
}
.WhyStaffAugmentation .content .tableWrapper .tableBody ul {
  margin-top: 30px;
  list-style: none;
  padding: 0;
}
.WhyStaffAugmentation .content .tableWrapper .tableBody ul li {
  padding-left: 30px;
  margin-bottom: 30px;
}
.WhyStaffAugmentation .content .tableWrapper .tableBody ul li span {
  font-weight: 600;
  font-size: 20px;
  line-height: 1.5;
  color: #000;
  position: relative;
  display: block;
  margin: 0 0 5px;
}
.WhyStaffAugmentation .content .tableWrapper .tableBody ul li span svg {
  position: absolute;
  left: -30px;
  top: 0;
  bottom: 0;
  margin: auto;
  font-size: 20px;
  color: #ffae00;
}
.WhyStaffAugmentation .content .tableWrapper .tableBody ul li p {
  font-weight: 400;
  font-size: 18px;
  line-height: 1.4;
  color: #666;
  margin: 0;
}
.WhyStaffAugmentation .content .tableWrapper .leftSide {
  border-right: 1px solid #d9d9d9;
}
.WhyStaffAugmentation .content .tableWrapper .leftSide .tableHead h3 {
  color: #000;
}
.WhyStaffAugmentation .content .tableWrapper .leftSide .tableBody ul li span svg {
  color: #ec1c24;
}
.WhyStaffAugmentation .content .buttonWrapper {
  padding-top: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (max-width: 1199px) {
  .WhyStaffAugmentation {
    padding: 50px 0;
  }
  .WhyStaffAugmentation .headContent h2 {
    font-size: 35px;
  }
  .WhyStaffAugmentation .headContent p {
    font-size: 16px;
  }
  .WhyStaffAugmentation .content .tableWrapper .tableBody h4 {
    font-size: 16px;
    width: 100%;
  }
  .WhyStaffAugmentation .content .tableWrapper .tableBody ul li span {
    font-size: 16px;
  }
  .WhyStaffAugmentation .content .tableWrapper .tableBody ul li p {
    font-size: 14px;
  }
}
@media (max-width: 991px) {
  .WhyStaffAugmentation .headContent {
    width: 100%;
  }
  .WhyStaffAugmentation .headContent h2 {
    font-size: 30px;
  }
}
@media (max-width: 767px) {
  .WhyStaffAugmentation .headContent h2 {
    font-size: 25px;
  }
  .WhyStaffAugmentation .headContent p {
    font-size: 15px;
  }
  .WhyStaffAugmentation .content .tableWrapper {
    grid-template-columns: 1fr;
  }
  .WhyStaffAugmentation .content .tableWrapper .tableHead {
    border: 1px solid #d9d9d9;
  }
  .WhyStaffAugmentation .content .tableWrapper .leftSide {
    border-right: none;
  }
  .WhyStaffAugmentation .content .tableWrapper .tableBody {
    padding: 10px;
  }
}
@media (max-width: 479px) {
  .WhyStaffAugmentation .headContent h2 {
    font-size: 20px;
  }
  .WhyStaffAugmentation .content .tableWrapper .tableHead h3 {
    font-size: 18px;
  }
}

/* --------------------------------------------------------------------------
   Leading Tech Partner
   -------------------------------------------------------------------------- */
.LeadingTechPartner {
  padding: 80px 0;
  background-color: #000;
}
.LeadingTechPartner .content {
  display: grid;
  grid-template-columns: 1fr 1.3fr;
  gap: 20px;
}
.LeadingTechPartner .content .leftSide {
  padding: 50px 0;
}
.LeadingTechPartner .content .leftSide h2 {
  font-weight: 600;
  font-size: 44px;
  line-height: 1.3;
  color: #fff;
  width: 80%;
  margin-bottom: 15px;
}
.LeadingTechPartner .content .leftSide p {
  font-weight: 400;
  font-size: 16px;
  line-height: 1.6;
  color: #bdbdbd;
  width: 80%;
  margin: 0;
}
.LeadingTechPartner .content .rightSide {
  position: relative;
}
.LeadingTechPartner .content .rightSide::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 100%;
  height: 1px;
  background: linear-gradient(
    90deg,
    rgba(0, 0, 0, 0) 0%,
    rgba(86, 86, 86, 0.59) 30%,
    rgba(86, 86, 86, 1) 60%,
    rgba(0, 0, 0, 1) 100%
  );
}
.LeadingTechPartner .content .rightSide ul.awardList {
  grid-template-columns: 1fr 1fr 1fr;
  list-style: none;
  display: grid;
  padding: 0;
  margin: 0;
  position: relative;
  height: 100%;
}
.LeadingTechPartner .content .rightSide ul.awardList::before {
  content: "";
  position: absolute;
  left: 67%;
  width: 1px;
  height: 100%;
  background: linear-gradient(
    0deg,
    rgba(0, 0, 0, 0) 0%,
    rgba(86, 86, 86, 0.59) 30%,
    rgba(86, 86, 86, 1) 60%,
    rgba(0, 0, 0, 1) 100%
  );
}
.LeadingTechPartner .content .rightSide ul.awardList::after {
  content: "";
  position: absolute;
  left: 33%;
  width: 1px;
  height: 100%;
  background: linear-gradient(
    0deg,
    rgba(0, 0, 0, 0) 0%,
    rgba(86, 86, 86, 0.59) 30%,
    rgba(86, 86, 86, 1) 60%,
    rgba(0, 0, 0, 1) 100%
  );
}
.LeadingTechPartner .content .rightSide ul.awardList li {
  position: relative;
}
.LeadingTechPartner .content .rightSide ul.awardList li img {
  object-fit: contain;
  padding: 15px;
  width: 100%;
  height: auto;
}
@media (max-width: 1199px) {
  .LeadingTechPartner {
    padding: 50px 0;
  }
  .LeadingTechPartner .content .leftSide h2 {
    font-size: 30px;
    width: 95%;
  }
  .LeadingTechPartner .content .leftSide p {
    font-size: 15px;
    width: 95%;
  }
}
@media (max-width: 767px) {
  .LeadingTechPartner .content {
    grid-template-columns: 1fr;
    gap: 10px;
  }
  .LeadingTechPartner .content .leftSide {
    padding: 20px 0;
  }
  .LeadingTechPartner .content .leftSide h2 {
    font-size: 25px;
    width: 100%;
  }
  .LeadingTechPartner .content .rightSide {
    height: 300px;
  }
}
@media (max-width: 479px) {
  .LeadingTechPartner .content .leftSide h2 {
    font-size: 22px;
  }
  .LeadingTechPartner .content .rightSide {
    height: 400px;
  }
  .LeadingTechPartner .content .rightSide::before {
    content: none;
  }
  .LeadingTechPartner .content .rightSide ul.awardList {
    grid-template-columns: 1fr 1fr;
  }
  .LeadingTechPartner .content .rightSide ul.awardList::before,
  .LeadingTechPartner .content .rightSide ul.awardList::after {
    content: none;
  }
}

/* --------------------------------------------------------------------------
   Streamlined
   -------------------------------------------------------------------------- */
.Streamlined {
  padding: 80px 0;
  position: relative;
}
.Streamlined .headContent h2 {
  font-weight: 600;
  font-size: 44px;
  line-height: 50px;
  text-align: center;
  color: #000;
  margin: 0 auto 20px;
  width: 70%;
}
.Streamlined .headContent p {
  font-weight: 500;
  font-size: 18px;
  line-height: 27px;
  text-align: center;
  color: #494949;
  width: 70%;
  margin: 0 auto;
}
.Streamlined .listing {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 10px;
  margin-top: 50px;
}
.Streamlined .listing .listItem .heading {
  clip-path: polygon(95% 0, 100% 50%, 95% 100%, 0% 100%, 5% 50%, 0% 0%);
  padding: 20px;
  text-align: center;
  font-weight: 600;
  font-size: 20px;
  line-height: 1.2;
}
.Streamlined .listing .listItem .heading-0 {
  clip-path: polygon(95% 0, 100% 50%, 95% 100%, 0% 100%, 0% 50%, 0% 0%);
  background-color: #ffe6e6;
}
.Streamlined .listing .listItem .heading-1 {
  background-color: #ffcdcd;
}
.Streamlined .listing .listItem .heading-2 {
  color: #fff;
  background-color: #ec1c24;
}
.Streamlined .listing .listItem ul {
  list-style: none;
  padding-left: 40px;
  padding-top: 30px;
}
.Streamlined .listing .listItem ul li {
  margin-bottom: 30px;
  position: relative;
}
.Streamlined .listing .listItem ul li::before {
  content: "";
  position: absolute;
  background-image: url("../images/revamp/checkmark.png");
  left: -35px;
  top: 0;
  width: 19px;
  height: 19px;
  background-size: contain;
  background-repeat: no-repeat;
}
.Streamlined .listing .listItem ul li p {
  font-weight: 400;
  font-size: 18px;
  line-height: 24px;
  margin: 0;
}
.Streamlined .btnWrapper {
  text-align: center;
  margin-top: 30px;
}
@media (max-width: 1199px) {
  .Streamlined .headContent h2 {
    font-size: 35px;
    width: 80%;
  }
  .Streamlined .headContent p {
    font-size: 16px;
    width: 80%;
  }
  .Streamlined .listing .listItem .heading {
    font-size: 16px;
  }
}
@media (max-width: 991px) {
  .Streamlined .headContent h2 {
    font-size: 30px;
    width: 100%;
  }
  .Streamlined .headContent p {
    font-size: 16px;
    width: 100%;
  }
}
@media (max-width: 767px) {
  .Streamlined {
    padding: 50px 0;
  }
  .Streamlined .listing {
    grid-template-columns: 1fr;
  }
  .Streamlined .listing .listItem .heading {
    font-size: 18px;
  }
}
@media (max-width: 479px) {
  .Streamlined .headContent h2 {
    font-size: 25px;
  }
  .Streamlined .headContent p {
    font-size: 15px;
  }
}

/* --------------------------------------------------------------------------
   Industry Slider
   -------------------------------------------------------------------------- */
.IndustrySlider {
  padding: 80px 0;
}
.IndustrySlider .mainGrid {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.IndustrySlider .mainGrid .left h2 {
  font-size: 44px;
  font-weight: 600;
  color: #000;
  margin-bottom: 20px;
  width: 70%;
}
.IndustrySlider .mainGrid .left p {
  font-weight: 500;
  font-size: 18px;
  line-height: 1.6;
  color: #494949;
  width: 70%;
  margin: 0;
}
.IndustrySlider .mainGrid .right .pagination {
  display: flex;
  gap: 20px;
}
.IndustrySlider .mainGrid .right .pagination .btn {
  border: 1px solid #a4a4a4;
  width: 60px;
  height: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 60px;
  cursor: pointer;
  transition:
    color 0.2s,
    border-color 0.2s;
}
.IndustrySlider .mainGrid .right .pagination .btn:hover {
  color: #ec1c24;
  border-color: #ec1c24;
}
.IndustrySlider .sliderSec {
  margin-top: 50px;
}
.IndustrySlider .sliderSec .sliderInfo {
  height: 310px;
  border-radius: 15px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 20px;
  position: relative;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
.IndustrySlider .sliderSec .sliderInfo::before {
  content: "";
  position: absolute;
  background: linear-gradient(
    0deg,
    rgba(0, 0, 0, 0.6) 0%,
    rgba(0, 0, 0, 0) 100%
  );
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  border-radius: 15px;
}
.IndustrySlider .sliderSec .sliderInfo h4 {
  font-weight: 600;
  font-size: 24px;
  line-height: 1.1;
  color: #fff;
  position: relative;
  margin-bottom: 0;
}
.IndustrySlider .sliderSec .sliderInfo .innerCont {
  display: flex;
  justify-content: space-between;
  margin: 0;
  height: 0;
  opacity: 0;
  transition:
    height 0.5s ease-in-out,
    opacity 0.5s ease-in-out;
  position: relative;
  overflow: hidden;
}
.IndustrySlider .sliderSec .sliderInfo .innerCont p {
  font-weight: 500;
  font-size: 14px;
  line-height: 1.5;
  color: #fff;
  width: 70%;
  margin: 0;
}
.IndustrySlider .sliderSec .sliderInfo .innerCont a {
  width: 40px;
  height: 40px;
  border: 1px solid #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  flex-shrink: 0;
}
.IndustrySlider .sliderSec .sliderInfo .innerCont a svg {
  color: #fff;
}
.IndustrySlider .sliderSec .sliderInfo:hover .innerCont {
  height: 60px;
  opacity: 1;
}
.IndustrySlider .btnWrapper {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 50px;
}
@media (max-width: 1199px) {
  .IndustrySlider {
    padding: 50px 0;
  }
  .IndustrySlider .mainGrid .left h2 {
    font-size: 35px;
    width: 90%;
  }
  .IndustrySlider .mainGrid .left p {
    font-size: 16px;
    width: 90%;
  }
}
@media (max-width: 767px) {
  .IndustrySlider .mainGrid {
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
  }
  .IndustrySlider .mainGrid .left h2 {
    font-size: 30px;
    width: 100%;
  }
  .IndustrySlider .mainGrid .left p {
    font-size: 16px;
    width: 100%;
  }
}
@media (max-width: 479px) {
  .IndustrySlider .mainGrid .left h2 {
    font-size: 25px;
  }
  .IndustrySlider .mainGrid .left p {
    font-size: 14px;
  }
  .IndustrySlider .sliderSec .sliderInfo:hover .innerCont {
    height: 80px;
  }
}
@media (max-width: 479px) {
  .developmentPrice .dp-main-info h2 {
    font-size: 22px;
  }
  .developmentPrice .dp-main-info p {
    font-size: 15px;
  }
}

/* ============================================================
   mainBanner â€” para-text read-more/less toggle
   ============================================================ */
.mainBanner .banner-grid .content h5,
.mainBanner .banner-grid .content .para-text-wrap h2 {
  font-size: 17px;
  font-weight: 700;
  color: #000;
}
.mainBanner .para-text-wrap {
  margin: 20px 0;
  transition: height 0.5s;
}
.mainBanner .para-text-wrap.custom-hide-more {
  height: 200px;
  overflow-y: hidden;
}
.mainBanner .para-text-wrap.custom-show-more {
  height: 350px;
  overflow-y: auto;
  padding-right: 20px;
}
.mainBanner .para-text-wrap.custom-show-more::-webkit-scrollbar {
  width: 5px;
}
.mainBanner .para-text-wrap.custom-show-more::-webkit-scrollbar-track {
  background: #f1f1f1;
}
.mainBanner .para-text-wrap.custom-show-more::-webkit-scrollbar-thumb {
  background: #ec1c24;
}

/* ============================================================
   mainPlatform â€” mirrors Platform.module.scss
   ============================================================ */
.mainPlatform {
  background: #f8f8f8;
  padding: 70px 0;
}
.mainPlatform .platform-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 50px;
}
.mainPlatform .platform-grid .left-info h2 {
  color: #000;
  font-size: 35px;
  font-weight: 700;
  line-height: 1.3;
}
.mainPlatform .platform-grid .right-info p {
  color: #000;
  font-size: 16px;
  font-weight: 500;
  line-height: 32px;
  text-align: center;
}
.mainPlatform .logos-app {
  display: flex;
  justify-content: space-between;
  margin-top: 50px;
  align-items: center;
}
.mainPlatform .logos-app .pic img {
  width: auto;
  height: auto;
}
@media (max-width: 1440px) {
  .mainPlatform .platform-grid .left-info h2 {
    font-size: 30px;
  }
}
@media (max-width: 1200px) {
  .mainPlatform .platform-grid .left-info h2 {
    font-size: 26px;
  }
  .mainPlatform .logos-app {
    flex-wrap: wrap;
    justify-content: center;
    gap: 30px;
  }
  .mainPlatform .logos-app .pic img {
    width: 100%;
    height: auto;
  }
}
@media (max-width: 991px) {
  .mainPlatform .platform-grid .left-info h2 {
    font-size: 22px;
  }
}
@media (max-width: 767px) {
  .mainPlatform .platform-grid {
    grid-template-columns: 1fr;
    gap: 30px;
  }
  .mainPlatform .platform-grid .left-info h2 {
    font-size: 20px;
    text-align: center;
  }
  .mainPlatform .logos-app {
    flex-wrap: wrap;
    justify-content: center;
    gap: 50px;
  }
	
}
@media (max-width: 479px) {
  .mainPlatform .platform-grid .left-info h2 {
    font-size: 22px;
    text-align: center;
  }
  .mainPlatform .platform-grid .right-info p {
    line-height: 1.5;
  }
	.mainPlatform .logos-app .pic {
    width: 30%;
    }
}

/* ============================================================
   innerPortfolioMain â€” mirrors PortfolioSec.module.scss
   ============================================================ */
.innerPortfolioMain {
  padding: 60px 0;
}
.innerPortfolioMain .top-info {
  text-align: center;
}
/* eyebrow label (was an h5): heading defaults it inherited are spelled out */
.innerPortfolioMain .top-info .portfolio-eyebrow {
  margin-top: 0;
  margin-bottom: .5rem;
  line-height: 1.2;
  clear: both;
  color: #ec1c24;
  font-size: 14px;
  font-weight: 700;
}
.innerPortfolioMain .top-info h3 {
  color: #000;
  font-size: 32px;
  font-weight: 700;
}
.innerPortfolioMain .top-info p {
  color: #000;
  font-size: 16px;
  font-weight: 400;
  line-height: 36px;
}
.innerPortfolioMain .sec-rePort {
  padding: 60px 0;
  position: relative;
  background-color: transparent;
  isolation: isolate;
}
.innerPortfolioMain .sec-rePort .port-grid {
  position: relative;
  z-index: 1;
}
.innerPortfolioMain .sec-rePort::before {
  content: "";
  width: 45%;
  height: 100%;
  background-repeat: no-repeat;
  position: absolute;
  top: 0;
  left: 0;
  box-shadow: inset -40px 0 30px 30px #fff;
  background-position: left;
  background-size: cover;
  z-index: -1;
}
.innerPortfolioMain .sec-rePort .port-grid {
  display: flex;
  align-items: center;
  gap: 50px;
}
.innerPortfolioMain .sec-rePort .port-grid .left-info {
  width: 50%;
  text-align: end;
}
.innerPortfolioMain .sec-rePort .port-grid .left-info .pic img {
  max-width: 100%;
  height: auto;
}
.innerPortfolioMain .sec-rePort .port-grid .right-info {
  width: 50%;
}
.innerPortfolioMain .sec-rePort .port-grid .right-info h3 {
  font-size: 36px;
  font-weight: 700;
  margin: 0 0 20px;
  text-transform: uppercase;
}
.innerPortfolioMain .sec-rePort .port-grid .right-info h4 {
  margin: 0 0 15px;
  color: #000;
  font-size: 18px;
  font-weight: 700;
}
.innerPortfolioMain .sec-rePort .port-grid .right-info p {
  color: #000;
  font-size: 16px;
  line-height: 32px;
  font-weight: 500;
  margin-bottom: 20px;
}
.innerPortfolioMain .sec-rePort .port-grid .right-info ul li {
  color: #000;
  font-size: 16px;
  font-weight: 500;
}
.innerPortfolioMain .sec-rePort .port-grid .right-info a {
  margin-right: 10px;
}
.innerPortfolioMain .sec-rePort:nth-child(odd) .port-grid {
  flex-direction: row-reverse;
}
.innerPortfolioMain .sec-rePort:nth-child(odd) .port-grid .left-info {
  text-align: left;
}
.innerPortfolioMain .sec-rePort:nth-child(odd) .port-grid .right-info {
  text-align: end;
}
.innerPortfolioMain .sec-rePort:nth-child(odd) .port-grid .right-info a {
  margin-right: 0;
  margin-left: 10px;
}
.innerPortfolioMain .sec-rePort.newbg-shadow::before {
  background-image: url("../images/port-sec/1sec.webp");
}
.innerPortfolioMain .sec-rePort.newbg-shadow .right-info h3 {
  color: #007834;
}
.innerPortfolioMain .sec-rePort.newbg-shadow-2::before {
  background-image: url("../images/port-sec/2sec.webp");
  box-shadow: inset 40px 0 30px 30px #fff;
  left: auto;
  right: 0;
  background-position: right;
}
.innerPortfolioMain .sec-rePort.newbg-shadow-2 .right-info h3 {
  color: #ed4f00;
}
.innerPortfolioMain .sec-rePort.newbg-shadow-3::before {
  background-image: url("../images/port-sec/3sec.webp");
}
.innerPortfolioMain .sec-rePort.newbg-shadow-3 .right-info h3 {
  color: #ff0000;
}
.innerPortfolioMain .sec-rePort.newbg-shadow-4::before {
  background-image: url("../images/port-sec/4sec.webp");
  box-shadow: inset 40px 0 30px 30px #fff;
  left: auto;
  right: 0;
  background-position: right;
}
.innerPortfolioMain .sec-rePort.newbg-shadow-4 .right-info h3 {
  color: #e60a2e;
}
@media (max-width: 1200px) {
  .innerPortfolioMain .top-info h3 {
    font-size: 30px;
  }
  .innerPortfolioMain .top-info p {
    font-size: 15px;
  }
  .innerPortfolioMain .sec-rePort::before {
    width: 55%;
  }
  .innerPortfolioMain .sec-rePort .port-grid .right-info h3 {
    font-size: 28px;
  }
  .innerPortfolioMain .sec-rePort .port-grid .right-info h4 {
    font-size: 18px;
  }
  .innerPortfolioMain .sec-rePort .port-grid .right-info p {
    font-size: 14px;
    line-height: 1.8;
  }
  .innerPortfolioMain .sec-rePort .port-grid .right-info ul li {
    font-size: 14px;
  }
}
@media (max-width: 991px) {
  .innerPortfolioMain .top-info h3 {
    font-size: 28px;
  }
  .innerPortfolioMain .sec-rePort::before {
    width: 55%;
  }
  .innerPortfolioMain .sec-rePort .port-grid .right-info h3 {
    font-size: 24px;
  }
  .innerPortfolioMain .sec-rePort .port-grid .right-info h4 {
    font-size: 16px;
  }
  .innerPortfolioMain .sec-rePort .port-grid .right-info p {
    font-size: 12px;
    line-height: 1.8;
  }
  .innerPortfolioMain .sec-rePort .port-grid .right-info ul li {
    font-size: 12px;
  }
  .innerPortfolioMain .sec-rePort .port-grid .right-info a img {
    width: 100px;
    height: auto;
  }
}
@media (max-width: 767px) {
  .innerPortfolioMain .top-info h3 {
    font-size: 24px;
  }
  .innerPortfolioMain .top-info p {
    font-size: 14px;
    line-height: 1.8;
  }
  .innerPortfolioMain .sec-rePort {
    padding: 30px 0;
  }
  .innerPortfolioMain .sec-rePort::before {
    content: none;
  }
  .innerPortfolioMain .sec-rePort .port-grid {
    flex-direction: column;
  }
  .innerPortfolioMain .sec-rePort:nth-child(odd) .port-grid {
    flex-direction: column;
  }
  .innerPortfolioMain .sec-rePort .port-grid .left-info,
  .innerPortfolioMain .sec-rePort .port-grid .right-info {
    width: 100%;
    text-align: center;
  }
  .innerPortfolioMain .sec-rePort:nth-child(odd) .port-grid .left-info,
  .innerPortfolioMain .sec-rePort:nth-child(odd) .port-grid .right-info {
    text-align: center;
  }
  .innerPortfolioMain .sec-rePort .port-grid .right-info h3 {
    font-size: 24px;
  }
  .innerPortfolioMain .sec-rePort .port-grid .right-info ul {
    padding: 0;
    list-style: none;
  }
  .innerPortfolioMain .sec-rePort .port-grid .right-info ul li {
    font-size: 12px;
  }
  .innerPortfolioMain .sec-rePort .port-grid .right-info a img {
    width: 100px;
    height: auto;
  }
  .innerPortfolioMain .sec-rePort:nth-child(odd) .port-grid .right-info a {
    margin-left: 0;
    margin-right: 10px;
  }
}
@media (max-width: 400px) {
  .innerPortfolioMain .top-info h3 {
    font-size: 24px;
  }
  .innerPortfolioMain .sec-rePort .port-grid .right-info h3 {
    font-size: 20px;
  }
  .innerPortfolioMain .sec-rePort .port-grid .right-info h4 {
    font-size: 14px;
  }
  .innerPortfolioMain .sec-rePort .port-grid .right-info p {
    font-size: 12px;
  }
}

/* --------------------------------------------------------------------------
   SEO Services Page Components
   -------------------------------------------------------------------------- */

/* seoMainBanner */
.seoMainBanner {
  background: url("../images/seo-services/banner.webp");
  background-size: cover;
  height: 100vh;
  display: flex;
  align-items: center;
  background-repeat: no-repeat;
  background-position: bottom center;
}
.seoMainBanner .seo-main-content {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
}
.seoMainBanner .seo-main-info h1 {
  font-size: 45px;
  font-weight: bold;
  color: #fff;
}
.seoMainBanner .seo-main-info h1 span {
  color: #ec1c24;
}
.seoMainBanner .seo-main-info ul {
  padding: 0;
  list-style: none;
  display: grid;
  grid-template-columns: 1fr 1fr;
}
.seoMainBanner .seo-main-info ul li {
  display: flex;
  align-items: center;
  gap: 15px;
  font-weight: 500;
  margin: 8px 0;
  font-size: 18px;
  color: #fff;
}
.seoMainBanner .seo-main-info p {
  font-size: 18px;
  line-height: 29px;
  color: #fff;
  width: 90%;
}
.seoMainBanner .seo-main-info .tnb-btn {
  margin-top: 20px;
  border-radius: 6px;
  font-size: 16px;
  padding: 12px 30px;
  border: 1px solid #ec1c24 !important;
  transition: background-color 0.5s;
}
.seoMainBanner .seo-main-info .tnb-btn::before {
  content: unset;
}
.seoMainBanner .seo-main-info .tnb-btn:hover:not(:disabled) {
  background-color: #000;
  color: #fff;
}
.seoMainBanner .seo-main-img img {
  width: 100%;
  height: auto;
}

/* seoPaidSlider */
.seoPaidSlider {
  padding: 80px 0;
}
.seoPaidSlider .ps-info {
  overflow: hidden;
  padding-top: 10px;
}
.seoPaidSlider .ps-info h2 {
  font-weight: bold;
  font-size: 26px;
  color: #000;
  position: relative;
}
.seoPaidSlider .ps-info h2::before {
  content: "";
  border-bottom: 2px solid #f3f3f3;
  width: 26%;
  height: 6px;
  position: absolute;
  right: 7%;
  margin: auto;
  top: 0;
  bottom: 0;
}
.seoPaidSlider .ps-info h2 span {
  color: #ec1c24;
}
.seoPaidSlider .ps-slider-wrap {
  padding-top: 30px;
  position: relative;
}
.seoPaidSlider .ps-slide-item {
  height: 120px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 5px;
  border: 1px solid #f3f3f3;
  transition: 0.5s;
}
.seoPaidSlider .ps-slide-item:hover {
  background-color: #f3f3f3;
}
.seoPaidSlider .ps-slide-item img {
  width: auto;
}
.seoPaidSlider .ps-slider-wrap .paid-slider {
  overflow: visible !important;
}
.seoPaidSlider .ps-slider-wrap .paid-slider .swiper-button-prev {
  top: -53px;
  right: 50px;
  left: unset;
}
.seoPaidSlider .ps-slider-wrap .paid-slider .swiper-button-next {
  top: -53px;
  right: 5px;
}
.seoPaidSlider .ps-slider-wrap .paid-slider .swiper-button-prev::after {
  content: "prev";
  color: #000;
  background-color: #bcbcbc;
  border-radius: 7px;
  display: flex;
  justify-content: center;
  align-items: center;
  min-width: 35px;
  height: 35px;
  margin: 0;
  padding: 0;
  font-size: 13px;
  font-weight: bolder;
}
.seoPaidSlider .ps-slider-wrap .paid-slider .swiper-button-next::after {
  content: "next";
  color: #fff;
  background-color: #d62929;
  border-radius: 7px;
  display: flex;
  justify-content: center;
  align-items: center;
  min-width: 35px;
  height: 35px;
  margin: 0;
  padding: 0;
  font-size: 13px;
  font-weight: bolder;
}
@media (max-width: 1400px) {
  .seoPaidSlider .ps-slider-wrap .paid-slider .swiper-button-prev,
  .seoPaidSlider .ps-slider-wrap .paid-slider .swiper-button-next {
    top: -48px;
  }
}
@media (max-width: 1024px) {
  .seoPaidSlider .ps-slider-wrap .paid-slider .swiper-button-prev,
  .seoPaidSlider .ps-slider-wrap .paid-slider .swiper-button-next {
    display: none;
  }
}

/* seoRightPlatform */
.seoRightPlatform {
  background: url("../images/seo-services/sec-banner.webp");
  background-repeat: no-repeat;
  background-size: auto;
  padding-top: 80px;
  position: relative;
  background-position: bottom;
  padding-bottom: 80px;
}
.seoRightPlatform::before {
  content: "";
  background-image: url("../images/seo-services/seo-s.webp");
  background-repeat: no-repeat;
  width: 42%;
  position: absolute;
  right: 7%;
  top: 35%;
  background-size: contain;
  height: 40%;
}
.seoRightPlatform .rp-info {
  width: 50%;
  position: relative;
}
.seoRightPlatform .rp-info .rp-eyebrow {
  font-weight: bold;
  font-size: 28px;
  color: #ec1c24;
}
.seoRightPlatform .rp-info h2 {
  font-weight: bold;
  font-size: 45px;
  color: #000;
}
.seoRightPlatform .rp-info > p {
  font-size: 16px;
  line-height: 26px;
  color: #000;
  font-weight: bold;
}
.seoRightPlatform .rp-content-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-gap: 10px 50px;
}
.seoRightPlatform .rp-content-info h3 {
  font-weight: bold;
  font-size: 18px;
  color: #000;
}
.seoRightPlatform .rp-content-info p {
  font-size: 16px;
  line-height: 26px;
  color: #000;
}
.seoRightPlatform .rp-before-arrow::before {
  content: "";
  background-image: url("../images/seo-services/arrow.png");
  background-repeat: no-repeat;
  width: 140px;
  position: absolute;
  right: -22%;
  background-size: contain;
  height: 140px;
  bottom: 40px;
}
.seoRightPlatform .rp-searches-main {
  margin-top: 30%;
}
.seoRightPlatform .rp-searches-info {
  width: 60%;
}
.seoRightPlatform .rp-searches-info h2 {
  font-weight: bold;
  font-size: 45px;
  color: #ec1c24;
}
.seoRightPlatform .rp-searches-info .rp-searches-sub {
  font-size: 30px;
  color: #fff;
}
.seoRightPlatform .rp-searches-info p {
  font-size: 16px;
  line-height: 1.5;
  color: #fff;
}
.seoRightPlatform .rp-progress-main {
  display: flex;
  justify-content: space-around;
  padding-top: 40px;
}
.seoRightPlatform .rp-progressbar {
  display: inline-block;
  width: 100%;
  margin: 25px;
}
.seoRightPlatform .rp-progress-svg {
  width: 250px;
  height: 250px;
  margin: auto;
  display: block;
  vertical-align: middle;
}
.seoRightPlatform .CircularProgressbar-path {
  stroke-linecap: round;
  transition: stroke-dashoffset 0.5s ease 0s;
}
.seoRightPlatform .CircularProgressbar-trail {
  stroke-linecap: round;
}
.seoRightPlatform .CircularProgressbar-text {
  font-size: 20px;
  font-weight: 700;
  dominant-baseline: central;
  text-anchor: middle;
}
.seoRightPlatform .rp-progressbar p {
  font-weight: bold;
  font-size: 16px;
  line-height: 1.5;
  text-align: center;
  color: #fff;
  padding-top: 25px;
}

/* seoPaidAds */
.seoPaidAds {
  padding: 60px 0;
}
.seoPaidAds h2 {
  font-weight: bold;
  font-size: 45px;
  color: #000;
}
.seoPaidAds .pam-ul-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  padding-top: 20px;
}
.seoPaidAds .pam-ul-grid ul li {
  font-weight: 600;
  font-size: 20px;
  line-height: 50px;
  color: #000;
}

/* seoCtaMain */
.seoCtaMain {
  background: url("../images/seo-services/cta-banner.webp");
  background-repeat: no-repeat;
  height: 300px;
  display: flex;
  background-size: cover;
  align-items: center;
  justify-content: center;
}
.seoCtaMain h2 {
  font-weight: bold;
  font-size: 35px;
  letter-spacing: 0.05em;
  line-height: 50px;
  text-align: center;
  color: #fff;
}
.seoCtaMain p {
  font-size: 16px;
  letter-spacing: 0.1em;
  text-align: center;
  color: #fff;
}
.seoCtaMain .scm-cta-btn {
  text-align: center;
}
.seoCtaMain .scm-cta-btn .tnb-btn {
  font-size: 16px;
  padding: 10px 40px;
  line-height: 1;
  border-radius: 0;
  border: 1px solid #ec1c24 !important;
  transition: background-color 0.5s;
}
.seoCtaMain .scm-cta-btn .tnb-btn::before {
  content: unset;
}
.seoCtaMain .scm-cta-btn .tnb-btn:hover:not(:disabled) {
  background-color: #000;
  color: #fff;
}

/* seoSuccess */
.seoSuccess {
  padding-top: 80px;
  padding-bottom: 80px;
}
.seoSuccess .ss-info {
  display: block;
}
.seoSuccess .ss-info h2 {
  font-weight: bold;
  font-size: 45px;
  text-align: center;
  color: #000;
}
.seoSuccess .ss-info p {
  font-size: 16px;
  line-height: 26px;
  text-align: center;
  color: #000;
  width: 90%;
  margin: auto;
}
.seoSuccess .ss-process-steps {
  position: relative;
  margin: 4rem 0 0;
  display: flex;
  justify-content: space-evenly;
  align-items: center;
}
.seoSuccess .ss-process-svg {
  display: block;
  width: 40%;
}
.seoSuccess .ss-process-list {
  width: 42%;
  display: flex;
  align-items: center;
}
.seoSuccess .ss-process-box {
  display: none;
  border-top: 1px solid #f9f9f9;
  box-shadow:
    0 3px 6px rgba(0, 0, 0, 0.16),
    0 3px 6px rgba(0, 0, 0, 0.23);
  padding: 2rem;
  border-radius: 0.5rem;
}
.seoSuccess .ss-process-box.active {
  display: block;
}
.seoSuccess .ss-process-box h3 {
  font-weight: bold;
  font-size: 30px;
  color: #ec1c24;
}
.seoSuccess .ss-process-box p {
  font-size: 16px;
  line-height: 26px;
  color: #000;
  margin-bottom: 0;
}
.seoSuccess .process-svg-section {
  cursor: pointer;
	outline:none;
}
.seoSuccess .clear {
  fill: #fff;
  cursor: pointer;
}
.seoSuccess .process-svg-section-bg {
  cursor: pointer;
}
.seoSuccess .process-svg-section-number {
  fill: #000;
}
#process-step-svg .active .process-svg-section-bg {
  fill: #ff0000;
  transition: all 0.5s ease-in-out;
}
#process-step-svg .active .process-svg-section-stroke {
  fill: #ff0000;
  transition: all 0.5s ease-in-out;
}
#process-step-svg .active .process-svg-section-number {
  fill: #fff;
  transition: all 0.5s ease-in-out;
}

/* seoReadyToKick */
.seoReadyToKick {
  padding: 60px 0;
  background: url("../images/seo-services/three-banner.webp");
  background-size: cover;
  background-repeat: no-repeat;
  height: 100vh;
  display: flex;
  align-items: center;
}
.seoReadyToKick .rtk-info {
  padding: 60px 0;
  width: 60%;
}
.seoReadyToKick .rtk-info h2 {
  font-weight: bold;
  font-size: 45px;
  letter-spacing: 0.05em;
  line-height: 1.2;
  color: #fff;
}
.seoReadyToKick .rtk-info h2 span {
  color: #ec1c24;
}
.seoReadyToKick .rtk-info p {
  font-size: 16px;
  line-height: 1.5;
  color: #fff;
}
.seoReadyToKick .rtk-info .tnb-btn {
  margin-top: 20px;
  border-radius: 6px;
  font-size: 16px;
  padding: 12px 30px;
  line-height: 1;
  border: 1px solid #ec1c24 !important;
  transition: background-color 0.5s;
}
.seoReadyToKick .rtk-info .tnb-btn::before {
  content: unset;
}
.seoReadyToKick .rtk-info .tnb-btn:hover:not(:disabled) {
  background-color: #000;
  color: #fff;
}

/* seoSolutionMain */
.seoSolutionMain {
  padding: 12% 0 5%;
  background: url("../images/seo-services/four-banner.webp");
  background-repeat: no-repeat;
  background-size: cover;
  display: flex;
  align-items: center;
}
.seoSolutionMain .ssl-info {
  text-align: center;
}
.seoSolutionMain .ssl-info h2 {
  font-weight: bold;
  font-size: 45px;
  color: #fff;
}
.seoSolutionMain .ssl-info p {
  font-size: 16px;
  line-height: 26px;
  color: #fff;
}
.seoSolutionMain .ssl-slider-wrap {
  padding-top: 50px;
}
.seoSolutionMain .ssl-main-box {
  padding: 20px 20px 30px 30px;
  background-color: #fff;
  border-radius: 6px;
  margin-right: 30px;
}
.seoSolutionMain .ssl-main-box h3 {
  font-weight: 500;
  font-size: 20px;
  color: #000;
  padding-top: 10px;
}
.seoSolutionMain .ssl-main-box p {
  font-size: 16px;
  line-height: 30px;
  color: #000;
  margin-bottom: 0;
  height: 180px;
  overflow: auto;
  padding-right: 10px;
}
.seoSolutionMain .ssl-main-box p::-webkit-scrollbar-track {
  -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
  border-radius: 10px;
  background-color: #f5f5f5;
}
.seoSolutionMain .ssl-main-box p::-webkit-scrollbar {
  width: 6px;
  background-color: #f5f5f5;
}
.seoSolutionMain .ssl-main-box p::-webkit-scrollbar-thumb {
  border-radius: 10px;
  -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
  background-color: #d62929;
}
.seoSolutionMain .swiper-pagination-bullet-active {
  background: #ec1c24;
}

/* mainFaqs faq_image support */
.mainFaqs .content img {
  width: auto;
  height: auto;
  margin: auto;
  display: block;
  margin-bottom: 20px;
}

/* â”€â”€ SEO Services Responsive â”€â”€ */
@media (max-width: 1600px) {
  .seoReadyToKick {
    height: 750px;
  }
  .seoReadyToKick .rtk-info {
    width: 50%;
    margin-left: 50px;
  }
  .seoReadyToKick .rtk-info h2 {
    font-size: 35px;
  }
}
@media (max-width: 1440px) {
  .seoMainBanner {
    height: 800px;
  }
  .seoMainBanner .seo-main-info h1 {
    font-size: 35px;
    line-height: 1.5;
  }
  .seoPaidSlider .ps-info h2 {
    font-size: 24px;
  }
  .seoPaidSlider .ps-info h2::before {
    display: none;
  }
  .seoReadyToKick {
    height: 650px;
  }
  .seoReadyToKick .rtk-info {
    width: 50%;
    margin-left: 50px;
  }
  .seoReadyToKick .rtk-info h2 {
    font-size: 30px;
  }
  .seoSuccess .ss-info h2 {
    font-size: 35px;
  }
  .seoSuccess .ss-process-box h3 {
    font-size: 30px;
  }
  .seoSolutionMain {
    height: 1000px;
  }
  .seoSolutionMain .ssl-info h2 {
    font-size: 35px;
  }
  .seoRightPlatform::before {
    top: 40%;
  }
  .seoRightPlatform .rp-info .rp-eyebrow {
    font-size: 24px;
  }
  .seoRightPlatform .rp-info h2 {
    font-size: 35px;
  }
  .seoRightPlatform .rp-searches-info h2 {
    font-size: 35px;
  }
  .seoPaidAds h2 {
    font-size: 35px;
  }
  .seoPaidAds .pam-ul-grid ul li {
    font-size: 18px;
    line-height: 40px;
  }
}
@media (max-width: 1400px) {
  .seoPaidAds h2 {
    font-size: 35px;
  }
  .seoPaidAds .pam-ul-grid ul li {
    font-size: 16px;
    line-height: 40px;
  }
}
@media (max-width: 1300px) {
  .seoReadyToKick .rtk-info {
    width: 70%;
    margin: auto;
    text-align: center;
  }
  .seoReadyToKick .rtk-info h2 {
    font-size: 25px;
  }
}
@media (max-width: 1199px) {
  .seoMainBanner {
    height: 700px;
  }
  .seoMainBanner .seo-main-info h1 {
    font-size: 30px;
  }
  .seoMainBanner .seo-main-info p {
    font-size: 17px;
    line-height: 1.5;
    margin-bottom: 0;
  }
  .seoMainBanner .seo-main-info ul li {
    font-size: 17px;
  }
  .seoPaidSlider .ps-info h2 {
    font-size: 20px;
  }
  .seoRightPlatform {
    background-position: 25% 100%;
  }
  .seoRightPlatform::before {
    top: 36%;
  }
  .seoRightPlatform .rp-info {
    width: 60%;
  }
  .seoRightPlatform .rp-info .rp-eyebrow {
    font-size: 22px;
  }
  .seoRightPlatform .rp-info h2 {
    font-size: 30px;
  }
  .seoRightPlatform .rp-content-info h3 {
    font-size: 16px;
  }
  .seoRightPlatform .rp-content-info p {
    font-size: 15px;
  }
  .seoRightPlatform .rp-before-arrow::before {
    display: none;
  }
  .seoRightPlatform .rp-searches-info {
    width: 80%;
    margin: auto;
    text-align: center;
  }
  .seoRightPlatform .rp-searches-info h2 {
    font-size: 30px;
  }
  .seoRightPlatform .rp-progress-svg {
    width: 200px;
    height: 200px;
  }
  .seoReadyToKick {
    background: url("../images/seo-services/three-banner-mobile.webp");
    height: 500px;
  }
  .seoReadyToKick .rtk-info {
    width: 80%;
    margin: auto;
    text-align: center;
  }
  .seoReadyToKick .rtk-info h2 {
    font-size: 30px;
  }
  .seoReadyToKick .rtk-info p {
    font-size: 18px;
  }
  .seoPaidAds {
    padding: 60px 0;
  }
  .seoPaidAds h2 {
    font-size: 30px;
  }
  .seoPaidAds .pam-ul-grid ul li {
    font-size: 16px;
  }
  .seoSuccess {
    padding: 60px 0;
  }
  .seoSuccess .ss-info h2 {
    font-size: 30px;
  }
  .seoSuccess .ss-process-box h3 {
    font-size: 24px;
  }
  .seoSolutionMain .ssl-info h2 {
    font-size: 30px;
  }
  .seoCtaMain h2 {
    font-size: 30px;
  }
}
@media (max-width: 991px) {
  .seoCtaMain h2 {
    font-size: 25px;
    line-height: 1.5;
  }
  .seoCtaMain p {
    font-size: 16px;
  }
  .seoRightPlatform {
    background-position: 0% 100%;
  }
  .seoRightPlatform .rp-info {
    width: 100%;
  }
  .seoRightPlatform .rp-info h2 {
    font-size: 28px;
  }
	.seoRightPlatform .rp-searches-info{
		width:100%;
	}
  .seoRightPlatform .rp-searches-info h2 {
    font-size: 28px;
  }
  .seoRightPlatform .rp-progressbar {
    margin: 10px;
  }
  .seoRightPlatform .rp-progress-svg {
    width: 150px;
    height: 150px;
  }
  .seoRightPlatform .rp-progressbar p {
    font-size: 14px;
  }
  .seoMainBanner {
    background: url("../images/seo-services/top-mobile.webp");
    background-repeat: no-repeat;
    height: auto;
    padding-top: 80px;
    padding-bottom: 80px;
  }
  .seoMainBanner .seo-main-content {
    grid-template-columns: 1.5fr 1fr;
  }
  .seoMainBanner .seo-main-info h1 {
    font-size: 28px;
  }
  .seoPaidAds h2 {
    font-size: 28px;
  }
  .seoPaidAds .pam-ul-grid {
    grid-template-columns: 1fr 1fr 1fr;
  }
	.seoPaidAds .pam-ul-grid ul{
		padding-left:20px;
	}
  .seoSolutionMain {
    height: auto;
    background-position: bottom center;
    padding-top: 120px;
    padding-bottom: 60px;
  }
  .seoSolutionMain .ssl-info h2 {
    font-size: 28px;
  }
  .seoSuccess {
    padding: 60px 0;
  }
  .seoSuccess .ss-info h2 {
    font-size: 28px;
  }
  .seoSuccess .ss-process-steps {
    flex-direction: column;
    align-items: center;
  }
  .seoSuccess .ss-process-list {
    margin: 3rem 0 0;
    width: 80%;
  }
  .seoSuccess .ss-process-box h3 {
    font-size: 22px;
  }
}
@media (max-width: 767px) {
  .seoCtaMain h2 {
    font-size: 24px;
    line-height: 1.5;
  }
  .seoRightPlatform {
    background: unset;
  }
  .seoRightPlatform::before {
    content: none;
  }
  .seoRightPlatform .rp-info {
    width: 100%;
    text-align: center;
  }
  .seoRightPlatform .rp-info h2 {
    font-size: 25px;
    text-align: center;
  }
  .seoRightPlatform .rp-content-grid {
    grid-template-columns: 1fr;
    grid-gap: 10px 30px;
  }
  .seoRightPlatform .rp-content-info p {
    font-size: 14px;
    text-align: center;
  }
  .seoRightPlatform .rp-searches-main {
    margin-top: 10%;
  }
  .seoRightPlatform .rp-searches-info .rp-searches-sub {
    color: #000;
  }
  .seoRightPlatform .rp-searches-info p {
    color: #000;
  }
  .seoRightPlatform .rp-searches-info h2 {
    font-size: 25px;
    text-align: center;
  }
  .seoRightPlatform .rp-progress-main {
    flex-direction: column;
  }
  .seoRightPlatform .rp-progressbar {
    margin: 15px 0;
  }
  .seoRightPlatform .rp-progress-svg text,
  .seoRightPlatform .CircularProgressbar-text {
    fill: #000 !important;
  }
  .seoRightPlatform .rp-progressbar p {
    color: #000;
    font-size: 14px;
  }
  .seoPaidAds h2 {
    font-size: 25px;
    text-align: center;
  }
  .seoPaidAds .pam-ul-grid {
    grid-template-columns: 1fr 1fr;
  }
  .seoPaidAds .pam-ul-grid ul li {
    font-size: 15px;
  }
  .seoSolutionMain .ssl-info h2 {
    font-size: 25px;
  }
  .seoMainBanner {
    background: url("../images/seo-services/top-mobile.webp");
    background-repeat: no-repeat;
    height: 100%;
    background-size: cover;
  }
  .seoMainBanner .seo-main-content {
    grid-template-columns: 1fr;
  }
  .seoMainBanner .seo-main-info h1 {
    font-size: 25px;
  }
  .seoMainBanner .seo-main-info p {
    font-size: 16px;
  }
  .seoMainBanner .seo-main-info ul li {
    font-size: 15px;
  }
  .seoSuccess .ss-info h2 {
    font-size: 25px;
    text-align: center;
  }
  .seoSuccess .ss-info p {
    width: 100%;
  }
  .seoSuccess .ss-process-svg {
    width: 60%;
  }
  .seoSuccess .ss-process-list {
    width: 100%;
  }
  .seoSuccess .ss-process-box h3 {
    font-size: 22px;
  }
  .seoPaidSlider .ps-info h2 {
    font-size: 16px;
    line-height: 1.5;
  }
  .seoReadyToKick .rtk-info {
    width: 100%;
  }
  .seoReadyToKick .rtk-info h2 {
    font-size: 25px;
  }
  .seoSolutionMain .ssl-main-box {
    margin: 0 15px;
  }
	.mainFaqs .content img{
		width:112px;
	}
}
@media (max-width: 575px) {
  .seoReadyToKick {
    height: 400px;
  }
  .seoReadyToKick .rtk-info h2 {
    font-size: 20px;
  }
  .seoReadyToKick .rtk-info p {
    font-size: 14px;
  }
  .seoPaidSlider .ps-info h2 {
    text-align: center;
  }
  .seoMainBanner .seo-main-info h1 {
    font-size: 21px;
  }
  .seoMainBanner .seo-main-info p {
    font-size: 14px;
    width: 100%;
  }
  .seoMainBanner .seo-main-info ul li {
    font-size: 12px;
  }
  .seoRightPlatform {
    padding: 0;
  }
  .seoRightPlatform .rp-info h2 {
    font-size: 20px;
  }
  .seoRightPlatform .rp-info > p {
    font-size: 14px;
  }
  .seoRightPlatform .rp-searches-info h2 {
    font-size: 20px;
    text-align: center;
  }
  .seoRightPlatform .rp-searches-main .rp-searches-sub {
    color: #000;
    font-size: 22px;
  }
  .seoRightPlatform .rp-searches-main p {
    color: #000;
    font-size: 14px;
  }
  .seoSuccess .ss-info h2 {
    font-size: 20px;
  }
  .seoSuccess .ss-info p {
    font-size: 14px;
  }
  .seoSuccess .ss-process-steps {
    flex-direction: column;
    align-items: center;
    margin: 3rem 0 0;
  }
  .seoSuccess .ss-process-list {
    width: 100%;
  }
  .seoSuccess .ss-process-box {
    padding: 20px;
  }
  .seoSuccess .ss-process-box p {
    font-size: 15px;
  }
  .seoSuccess .ss-process-box h3 {
    font-size: 20px;
  }
  .seoSolutionMain .ssl-info h2 {
    font-size: 20px;
  }
  .seoSolutionMain .ssl-info p {
    font-size: 14px;
  }
  .seoPaidAds h2 {
    font-size: 20px;
  }
  .seoPaidAds .pam-ul-grid {
    grid-template-columns: 1fr;
  }
  .seoPaidAds .pam-ul-grid ul li {
    font-size: 14px;
  }
  .seoCtaMain h2 {
    font-size: 20px;
    line-height: 1.5;
  }
  .seoCtaMain p {
    font-size: 14px;
  }
  .seoSolutionMain .ssl-main-box {
    padding: 15px 15px 20px 20px;
  }
}

/* ============================================================
   custom-btn â€” animated border button (globals.css)
   ============================================================ */
a.custom-btn {
  padding: 0.4em calc(0.7em * 1.2);
  display: inline-block;
  border: 3px solid transparent;
  position: relative;
  cursor: pointer;
  color: #fff;
  text-decoration: none;
}
a.custom-btn .text {
  font-size: 18px;
  text-transform: uppercase;
  text-decoration: none;
  font-weight: 600;
  transform: translate3d(0, 0.7em, 0);
  display: block;
  transition: transform 0.4s cubic-bezier(0.2, 0, 0, 1) 0.4s;
}
a.custom-btn::after {
  position: absolute;
  content: "";
  bottom: -3px;
  left: calc(0.7em * 1.2);
  right: calc(0.7em * 1.2);
  height: 2px;
  background: #fff;
  transition:
    transform 0.8s cubic-bezier(1, 0, 0.37, 1) 0.2s,
    right 0.2s cubic-bezier(0.04, 0.48, 0, 1) 0.6s,
    left 0.4s cubic-bezier(0.04, 0.48, 0, 1) 0.6s;
  transform-origin: left;
}
a.custom-btn .line {
  position: absolute;
  background: #000;
}
a.custom-btn .line.-left,
a.custom-btn .line.-right {
  width: 2px;
  bottom: -3px;
  top: -3px;
  transform: scale3d(1, 0, 1);
}
a.custom-btn .line.-bottom,
a.custom-btn .line.-top {
  height: 2px;
  left: -3px;
  right: -3px;
  transform: scale3d(0, 1, 1);
}
a.custom-btn .line.-right {
  right: -3px;
  transition: transform 0.1s cubic-bezier(1, 0, 0.65, 1.01) 0.23s;
  transform-origin: top;
}
a.custom-btn .line.-top {
  top: -3px;
  transition: transform 80ms linear 0.43s;
  transform-origin: left;
}
a.custom-btn .line.-left {
  left: -3px;
  transition: transform 80ms linear 0.51s;
  transform-origin: bottom;
}
a.custom-btn .line.-bottom {
  bottom: -3px;
  transition: transform 0.3s cubic-bezier(1, 0, 0.65, 1.01);
  transform-origin: right;
}
a.custom-btn:hover .text,
a.custom-btn:active .text {
  transform: translate3d(0, 0, 0);
  transition: transform 0.6s cubic-bezier(0.2, 0, 0, 1) 0.4s;
}
a.custom-btn:hover::after,
a.custom-btn:active::after {
  transform: scale3d(0, 1, 1);
  right: -3px;
  left: -3px;
  transform-origin: right;
  transition:
    transform 0.2s cubic-bezier(1, 0, 0.65, 1.01) 0.17s,
    right 0.2s cubic-bezier(1, 0, 0.65, 1.01),
    left 0s 0.3s;
}
a.custom-btn:hover .line,
a.custom-btn:active .line {
  transform: scale3d(1, 1, 1);
}
a.custom-btn:hover .line.-right,
a.custom-btn:active .line.-right {
  transition: transform 0.1s cubic-bezier(1, 0, 0.65, 1.01) 0.2s;
  transform-origin: bottom;
}
a.custom-btn:hover .line.-top,
a.custom-btn:active .line.-top {
  transition: transform 80ms linear 0.4s;
  transform-origin: right;
}
a.custom-btn:hover .line.-left,
a.custom-btn:active .line.-left {
  transition: transform 80ms linear 0.48s;
  transform-origin: top;
}
a.custom-btn:hover .line.-bottom,
a.custom-btn:active .line.-bottom {
  transition: transform 0.5s cubic-bezier(0, 0.53, 0.29, 1) 0.56s;
  transform-origin: left;
}
a.custom-btn:hover {
  background: #ec1c24;
  transition-delay: 0.6s;
  color: #fff !important;
}
a.custom-btn:hover .line {
  background: #ec1c24;
}
a.custom-btn:hover::after {
  background: #ec1c24;
}

/* ============================================================
   heroBanner (HeroBanner.jsx â€” Locations variant)
   ============================================================ */
@keyframes hb-scroll-anim {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    transform: translateY(36px);
  }
}
.heroBanner {
  height: 100vh;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
.heroBanner .hb-main {
  text-align: center;
}
.heroBanner .hb-inner-desc h1 {
  font-size: 48px;
  color: #fff;
  line-height: 60px;
  font-weight: 600;
  text-transform: uppercase;
  margin: 0 0 40px;
}
.heroBanner .hb-inner-desc h1 span {
  color: #ec1c24;
}
.heroBanner .hb-banner-btn {
  display: flex;
  gap: 20px;
  justify-content: center;
}
.heroBanner .hb-banner-btn .tnb-btn {
  font-size: 18px;
  min-width: 230px;
}
.heroBanner .hb-banner-btn .tnb-btn::before {
  width: 300px;
}
.heroBanner .hb-icon-scroll {
  width: 30px;
  height: 52.5px;
  position: absolute;
  bottom: 50px;
  box-shadow: inset 0 0 0 1px #fff;
  border-radius: 25px;
  left: 0;
  right: 0;
  margin: auto;
  display: block;
}
.heroBanner .hb-icon-scroll::before {
  content: "";
  width: 6px;
  height: 6px;
  background: #fff;
  border-radius: 4px;
  animation: hb-scroll-anim 1.5s infinite;
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
  top: 8px;
}
@media (max-width: 1440px) {
  .heroBanner {
    height: 800px;
  }
  .heroBanner .hb-inner-desc h1 {
    font-size: 45px;
    line-height: 55px;
  }
}
@media (max-width: 1200px) {
  .heroBanner .hb-inner-desc h1 {
    font-size: 40px;
    line-height: 55px;
  }
}
@media (max-width: 991px) {
  .heroBanner {
    height: 700px;
  }
  .heroBanner .hb-inner-desc h1 {
    font-size: 35px;
    line-height: 50px;
  }
  .heroBanner .hb-banner-btn .tnb-btn {
    font-size: 14px;
    min-width: 220px;
  }
  .heroBanner .hb-icon-scroll {
    display: none;
  }
}
@media (max-width: 767px) {
  .heroBanner {
    height: 600px;
  }
  .heroBanner .hb-inner-desc h1 {
    font-size: 28px;
    line-height: 45px;
  }
}
@media (max-width: 530px) {
  .heroBanner .hb-inner-desc h1 {
    font-size: 25px;
    line-height: 40px;
  }
  .heroBanner .hb-banner-btn .tnb-btn {
    font-size: 12px;
    min-width: 200px;
  }
}
@media (max-width: 479px) {
  .heroBanner .hb-banner-btn {
    gap: 10px;
    flex-direction: column;
    align-items: center;
  }
  .heroBanner .hb-banner-btn .tnb-btn {
    font-size: 14px;
    min-width: 200px;
  }
}
@media (max-width: 400px) {
  .heroBanner .hb-inner-desc h1 {
    font-size: 22px;
    line-height: 30px;
  }
}

/* ============================================================
   dmReviews (sec-re2)
   ============================================================ */
.dmReviews {
  background: #161616;
  padding: 30px 0;
}
.dmReviews .dmr-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  grid-gap: 40px;
}
.dmReviews .dmr-left .dmr-eyebrow {
  margin: 0;
  color: #fff;
  font-size: 20px;
  font-weight: 600;
}
.dmReviews .dmr-left h2 {
  color: #ec1c24;
  font-size: 26px;
  font-weight: 600;
  margin: 0;
}
.dmReviews .dmr-right img {
  width: 100%;
  height: auto;
}
@media (max-width: 1200px) {
  .dmReviews .dmr-left .dmr-eyebrow {
    font-size: 18px;
  }
  .dmReviews .dmr-left h2 {
    font-size: 24px;
  }
}
@media (max-width: 991px) {
  .dmReviews .dmr-left .dmr-eyebrow {
    font-size: 18px;
  }
  .dmReviews .dmr-left h2 {
    font-size: 22px;
  }
}
@media (max-width: 767px) {
  .dmReviews .dmr-grid {
    grid-template-columns: 1fr;
    justify-items: center;
    grid-gap: 20px;
  }
  .dmReviews .dmr-left .dmr-eyebrow {
    font-size: 18px;
    text-align: center;
  }
  .dmReviews .dmr-left h2 {
    font-size: 22px;
    text-align: center;
  }
}
@media (max-width: 479px) {
  .dmReviews .dmr-left .dmr-eyebrow {
    font-size: 16px;
  }
  .dmReviews .dmr-left h2 {
    font-size: 18px;
  }
}
@media (max-width: 400px) {
  .dmReviews .dmr-left .dmr-eyebrow {
    font-size: 15px;
  }
  .dmReviews .dmr-left h2 {
    font-size: 16px;
  }
}

/* ============================================================
   aboutSec (AboutSec.jsx)
   ============================================================ */
.aboutSec {
  background: #fff;
  padding: 50px 0;
}
.aboutSec .aboutSec-info {
  text-align: center;
}
.aboutSec .aboutSec-info .aboutSec-eyebrow {
  color: #ec1c24;
  font-size: 16px;
  text-transform: uppercase;
  margin: 0;
}
.aboutSec .aboutSec-info h2 {
  font-size: 45px;
  color: #000;
  font-weight: 700;
  width: 70%;
  margin: 25px auto;
  line-height: 56px;
}
.aboutSec .aboutSec-info h2 span {
  color: #ec1c24;
}
.aboutSec .aboutSec-info p {
  font-size: 16px;
  color: #000;
  font-weight: 500;
  line-height: 26px;
}
.aboutSec .aboutSec-info p span {
  color: #ec1c24;
}
.aboutSec .aboutSec-info h3 {
  color: #000;
  font-size: 24px;
  font-weight: 600;
  text-transform: uppercase;
  margin: 20px 0;
}
.aboutSec .aboutSec-cta {
  display: flex;
  justify-content: center;
  gap: 30px;
}
.aboutSec .aboutSec-cta a.custom-btn {
  color: #000;
}
.aboutSec .aboutSec-cta a.custom-btn::after {
  background: #000;
}
.aboutSec .aboutSec-cta a.custom-btn .line {
  background: #000;
}
@media (max-width: 1200px) {
  .aboutSec .aboutSec-info h2 {
    font-size: 40px;
    line-height: 1.5;
  }
  .aboutSec .aboutSec-info h3 {
    font-size: 22px;
  }
}
@media (max-width: 991px) {
  .aboutSec .aboutSec-info h2 {
    font-size: 30px;
    line-height: 1.5;
  }
  .aboutSec .aboutSec-info h3 {
    font-size: 20px;
  }
}
@media (max-width: 767px) {
  .aboutSec .aboutSec-info h2 {
    font-size: 28px;
    line-height: 1.4;
    width: 100%;
  }
  .aboutSec .aboutSec-info p {
    font-size: 15px;
  }
  .aboutSec .aboutSec-info h3 {
    font-size: 20px;
  }
}
@media (max-width: 479px) {
  .aboutSec .aboutSec-info .aboutSec-eyebrow {
    font-size: 15px;
  }
  .aboutSec .aboutSec-info h2 {
    font-size: 26px;
  }
  .aboutSec .aboutSec-info h3 {
    font-size: 20px;
  }
  .aboutSec .aboutSec-cta {
    flex-direction: column;
    gap: 20px;
    align-items: center;
  }
}
@media (max-width: 400px) {
  .aboutSec .aboutSec-info .aboutSec-eyebrow {
    font-size: 14px;
  }
  .aboutSec .aboutSec-info h2 {
    font-size: 24px;
  }
  .aboutSec .aboutSec-info p {
    font-size: 14px;
  }
  .aboutSec .aboutSec-info h3 {
    font-size: 18px;
  }
}

/* ============================================================
   dmHelpingSec (helpingSec)
   ============================================================ */
.dmHelpingSec {
  background: #fcfcfc;
  padding: 80px 0;
}
.dmHelpingSec .dhs-grid {
  display: grid;
  grid-gap: 100px;
  grid-template-columns: 0.6fr 1fr;
}
.dmHelpingSec .dhs-left .dhs-eyebrow {
  color: #ec1c24;
  font-size: 16px;
  text-transform: uppercase;
  margin: 0;
}
.dmHelpingSec .dhs-left h2 {
  font-size: 40px;
  line-height: 46px;
  font-weight: bold;
  margin: 25px auto;
}
.dmHelpingSec .dhs-left h2 span {
  color: #ec1c24;
}
.dmHelpingSec .dhs-cta {
  background: #ec1c24;
  width: 230px;
  height: 56px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 30px 0 0 0;
  border-radius: 30px;
  color: #fff;
  font-size: 16px;
  font-weight: 500;
  text-decoration: none;
  transition: all 0.5s ease-in-out;
  border: 1px solid transparent;
}
.dmHelpingSec .dhs-cta svg {
  margin-left: 7px;
  transition: 0.5s ease-in-out;
}
.dmHelpingSec .dhs-cta:hover {
  color: red;
  background: transparent;
  border-color: red;
}
.dmHelpingSec .dhs-cta:hover svg {
  margin-left: 12px;
}
.dmHelpingSec .dhs-main-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  grid-gap: 20px;
}
.dmHelpingSec .dhs-single-box {
  background: #ddd;
  height: 170px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  border-radius: 5px 30px 5px 30px;
  transition: all 0.5s linear;
}
.dmHelpingSec .dhs-single-box h3 {
  color: #000;
  font-size: 16px;
  margin: 10px 0 0 0;
  transition: all 0.5s linear;
  text-align: center;
}
.dmHelpingSec .dhs-single-box img {
  transition: all 0.5s linear;
}
.dmHelpingSec .dhs-single-box:hover {
  background: #ec1c24;
}
.dmHelpingSec .dhs-single-box:hover h3 {
  color: #fff;
}
.dmHelpingSec .dhs-single-box:hover img {
  filter: invert(1);
}
@media (max-width: 1200px) {
  .dmHelpingSec .dhs-grid {
    grid-gap: 30px;
    grid-template-columns: 0.5fr 1fr;
  }
  .dmHelpingSec .dhs-left h2 {
    font-size: 35px;
  }
}
@media (max-width: 1199px) {
  .dmHelpingSec .dhs-left h2 {
    font-size: 30px;
    line-height: 1.4;
  }
  .dmHelpingSec .dhs-main-grid {
    grid-template-columns: 1fr 1fr 1fr;
    grid-gap: 15px;
  }
}
@media (max-width: 991px) {
  .dmHelpingSec .dhs-grid {
    grid-template-columns: 1fr;
  }
  .dmHelpingSec .dhs-left .dhs-eyebrow {
    text-align: center;
  }
  .dmHelpingSec .dhs-left h2 {
    font-size: 28px;
    text-align: center;
  }
  .dmHelpingSec .dhs-cta {
    margin: 0 auto;
  }
  .dmHelpingSec .dhs-main-grid {
    grid-template-columns: 1fr 1fr 1fr;
    grid-gap: 15px;
  }
}
@media (max-width: 479px) {
  .dmHelpingSec .dhs-left h2 {
    font-size: 26px;
  }
  .dmHelpingSec .dhs-main-grid {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 400px) {
  .dmHelpingSec .dhs-left h2 {
    font-size: 22px;
  }
  .dmHelpingSec .dhs-single-box h3 {
    font-size: 15px;
  }
}
@media (max-width: 360px) {
  .dmHelpingSec .dhs-main-grid {
    grid-template-columns: 1fr;
  }
}

/* ============================================================
   dmOurServices (ourServices)
   ============================================================ */
.dmOurServices {
  padding: 80px 0;
}
.dmOurServices h2 {
  width: 100%;
  font-size: 32px;
  margin: 5px 0;
  line-height: 40px;
  font-weight: 700;
  text-align: center;
}
.dmOurServices .dos-eyebrow {
  color: #ec1c24;
  font-size: 16px;
  text-transform: uppercase;
  text-align: center;
}
.dmOurServices .dos-grid {
  display: flex;
  align-items: center;
  gap: 50px;
  margin-top: 80px;
}
.dmOurServices .dos-grid:nth-child(even) {
  flex-direction: row-reverse;
}
.dmOurServices .dos-left h3 {
  font-size: 28px;
  color: #000;
  font-weight: 700;
  margin: 0 0 48px 0;
  position: relative;
}
.dmOurServices .dos-left h3::after {
  position: absolute;
  background: #ec1c24;
  content: "";
  width: 50px;
  height: 2px;
  left: 0;
  top: -21px;
}
.dmOurServices .dos-left p {
  font-size: 16px;
  color: #000;
  font-weight: 500;
  line-height: 26px;
}
.dmOurServices .dos-left p span {
  color: #ec1c24;
}
.dmOurServices .dos-img img {
  max-width: unset !important;
}
/* .dmOurServices .dos-img img { width: 100%; height: auto; } */
@media (max-width: 1200px) {
  .dmOurServices {
    padding: 60px 0;
  }
  .dmOurServices h2 {
    font-size: 30px;
  }
  .dmOurServices .dos-left {
    width: 70%;
  }
  .dmOurServices .dos-left h3 {
    font-size: 26px;
  }
  .dmOurServices .dos-left p {
    font-size: 15px;
  }
  .dmOurServices .dos-right {
    width: 30%;
  }
}
@media (max-width: 991px) {
  .dmOurServices h2 {
    font-size: 28px;
  }
  .dmOurServices .dos-grid {
    flex-direction: column;
    align-items: center;
  }
  .dmOurServices .dos-grid:nth-child(even) {
    flex-direction: column;
  }
  .dmOurServices .dos-left {
    width: 100%;
  }
  .dmOurServices .dos-left h3 {
    font-size: 24px;
    margin-bottom: 20px;
    text-align: center;
  }
  .dmOurServices .dos-left h3::after {
    margin: auto;
    left: 0;
    right: 0;
  }
  .dmOurServices .dos-left p {
    font-size: 15px;
    text-align: center;
  }
  .dmOurServices .dos-right {
    width: 100%;
  }
  .dmOurServices .dos-img img {
    width: auto;
    margin: auto;
    display: block;
  }
}
@media (max-width: 767px) {
  .dmOurServices h2 {
    font-size: 25px;
  }
  .dmOurServices .dos-left h3 {
    font-size: 22px;
  }
  .dmOurServices .dos-img img {
    width: 100%;
  }
}
@media (max-width: 579px) {
  .dmOurServices h2 {
    font-size: 24px;
  }
  .dmOurServices .dos-left h3 {
    font-size: 20px;
  }
  .dmOurServices .dos-left p {
    font-size: 14px;
  }
}

/* ============================================================
   dmCompanyLogo (companyLogo)
   ============================================================ */
.dmCompanyLogo {
  background: #ec1c24;
  padding: 35px 0;
}
.dmCompanyLogo .dcl-images {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media (max-width: 1200px) {
  .dmCompanyLogo .dcl-images {
    gap: 40px;
  }
  .dmCompanyLogo .dcl-images img {
    width: 130px;
    height: auto;
  }
}
@media (max-width: 991px) {
  .dmCompanyLogo .dcl-images {
    flex-wrap: wrap;
    justify-content: center;
    gap: 40px;
  }
  .dmCompanyLogo .dcl-images img {
    width: 130px;
    height: auto;
  }
}
@media (max-width: 767px) {
  .dmCompanyLogo .dcl-images {
    flex-wrap: wrap;
    justify-content: center;
    gap: 40px;
  }
	.dmCompanyLogo .dcl-images img {
    width: 80px;
  }
}

/* ============================================================
   dmGetInstantBtn (getInstantBtn)
   ============================================================ */
.dmGetInstantBtn {
  text-align: center;
  padding-bottom: 60px;
}
.dmGetInstantBtn a.custom-btn {
  color: #000;
}
.dmGetInstantBtn a.custom-btn::after {
  background: #000;
}
.dmGetInstantBtn a.custom-btn .line {
  background: #000;
}

/* ============================================================
   ourExpertise (OurExpertise.jsx)
   ============================================================ */
.ourExpertise {
  padding: 60px 0;
}
.ourExpertise .oe-eyebrow {
  font-size: 16px;
  color: #ec1c24;
  text-align: center;
  text-transform: uppercase;
}
.ourExpertise h2 {
  font-size: 28px;
  font-weight: bold;
  text-align: center;
}
.ourExpertise .oe-tab-info {
  margin-top: 50px;
}
.ourExpertise .oe-tab-info ul {
  display: flex;
  gap: 40px;
  justify-content: space-between;
  list-style: none;
  padding: 0;
  margin: 0;
}
.ourExpertise .oe-tab-info ul li {
  font-size: 20px;
  cursor: pointer;
  padding-bottom: 4px;
}
.ourExpertise .oe-tab-info ul li.active {
  color: #ec1c24;
  border-bottom: 2px solid #ec1c24;
}
.ourExpertise .oe-tab-content {
  display: none;
  margin-top: 50px;
}
.ourExpertise .oe-tab-content.active {
  display: block;
}
.ourExpertise .oe-content-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-gap: 60px;
}
.ourExpertise .oe-left-info .oe-img-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  justify-content: center;
}
.ourExpertise .oe-left-info .oe-img-grid .oe-box {
  border: 1px solid #f1f1f1;
  width: 190px;
  padding: 15px 10px;
  text-align: center;
}
.ourExpertise .oe-left-info .oe-img-grid .oe-box p {
  margin-top: 8px;
  margin-bottom: 0;
  font-size: 14px;
}
.ourExpertise .oe-right-info p {
  font-size: 16px;
}
.ourExpertise .oe-right-info h3 {
  font-size: 22px;
  color: #ec1c24;
  font-weight: 700;
}
.ourExpertise .oe-right-info ul {
  list-style: disc;
  padding-left: 20px;
}
.ourExpertise .oe-right-info ul li {
  font-size: 16px;
  line-height: 40px;
}
@media (max-width: 991px) {
  .ourExpertise .oe-content-grid {
    grid-template-columns: 1fr;
  }
  .ourExpertise .oe-tab-info ul {
    justify-content: center;
    flex-wrap: wrap;
    gap: 20px;
  }
}
@media (max-width: 479px) {
  .ourExpertise .oe-tab-info ul li {
    font-size: 16px;
  }
  .ourExpertise .oe-left-info .oe-img-grid .oe-box {
    width: 160px;
  }
  .ourExpertise .oe-right-info p,
  .ourExpertise .oe-right-info ul li {
    font-size: 14px;
  }
}

/* ============================================================
   hiring (Hiring.jsx)
   ============================================================ */
.hiring {
  padding: 60px 0;
  text-align: center;
  background-color: #f5f5f5;
}
.hiring .hiring-content span {
  font-size: 16px;
  text-transform: uppercase;
  font-weight: 550;
  color: #ec1c24;
}
.hiring .hiring-content h2 {
  font-size: 28px;
  font-weight: bold;
  color: #000;
}
.hiring .hiring-content p {
  font-size: 16px;
  font-weight: 500;
  color: #000;
}
.hiring .hiring-tabs-list {
  padding-bottom: 50px;
}
.hiring .hiring-tabs-list ul {
  display: flex;
  gap: 50px;
  justify-content: center;
  list-style: none;
  padding: 0;
  margin: 0;
}
.hiring .hiring-tabs-list ul li {
  cursor: pointer;
  list-style: none;
}
.hiring .hiring-tabs-list ul li span {
  font-size: 25px;
  font-weight: 500;
}
.hiring .hiring-tabs-list ul li.active {
  color: #ec1c24;
  text-decoration: underline;
}
.hiring .hiring-tab-box .hiring-tab-content {
  display: none;
}
.hiring .hiring-tab-box .hiring-tab-content.active {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
}
.hiring .hiring-tab-box .hiring-tab-content .hiring-box {
  padding: 20px 10px 0 10px;
  width: 385px;
  min-height: 210px;
  box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
}
.hiring .hiring-tab-box .hiring-tab-content .hiring-box span {
  font-size: 23px;
  font-weight: 550;
  color: #ec1c24;
  padding-bottom: 12px;
	display:block;
}
.hiring .hiring-tab-box .hiring-tab-content .hiring-box ul {
  text-align: left;
  list-style: disc;
  /* padding-left: 20px; */
  padding-left: 2rem;
  margin: 0;
}
.hiring .hiring-tab-box .hiring-tab-content .hiring-box ul li {
  font-size: 16px;
  font-weight: 500;
  color: #000;
  padding-bottom: 12px;
}
@media (max-width: 1400px) {
  .hiring {
    padding: 50px 0;
  }
  .hiring .hiring-content h2 {
    font-size: 26px;
  }
  .hiring .hiring-tabs-list {
    padding-bottom: 50px;
  }
  .hiring .hiring-tabs-list ul li span {
    font-size: 22px;
  }
  .hiring .hiring-tab-box .hiring-tab-content .hiring-box {
    width: 350px;
    min-height: 200px;
  }
  .hiring .hiring-tab-box .hiring-tab-content .hiring-box span {
    font-size: 22px;
    padding-bottom: 10px;
  }
  .hiring .hiring-tab-box .hiring-tab-content .hiring-box ul li {
    padding-bottom: 10px;
  }
}
@media (max-width: 1199px) {
  .hiring {
    padding: 40px 0;
  }
  .hiring .hiring-content h2 {
    font-size: 24px;
  }
  .hiring .hiring-content p {
    font-size: 14px;
  }
  .hiring .hiring-tabs-list {
    padding-bottom: 40px;
  }
  .hiring .hiring-tabs-list ul {
    gap: 40px;
  }
  .hiring .hiring-tabs-list ul li span {
    font-size: 20px;
  }
  .hiring .hiring-tab-box .hiring-tab-content {
    gap: 15px;
  }
  .hiring .hiring-tab-box .hiring-tab-content .hiring-box {
    width: auto;
    min-height: auto;
  }
  .hiring .hiring-tab-box .hiring-tab-content .hiring-box span {
    font-size: 22px;
  }
  .hiring .hiring-tab-box .hiring-tab-content .hiring-box ul li {
    font-size: 14px;
  }
}
@media (max-width: 991px) {
  .hiring {
    padding: 30px 0;
  }
  .hiring .hiring-content h2 {
    font-size: 22px;
  }
  .hiring .hiring-tabs-list {
    padding-bottom: 30px;
  }
  .hiring .hiring-tabs-list ul {
    gap: 30px;
  }
  .hiring .hiring-tabs-list ul li span {
    font-size: 18px;
  }
  .hiring .hiring-tab-box .hiring-tab-content .hiring-box span {
    font-size: 18px;
  }
}
@media (max-width: 767px) {
  .hiring .hiring-content h2 {
    font-size: 22px;
  }
  .hiring .hiring-tabs-list {
    padding-bottom: 30px;
  }
  .hiring .hiring-tabs-list ul {
    gap: 10px;
  }
  .hiring .hiring-tabs-list ul li span {
    font-size: 16px;
  }
  .hiring .hiring-tab-box .hiring-tab-content.active {
    display: block;
  }
  .hiring .hiring-tab-box .hiring-tab-content .hiring-box {
    width: 100%;
    margin-bottom: 20px;
  }
  .hiring .hiring-tab-box .hiring-tab-content .hiring-box span {
    font-size: 18px;
  }
}

/* ============================================================
   html5TechStack (inline section in html5/page.js)
   ============================================================ */
.html5TechStack {
  padding: 80px 0;
}
.html5TechStack .hts-eyebrow {
  font-weight: 600;
  font-size: 14px;
  text-align: center;
  color: #ec1c24;
  text-transform: uppercase;
}
.html5TechStack h2 {
  font-weight: bold;
  font-size: 28px;
  text-align: center;
  color: #000;
}
.html5TechStack .hts-stack-grid {
  display: flex;
  justify-content: space-evenly;
  padding-top: 50px;
  flex-wrap: wrap;
  gap: 30px;
}
.html5TechStack .hts-stack-box {
  border-radius: 10px;
  background: #fff;
  box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
  padding: 10px;
  width: 160px;
  height: 140px;
  display: flex;
  align-items: center;
  flex-direction: column;
  justify-content: center;
  transition: background 0.5s ease;
}
.html5TechStack .hts-stack-box h3 {
  margin-top: 10px;
  font-size: 18px;
  text-align: center;
  color: #000;
  margin-bottom: 0;
  transition: color 0.5s ease;
}
.html5TechStack .hts-stack-box:hover {
  background: #f9f9f9;
}
.html5TechStack .hts-stack-box:hover h3 {
  color: #ec1c24;
}
@media (max-width: 1200px) {
  .html5TechStack .hts-stack-box {
    width: 150px;
    height: 120px;
  }
  .html5TechStack .hts-stack-box img {
    width: 50px;
    height: auto;
  }
  .html5TechStack .hts-stack-box h3 {
    font-size: 16px;
  }
}
@media (max-width: 991px) {
  .html5TechStack h2 {
    font-size: 26px;
  }
  .html5TechStack .hts-stack-grid {
    justify-content: center;
  }
}
@media (max-width: 767px) {
  .html5TechStack h2 {
    font-size: 24px;
  }
}
@media (max-width: 479px) {
  .html5TechStack h2 {
    font-size: 22px;
  }
}

/* ============================================================
   industryBanner — mirrors Industry/Banner/Banner.module.scss
   ============================================================ */
.industryBanner {
  background-size: cover;
  padding-top: 100px;
  padding-bottom: 50px;
  height: 100vh;
  display: flex;
  align-items: center;
  margin-top: -77px;
}
.industryBanner .main-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  grid-gap: 50px;
}
.industryBanner .main-grid .left-info h1 {
  font-weight: 600;
  font-size: 45px;
  text-align: left;
  color: #000;
}
.industryBanner .main-grid .left-info p {
  font-size: 16px;
  line-height: 28px;
  text-align: left;
  color: #000;
  margin-bottom: 30px;
}
.industryBanner .main-grid .left-info p a {
  color: #ec1c24;
}
.industryBanner .main-grid .left-info .btn-info {
  display: flex;
  gap: 20px;
}
.industryBanner .main-grid .left-info .award-list {
  margin-top: 30px;
}
.industryBanner .main-grid .left-info .award-list ul {
  padding: 0;
  display: flex;
  list-style: none;
  align-items: center;
  gap: 10px;
}
.industryBanner .main-grid .left-info .award-list ul li img {
  max-width: 110px;
  width: auto;
  height: auto;
}
.industryBanner .main-grid .right-info img {
  width: 100%;
  margin: auto;
  display: block;
  height: auto;
}
.industryBanner .main-grid .right-info.web-dev img {
  width: 85%;
}
@media (max-width: 1650px) {
  .industryBanner {
    height: 850px;
  }
}
@media (max-width: 1440px) {
  .industryBanner {
    height: 750px;
    padding-bottom: 0;
  }
  .industryBanner .main-grid .left-info h1 {
    font-size: 40px;
  }
  .industryBanner .main-grid .left-info p {
    font-size: 16px;
  }
}
@media (max-width: 1400px) {
  .industryBanner {
    height: 750px;
    padding-bottom: 0;
    padding-top: 50px;
    margin-top: -74px;
  }
  .industryBanner .main-grid .left-info h1 {
    font-size: 35px;
  }
  .industryBanner .main-grid .left-info p {
    font-size: 16px;
    margin-bottom: 20px;
  }
  .industryBanner .main-grid .right-info img {
    width: 100%;
    height: auto;
  }
}
@media (max-width: 1200px) {
  .industryBanner {
    height: 700px;
    padding-bottom: 0;
    margin-top: -72px;
    padding-top: 50px;
  }
  .industryBanner .main-grid .left-info h1 {
    font-size: 30px;
  }
  .industryBanner .main-grid .left-info p {
    font-size: 15px;
  }
  .industryBanner .main-grid .left-info a {
    font-size: 15px;
  }
  .industryBanner .main-grid .left-info button {
    font-size: 15px;
  }
}
@media (max-width: 1199px) {
  .industryBanner .main-grid .right-info.web-dev img {
    width: 100%;
  }
}
@media (max-width: 1024px) {
  .industryBanner {
    margin-top: 0;
    padding: 50px 0;
    height: auto;
  }
  .industryBanner .main-grid {
    grid-template-columns: 1fr;
  }
  .industryBanner .main-grid .left-info h1 {
    font-size: 26px;
    text-align: center;
  }
  .industryBanner .main-grid .left-info p {
    font-size: 15px;
    text-align: center;
  }
  .industryBanner .main-grid .left-info .btn-info {
    justify-content: center;
  }
  .industryBanner .main-grid .left-info .btn-info a {
    font-size: 14px;
  }
  .industryBanner .main-grid .left-info .btn-info button {
    font-size: 14px;
  }
  .industryBanner .main-grid .left-info .award-list ul {
    justify-content: center;
    gap: 20px;
    flex-wrap: wrap;
  }
  .industryBanner .main-grid .right-info.web-dev img {
    width: 60%;
    margin: auto;
    display: block;
    height: auto;
  }
}
@media (max-width: 991px) {
  .industryBanner {
    margin-top: 0;
    padding: 50px 0;
    height: auto;
  }
  .industryBanner .main-grid {
    grid-template-columns: 1fr;
  }
  .industryBanner .main-grid .right-info img {
    width: 100%;
    margin: auto;
    display: block;
    height: auto;
  }
}
@media (max-width: 767px) {
  .industryBanner {
    padding: 50px 0;
  }
  .industryBanner .main-grid {
    grid-template-columns: 1fr;
    grid-gap: 20px;
  }
  .industryBanner .main-grid .left-info h1 {
    text-align: center;
    font-size: 24px;
  }
  .industryBanner .main-grid .left-info p {
    font-size: 15px;
    text-align: center;
  }
  .industryBanner .main-grid .left-info .btn-info {
    justify-content: center;
  }
  .industryBanner .main-grid .left-info .btn-info a {
    font-size: 14px;
    text-align: center;
    display: block;
  }
  .industryBanner .main-grid .left-info .btn-info button {
    font-size: 14px;
    text-align: center;
    display: block;
  }
}
@media (max-width: 479px) {
  .industryBanner .main-grid .left-info h1 {
    font-size: 22px;
  }
  .industryBanner .main-grid .left-info p {
    font-size: 14px;
    line-height: 1.6;
  }
  .industryBanner .main-grid .left-info .award-list {
    margin-top: 20px;
  }
  .industryBanner .main-grid .left-info .award-list ul {
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
    justify-content: center;
  }
  .industryBanner .main-grid .left-info .award-list ul li img {
    width: 100px;
    height: auto;
  }
  .industryBanner .main-grid .right-info img {
    width: 100%;
  }
}
@media (max-width: 400px) {
  .industryBanner .main-grid .left-info h1 {
    font-size: 22px;
  }
  .industryBanner .main-grid .left-info p {
    font-size: 14px;
    line-height: 1.6;
  }
  .industryBanner .main-grid .left-info .btn-info {
    flex-direction: column;
    gap: 10px;
  }
  .industryBanner .main-grid .left-info .award-list ul {
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
    justify-content: center;
  }
  .industryBanner .main-grid .left-info .award-list ul li img {
    width: 100px;
    height: auto;
  }
}

/* ============================================================
   weOffer — mirrors Cms/WeOffer/WeOffer.module.scss
   ============================================================ */
.weOffer {
  padding: 60px 0;
}
.weOffer.gray-bg {
  background: #f5f5f5;
}
/* eyebrow label (was an h4): heading defaults it inherited are spelled out */
.weOffer .main-info .we-offer-eyebrow {
  margin-top: 0;
  margin-bottom: .5rem;
  line-height: 1.2;
  clear: both;
  font-weight: 600;
  font-size: 14px;
  text-align: center;
  color: #ec1c24;
  text-transform: uppercase;
}
.weOffer .main-info h2 {
  font-weight: bold;
  font-size: 28px;
  text-align: center;
  color: #000;
}
.weOffer .main-info p {
  font-size: 16px;
  line-height: 24px;
  text-align: center;
  color: #000;
}
.weOffer .dev-slider {
  position: relative;
}
.weOffer .development-slider {
  padding: 10px;
  margin-top: 50px;
  overflow: hidden;
}
.weOffer .swiper-slide {
  height: auto;
  display: flex;
}
.weOffer .development-slider .dev-box {
  padding: 20px;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 10px;
}
.weOffer .development-slider .dev-box .dev-info img {
  height: auto;
}
.weOffer .development-slider .dev-box .dev-info h3 {
  font-weight: bold;
  font-size: 20px;
  text-align: left;
  color: #161616;
}
.weOffer .development-slider .dev-box .dev-info p {
  font-size: 16px;
  line-height: 24px;
  text-align: left;
  color: #000;
  margin: 0;
}
.weOffer .development-slider .dev-box .arrow-icon {
  display: block;
  font-size: 25px;
  transition: color 0.5s;
  color: #000;
}
.weOffer .development-slider .dev-box:hover .arrow-icon {
  color: #ec1c24;
}
@media (max-width: 1400px) {
  .weOffer .main-info h2 {
    font-size: 26px;
  }
  .weOffer .development-slider .dev-box .dev-info h3 {
    font-size: 18px;
  }
  .weOffer .development-slider .dev-box .dev-info p {
    font-size: 15px;
  }
}
@media (max-width: 991px) {
  .weOffer .main-info h2 {
    font-size: 24px;
  }
  .weOffer .development-slider {
    margin-top: 30px;
  }
  .weOffer .development-slider .dev-box .dev-info h3 {
    font-size: 16px;
  }
  .weOffer .development-slider .dev-box .dev-info p {
    font-size: 15px;
  }
}
@media (max-width: 767px) {
  .weOffer .main-info h2 {
    font-size: 22px;
  }
  .weOffer .main-info p {
    font-size: 15px;
  }
  .weOffer .development-slider .dev-box .dev-info h3 {
    font-size: 16px;
  }
  .weOffer .development-slider .dev-box .dev-info p {
    font-size: 14px;
  }
}

/* ============================================================
   counterSec — mirrors Industry/CounterSec/CounterSec.module.scss
   ============================================================ */
.counterSec {
  padding: 50px 0;
  background: linear-gradient(#eee 0%, #fff 100%);
  position: relative;
}
.counterSec::before {
  content: "";
  background-color: #ffffff;
  width: 100%;
  height: 50px;
  position: absolute;
  bottom: -30px;
  filter: blur(10px);
  pointer-events: none;
}
.counterSec .counter-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  grid-gap: 40px;
  justify-content: center;
}
.counterSec .counter-info h4 {
  font-weight: bold;
  font-size: 35px;
  letter-spacing: 0.06em;
  line-height: 35px;
  text-align: center;
  color: #ec1c24;
}
.counterSec .counter-info p {
  font-weight: 500;
  font-size: 25px;
  letter-spacing: 0.06em;
  line-height: 30px;
  text-align: center;
  color: #000;
}
@media (max-width: 1440px) {
  .counterSec .counter-info h4 {
    font-size: 30px;
  }
  .counterSec .counter-info p {
    font-size: 22px;
  }
}
@media (max-width: 1400px) {
  .counterSec .counter-info h4 {
    font-size: 28px;
  }
  .counterSec .counter-info p {
    font-size: 20px;
    line-height: 1.5;
  }
}
@media (max-width: 1200px) {
  .counterSec .counter-info h4 {
    font-size: 26px;
  }
  .counterSec .counter-info p {
    font-size: 18px;
    line-height: 1.5;
  }
}
@media (max-width: 991px) {
  .counterSec .counter-grid {
    grid-gap: 20px;
  }
  .counterSec .counter-info h4 {
    font-size: 26px;
  }
  .counterSec .counter-info p {
    font-size: 16px;
    line-height: 1.5;
  }
}
@media (max-width: 767px) {
  .counterSec .counter-grid {
    grid-template-columns: 1fr 1fr;
    grid-gap: 20px;
  }
  .counterSec .counter-info h4 {
    font-size: 24px;
  }
  .counterSec .counter-info p {
    font-size: 16px;
    line-height: 1.5;
  }
}
@media (max-width: 479px) {
  .counterSec .counter-info h4 {
    font-size: 22px;
  }
  .counterSec .counter-info p {
    font-size: 14px;
    line-height: 1.5;
  }
}
@media (max-width: 400px) {
  .counterSec .counter-grid {
    grid-template-columns: 1fr;
  }
  .counterSec .counter-info h4 {
    font-size: 22px;
  }
  .counterSec .counter-info p {
    font-size: 14px;
    line-height: 1.5;
  }
}

/* ============================================================
   textSection — mirrors Industry/TextSection/TextSection.module.scss
   ============================================================ */
.textSection {
  padding: 50px 0;
  position: relative;
}
.textSection::before {
  content: "";
  background-color: #ffffff;
  width: 100%;
  height: 50px;
  position: absolute;
  bottom: -30px;
  filter: blur(10px);
  pointer-events: none;
}
.textSection .plate-cta-sub {
  font-size: 28px;
  line-height: 32px;
  text-align: center;
  color: #ec1c24;
  font-weight: bold;
}
.textSection p {
  font-size: 16px;
  line-height: 24px;
  text-align: center;
  color: #3a3a3a;
  margin-bottom: 0;
}
@media (max-width: 1440px) {
  .textSection .plate-cta-sub {
    font-size: 24px;
  }
}
@media (max-width: 1400px) {
  .textSection .plate-cta-sub {
    font-size: 22px;
  }
}
@media (max-width: 1200px) {
  .textSection .plate-cta-sub {
    font-size: 20px;
  }
}
@media (max-width: 991px) {
  .textSection .plate-cta-sub {
    font-size: 20px;
  }
}
@media (max-width: 767px) {
  .textSection .plate-cta-sub {
    font-size: 18px;
  }
}
@media (max-width: 479px) {
  .textSection .plate-cta-sub {
    font-size: 16px;
  }
  .textSection p {
    font-size: 14px;
  }
}
@media (max-width: 400px) {
  .textSection .plate-cta-sub {
    font-size: 15px;
    line-height: 1.6;
  }
  .textSection p {
    font-size: 14px;
    line-height: 1.6;
  }
}

/* ============================================================
   before-shape — decorative ::before on banner image div
   ============================================================ */
.mainBanner.before-shape .image {
  position: relative;
}
.mainBanner.before-shape .image::before {
  content: "";
  background-image: url("../images/sec-Mphero-pic-before.png");
  width: 100%;
  height: 100%;
  background-position: top;
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}

/* ============================================================
   StackServicesSec
   ============================================================ */
.StackServicesSec {
  padding: 80px 0;
  background: #fff;
}
.StackServicesSec .main-info {
  text-align: center;
  margin-bottom: 50px;
}
.StackServicesSec .main-info h5 {
  font-size: 16px;
  font-weight: 600;
  color: #ed2a32;
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-bottom: 12px;
}
.StackServicesSec .main-info h2 {
  font-size: 36px;
  font-weight: 700;
  color: #1a1a2e;
  margin-bottom: 16px;
  line-height: 1.25;
}
.StackServicesSec .main-info h2 span {
  color: #ed2a32;
}
.StackServicesSec .main-info p {
  font-size: 16px;
  color: #555;
  max-width: 700px;
  margin: 0 auto;
  line-height: 1.7;
}
.StackServicesSec .servicesSlider {
  margin-bottom: 40px;
}
.StackServicesSec .servicesListSlider .swiper-slide {
  height: auto;
}
.StackServicesSec .tabBox {
  background: #f7f8fc;
  border-radius: 10px;
  padding: 22px 18px;
  cursor: pointer;
  text-align: center;
  transition:
    background 0.25s,
    box-shadow 0.25s;
  border: 2px solid transparent;
}
.StackServicesSec .tabBox:hover,
.StackServicesSec .tabBox.active {
  background: #fff;
  border-color: #ed2a32;
  box-shadow: 0 4px 20px rgba(237, 42, 50, 0.12);
}
.StackServicesSec .tabBox img {
  width: 55px;
  height: 55px;
  object-fit: contain;
  margin-bottom: 12px;
}
.StackServicesSec .tabBox h4 {
  font-size: 14px;
  font-weight: 600;
  color: #1a1a2e;
  margin: 0;
}
.StackServicesSec .contentBoxWrapper {
  margin-top: 10px;
}
.StackServicesSec .contentBox {
  display: none;
  background: #f7f8fc;
  border-radius: 14px;
  padding: 40px;
}
.StackServicesSec .contentBox.active {
  display: block;
}
.StackServicesSec .contentBox h3 {
  font-size: 26px;
  font-weight: 700;
  color: #1a1a2e;
  margin-bottom: 16px;
}
.StackServicesSec .contentBox p,
.StackServicesSec .contentBox ul li {
  font-size: 15px;
  color: #555;
  line-height: 1.75;
}
.StackServicesSec .contentBox ul {
  padding-left: 20px;
  margin: 0;
}
.StackServicesSec .contentBox ul li {
  margin-bottom: 6px;
}
@media (max-width: 768px) {
  .StackServicesSec {
    padding: 50px 0;
  }
  .StackServicesSec .main-info h2 {
    font-size: 26px;
  }
  .StackServicesSec .contentBox {
    padding: 24px 18px;
  }
  .StackServicesSec .contentBox h3 {
    font-size: 20px;
  }
}

/* ============================================================
   trendTech (IndustrySpecific)
   ============================================================ */
.trendTech {
  background-image: url("../images/mobile-app-new/trend-bg.webp");
  background-size: 100% 70%;
  margin-top: 40px;
  padding: 40px 0;
  background-repeat: no-repeat;
}
.trendTech .content {
  text-align: center;
}
.trendTech .content h2 {
  color: #000;
  font-weight: 700;
  text-align: center;
  font-size: 42px;
}
.trendTech .content h2 span {
  color: #ed2a32;
}
.trendTech .content h4 {
  font-size: 19px;
  font-weight: bold;
  text-align: center;
  padding: 25px 0 0;
}
.trendTech .content p {
  text-align: center;
  font-size: 16px;
  color: #252525;
}
.trendTech .award-pagination {
  display: flex;
  gap: 10px;
  justify-content: flex-start;
  margin-top: -22px;
  position: relative;
  z-index: 2;
}
.trendTech .award-pagination div {
  cursor: pointer;
}
.trendTech .award-pagination svg {
  fill: #000;
  height: 30px;
  width: 30px;
  transition: 0.5s;
}
.trendTech .award-pagination div:hover svg {
  fill: #ed2a32;
}
.trendTech .boxes {
  padding: 20px 0 0;
}
.trendTech .boxes .singleBox {
  background-color: #f5f5f5;
  border: 1px solid #dedede;
  height: 500px;
  padding: 0;
  position: relative;
  border-radius: 10px;
  transition: all 0.3s ease;
}
.trendTech .boxes .singleBox img {
  border-radius: 10px;
  width: 100%;
  height: auto;
}
.trendTech .boxes .singleBox .contentBox {
  padding: 20px;
}
.trendTech .boxes .singleBox .contentBox h3 {
  color: #252525;
  font-size: 19px;
  font-weight: bold;
  padding: 15px 0 20px;
  margin: 0;
}
.trendTech .boxes .singleBox .contentBox h3 a {
  color: #252525;
  cursor: pointer;
  text-decoration: none;
}
.trendTech .boxes .singleBox .contentBox p {
  color: #252525;
  font-size: 16px;
  font-weight: 400;
}
.trendTech .swiper-scrollbar {
  background: rgba(0, 0, 0, 0.1);
  border-radius: 4px;
  height: 4px;
}
.trendTech .swiper-scrollbar-drag {
  background: #ed2a32;
  border-radius: 4px;
}
.houston-slider {
  padding: 50px 0px !important;
}
.houston-slider .swiper-scrollbar {
  width: 92% !important;
  right: 0 !important;
  left: unset !important;
}
.houston-slider .swiper-scrollbar .swiper-scrollbar-drag {
  background-color: #ed2a32;
}
.trendTech.dallas {
  background-image: url("../images/software-dev-houston/trendbg.webp");
  background-size: cover;
  padding: 100px 0 60px;
  margin-top: 0;
  background-position: center;
}
.trendTech.dallas .content {
  width: 78%;
  margin: auto;
}
.trendTech.dallas .content h2 {
  color: #fff;
  font-size: 38px;
}
.trendTech.dallas .content p {
  color: #fff;
  margin: 0;
  padding: 20px 0 0;
  line-height: 1.6;
  font-weight: 500;
}
.trendTech.dallas .award-pagination svg {
  border: 1px solid #fff;
  border-radius: 200px;
  fill: #fff;
  margin-top: unset;
}
.trendTech.dallas .boxes {
  padding: 0;
}
.trendTech.dallas .boxes .singleBox {
  padding: 10px;
}
.trendTech.dallas .boxes .singleBox .contentBox {
  padding: 10px;
}
.trendTech.dallas .boxes .singleBox .contentBox h3 {
  font-size: 22px;
}
.trendTech.houston {
  background-image: url("../images/software-dev-houston/trendbg.webp");
  background-size: cover;
  padding: 100px 0 60px;
  margin-top: -100px;
}
.trendTech.houston .content h2 {
  color: #fff;
  font-size: 38px;
}
.trendTech.houston .content p {
  color: #fff;
  margin: 0;
  padding: 20px 0 0;
}
.trendTech.houston .award-pagination svg {
  border: 1px solid #fff;
  border-radius: 200px;
  fill: #fff;
  margin-top: unset;
}
.trendTech.houston .boxes {
  padding: 0;
}
.trendTech.houston .boxes .singleBox {
  padding: 10px;
}
.trendTech.houston .boxes .singleBox .contentBox {
  padding: 20px 10px;
}
@media (max-width: 1366px) {
  .trendTech .content h2 {
    font-size: 38px;
  }
  .trendTech .content h4 {
    padding: 20px 0 0;
  }
}
@media (max-width: 1200px) {
  .trendTech .content h2 {
    font-size: 36px;
  }
  .trendTech.dallas .content h2 {
    font-size: 36px;
  }
  .trendTech.houston .content h2 {
    font-size: 36px;
  }
}
@media (max-width: 991px) {
  .trendTech {
    padding: 50px 0 30px;
  }
  .trendTech .content h2 {
    font-size: 30px;
  }
  .trendTech.dallas .content h2 {
    font-size: 30px;
  }
  .trendTech.dallas .award-pagination {
    margin-top: 18px;
  }
  .trendTech.houston .content h2 {
    font-size: 30px;
  }
}
@media (max-width: 768px) {
  .trendTech .content h2 br {
    display: none;
  }
  .trendTech .boxes .singleBox {
    height: 650px;
  }
}
@media (max-width: 575px) {
  .trendTech .content h2 {
    font-size: 25px;
  }
  .trendTech .boxes .singleBox {
    height: 600px;
  }
  .trendTech.dallas .content {
    width: 100%;
    margin-bottom: 20px;
  }
  .trendTech.dallas .content h2 {
    font-size: 25px;
  }
  .trendTech.dallas .boxes .singleBox {
    height: 500px;
  }
  .trendTech.dallas .award-pagination {
    margin-top: 30px;
    justify-content: center;
  }
  .trendTech.houston .content h2 {
    font-size: 25px;
  }
  .trendTech.houston .boxes .singleBox {
    height: 500px;
  }
  .trendTech.houston .award-pagination {
    margin-top: 30px;
    justify-content: center;
  }
  .houston-slider {
    padding: 0px !important;
  }
  .houston-slider .swiper-scrollbar {
    bottom: -30px !important;
  }
}

/* ============================================================
   howWeDeliverSec
   ============================================================ */
.howWeDeliverSec {
  padding: 60px 0;
  background: url("../images/software-dev-houston/deliver-bg.webp");
  background-size: 100% 70%;
  background-repeat: no-repeat;
}
.howWeDeliverSec .text {
  padding-bottom: 30px;
}
.howWeDeliverSec .text h2 {
  font-size: 38px;
  font-weight: bold;
  color: #fff;
  text-align: center;
}
.howWeDeliverSec .text p {
  font-size: 16px;
  font-weight: 500;
  color: #fff;
  text-align: center;
  margin: 0;
  padding: 20px 0;
}
.howWeDeliverSec .tabsMain {
  background-color: #fff;
  padding: 30px 20px 25px;
  border-radius: 10px;
  display: grid;
  grid-template-columns: 25% 1fr;
  box-shadow: 0px 0px 7px 0px #00000029;
}
.howWeDeliverSec .tabs ul {
  list-style: none;
  padding: 0;
  margin-bottom: 0;
}
.howWeDeliverSec .tabs ul li {
  padding: 8px;
  margin-bottom: 10px;
  text-align: left;
  border-radius: 15px;
  background: #f5f5f5;
  font-weight: 600;
  font-size: 16px;
  color: #252525;
  transition: 0.5s;
  cursor: pointer;
  width: 280px;
  position: relative;
}
.howWeDeliverSec .tabs ul li:last-child {
  margin-bottom: 0;
}
.howWeDeliverSec .tabs ul li .redBox {
  display: flex;
  align-items: center;
  justify-content: space-evenly;
  gap: 10px;
}
.howWeDeliverSec .tabs ul li .redBox img {
  transition: 0.5s;
  margin-bottom: 5px;
}
.howWeDeliverSec .tabs ul li .redBox h5 {
  font-size: 16px;
  color: #3d3d3d;
  font-weight: 600;
}
.howWeDeliverSec .tabs ul li .redBox .hwd-num {
  color: #ffffffc9;
  font-size: 35px;
  font-weight: bold;
}
.howWeDeliverSec .tabs ul li:hover,
.howWeDeliverSec .tabs ul li.active {
  background: linear-gradient(90deg, #252525 0%, #ed2a32 100%);
  color: #fff;
}
.howWeDeliverSec .tabs ul li:hover img,
.howWeDeliverSec .tabs ul li.active img {
  filter: brightness(10);
}
.howWeDeliverSec .tabs ul li:hover h5,
.howWeDeliverSec .tabs ul li.active h5 {
  color: #fff;
}
.howWeDeliverSec .right-info {
  width: 100%;
}
.howWeDeliverSec .right-info .hwd-tab-content {
  display: none;
}
.howWeDeliverSec .right-info .hwd-tab-content.active {
  display: block;
}
.howWeDeliverSec .right-info .hwd-tab-content .mainBox {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 440px;
}
.howWeDeliverSec .right-info .hwd-tab-content .mainBox .textBox h3 {
  color: #252525;
  font-size: 38px;
  font-weight: bold;
}
.howWeDeliverSec .right-info .hwd-tab-content .mainBox .textBox h3 span {
  color: #ed2a32;
}
.howWeDeliverSec .right-info .hwd-tab-content .mainBox .paraBox p {
  color: #252525;
  font-size: 16px;
  font-weight: 500;
}
.howWeDeliverSec .right-info .hwd-tab-content .mainBox .paraBox p a {
  color: #ed2a32;
}
.howWeDeliverSec .right-info .hwd-tab-content .mainBox .imgBox {
  display: flex;
  gap: 10px;
}
.howWeDeliverSec .right-info .hwd-tab-content .mainBox .imgBox img {
  border-radius: 30px;
}
.howWeDeliverSec.dallas {
  background-position: top center;
}
.howWeDeliverSec.dallas .tabsMain .tabs ul li {
  width: 250px;
  border-radius: 10px;
  border: 1px solid #dedede;
}
@media (max-width: 1400px) {
  .howWeDeliverSec .tabsMain {
    grid-gap: 20px;
  }
  .howWeDeliverSec .mainBox .imgBox img {
    width: 100%;
    height: auto;
  }
}
@media (max-width: 1366px) {
  .howWeDeliverSec .tabsMain {
    grid-gap: 40px;
  }
}
@media (max-width: 1200px) {
  .howWeDeliverSec .text h2 {
    font-size: 36px;
  }
}
@media (max-width: 1199px) {
  .howWeDeliverSec .tabsMain {
    grid-template-columns: 1fr;
  }
  .howWeDeliverSec .tabs ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px;
  }
  .howWeDeliverSec .right-info .hwd-tab-content .mainBox {
    height: max-content;
    text-align: center;
  }
  .howWeDeliverSec .right-info .hwd-tab-content .mainBox .imgBox {
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }
  .howWeDeliverSec .right-info .hwd-tab-content .mainBox .imgBox img {
    width: 70%;
    height: auto;
  }
}
@media (max-width: 991px) {
  .howWeDeliverSec .text h2 {
    font-size: 30px;
  }
  .howWeDeliverSec .right-info .hwd-tab-content .mainBox .textBox h3 {
    font-size: 30px;
  }
  .howWeDeliverSec .right-info .hwd-tab-content .mainBox .imgBox img {
    width: 100%;
  }
}
@media (max-width: 575px) {
  .howWeDeliverSec .text h2 {
    font-size: 25px;
  }
  .howWeDeliverSec .tabs ul {
    gap: 10px;
  }
  .howWeDeliverSec .tabs ul li .redBox .hwd-num {
    font-size: 26px;
  }
  .howWeDeliverSec .right-info .hwd-tab-content .mainBox .textBox h3 {
    font-size: 25px;
  }
}
@media (max-width: 480px) {
  .howWeDeliverSec .tabs ul li {
    width: 250px;
  }
}

/* ============================================================
   StreamlinedTabsSec
   ============================================================ */
.StreamlinedTabsSec {
  padding-top: 80px;
  padding-bottom: 80px;
  position: relative;
}
.StreamlinedTabsSec .stt-content {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-gap: 50px;
}
.StreamlinedTabsSec .streamlinedAccordian {
  display: grid;
  grid-template-columns: 1fr;
  grid-gap: 20px;
  --bs-accordion-bg: #f5f5f5;
  border-radius: 10px;
}
.StreamlinedTabsSec .listItem {
  box-shadow: 0px 0px 7px 0px #00000029;
  background-color: #fff;
  border-radius: 10px;
}
.StreamlinedTabsSec .listHead {
  margin: 0;
}
.StreamlinedTabsSec .listHead button {
  background-color: #fff;
  box-shadow: none;
  font-weight: 600;
  font-size: 18px;
  line-height: 28px;
  border-radius: 10px;
  padding: 10px 20px;
  color: #252525;
  width: 100%;
  text-align: left;
}
.StreamlinedTabsSec .listHead button:focus {
  outline: none;
  box-shadow: none;
}
.StreamlinedTabsSec .listHead button span {
  color: #ed2a32;
  padding-right: 8px;
}
.StreamlinedTabsSec .listHead button:not(.collapsed) {
  background-color: #fff;
  color: #252525;
  box-shadow: none !important;
}
.StreamlinedTabsSec .listBody {
  padding-top: 0;
  border: none;
  font-weight: 500;
  font-size: 16px;
  line-height: 26px;
}
.StreamlinedTabsSec .listBody a{
	color:#212529;
	text-decoration:underline !important;
}
.StreamlinedTabsSec .heading h2 {
  font-size: 38px;
  font-weight: bold;
  color: #000;
  margin: 0;
}
.StreamlinedTabsSec .heading h2 span {
  color: #ed2a32;
}
.StreamlinedTabsSec .heading p {
  font-size: 16px;
  font-weight: 500;
  color: #000;
  margin: 0;
  padding: 30px 0 40px;
  width: 80%;
}
.StreamlinedTabsSec .heading p a {
  color: #ed2a32;
}
@media (max-width: 1440px) {
  .StreamlinedTabsSec .heading h2 {
    font-size: 28px;
  }
}
@media (max-width: 1200px) {
  .StreamlinedTabsSec .heading h2 {
    font-size: 26px;
  }
  .StreamlinedTabsSec .heading h2 br {
    display: none;
  }
}
@media (max-width: 991px) {
  .StreamlinedTabsSec {
    padding: 40px 0;
  }
  .StreamlinedTabsSec .stt-content {
    display: flex;
    flex-direction: column-reverse;
    grid-gap: 10px;
  }
  .StreamlinedTabsSec .heading h2 {
    font-size: 24px;
    text-align: center;
  }
  .StreamlinedTabsSec .heading p {
    text-align: center;
    width: 100%;
  }
}
@media (max-width: 575px) {
  .StreamlinedTabsSec .heading h2 {
    font-size: 22px;
  }
}
@media (max-width: 320px) {
  .StreamlinedTabsSec .heading h2 {
    font-size: 20px;
  }
}

/* ============================================================
   appServicesSec
   ============================================================ */
.appServicesSec {
  padding: 80px 0;
  overflow: hidden;
}
.appServicesSec.hosutonBottom {
  background-image: url("../images/software-dev-houston/supportbg.webp");
  background-repeat: no-repeat;
  background-size: cover ;
  background-position: top center;
}
.appServicesSec .services-grid {
  display: grid;
  grid-template-columns: 45% 45%;
  justify-content: space-between;
  grid-gap: 100px;
  align-items: flex-start;
}
.appServicesSec .services-grid .content h2 {
  font-weight: 800;
  font-size: 38px;
  color: #000;
}

.page-template-page-mobile-app-development-company-new-york-city .appServicesSec .services-grid .content h2 {
	font-size: 35px !important;
}

.appServicesSec .services-grid .content h2 span {
  color: #ed2a32;
}
.appServicesSec .services-grid .content p {
  font-size: 16px;
  line-height: 24px;
  color: #000;
  margin-bottom: 0;
}
.appServicesSec.hosutonBottom .services-grid .content h2 {
  color: #fff;
}
.appServicesSec.hosutonBottom .services-grid .content p {
  color: #fff;
  margin: 0;
  padding: 25px 0;
  font-weight: 500;
}
.appServicesSec .services-grid .list .list-info {
  background-color: #fff;
  margin-bottom: 20px;
  padding: 20px;
  border-radius: 10px;
  border: 1px solid #dedede;
  position: relative;
  transition: all ease 0.3s;
}
.appServicesSec .services-grid .list .list-info h5 , .appServicesSec .services-grid .list .list-info h3 {
  font-weight: bold;
  font-size: 18px;
  color: #252525;
  margin-bottom: 10px;
}
.appServicesSec .services-grid .list .list-info h5 span {
  color: #ed2a32;
}
.appServicesSec .services-grid .list .list-info p {
  font-size: 16px;
  line-height: 24px;
  color: #252525;
  margin-bottom: 0;
  font-weight: 500;
}
.appServicesSec .services-grid .list .list-info:hover {
  background-color: #ed2a32;
  border-color: transparent;
}
.appServicesSec .services-grid .list .list-info:hover h5,
.appServicesSec .services-grid .list .list-info:hover p {
  color: #fff;
}
.appServicesSec.hosutonBottom .services-grid .list .list-info {
  border-color: transparent;
  box-shadow: 0px 0px 15px 0px #0000001f;
}
@media (max-width: 1200px) {
  .appServicesSec .services-grid {
    grid-template-columns: 1fr 1fr;
    grid-gap: 60px;
  }
  .appServicesSec .services-grid .content h2 {
    font-size: 30px;
  }
  .appServicesSec .services-grid .content h2 br {
    display: none;
  }
}
@media (max-width: 991px) {
  .appServicesSec .services-grid {
    grid-template-columns: 1fr 1fr;
    grid-gap: 40px;
  }
  .appServicesSec .services-grid .content h2 {
    font-size: 26px;
  }
}
@media (max-width: 767px) {
  .appServicesSec {
    padding: 30px 0;
  }
  .appServicesSec .services-grid {
    grid-template-columns: 1fr;
    grid-gap: 30px;
  }
  .appServicesSec .services-grid .content {
    text-align: center;
  }
  .appServicesSec .services-grid .content h2 {
    font-size: 26px;
  }
  .appServicesSec .services-grid .list .list-info h5  , .appServicesSec .services-grid .list .list-info h3 {
    font-size: 16px;
  }
  .appServicesSec .services-grid .list .list-info p {
    font-size: 14px;
  }
}
@media (max-width: 400px) {
  .appServicesSec .services-grid .content h2 {
    font-size: 24px;
  }
  .appServicesSec .services-grid .list .list-info h5 , .appServicesSec .services-grid .list .list-info h3 {
    font-size: 16px;
  }
  .appServicesSec .services-grid .list .list-info p {
    font-size: 14px;
  }
}

/* ============================================================
   TrendingTechSec
   ============================================================ */
.TrendingTechSec {
  padding-top: 80px;
  padding-bottom: 80px;
  position: relative;
}
.TrendingTechSec::before {
  content: "";
  position: absolute;
  background-color: #f5f5f5;
  width: 100%;
  height: 70%;
  top: 0;
  left: 0;
}
.TrendingTechSec .content {
  position: relative;
  z-index: 1;
}
.TrendingTechSec .content .heading {
  padding-bottom: 50px;
}
.TrendingTechSec .content .heading h2 {
  font-size: 38px;
  font-weight: bold;
  color: #000;
  text-align: center;
  margin: 0;
}
.TrendingTechSec .content .heading h2 span {
  display: block;
  color: #ed2a32;
}
.TrendingTechSec .content .heading p {
  font-size: 16px;
  font-weight: 500;
  color: #000;
  text-align: center;
  margin: 0;
  padding: 30px 0 40px;
}
.TrendingTechSec .content .TechBoxes {
  background-color: #fff;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  align-items: center;
  transition: all 0.3s ease-in;
  border: 1px solid #dedede;
  border-radius: 5px;
}
.TrendingTechSec .TechBox {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  justify-content: center;
  padding: 50px;
  border: 1px solid #dedede;
  position: relative;
}
.TrendingTechSec .TechBox h6 {
  color: #252525;
  font-size: 16px;
  font-weight: 600;
}
.TrendingTechSec .TechBox:nth-child(1)::before,
.TrendingTechSec .TechBox:nth-child(2)::before,
.TrendingTechSec .TechBox:nth-child(3)::before {
  content: "";
  position: absolute;
  background-color: #ed2a32;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  bottom: -4px;
  right: -4px;
  z-index: 1;
}
.TrendingTechSec .TechBox:hover {
  background-color: #ed2a32;
  border: 1px solid #ed2a32;
}
.TrendingTechSec .TechBox:hover img {
  filter: brightness(0) saturate(100%) invert(92%) sepia(80%) saturate(0%)
    hue-rotate(28deg) brightness(104%) contrast(102%);
}
.TrendingTechSec .TechBox:hover h6 {
  color: #fff;
}
@media (max-width: 1440px) {
  .TrendingTechSec .content .heading h2 {
    font-size: 28px;
  }
}
@media (max-width: 1200px) {
  .TrendingTechSec .content .heading h2 {
    font-size: 26px;
  }
}
@media (max-width: 1024px) {
  .TrendingTechSec .content .TechBoxes {
    grid-template-columns: 1fr 1fr;
  }
  .TrendingTechSec .TechBox::before {
    display: none;
  }
}
@media (max-width: 991px) {
  .TrendingTechSec {
    padding: 40px 0;
  }
  .TrendingTechSec .content .heading h2 {
    font-size: 24px;
  }
}
@media (max-width: 575px) {
  .TrendingTechSec .content .heading h2 {
    font-size: 22px;
  }
}
@media (max-width: 480px) {
  .TrendingTechSec .content .TechBoxes {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 320px) {
  .TrendingTechSec .content .heading h2 {
    font-size: 20px;
  }
}

/* ============================================================
   AwardsRecognitionSec
   ============================================================ */
.AwardsRecognitionSec {
  padding: 60px 0;
  overflow: hidden;
}
.AwardsRecognitionSec .main-info {
  display: grid;
  grid-template-columns: 1fr 0.6fr;
  align-items: center;
  grid-gap: 50px;
}
.AwardsRecognitionSec .main-info .left h2 {
  font-size: 38px;
  font-weight: bold;
  color: #000;
  margin: 0;
}
.AwardsRecognitionSec .main-info .left h2 span {
  display: block;
  color: #ed2a32;
}

.page-template-page-mobile-app-development-company-new-york-city .AwardsRecognitionSec .main-info .left h2 span{
	display :inline-block !important
}
.AwardsRecognitionSec .main-info .left p {
  padding-top: 20px;
  font-size: 16px;
  font-weight: 500;
  color: #000;
  width: 80%;
}
.AwardsRecognitionSec .main-info .left .new-btn-lp {
  color: #fff;
  font-size: 14px;
  font-weight: 500;
  background: #000;
  text-transform: capitalize;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  border: none;
  padding: 8px 20px;
  transition: ease all 0.25s;
  position: relative;
  overflow: hidden;
  z-index: 1;
  text-align: center;
  margin-top: 20px;
  border-radius: 6px;
  text-decoration: none;
}
.AwardsRecognitionSec .main-info .left .new-btn-lp svg {
  fill: #ed2a32;
}
.AwardsRecognitionSec .main-info .left .new-btn-lp:hover {
  color: #fff;
}
.AwardsRecognitionSec .main-info .right {
  text-align: center;
}
.AwardsRecognitionSec .main-info .right h5 {
  font-size: 18px;
  margin-bottom: 0;
  color: #ec1c24;
  font-weight: 700;
  line-height: 1.2;
}

.AwardsRecognitionSec .main-info .right .reviews-label {
  font-size: 18px;
  margin-bottom: 0;
  color: #ec1c24;
  font-weight: 700;
  line-height: 1.2;
}


.AwardsRecognitionSec .main-info .right strong {
  font-weight: 700;
  font-size: 230px;
  line-height: 0.8;
  text-align: center;
}
.AwardsRecognitionSec .main-info .right img {
  height: auto;
}
.AwardsRecognitionSec .award-slider {
  position: relative;
  padding: 50px 20px;
  overflow: visible !important;
}
.AwardsRecognitionSec .dev-box {
  border-radius: 10px;
  background: #fff;
  box-shadow: 0px 3px 12px rgba(0, 0, 0, 0.29);
  height: 400px;
  padding: 30px 15px;
  display: flex;
  justify-content: center;
  flex-direction: column;
  gap: 20px;
}
.AwardsRecognitionSec .dev-box .imgWrapper {
  height: 150px;
  position: relative;
}
.AwardsRecognitionSec .dev-box .imgWrapper img {
  max-width: 60%;
  margin: auto;
  object-fit: contain;
}
.AwardsRecognitionSec .dev-box h5 {
  color: #252525;
  margin: 0;
  font-weight: 700;
  font-size: 22px;
  line-height: 1.3;
  text-align: center;
}
.AwardsRecognitionSec .dev-box p {
  color: #000;
  margin: 0;
  font-weight: 500;
  font-size: 16px;
  line-height: 1.8;
  text-align: center;
}
@media (max-width: 1440px) {
  .AwardsRecognitionSec .main-info .left h2 {
    font-size: 40px;
  }
  .AwardsRecognitionSec .main-info .right h5 {
    font-size: 24px;
  }
	  .AwardsRecognitionSec .main-info .right .reviews-label {
    font-size: 24px;
  }

  .AwardsRecognitionSec .main-info .right strong {
    font-size: 180px;
  }
  .AwardsRecognitionSec .dev-box {
    height: 388px;
  }
  .AwardsRecognitionSec .dev-box h5 {
    font-size: 16px;
    line-height: 1.5;
  }
  .AwardsRecognitionSec .dev-box p {
    font-size: 15px;
    line-height: 1.6;
  }
}
@media (max-width: 1400px) {
  .AwardsRecognitionSec .main-info .left h2 {
    font-size: 35px;
  }
}
@media (max-width: 1200px) {
  .AwardsRecognitionSec .main-info .left h2 {
    font-size: 30px;
  }
  .AwardsRecognitionSec .main-info .left p {
    font-size: 16px;
    line-height: 1.6;
  }
  .AwardsRecognitionSec .main-info .right h5 {
    font-size: 22px;
  }
	  .AwardsRecognitionSec .main-info .right .reviews-label {
    font-size: 22px;
  }

  .AwardsRecognitionSec .main-info .right strong {
    font-size: 150px;
  }
  .AwardsRecognitionSec .dev-box {
    height: 350px;
  }
  .AwardsRecognitionSec .dev-box .imgWrapper img {
    max-width: 111px;
  }
  .AwardsRecognitionSec .dev-box h5 {
    font-size: 14px;
  }
  .AwardsRecognitionSec .dev-box p {
    font-size: 14px;
    line-height: 1.6;
  }
}
@media (max-width: 991px) {
  .AwardsRecognitionSec .main-info {
    padding-bottom: 50px;
  }
  .AwardsRecognitionSec .main-info .left h2 {
    font-size: 28px;
  }
  .AwardsRecognitionSec .main-info .left p {
    font-size: 15px;
  }
  .AwardsRecognitionSec .main-info .right h5 {
    font-size: 18px;
  }
	  .AwardsRecognitionSec .main-info .right .reviews-label {
    font-size: 18px;
  }

  .AwardsRecognitionSec .main-info .right strong {
    font-size: 120px;
  }
  .AwardsRecognitionSec .award-slider {
    padding: 0 20px;
  }
  .AwardsRecognitionSec .dev-box {
    height: 320px;
  }
  .AwardsRecognitionSec .dev-box .imgWrapper img {
    max-width: 100px;
  }
  .AwardsRecognitionSec .dev-box h5 {
    font-size: 14px;
  }
  .AwardsRecognitionSec .dev-box p {
    font-size: 14px;
    line-height: 1.6;
  }
}
@media (max-width: 767px) {
  .AwardsRecognitionSec .main-info {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 20px;
    margin-bottom: 20px;
  }
  .AwardsRecognitionSec .main-info .left {
    text-align: center;
  }
  .AwardsRecognitionSec .main-info .left h2 {
    font-size: 26px;
    text-align: center;
  }
  .AwardsRecognitionSec .main-info .left p {
    font-size: 15px;
    text-align: center;
    width: 100%;
  }
  .AwardsRecognitionSec .main-info .right h5 {
    font-size: 18px;
  }
  .AwardsRecognitionSec .main-info .right strong {
    font-size: 120px;
  }
  .AwardsRecognitionSec .award-slider {
    padding: 0 20px;
  }
  .AwardsRecognitionSec .dev-box {
    height: 320px;
  }
  .AwardsRecognitionSec .dev-box .imgWrapper img {
    max-width: 100px;
  }
  .AwardsRecognitionSec .dev-box h5 {
    font-size: 14px;
  }
  .AwardsRecognitionSec .dev-box p {
    font-size: 14px;
    line-height: 1.6;
  }
}
@media (max-width: 479px) {
  .AwardsRecognitionSec .main-info .left h2 {
    font-size: 24px;
  }
  .AwardsRecognitionSec .main-info .left p {
    font-size: 14px;
  }
  .AwardsRecognitionSec .main-info .right h5 {
    font-size: 18px;
  }
  .AwardsRecognitionSec .main-info .right strong {
    font-size: 100px;
  }
  .AwardsRecognitionSec .dev-box {
    height: 300px;
  }
  .AwardsRecognitionSec .dev-box .imgWrapper img {
    max-width: 100px;
  }
  .AwardsRecognitionSec .dev-box h5 {
    font-size: 14px;
  }
  .AwardsRecognitionSec .dev-box p {
    font-size: 14px;
    line-height: 1.6;
  }
}

/* ============================================================
   LocationCta
   ============================================================ */
.LocationCta {
  background-image: url("../images/newyork/cta-bg-tiny.webp");
  background-size: cover;
  background-repeat: no-repeat;
  padding: 80px 0;
}
.LocationCta .content {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  gap: 100px;
}
.LocationCta .left h2 {
  font-size: 40px;
  font-weight: 800;
  line-height: 1.3;
  color: #fff;
  text-transform: uppercase;
}
.LocationCta .left h2 span {
  color: #ffff00;
}
.LocationCta .left h2 a {
  color: #fff;
}
.LocationCta .left p {
  color: #fff;
  font-size: 18px;
  line-height: 2;
  font-weight: 500;
}
.LocationCta .left p a {
  color: #fff;
}
.LocationCta .left .tnb-btn.whiteBackground {
  color: #000;
  font-size: 15px;
  font-weight: 600;
  background: #fff;
  text-transform: uppercase;
  display: inline-block;
  padding: 8px 30px;
  transition: all 0.3s ease-in;
  position: relative;
  overflow: hidden;
  z-index: 1;
  text-align: center;
  margin-top: 20px;
  text-decoration: none;
  cursor: pointer;
  border: none;
}
.LocationCta .left .tnb-btn.whiteBackground::before {
  display: none;
}
.LocationCta .left .tnb-btn.whiteBackground:hover {
  background-color: #000;
  color: #fff;
}
.LocationCta .right iframe {
  border-radius: 20px;
  width: 100%;
  height: 500px;
}
/* LOC-9: office address, phone and hours under the map */
.LocationCta .right .location-office {
  margin-top: 16px;
  font-style: normal;
  color: #fff;
  font-size: 16px;
  line-height: 1.7;
}
.LocationCta .right .location-office-label {
  display: block;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.LocationCta .right .location-office p {
  margin: 0;
  color: #fff;
}
.LocationCta .right .location-office a {
  color: #fff;
  text-decoration: underline;
  padding-block: 2px; /* Tap target 24 px (WCAG 2.2 AA, fix plan #73/#130/#132): inline link, text does not move */
}
@media (max-width: 1440px) {
  .LocationCta .left h2 {
    font-size: 35px;
  }
}
@media (max-width: 1200px) {
  .LocationCta .left h2 {
    font-size: 30px;
  }
  .LocationCta .left p {
    font-size: 16px;
  }
}
@media (max-width: 1024px) {
  .LocationCta .left h2 {
    font-size: 25px;
  }
}
@media (max-width: 992px) {
  .LocationCta .content {
    grid-template-columns: 1fr;
    gap: 40px;
  }
  .LocationCta .left {
    text-align: center;
  }
  .LocationCta .left h2 {
    font-size: 25px;
  }
}
@media (max-width: 575px) {
  .LocationCta .left h2 {
    font-size: 20px;
  }
}

/* ============================================================
   stackNewBox — tabFlex image mode
   ============================================================ */
.stackNewBox .TabBox .tab-content .tabFlex {
  display: flex;
  list-style: none;
  gap: 10px;
  justify-content: center;
  flex-wrap: wrap;
  align-items: center;
}
.stackNewBox .TabBox .tab-content .tabFlex .singleBox img {
	width: auto;
}
.stackNewBox .TabBox .tab-content .tabFlex .singleBox {
  background-color: #fff;
  border: 1px solid #dedede;
  border-radius: 10px;
  padding: 25px 50px;
  transition: 0.5s;
  height: 211px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 232px;
}
.stackNewBox .TabBox .tab-content .tabFlex .singleBox h3 {
  color: #252525;
  font-size: 16px;
  font-weight: bold;
  padding-top: 15px;
  text-align: center;
}
.stackNewBox .TabBox .tab-content .tabFlex .singleBox h3 a{
	color: #252525 !important;
	padding-block: 2px; /* Tap target 24 px (WCAG 2.2 AA, fix plan #73/#130/#132): inline link, text does not move */
}
@media (max-width: 479px) {
  .stackNewBox .TabBox .tab-content .tabFlex .singleBox {
    padding: 0;
    width: 150px;
    height: 140px;
  }
  .stackNewBox .TabBox .tab-content .tabFlex .singleBox img {
    width: 50%;
    height: auto;
  }
}

/* ============================================================
   portfolioSec (AppPortfolio component)
   ============================================================ */
.portfolioSec {
  padding-bottom: 80px;
  overflow: hidden;
}
.portfolio-app-slider {
  overflow: visible !important;
}
.portfolioSec.dallas {
  padding: 40px 0 80px;
}
.portfolioSec .content {
  padding-bottom: 50px;
  text-align: center;
}
.portfolioSec .content h2 {
  text-align: center;
  color: #fff;
  font-weight: bold;
  text-transform: uppercase;
  font-size: 60px;
  letter-spacing: 4px;
  text-shadow:
    2px 0 #000,
    -2px 0 #000,
    0 2px #000,
    0 -2px #000,
    1px 1px #000,
    -1px -1px #000,
    1px -1px #000,
    -1px 1px #000;
}
.portfolioSec .content .portfolio-sub {
  text-align: center;
  font-size: 19px;
  font-weight: bold;
  color: #252525;
  line-height: 1.5;
}
.portfolioSec .dallasContent {
  text-align: center;
}
.portfolioSec .dallasContent h2 {
  font-size: 38px;
  font-weight: bold;
  color: #000;
  text-align: center;
  margin: 0;
}
.portfolioSec .dallasContent h2 span {
  color: #ed2a32;
}
.portfolioSec .dallasContent p {
  font-size: 16px;
  font-weight: 500;
  color: #000;
  text-align: center;
  margin: 0;
  padding: 30px 0 40px;
}
.portfolioSec .dallasContent p a {
  color: #ed2a32;
}
.portfolioSec .portfolioSliders .singleSLide {
  padding: 50px 50px 0;
  border-radius: 10px;
}
.portfolioSec .portfolioSliders .singleSLide .contentSlide {
  display: grid;
  grid-template-columns: 45% 1fr;
  grid-gap: 20px;
}
.portfolioSec .portfolioSliders .singleSLide .contentSlide .left {
  display: flex;
  justify-content: flex-start;
  align-items: flex-end;
}
.portfolioSec .portfolioSliders .singleSLide .contentSlide .right img {
  min-height: 100px;
  object-fit: contain;
}
.portfolioSec .portfolioSliders .singleSLide .contentSlide .right p {
  color: #fff;
  font-size: 14px;
  font-weight: 400;
  padding: 25px 0 10px;
  height: 185px;
}
.portfolioSec .portfolioSliders .singleSLide .contentSlide .right .boxWrap {
  display: grid;
  grid-template-columns: 1fr 1fr;
}
.portfolioSec .portfolioSliders .singleSLide .contentSlide .right .boxWrap h3 , .portfolioSec .portfolioSliders .singleSLide .contentSlide .right .boxWrap strong  {
  font-size: 32px;
  font-weight: bold;
}
.portfolioSec .portfolioSliders .singleSLide .contentSlide .right .boxWrap p {
  color: #fff;
  font-size: 12px;
  padding: 0;
  height: unset;
}

/* Per-variant text and metric colors — full-chain selectors to win specificity over default .right p rule */
.portfolioSec
  .portfolioSliders
  .singleSLide.wedding-app
  .contentSlide
  .right
  .boxWrap
  strong {
  color: #a49786;
}
.portfolioSec
  .portfolioSliders
  .singleSLide.tatt-ai
  .contentSlide
  .right
  .boxWrap
  strong {
  color: #c51e06;
}
.portfolioSec
  .portfolioSliders
  .singleSLide.crasher
  .contentSlide
  .right
  .boxWrap
  strong {
  color: #ee5007;
}
.portfolioSec
  .portfolioSliders
  .singleSLide.determination
  .contentSlide
  .right
  .boxWrap
  strong {
  color: #bf292e;
}
.portfolioSec
  .portfolioSliders
  .singleSLide.golf
  .contentSlide
  .right
  .boxWrap
  strong {
  color: #6ac6c1;
}
.portfolioSec
  .portfolioSliders
  .singleSLide.animalac
  .contentSlide
  .right
  .boxWrap
  strong {
  color: #f8b207;
}
/* spheres — black text */
.portfolioSec .portfolioSliders .singleSLide.spheres .contentSlide .right p {
  color: #000;
}
.portfolioSec
  .portfolioSliders
  .singleSLide.spheres
  .contentSlide
  .right
  .boxWrap
  strong {
  color: #45a953;
}
.portfolioSec
  .portfolioSliders
  .singleSLide.spheres
  .contentSlide
  .right
  .boxWrap
  p {
  color: #000;
}
/* soccer — black text */
.portfolioSec .portfolioSliders .singleSLide.soccer .contentSlide .right p {
  color: #000;
}
.portfolioSec
  .portfolioSliders
  .singleSLide.soccer
  .contentSlide
  .right
  .boxWrap
  strong {
  color: #0dd76a;
}
.portfolioSec
  .portfolioSliders
  .singleSLide.soccer
  .contentSlide
  .right
  .boxWrap
  p {
  color: #000;
}
/* cruze — black text */
.portfolioSec .portfolioSliders .singleSLide.cruze .contentSlide .right p {
  color: #000;
}
.portfolioSec
  .portfolioSliders
  .singleSLide.cruze
  .contentSlide
  .right
  .boxWrap
  strong {
  color: #0075fd;
}
.portfolioSec
  .portfolioSliders
  .singleSLide.cruze
  .contentSlide
  .right
  .boxWrap
  p {
  color: #000;
}
/* stream — white text */
.portfolioSec .portfolioSliders .singleSLide.stream .contentSlide .right p {
  color: #fff;
}
.portfolioSec
  .portfolioSliders
  .singleSLide.stream
  .contentSlide
  .right
  .boxWrap
  strong {
  color: #16a7e7;
}
.portfolioSec
  .portfolioSliders
  .singleSLide.stream
  .contentSlide
  .right
  .boxWrap
  p {
  color: #fff;
}

@media (max-width: 1400px) {
  .portfolioSec .portfolioSliders .singleSLide {
    width: auto;
  }
}
@media (max-width: 1366px) {
  .portfolioSec .content h2 {
    font-size: 60px;
  }
  .portfolioSec .dallasContent h2 {
    font-size: 28px;
  }
  .portfolioSec .portfolioSliders .singleSLide {
    padding: 30px 20px 0;
  }
}
@media (max-width: 1200px) {
  .portfolioSec .dallasContent h2 {
    font-size: 26px;
  }
  .portfolioSec .dallasContent h2 br,
  .portfolioSec .dallasContent p br {
    display: none;
  }
  .portfolioSec .portfolioSliders .singleSLide {
    width: 100%;
  }
}
@media (max-width: 767px) {
  .portfolioSec .portfolioSliders .singleSLide .contentSlide {
    align-items: unset;
  }
  .portfolioSec .portfolioSliders .singleSLide .contentSlide .left img {
    width: 100%;
    object-fit: contain;
    height: auto;
  }
  .portfolioSec .portfolioSliders .singleSLide .contentSlide .right p {
    font-size: 12px;
  }
  .portfolioSec
    .portfolioSliders
    .singleSLide
    .contentSlide
    .right
    .boxWrap
    strong {
    font-size: 28px;
  }
  .portfolioSec
    .portfolioSliders
    .singleSLide
    .contentSlide
    .right
    .boxWrap
    p
    br {
    display: none;
  }
}
@media (max-width: 575px) {
  .portfolioSec .content h2 {
    font-size: 40px;
  }
  .portfolioSec .content .portfolio-sub {
    font-size: 16px;
  }
  .portfolioSec .dallasContent h2 {
    font-size: 22px;
  }
  .portfolioSec .portfolioSliders .singleSLide {
    width: 100%;
  }
  .portfolioSec .portfolioSliders .singleSLide .contentSlide {
    display: flex;
    flex-direction: column-reverse;
  }
  .portfolioSec .portfolioSliders .singleSLide .contentSlide .right {
    text-align: center;
  }
  .portfolioSec .portfolioSliders .singleSLide .contentSlide .right p {
    font-size: 15px;
  }
  .portfolioSec .portfolioSliders .singleSLide .contentSlide .left {
    justify-content: center;
  }
  .portfolioSec .portfolioSliders .singleSLide .contentSlide .left img {
    width: 80%;
    object-fit: contain;
    height: auto;
  }

  .portfolioSec .singleSLide.wedding-app {
    background: rgba(44, 44, 44, 1) !important;
  }
  .portfolioSec .singleSLide.tatt-ai {
    background: #4d140c !important;
  }
  .portfolioSec .singleSLide.determination {
    background: #242424 !important;
  }
  .portfolioSec
    .portfolioSliders
    .singleSLide.determination
    .contentSlide
    .right
    .boxWrap
    strong {
    color: #fff;
  }
  .portfolioSec .singleSLide.golf {
    background: #034896 !important;
  }
  .portfolioSec
    .portfolioSliders
    .singleSLide.golf
    .contentSlide
    .right
    .boxWrap
    strong {
    color: #fff;
  }
  .portfolioSec .singleSLide.crasher {
    background: #400c71 !important;
  }
  .portfolioSec .singleSLide.animalac {
    background: #007837 !important;
  }
  .portfolioSec .singleSLide.spheres {
    background: #ededff !important;
  }
  .portfolioSec .singleSLide.soccer {
    background: #f9ffe1 !important;
  }
  .portfolioSec .singleSLide.cruze {
    background: #d0e6ff !important;
  }
  .portfolioSec .singleSLide.stream {
    background: #006596 !important;
  }
}

/* ============================================================
   trustedByBest (Swiper carousel — TrustedByBest.jsx)
   ============================================================ */
.trustedByBest {
  margin-top: 100px;
  margin-bottom: 50px;
  text-align: center;
  overflow-x: clip;
}
.trustedByBest h3 {
  font-size: 22px;
  font-weight: 600;
  letter-spacing: 0.4em;
  line-height: 45px;
  text-align: center;
  color: #a9a9a9;
  margin-bottom: 20px;
}
.trustedByBest .imgWrap {
  position: relative;
  height: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.trustedByBest .imgWrap img {
  object-fit: contain;
  object-position: center;
  width: 80%;
  height: 100%;
  transition: all 0.4s ease-in-out;
}
@media (max-width: 575px) {
  .trustedByBest {
    margin-top: 30px;
    margin-bottom: 30px;
  }
  .trustedByBest h3 {
    font-size: 20px;
    line-height: 1.2;
  }
}
@media (max-width: 480px) {
  .trustedByBest h3 {
    font-size: 16px;
  }
}

/* ============================================================
   DevelopmentCostSec
   ============================================================ */
.DevelopmentCostSec {
  padding-top: 80px;
  padding-bottom: 80px;
  background-color: #f5f5f5;
}
.DevelopmentCostSec .heading {
  padding-bottom: 50px;
}
.DevelopmentCostSec .heading h2 {
  font-size: 38px;
  font-weight: bold;
  color: #000;
  text-align: center;
  margin: 0;
}
.DevelopmentCostSec .heading h2 span {
  display: block;
  color: #ed2a32;
}
.DevelopmentCostSec .heading p {
  font-size: 16px;
  font-weight: 500;
  color: #000;
  text-align: center;
  margin: 30px auto 0;
  padding: 0 0 40px;
  width: 80%;
}
.DevelopmentCostSec .heading p a{
	color: #000;
	text-decoration:underline !important;
}
.DevelopmentCostSec .costBoxes {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  grid-gap: 20px;
}
.DevelopmentCostSec .box {
  background-color: #fff;
  box-shadow: 0px 0px 7px 0px #00000029;
  border-radius: 10px;
  padding: 10px 35px 20px 35px;
}
.DevelopmentCostSec .box .imgWrapper {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: -30px;
  padding-bottom: 20px;
}
.DevelopmentCostSec .box .imgWrapper img {
  object-fit: contain;
}
.DevelopmentCostSec .box .contentWrapper h3 {
  font-weight: 700;
  font-size: 24px;
  line-height: 1.2;
}
.DevelopmentCostSec .box .contentWrapper ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.DevelopmentCostSec .box .contentWrapper ul li {
  position: relative;
  padding-left: 25px;
  margin: 8px 0;
  font-weight: 500;
}
.DevelopmentCostSec .box .contentWrapper ul li::before {
  content: "";
  position: absolute;
  background-color: #ed2a32;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  top: 9px;
  left: 4px;
}
.DevelopmentCostSec .box .contentWrapper ul li::after {
  content: "";
  position: absolute;
  background-color: rgb(237 42 50 / 40%);
  width: 15px;
  height: 15px;
  border-radius: 50%;
  top: 5px;
  left: 0;
}
.DevelopmentCostSec .box .contentWrapper ul li span {
  color: #ed2a32;
  font-weight: 700;
}
@media (max-width: 1440px) {
  .DevelopmentCostSec .heading h2 {
    font-size: 28px;
  }
}
@media (max-width: 1200px) {
  .DevelopmentCostSec .heading h2 {
    font-size: 26px;
  }
}
@media (max-width: 991px) {
  .DevelopmentCostSec .heading h2 {
    font-size: 24px;
  }
  .DevelopmentCostSec .costBoxes {
    display: flex;
    flex-direction: column;
    gap: 40px;
  }
  .DevelopmentCostSec .box .contentWrapper h3 {
    text-align: center;
    font-size: 20px;
  }
}
@media (max-width: 575px) {
  .DevelopmentCostSec .heading h2 {
    font-size: 22px;
  }
  .DevelopmentCostSec .heading p {
    width: 100%;
  }
}
@media (max-width: 320px) {
  .DevelopmentCostSec .heading h2 {
    font-size: 20px;
  }
}

/* ============================================================
   StackServicesSec — StackServices.jsx / StackServices.module.scss
   ============================================================ */
.StackServicesSec {
  padding-top: 50px;
  padding-bottom: 50px;
}
.StackServicesSec .content .heading h2 {
  font-size: 38px;
  font-weight: bold;
  color: #000;
  text-align: center;
  margin: 0;
}
.StackServicesSec .content .heading h2 span {
  display: block;
  color: #ed2a32;
}
.StackServicesSec .content .heading p {
  font-size: 16px;
  font-weight: 500;
  color: #000;
  text-align: center;
  margin: 0;
  padding: 30px 0 40px;
}
.StackServicesSec .content .servicesList {
  position: relative;
  padding: 50px 0;
}
.StackServicesSec .content .servicesList .servicesListSlider {
  background-color: #f5f5f5;
  border: 1px solid #dedede;
  border-radius: 10px;
  width: 95%;
}
.StackServicesSec .content .servicesList .servicesListSlider .tabBox {
  padding: 8px 10px;
  transition: 0.5s;
  cursor: pointer;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border: 0px;
}
.StackServicesSec .content .servicesList .servicesListSlider .tabBox::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(
    95.08deg,
    #000000 -16.06%,
    #626262 28.18%,
    #626262 63.06%,
    #000000 124.32%
  );
  border: 0.8px solid #000000;
  border-radius: 10px;
  opacity: 0;
  transition: all 0.4s ease-in-out;
}
.StackServicesSec .content .servicesList .servicesListSlider .tabBox h4 {
  font-size: 16px;
  text-align: center;
  color: #252525;
  position: relative;
  margin-bottom: 0;
  font-weight: 500;
}
.StackServicesSec .content .servicesList .servicesListSlider .tabBox.active {
  background-color: #fafafa;
}
.StackServicesSec
  .content
  .servicesList
  .servicesListSlider
  .tabBox.active::before {
  opacity: 1;
}
.StackServicesSec .content .servicesList .servicesListSlider .tabBox.active h4 {
  color: #fff;
}
.StackServicesSec .content .tabContent {
  margin-top: -40px;
  background-color: #fff;
  backdrop-filter: blur(7px);
  box-shadow: 0px 0px 30px 0px #0000001a;
  border-radius: 10px;
}
.StackServicesSec .content .tabContent .contentBox {
  display: none;
  padding: 80px 50px 50px 50px;
  border-radius: 10px;
}
.StackServicesSec .content .tabContent .contentBox.active {
  display: block;
}
.StackServicesSec .content .tabContent .contentBox .boxGrid {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.StackServicesSec .content .tabContent .contentBox .boxGrid .leftSide {
  width: 48%;
}
.StackServicesSec .content .tabContent .contentBox .boxGrid .leftSide h3 {
  font-weight: bold;
  font-size: 22px;
  text-align: left;
  color: #252525;
  line-height: 1.4;
  margin-bottom: 15px;
}
.StackServicesSec .content .tabContent .contentBox .boxGrid .leftSide p {
  font-weight: 500;
  font-size: 16px;
  line-height: 30px;
  text-align: left;
  color: #000;
  margin-bottom: 0;
  width: 95%;
}
.StackServicesSec .content .tabContent .contentBox .boxGrid .rightSide {
  width: 48%;
  text-align: center;
}
.StackServicesSec .content .tabContent .contentBox .boxGrid .rightSide img {
  object-fit: contain;
  width: auto;
}
@media (max-width: 1440px) {
  .StackServicesSec .content .heading h2 {
    font-size: 28px;
  }
}
@media (max-width: 1200px) {
  .StackServicesSec .content .heading h2 {
    font-size: 26px;
  }
}
@media (max-width: 1024px) {
  .StackServicesSec .content .servicesList .servicesListSlider .tabBox h4 {
    font-size: 18px;
  }
}
@media (max-width: 991px) {
  .StackServicesSec .content .heading h2 {
    font-size: 24px;
  }
  .StackServicesSec .content .tabContent .contentBox .boxGrid .rightSide img {
    width: 100%;
    height: auto;
  }
}
@media (max-width: 575px) {
  .StackServicesSec .content .heading h2 {
    font-size: 22px;
  }
  .StackServicesSec .content .tabContent .contentBox {
    padding: 80px 10px;
  }
  .StackServicesSec .content .tabContent .contentBox .boxGrid {
    flex-direction: column;
  }
  .StackServicesSec .content .tabContent .contentBox .boxGrid .leftSide {
    width: 100%;
  }
  .StackServicesSec .content .tabContent .contentBox .boxGrid .leftSide h3 {
    text-align: center;
  }
  .StackServicesSec .content .tabContent .contentBox .boxGrid .leftSide p {
    text-align: center;
  }
  .StackServicesSec .content .tabContent .contentBox .boxGrid .rightSide {
    width: 100%;
    margin-top: 20px;
  }
}
@media (max-width: 320px) {
  .StackServicesSec .content .heading h2 {
    font-size: 20px;
  }
}

/* ============================================================
   Location Hero Banner (.sec-hero) — mirrors HeroBanner.module.scss
   ============================================================ */
.sec-hero {
  height: 100vh;
  background-size: cover;
  background-repeat: no-repeat;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
.sec-hero .main .inner-desc {
  text-align: center;
}
.sec-hero .main .inner-desc h1 {
  font-size: 48px;
  color: #fff;
  line-height: 60px;
  font-weight: 600;
  text-transform: uppercase;
}
.sec-hero .main .inner-desc h1 span {
  color: #ec1c24;
}
.sec-hero .main .inner-desc p {
  font-size: 16px;
  color: #fff;
  line-height: 34px;
  margin-bottom: 20px;
}
.sec-hero .main .inner-desc p span,
.sec-hero .main .inner-desc p a {
  color: #ec1c24;
}
.sec-hero .main .inner-desc .banner-btn {
  display: flex;
  gap: 20px;
  justify-content: center;
}
.sec-hero .main .inner-desc .banner-btn .tnb-btn {
  font-size: 18px;
  min-width: 230px;
}
.sec-hero .icon-scroll {
  width: 30px;
  height: 52.5px;
  position: absolute;
  bottom: 50px;
  box-shadow: inset 0 0 0 1px #fff;
  border-radius: 25px;
  left: 0;
  right: 0;
  margin: auto;
  display: block;
}
.sec-hero .icon-scroll::before {
  content: "";
  width: 6px;
  height: 6px;
  background: #fff;
  top: 8px;
  border-radius: 4px;
  animation-duration: 1.5s;
  animation-iteration-count: infinite;
  animation-name: sec-hero-scroll;
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
}
@keyframes sec-hero-scroll {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    transform: translateY(36px);
  }
}
@media (max-width: 1440px) {
  .sec-hero {
    height: 800px;
    background-position: center;
  }
  .sec-hero .main .inner-desc h1 {
    font-size: 45px;
    line-height: 55px;
  }
}
@media (max-width: 1200px) {
  .sec-hero .main .inner-desc h1 {
    font-size: 40px;
    line-height: 55px;
  }
}
@media (max-width: 991px) {
  .sec-hero {
    height: 700px;
  }
  .sec-hero .main .inner-desc h1 {
    font-size: 35px;
    line-height: 50px;
  }
  .sec-hero .main .inner-desc .banner-btn .tnb-btn {
    font-size: 14px;
    min-width: 220px;
  }
  .sec-hero .icon-scroll {
    display: none;
  }
}
@media (max-width: 767px) {
  .sec-hero {
    height: 600px;
  }
  .sec-hero .main .inner-desc h1 {
    font-size: 28px;
    line-height: 45px;
  }
}
@media (max-width: 530px) {
  .sec-hero .main .inner-desc h1 {
    font-size: 25px;
    line-height: 40px;
  }
  .sec-hero .main .inner-desc .banner-btn .tnb-btn {
    font-size: 12px;
    min-width: 200px;
  }
}
@media (max-width: 479px) {
  .sec-hero .main .inner-desc h1 {
    font-size: 25px;
    line-height: 40px;
  }
  .sec-hero .main .inner-desc .banner-btn {
    gap: 10px;
    flex-direction: column;
    justify-content: center;
    width: fit-content;
    margin: auto;
  }
  .sec-hero .main .inner-desc .banner-btn .tnb-btn {
    font-size: 14px;
    min-width: 200px;
  }
}
@media (max-width: 400px) {
  .sec-hero .main .inner-desc h1 {
    font-size: 22px;
    line-height: 30px;
  }
}

/* ============================================================
   Location Expert / Sub Heading (.location-sec) — mirrors ExpertLocation.module.scss + SubHeading.module.scss
   ============================================================ */
.location-sec {
  padding: 50px 0;
  background: #000;
  color: #fff;
}
.location-sec .global-bio {
  text-align: center;
}
.location-sec .global-bio h2 {
  font-weight: 700;
  font-size: 34px;
  margin-bottom: 35px;
}
.location-sec .global-bio h2 span {
  color: #ec1c24;
}
.location-sec .global-bio p {
  font-size: 16px;
  color: #fff;
  line-height: 34px;
  margin-bottom: 20px;
}
.location-sec .global-bio p span {
  color: #ec1c24;
}
.location-sec .global-bio p a {
  color: #ec1c24;
}
.location-sec .global-bio ul {
  padding: 0;
  margin: 0 0 22px;
}
.location-sec .global-bio ul li {
  margin: 0 17px 8px;
  display: inline-block;
  position: relative;
}
.location-sec .global-bio ul li::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 6px;
  height: 6px;
  background: #fff;
  border-radius: 50%;
  left: -15px;
}
@media (max-width: 1440px) {
  .location-sec .global-bio h2 {
    font-size: 30px;
    margin-bottom: 30px;
  }
}
@media (max-width: 991px) {
  .location-sec .global-bio h2 {
    font-size: 28px;
    margin-bottom: 30px;
  }
  .location-sec .global-bio p {
    font-size: 15px;
    line-height: 30px;
  }
}
@media (max-width: 767px) {
  .location-sec .global-bio h2 {
    font-size: 26px;
  }
  .location-sec .global-bio p {
    font-size: 14px;
    line-height: 30px;
  }
  .location-sec .global-bio ul li {
    font-size: 14px;
  }
}
@media (max-width: 479px) {
  .location-sec .global-bio h2 {
    font-size: 22px;
  }
}
@media (max-width: 375px) {
  .location-sec .global-bio h2 {
    font-size: 22px;
  }
  .location-sec .global-bio ul li::before {
    display: none;
  }
}

/* ============================================================
   Location Our Clients (.sec-three) — mirrors OurClient.module.scss
   ============================================================ */
.sec-three {
  padding-bottom: 60px;
  background: #000;
  color: #fff;
}
.sec-three .main {
  background-color: #161616;
  border-radius: 30px;
  text-align: center;
  padding: 40px;
}
.sec-three .main h2 {
  color: #fff;
  font-size: 42px;
  font-weight: 900;
  margin: 0 0 40px;
}
.sec-three .main h2 span {
  color: #ec1c24;
}
.sec-three .main .img-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  align-items: center;
  gap: 40px 20px;
}
.sec-three .main .img-grid .cl-logo {
  text-align: center;
}
.sec-three .main .img-grid .cl-logo img {
  margin: auto;
  transition: all ease 0.5s;
  filter: brightness(2);
  max-height: 105px;
  width: auto;
  height: auto;
  display: block;
}
.sec-three .main .img-grid .cl-logo img:hover {
  transform: scale(1.07);
}
@media (max-width: 1440px) {
  .sec-three .main h2 {
    font-size: 35px;
  }
}
@media (max-width: 1200px) {
  .sec-three .main h2 {
    font-size: 30px;
  }
}
@media (max-width: 767px) {
  .sec-three .main h2 {
    font-size: 28px;
  }
  .sec-three .main .img-grid {
    grid-template-columns: 1fr 1fr;
  }
  .sec-three .main .img-grid .cl-logo img {
    max-height: 80px;
    max-width: 100%;
  }
}
@media (max-width: 400px) {
  .sec-three .main .img-grid {
    grid-template-columns: 1fr;
  }
}

/* ============================================================
   Location App Development (.sec-rePort) — mirrors AppDevelopmentSection.module.scss
   ============================================================ */
.sec-rePort {
  padding: 60px 0;
  background: #000;
  color: #fff;
}
.sec-rePort .main-app-sec {
  display: flex;
  align-items: center;
  gap: 50px;
}
/* .sec-rePort .main-app-sec .img-box .pic {
  position: relative;
} */
.sec-rePort .main-app-sec .img-box .pic img {
  max-width: unset;
}
.sec-rePort .main-app-sec .img-box .pic .first-img {
  position: absolute;
  left: 0;
}
.sec-rePort .main-app-sec .caption-box .desc h2 {
  font-size: 30px;
  font-weight: 700;
  margin: 0 0 20px;
  text-transform: uppercase;
  line-height: 38px;
}
.sec-rePort .main-app-sec .caption-box .desc h2 span {
  color: #ec1c24;
}
.sec-rePort .main-app-sec .caption-box .desc h2 span a{
	  color: #ec1c24;
}
.sec-rePort .main-app-sec .caption-box .desc p {
  color: #fff;
  font-size: 16px;
  line-height: 32px;
}
.sec-rePort .main-app-sec .caption-box .desc p a {
  color: #ec1c24 !important;
}
.sec-rePort .main-app-sec .caption-box .desc .custom-hide-more {
  height: 250px;
  overflow: hidden;
  transition: height 0.5s;
}
.sec-rePort .main-app-sec .caption-box .desc .custom-show-more {
  height: 350px;
  overflow: auto;
  padding-right: 20px;
  transition: height 0.5s;
}
.sec-rePort
  .main-app-sec
  .caption-box
  .desc
  .custom-show-more::-webkit-scrollbar {
  width: 5px;
}
.sec-rePort
  .main-app-sec
  .caption-box
  .desc
  .custom-show-more::-webkit-scrollbar-track {
  background: #f1f1f1;
}
.sec-rePort
  .main-app-sec
  .caption-box
  .desc
  .custom-show-more::-webkit-scrollbar-thumb {
  background: #ec1c24;
}
.sec-rePort .main-app-sec .custom-btn-box {
  display: flex;
  gap: 20px;
  align-items: flex-end;
  margin-top: 20px;
}
.sec-rePort .main-app-sec .custom-btn-box .tnb-btn {
  font-size: 18px;
	width:auto;
}
.sec-rePort .main-app-sec:nth-child(even) {
  flex-direction: row-reverse;
}
.sec-rePort .main-app-sec:nth-child(even) .img-box .pic .first-img {
  right: 0;
  left: auto;
}
.sec-rePort .main-app-sec:nth-child(even) .caption-box {
  text-align: right;
}
.sec-rePort .main-app-sec:nth-child(even) .custom-btn-box {
  justify-content: flex-end;
}
.sec-rePort .custom-btn {
  position: relative;
  display: inline-block;
  padding: 10px 30px;
  color: #fff;
  font-size: 18px;
  text-transform: uppercase;
  letter-spacing: 1px;
  overflow: hidden;
  cursor: pointer;
  text-decoration: none;
}
.sec-rePort .custom-btn .text {
  position: relative;
  z-index: 1;
}
.sec-rePort .custom-btn .line {
  position: absolute;
  background: #ec1c24;
}
.sec-rePort .custom-btn .line.-right {
  width: 2px;
  height: 100%;
  top: 0;
  right: 0;
  transform: scaleY(0);
  transform-origin: bottom;
  transition: transform 0.3s 0s;
}
.sec-rePort .custom-btn .line.-top {
  width: 100%;
  height: 2px;
  top: 0;
  left: 0;
  transform: scaleX(0);
  transform-origin: right;
  transition: transform 0.3s 0.1s;
}
.sec-rePort .custom-btn .line.-left {
  width: 2px;
  height: 100%;
  bottom: 0;
  left: 0;
  transform: scaleY(0);
  transform-origin: top;
  transition: transform 0.3s 0.2s;
}
.sec-rePort .custom-btn .line.-bottom {
  width: 100%;
  height: 2px;
  bottom: 0;
  right: 0;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.3s 0.3s;
}
.sec-rePort .custom-btn:hover .line.-right {
  transform: scaleY(1);
}
.sec-rePort .custom-btn:hover .line.-top {
  transform: scaleX(1);
}
.sec-rePort .custom-btn:hover .line.-left {
  transform: scaleY(1);
}
.sec-rePort .custom-btn:hover .line.-bottom {
  transform: scaleX(1);
}
@media (max-width: 1600px) {
  .sec-rePort .main-app-sec .img-box .pic .first-img {
    display: none;
  }
  .sec-rePort .main-app-sec .custom-btn-box .tnb-btn {
    font-size: 16px;
  }
}
@media (max-width: 1440px) {
  .sec-rePort .main-app-sec .img-box {
    width: 50%;
  }
  .sec-rePort .main-app-sec .img-box .pic img {
    width: 100%;
    height: auto;
  }
  .sec-rePort .main-app-sec .caption-box {
    width: 50%;
  }
  .sec-rePort .main-app-sec .caption-box .desc h2 {
    font-size: 28px;
  }
  .sec-rePort .main-app-sec .caption-box .desc p {
    line-height: 30px;
  }
}
@media (max-width: 1200px) {
  .sec-rePort .main-app-sec .caption-box .desc h2 {
    font-size: 26px;
  }
  .sec-rePort .main-app-sec .custom-btn-box .tnb-btn {
    font-size: 16px;
  }
  .sec-rePort .custom-btn {
    font-size: 16px;
  }
}
@media (max-width: 1024px) {
  .sec-rePort .main-app-sec .caption-box .desc h2 {
    font-size: 22px;
    line-height: 30px;
  }
  .sec-rePort .main-app-sec .caption-box .desc p {
    font-size: 12px;
    line-height: 26px;
  }
  .sec-rePort .main-app-sec .custom-btn-box .tnb-btn {
    padding: 10px 12px;
    font-size: 13px;
  }
  .sec-rePort .custom-btn {
    font-size: 13px;
  }
}
@media (max-width: 767px) {
  .sec-rePort .main-app-sec {
    flex-direction: column;
  }
  .sec-rePort .main-app-sec .img-box {
    width: 100%;
  }
  .sec-rePort .main-app-sec .img-box .pic {
    margin-top: 50px;
  }
  .sec-rePort .main-app-sec .img-box .pic img {
    width: 100%;
    height: auto;
  }
  .sec-rePort .main-app-sec .caption-box {
    width: 100%;
    text-align: center;
  }
  .sec-rePort .main-app-sec .caption-box .desc h2 {
    font-size: 22px;
    line-height: 30px;
  }
  .sec-rePort .main-app-sec .caption-box .desc p {
    font-size: 12px;
    line-height: 26px;
  }
  .sec-rePort .main-app-sec .custom-btn-box {
    justify-content: center;
  }
  .sec-rePort .main-app-sec:nth-child(even) {
    flex-direction: column;
    margin-top: 70px;
  }
  .sec-rePort .main-app-sec:nth-child(even) .caption-box {
    text-align: center;
  }
  .sec-rePort .main-app-sec:nth-child(even) .custom-btn-box {
    justify-content: center;
  }
}
@media (max-width: 410px) {
  .sec-rePort .main-app-sec .custom-btn-box {
    flex-direction: column;
    align-items: center;
    gap: 0;
  }
}

/* ============================================================
   Location Why Choose Us (.why-choose-us) — mirrors WhyChooseUs.module.scss
   ============================================================ */
.why-choose-us {
  padding: 60px 0;
  background-color: #000;
  background-image: url("../images/whychoose-banner.png");
  color: #fff;
}
.why-choose-us .global-bio {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 100px;
}
.why-choose-us .global-bio .left-info {
  position: sticky;
  top: 50px;
  height: max-content;
}
.why-choose-us .global-bio .left-info h2 {
  font-size: 40px;
  font-weight: 600;
  color: #ec1c24;
}
.why-choose-us .global-bio .left-info .wcu-eyebrow {
  font-size: 30px;
  margin-bottom: 0;
  font-weight: 600;
}
.why-choose-us .global-bio .left-info p {
  font-size: 16px;
  line-height: 34px;
  margin-bottom: 20px;
  font-weight: 500;
}
.why-choose-us .global-bio .left-info p span,
.why-choose-us .global-bio .left-info p a {
  color: #ec1c24;
  font-size: 16px;
  font-weight: 600;
}
.why-choose-us .global-bio .right-info .why-choos-info {
  margin-bottom: 40px;
}
.why-choose-us .global-bio .right-info .why-choos-info h3 {
  font-size: 30px;
  font-weight: 500;
}
.why-choose-us .global-bio .right-info .why-choos-info p {
  font-size: 16px;
}
.why-choose-us .global-bio .right-info .why-choos-info p a {
  color: #ec1c24 !important;
}
@media (max-width: 991px) {
  .why-choose-us .global-bio {
    grid-template-columns: 1fr;
  }
  .why-choose-us .global-bio .left-info {
    position: relative;
    height: auto;
  }
  .why-choose-us .global-bio .left-info h2 {
    font-size: 30px;
  }
  .why-choose-us .global-bio .left-info .wcu-eyebrow {
    font-size: 25px;
  }
  .why-choose-us .global-bio .left-info p {
    font-size: 15px;
    line-height: 30px;
  }
  .why-choose-us .global-bio .right-info .why-choos-info h3 {
    font-size: 25px;
  }
  .why-choose-us .global-bio .right-info .why-choos-info p {
    font-size: 15px;
  }
}
@media (max-width: 767px) {
  .why-choose-us .global-bio {
    text-align: center;
  }
  .why-choose-us .global-bio .left-info h2 {
    font-size: 28px;
  }
  .why-choose-us .global-bio .left-info .wcu-eyebrow {
    font-size: 25px;
  }
  .why-choose-us .global-bio .left-info p {
    font-size: 14px;
    line-height: 30px;
  }
  .why-choose-us .global-bio .right-info .why-choos-info h3 {
    font-size: 22px;
  }
  .why-choose-us .global-bio .right-info .why-choos-info p {
    font-size: 14px;
  }
}

/* ============================================================
   Location FAQs (.faqs-section) — mirrors Locations/Faqs/Faqs.module.scss
   ============================================================ */
.faqs-section {
  padding: 100px 0;
  background-color: #000;
}
.faqs-section > .container > img {
  width: 200px;
  margin: auto;
  height: auto;
  display: block;
  padding-bottom: 50px;
}
.faqs-section h2 {
  font-size: 40px;
  font-weight: bold;
  color: #fff;
}
.faqs-section h4 {
  font-size: 26px;
  font-weight: 600;
  margin-bottom: -5px;
  color: #fff;
}
.faqs-section .custom-accordion {
  margin-top: 50px;
}
.faqs-section .custom-accordion .custom-accordion-item {
  border-radius: 0 !important;
  margin-bottom: 20px;
  box-shadow: none !important;
  outline: none !important;
  border: none !important;
}
.faqs-section .custom-accordion .custom-accordion-item .accordion-button {
  border-radius: 0 !important;
  box-shadow: none !important;
  outline: none !important;
  border: none !important;
  font-size: 18px;
  color: #000;
}
.faqs-section
  .custom-accordion
  .custom-accordion-item
  .accordion-button:not(.collapsed) {
  background-color: #cbcbcb;
  color: #000;
}
.faqs-section .custom-accordion .custom-accordion-item a {
  color: #ed2a32;
}
@media (max-width: 991px) {
  .faqs-section {
    padding: 50px 0;
  }
  .faqs-section > .container > img {
    width: 150px;
  }
  .faqs-section h2 {
    font-size: 30px;
  }
  .faqs-section h4 {
    font-size: 25px;
    margin: 0;
  }
  .faqs-section .custom-accordion .custom-accordion-item .accordion-button {
    font-size: 16px;
  }
}
@media (max-width: 767px) {
  .faqs-section h2 {
    text-align: center;
    font-size: 28px;
  }
  .faqs-section h4 {
    font-size: 22px;
    text-align: center;
  }
  .faqs-section .custom-accordion .custom-accordion-item .accordion-button {
    font-size: 15px;
  }
}

/* ============================================================
   houstonCompany
   ============================================================ */
.houstonCompany {
  background-color: #000;
  background-position: top;
  background-size: cover;
  padding: 0;
}
.houstonCompany .content {
  display: grid;
  grid-template-columns: 1fr 1fr;
}
.houstonCompany .content .imageBox {
  display: flex;
  align-items: flex-end;
  justify-content: flex-start;
}
.houstonCompany .content .textBox {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.houstonCompany .content .textBox h2 {
  color: #fff;
  font-size: 38px;
  font-weight: bold;
}
.houstonCompany .content .textBox p {
  color: #fff;
  font-size: 16px;
  padding: 20px 0 35px;
  margin: 0;
  line-height: 2;
}
.houstonCompany .content .textBox .imageFlex {
  display: flex;
  gap: 20px;
  align-items: center;
  flex-wrap: wrap;
  justify-content: space-between;
}
.houstonCompany .content .textBox .imageFlex .images a {
  display: block;
}
@media (max-width: 1366px) {
  .houstonCompany .content {
    grid-gap: 30px;
  }
}
@media (max-width: 1200px) {
  .houstonCompany .content .imageBox img {
    width: 100%;
    height: auto;
  }
  .houstonCompany .content .textBox {
    padding: 30px 0;
  }
  .houstonCompany .content .textBox h2 {
    font-size: 30px;
  }
}
@media (max-width: 991px) {
  .houstonCompany .content {
    display: flex;
    flex-direction: column-reverse;
    align-items: center;
  }
  .houstonCompany .content .textBox {
    text-align: center;
  }
  .houstonCompany .content .textBox .imageFlex {
    justify-content: center;
  }
}
@media (max-width: 575px) {
  .houstonCompany {
    background-image: none;
    background-color: #000;
    padding: 60px 0 0;
  }
  .houstonCompany .content .textBox h2 {
    font-size: 25px;
  }
}

/* ============================================================
   softwareSolution
   ============================================================ */
.softwareSolution {
  padding: 30px 0;
}
.softwareSolution .content .head h2 {
  color: #252525;
  font-weight: 700;
  text-align: left;
  font-size: 42px;
}
.softwareSolution .content .head h2 span {
  color: #ed2a32;
}
.softwareSolution .content .head p {
  text-align: left;
  font-size: 16px;
  color: #252525;
  padding: 20px 0;
  margin: 0;
}
.softwareSolution .content .head p a {
  color: #ed2a32;
}
.softwareSolution .content .boxes {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  grid-gap: 15px;
  padding-top: 50px;
  counter-reset: section;
}
.softwareSolution .content .boxes .singleBox {
  background-color: #f5f5f5;
  border: 1px solid #dedede;
  border-radius: 10px;
  padding: 25px;
  display: flex;
  align-items: center;
  gap: 20px;
  position: relative;
  transition: all 0.3s ease;
}
.softwareSolution .content .boxes .singleBox img {
  position: absolute;
  top: 10px;
  right: 10px;
}
.softwareSolution .content .boxes .singleBox .textSection h3 {
  color: #252525;
  font-size: 22px;
  font-weight: bold;
}
.softwareSolution .content .boxes .singleBox .textSection h3 span {
  color: #ed2a32;
}
.softwareSolution .content .boxes .singleBox .textSection h3 a {
  color: #252525;
}
.softwareSolution .content .boxes .singleBox .textSection p {
  font-size: 16px;
  color: #252525;
  min-height: 168px;
}
.softwareSolution .content .boxes .singleBox .textSection p a {
  font-size: 16px;
  color: #ed2a32;
  font-weight: 400;
}
.softwareSolution .content .boxes .singleBox:hover .textSection a {
  color: #ed2a32;
}
.softwareSolution .content .slider {
  display: none;
}
.softwareSolution .content .slider .singleBox {
  background-color: #f5f5f5;
  border: 1px solid #dedede;
  border-radius: 10px;
  padding: 25px;
  display: flex;
  align-items: center;
  gap: 20px;
  position: relative;
}
.softwareSolution .content .slider .singleBox img {
  position: absolute;
  top: 10px;
  right: 10px;
}
.softwareSolution .content .slider .singleBox .textSection h3 {
  color: #252525;
  font-size: 22px;
  font-weight: bold;
}
.softwareSolution .content .slider .singleBox .textSection h3 span {
  color: #ed2a32;
}
.softwareSolution .content .slider .singleBox .textSection p {
  font-size: 16px;
  color: #252525;
  min-height: 168px;
}
.softwareSolution.houston {
  padding: 60px 0;
}
.softwareSolution.houston .content .head h2 {
  text-align: center;
  font-size: 38px;
}
.softwareSolution.houston .content .head p {
  text-align: center;
}
.softwareSolution.houston .content .boxes {
  padding-top: 35px;
}
.softwareSolution.houston .content .boxes .singleBox .textSection p,
.softwareSolution.houston .content .slider .singleBox .textSection p {
  font-weight: 500;
  min-height: unset;
  margin: 0;
  padding: 15px 0;
  line-height: 1.8;
}
@media (max-width: 1366px) {
  .softwareSolution .content .head h2 {
    font-size: 38px;
  }
}
@media (max-width: 1200px) {
  .softwareSolution .content .head h2 {
    font-size: 36px;
  }
  .softwareSolution.houston .content .head h2 {
    font-size: 36px;
  }
}
@media (max-width: 1199px) {
  .softwareSolution .content .boxes .singleBox {
    flex-direction: column;
    align-items: flex-start;
  }
  .softwareSolution .content .boxes .singleBox img {
    position: relative;
    top: 10px;
    left: 10px;
    right: unset;
  }
}
@media (max-width: 1024px) {
  .softwareSolution .content .head h2 {
    text-align: center;
  }
  .softwareSolution .content .head p {
    text-align: center;
  }
}
@media (max-width: 991px) {
  .softwareSolution .content .head h2 {
    font-size: 30px;
  }
  .softwareSolution .content .slider {
    display: block;
  }
  .softwareSolution .content .slider .singleBox .textSection h3 a {
    color: #252525;
  }
  .softwareSolution .content .slider .singleBox .textSection p {
    min-height: 216px;
  }
  .softwareSolution .content .slider .singleBox .textSection p a {
    color: #ed2a32;
  }
  .softwareSolution .content .boxes {
    display: none;
  }
  .softwareSolution.houston .content .head h2 {
    font-size: 30px;
  }
}
@media (max-width: 575px) {
  .softwareSolution .content .head h2 {
    font-size: 25px;
    text-align: center;
  }
  .softwareSolution .content .head p {
    text-align: center;
  }
  .softwareSolution.houston {
    padding: 30px 0;
  }
  .softwareSolution.houston .content .head h2 {
    font-size: 25px;
  }
  .softwareSolution.houston .content .slider .singleBox .textSection h3 {
    font-size: 18px;
    min-height: 65px;
    margin: 0;
  }
  .softwareSolution.houston .content .slider .singleBox .textSection p {
    min-height: unset;
  }
	.software-slider .swiper-slide{
		height:unset;
	}
	.softwareSolution .content .slider .singleBox{
		max-height: 100%;
    height: 100%;
	}
}

/* softwareSolution — reset global .textSection bleed-in */
.softwareSolution .content .boxes .singleBox .textSection,
.softwareSolution .content .slider .singleBox .textSection {
  padding: 0;
  position: static;
}
.softwareSolution .content .boxes .singleBox .textSection::before,
.softwareSolution .content .slider .singleBox .textSection::before {
  display: none;
  content: none;
}
.softwareSolution .content .boxes .singleBox .textSection p,
.softwareSolution .content .slider .singleBox .textSection p {
  text-align: left;
}

/* ============================================================
   appServicesSec — side image support
   ============================================================ */
.appServicesSec .services-grid .content img {
  margin-top: 20px;
  width: 100%;
  height: auto;
  border-radius: 10px;
}

/* ============================================================
   faqRevampSection — head_text subheading
   ============================================================ */
.faqRevampSection .frs-content .frs-subheading {
  color: #ed2a32;
  font-size: 16px;
  font-weight: 600;
  margin-bottom: 5px;
}

/* ============================================================
   textRed utility
   ============================================================ */
.textRed {
  color: #ed2a32 !important;
}

/* ============================================================
   BuiltByDetermination Component
   ============================================================ */

/* ── Section 1: main-top-banner ─────────────────────────────── */
.main-top-banner {
  background: url("../images/case-studies/bbd/top-banner.webp");
  background-color: #242424;
  background-repeat: no-repeat;
  background-size: cover;
  padding: 60px 0;
  position: relative;
}
.main-top-banner .top-banner-info {
  display: grid;
  grid-template-columns: 40% 55%;
}
.main-top-banner .top-banner-info .left h1 {
  font-weight: 900;
  font-size: 320px;
  line-height: 1;
  text-align: left;
  color: #2c2c2c;
  position: absolute;
  margin-left: -22px;
}
.main-top-banner .top-banner-info .left .built-by-head {
  height: 300px;
}
.main-top-banner .top-banner-info .left h2 {
  font-weight: 900;
  font-size: 70px;
  line-height: 100px;
  text-align: left;
  color: #fff;
  position: relative;
  z-index: 1;
}
.main-top-banner .top-banner-info .left h2 span {
  color: #ed1b2e;
}
.main-top-banner .top-banner-info .right img {
  position: relative;
  z-index: 10;
  max-width: 100%;
  height: auto;
}
.main-top-banner .top-banner-info .right::before {
  content: "";
  background: url("../images/case-studies/bbd/bbd-top-2.webp") no-repeat right;
  width: 100%;
  height: 100%;
  position: absolute;
  z-index: 1;
  right: 5%;
  top: 0;
}
.main-top-banner .banner-points-main {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  align-items: start;
  margin-top: 15%;
}
.main-top-banner .banner-points-main .points img {
  width: 99px;
  height: 96px;
  object-fit: none;
}
.main-top-banner .banner-points-main .points .points-info {
  margin-top: -40px;
  margin-left: 12px;
}
.main-top-banner .banner-points-main .points .points-info .points-label {
  font-weight: normal;
  font-size: 22px;
  color: #fff;
  padding-left: 15px;
  position: relative;
}
.main-top-banner .banner-points-main .points .points-info .points-label::before {
  background: #ed1b2e;
  content: "";
  height: 16px;
  left: -20px;
  top: 5px;
  position: absolute;
  transform: rotate(-24deg);
  width: 7px;
}
.main-top-banner .banner-points-main .points .points-info p {
  font-weight: normal;
  font-size: 18px;
  line-height: 25px;
  margin-left: 46px;
  color: #888686;
}

/* ── Section 2: pro-background-main ─────────────────────────── */
.pro-background-main {
  height: 900px;
  background: url("../images/case-studies/bbd/sec2-banner.webp");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  padding-top: 80px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.pro-background-main .pro-info {
  background: #000000bf;
  padding: 60px;
  width: 70%;
}
.pro-background-main .pro-info h2 {
  font-weight: 900;
  font-size: 50px;
  color: #fff;
}
.pro-background-main .pro-info p {
  font-weight: normal;
  font-size: 24px;
  line-height: 1.5;
  color: #cbc0c0;
}
.pro-background-main > .left {
  font-size: 110px;
  font-weight: 700;
  color: #2c2c2c;
  margin-bottom: 0;
  line-height: 76px;
}

/* ── Section 3: key-features-main ───────────────────────────── */
.key-features-main {
  background: url("../images/case-studies/bbd/sec-3-banner.webp");
  background-repeat: no-repeat;
  background-size: cover;
  padding-top: 80px;
  padding-bottom: 100px;
  overflow: hidden;
}
.key-features-main .key-features-info h2 {
  font-weight: 900;
  font-size: 50px;
  text-align: center;
  color: #fff;
  border-bottom: 2px solid red;
  width: fit-content;
  margin: auto;
  padding-bottom: 10px;
  margin-bottom: 0;
}
.key-features-main .key-features-grid {
  display: grid;
  grid-template-columns: 1fr 1.5fr;
  padding-top: 50px;
}
.key-features-main .key-features-grid .left .instant-main {
  display: flex;
  color: #fff;
  gap: 40px;
  align-items: center;
  margin-bottom: 20px;
}
.key-features-main .key-features-grid .left .instant-main .instant-img {
  align-items: center;
  border: 7px solid #191919;
  border-left-color: #ed1b2e;
  border-radius: 50%;
  display: flex;
  height: 78px;
  justify-content: center;
  width: 78px;
  transform: rotate(326deg);
  flex-shrink: 0;
}
.key-features-main .key-features-grid .left .instant-main .instant-img img {
  transform: rotate(34deg);
}
.key-features-main .key-features-grid .left .instant-main .instant-info h3 {
  font-weight: normal;
  font-size: 20px;
  color: #fff;
  margin-bottom: 0;
}
.key-features-main .key-features-grid .right {
  text-align: right;
  position: relative;
}
.key-features-main .key-features-grid .right::before {
  content: "";
  background-image: url("../images/case-studies/bbd/sec-3.webp");
  position: absolute;
  width: 76%;
  height: 100%;
  right: -40px;
  background-size: cover;
  bottom: -25%;
  background-repeat: no-repeat;
}

/* ── Section 4: business-prob-main ──────────────────────────── */
.business-prob-main {
  background: url("../images/case-studies/bbd/back-4.webp") no-repeat right;
  height: 750px;
  position: relative;
  display: flex;
  align-items: center;
}
.business-prob-main::before {
  content: "";
  background: url("../images/case-studies/bbd/body.webp") no-repeat bottom;
  background-size: contain;
  width: 28%;
  height: 100%;
  position: absolute;
  left: 80px;
  bottom: 0;
}
.business-prob-main .before-heading {
  width: 600px;
}
.business-prob-main .before-heading h2 {
  transform: rotate(270deg);
  font-weight: 900;
  font-size: 45px;
  color: #545454;
  position: relative;
  left: 40px;
  top: -40px;
  width: 440px;
}
.business-prob-main .info-business-prob {
  width: 80%;
  margin-right: auto;
}
.business-prob-main .info-business-prob hr {
  width: 30%;
  margin-left: 0;
  border-top: 2px solid #ed1b2e;
  margin-bottom: 40px;
  opacity: 1;
}
.business-prob-main .info-business-prob p {
  font-weight: normal;
  font-size: 24px;
  line-height: 48px;
  color: #000;
}

/* ── Section 5: why-tech-solution-main ──────────────────────── */
.why-tech-solution-main {
  background: url("../images/case-studies/bbd/back-5.webp");
  background-size: cover;
  background-repeat: no-repeat;
  padding-top: 80px;
  padding-bottom: 180px;
}
.why-tech-solution-main .solution-grid {
  display: grid;
  grid-template-columns: 50% 40%;
  gap: 100px;
  justify-content: space-between;
}
.why-tech-solution-main .solution-grid .left-info h2,
.why-tech-solution-main .solution-grid .right-info h2 {
  font-weight: 900;
  font-size: 38px;
  color: #999;
  border-bottom: 2px solid #ed1b2e;
  width: fit-content;
  padding-right: 30px;
  padding-bottom: 10px;
  margin-bottom: 60px;
}
.why-tech-solution-main .solution-grid .left-info h3 {
  font-weight: normal;
  font-size: 26px;
  line-height: 35px;
  color: #fff;
  margin-bottom: 30px;
}
.why-tech-solution-main .solution-grid .left-info h4 {
  color: #fff;
  font-size: 20px;
  position: relative;
}
.why-tech-solution-main .solution-grid .left-info h4::before {
  background: #ed1b2e;
  content: "";
  height: 16px;
  left: -20px;
  top: 5px;
  position: absolute;
  transform: rotate(-24deg);
  width: 5px;
}
.why-tech-solution-main .solution-grid .left-info p {
  font-weight: normal;
  font-size: 18px;
  line-height: 25px;
  color: #888686;
}
.why-tech-solution-main .solution-grid .right-info h3 {
  font-weight: normal;
  font-size: 26px;
  line-height: 35px;
  color: #fff;
  margin-bottom: 30px;
}
.why-tech-solution-main .solution-grid .right-info .why-tech {
  margin-bottom: 50px;
}
.why-tech-solution-main .solution-grid .right-info .why-tech h4 {
  font-weight: normal;
  font-size: 20px;
  color: #fff;
  position: relative;
}
.why-tech-solution-main .solution-grid .right-info .why-tech h4::before {
  background: #ed1b2e;
  content: "";
  height: 16px;
  left: -20px;
  top: 5px;
  position: absolute;
  transform: rotate(-24deg);
  width: 5px;
}
.why-tech-solution-main .solution-grid .right-info .why-tech p {
  font-weight: normal;
  font-size: 18px;
  color: #888686;
}
.why-tech-solution-main .para-box {
  border: 1px solid #585656;
  padding: 30px;
  margin-top: 50px;
}
.why-tech-solution-main .para-box p {
  font-weight: normal;
  font-size: 25px;
  line-height: 45px;
  margin-bottom: 0;
  color: #cbc0c0;
}
.why-tech-solution-main .para-box p span {
  color: #ed1b2e;
}

/* ── Section 6: main-slider-banner ──────────────────────────── */
.main-slider-banner {
  padding: 90px 0;
  background: url("../images/case-studies/bbd/center-back.webp") no-repeat
    bottom;
  background-size: cover;
  position: relative;
}
.main-slider-banner::before {
  content: "";
  background: url("../images/case-studies/bbd/iphone.png") no-repeat center;
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
  background-size: contain;
  width: 100%;
  height: 78%;
  z-index: 100;
  pointer-events: none;
}
.main-slider-banner .application-slider img {
  width: 100%;
  height: auto;
}

/* ── Section 7: challenges-main ─────────────────────────────── */
.challenges-main {
  background: url("../images/case-studies/bbd/back-7.webp") no-repeat center;
  background-size: cover;
  padding: 60px 0;
  height: 1000px;
}
.challenges-main .black-box {
  height: 100%;
  background: #000000b0;
  margin: 0 60px 100px;
  display: flex;
  align-items: center;
}
.challenges-main .challenges-grid {
  display: grid;
  grid-template-columns: 45% 35%;
  justify-content: space-between;
}
.challenges-main .challenges-grid .challenges-left h2,
.challenges-main .challenges-grid .result-right h2 {
  font-weight: 900;
  font-size: 40px;
  color: #fff;
  border-bottom: 2px solid #ed1b2e;
  width: fit-content;
  padding-bottom: 10px;
  margin-bottom: 60px;
}
.challenges-main .challenges-grid .challenges-left .wrap-box {
  margin-bottom: 40px;
}
.challenges-main .challenges-grid .challenges-left .wrap-box p {
  font-weight: normal;
  font-size: 18px;
  line-height: 25px;
  color: #b8b8b8;
  position: relative;
  margin-bottom: 0;
}
.challenges-main .challenges-grid .challenges-left .wrap-box p::before {
  background: #ed1b2e;
  content: "";
  height: 16px;
  left: -20px;
  top: 5px;
  position: absolute;
  transform: rotate(-24deg);
  width: 5px;
}
.challenges-main .challenges-grid .result-right p {
  font-weight: normal;
  font-size: 20px;
  line-height: 30px;
  color: #fff;
  margin-bottom: 30px;
  position: relative;
}
.challenges-main .challenges-grid .result-right p::before {
  background: #ed1b2e;
  content: "";
  height: 16px;
  left: -20px;
  top: 5px;
  position: absolute;
  transform: rotate(-24deg);
  width: 5px;
}

/* ── Responsive: 1600px ─────────────────────────────────────── */
@media (max-width: 1600px) {
  .main-top-banner .top-banner-info .left h1 {
    font-size: 285px;
  }
  .main-top-banner .top-banner-info .right {
    position: relative;
  }
  .main-top-banner .top-banner-info .right::before {
    right: -80px;
    top: 15%;
  }
  .main-top-banner .top-banner-info .right img {
    left: -24%;
    width: 100%;
    height: auto;
  }
  .pro-background-main .pro-info h2 {
    font-size: 45px;
  }
  .pro-background-main .pro-info p {
    font-size: 22px;
  }
  .pro-background-main > .left {
    font-size: 90px;
    line-height: 0.7;
  }
  .business-prob-main .before-heading h2 {
    font-size: 40px;
    left: 40px;
    top: 0;
    width: 400px;
    text-align: center;
  }
  .business-prob-main .info-business-prob p {
    font-size: 24px;
  }
  .challenges-main .black-box {
    padding: 0 60px;
  }
  .challenges-main .challenges-grid .challenges-left h2,
  .challenges-main .challenges-grid .result-right h2 {
    font-size: 40px;
  }
  .challenges-main .challenges-grid .challenges-left .wrap-box p {
    font-size: 18px;
  }
  .challenges-main .challenges-grid .result-right p {
    font-size: 20px;
  }
}

/* ── Responsive: 1440px ─────────────────────────────────────── */
@media (max-width: 1440px) {
  .main-top-banner .top-banner-info .left h1 {
    font-size: 240px;
  }
  .main-top-banner .top-banner-info .left .built-by-head {
    height: 260px;
  }
  .main-top-banner .top-banner-info .left h2 {
    font-size: 60px;
  }
  .main-top-banner .top-banner-info .right {
    position: relative;
  }
  .main-top-banner .top-banner-info .right::before {
    right: -80px;
    top: 15%;
  }
  .main-top-banner .top-banner-info .right img {
    left: -24%;
    width: 100%;
    height: auto;
  }
  .main-top-banner .banner-points-main .points .points-info .points-label {
    font-size: 20px;
  }
  .main-top-banner .banner-points-main .points .points-info p {
    font-size: 16px;
  }
  .pro-background-main .pro-info h2 {
    font-size: 45px;
  }
  .pro-background-main .pro-info p {
    font-size: 22px;
  }
  .pro-background-main > .left {
    font-size: 80px;
  }
  .key-features-main {
    padding-bottom: 0;
  }
  .key-features-main .key-features-info h2 {
    font-size: 45px;
  }
  .key-features-main .key-features-grid .left {
    padding-bottom: 100px;
  }
  .key-features-main .key-features-grid .left .instant-main .instant-info h3 {
    font-size: 20px;
  }
  .key-features-main .key-features-grid .right::before {
    width: 80%;
    height: 100%;
    right: 0;
    bottom: -15%;
  }
  .why-tech-solution-main .solution-grid .left-info h2,
  .why-tech-solution-main .solution-grid .right-info h2 {
    font-size: 35px;
  }
  .why-tech-solution-main .solution-grid .left-info h4 {
    font-size: 20px;
  }
  .why-tech-solution-main .solution-grid .left-info h3 {
    font-size: 26px;
  }
  .why-tech-solution-main .solution-grid .left-info p {
    font-size: 18px;
  }
  .why-tech-solution-main .solution-grid .right-info .why-tech h4 {
    font-size: 20px;
  }
  .why-tech-solution-main .solution-grid .right-info .why-tech p {
    font-size: 18px;
  }
  .why-tech-solution-main .para-box p {
    font-size: 25px;
  }
}

/* ── Responsive: 1400px ─────────────────────────────────────── */
@media (max-width: 1400px) {
  .key-features-main .key-features-grid .right::before {
    width: 100%;
    height: 100%;
    right: 0;
    bottom: -15%;
  }
  .main-slider-banner::before {
    width: 100%;
    height: 75%;
  }
}

/* ── Responsive: 1200px ─────────────────────────────────────── */
@media (max-width: 1200px) {
  .main-top-banner .top-banner-info .left img {
    width: 100%;
    height: auto;
  }
  .main-top-banner .top-banner-info .left h1 {
    font-size: 200px;
  }
  .main-top-banner .top-banner-info .left .built-by-head {
    height: 200px;
  }
  .main-top-banner .top-banner-info .left h2 {
    font-size: 50px;
    line-height: 1.6;
  }
  .main-top-banner .top-banner-info .right::before {
    right: -80px;
    top: 15%;
    width: 50%;
    height: 100%;
    background-size: contain;
  }
  .main-top-banner .top-banner-info .right img {
    left: -15%;
    width: 100%;
    height: auto;
  }
  .main-top-banner .banner-points-main .points .points-info .points-label {
    font-size: 18px;
  }
  .main-top-banner .banner-points-main .points .points-info p {
    font-size: 15px;
  }
  .pro-background-main {
    height: 800px;
  }
  .pro-background-main .pro-info h2 {
    font-size: 40px;
  }
  .pro-background-main .pro-info p {
    font-size: 20px;
  }
  .pro-background-main > .left {
    font-size: 70px;
    line-height: 0.7;
  }
  .key-features-main .key-features-info h2 {
    font-size: 40px;
  }
  .key-features-main .key-features-grid .left .instant-main {
    gap: 25px;
  }
  .key-features-main .key-features-grid .left .instant-main .instant-info h3 {
    font-size: 18px;
  }
  .key-features-main .key-features-grid .right::before {
    width: 100%;
    height: 80%;
    right: 0;
    bottom: -5%;
  }
  .business-prob-main .before-heading {
    width: 300px;
  }
  .business-prob-main .before-heading h2 {
    font-size: 35px;
    left: 0;
  }
  .business-prob-main .info-business-prob p {
    font-size: 22px;
    font-weight: 500;
  }
  .why-tech-solution-main .solution-grid .left-info h2,
  .why-tech-solution-main .solution-grid .right-info h2 {
    font-size: 28px;
    font-weight: 700;
  }
  .why-tech-solution-main .solution-grid .left-info h4 {
    font-size: 18px;
  }
  .why-tech-solution-main .solution-grid .left-info h3 {
    font-size: 22px;
  }
  .why-tech-solution-main .solution-grid .left-info p {
    font-size: 16px;
  }
  .why-tech-solution-main .solution-grid .right-info h3 {
    font-size: 22px;
  }
  .why-tech-solution-main .solution-grid .right-info .why-tech h4 {
    font-size: 16px;
  }
  .why-tech-solution-main .solution-grid .right-info .why-tech p {
    font-size: 16px;
  }
  .why-tech-solution-main .para-box p {
    font-size: 20px;
  }
  .challenges-main .black-box {
    padding: 0 60px;
  }
  .challenges-main .challenges-grid {
    grid-template-columns: 1fr 1fr;
    gap: 100px;
  }
  .challenges-main .challenges-grid .challenges-left h2,
  .challenges-main .challenges-grid .result-right h2 {
    font-size: 35px;
  }
  .challenges-main .challenges-grid .challenges-left .wrap-box p {
    font-size: 16px;
  }
  .challenges-main .challenges-grid .result-right p {
    font-size: 18px;
  }
}

/* ── Responsive: 1100px ─────────────────────────────────────── */
@media (max-width: 1100px) {
  .business-prob-main {
    height: 600px;
    background-size: contain;
  }
  .business-prob-main .before-heading h2 {
    font-size: 35px;
    left: 0;
  }
  .business-prob-main .info-business-prob p {
    font-size: 18px;
    line-height: 45px;
  }
}

/* ── Responsive: 991px ──────────────────────────────────────── */
@media (max-width: 991px) {
  .main-top-banner .top-banner-info .left h1 {
    font-size: 155px;
  }
  .main-top-banner .top-banner-info .left .built-by-head {
    height: 150px;
  }
  .main-top-banner .top-banner-info .left h2 {
    font-size: 40px;
  }
  .main-top-banner .top-banner-info .right::before {
    right: -50px;
    width: 45%;
  }
  .main-top-banner .top-banner-info .right img {
    left: -15%;
    width: 100%;
    height: auto;
  }
  .main-top-banner .banner-points-main {
    grid-template-columns: 1fr 1fr;
    margin-top: 10%;
  }
  .main-top-banner .banner-points-main .points .points-info .points-label {
    font-size: 18px;
  }
  .main-top-banner .banner-points-main .points .points-info p {
    font-size: 15px;
    margin-left: 42px;
  }
  .pro-background-main {
    height: 600px;
    background-position: right;
  }
  .pro-background-main .pro-info {
    width: 100%;
  }
  .pro-background-main .pro-info h2 {
    font-size: 30px;
  }
  .pro-background-main .pro-info p {
    font-size: 18px;
  }
  .pro-background-main > .left {
    font-size: 50px;
    line-height: 35px;
    text-align: center;
  }
  .key-features-main .key-features-info h2 {
    font-size: 35px;
  }
  .key-features-main .key-features-grid .left .instant-main {
    gap: 25px;
  }
  .key-features-main .key-features-grid .left .instant-main .instant-info h3 {
    font-size: 16px;
  }
  .key-features-main .key-features-grid .right::before {
    width: 100%;
    height: 50%;
    right: 0;
    bottom: 0;
  }
  .business-prob-main {
    height: 600px;
    background-size: contain;
    flex-direction: column;
    align-items: flex-start;
    padding-top: 60px;
  }
  .business-prob-main::before {
    left: 40px;
  }
  .business-prob-main .before-heading {
    width: 700px;
    margin: 0 auto;
  }
  .business-prob-main .before-heading h2 {
    left: 0;
    text-align: left;
    font-size: 30px;
    transform: rotate(0deg);
  }
  .business-prob-main .info-business-prob {
    width: 90%;
  }
  .business-prob-main .info-business-prob p {
    font-size: 18px;
    line-height: 45px;
  }
  .why-tech-solution-main .solution-grid {
    gap: 20px;
  }
  .why-tech-solution-main .solution-grid .left-info h2,
  .why-tech-solution-main .solution-grid .right-info h2 {
    font-size: 22px;
    font-weight: 700;
    padding-right: 0;
  }
  .why-tech-solution-main .solution-grid .left-info h4 {
    font-size: 16px;
  }
  .why-tech-solution-main .solution-grid .left-info h3 {
    font-size: 18px;
  }
  .why-tech-solution-main .solution-grid .left-info p {
    font-size: 16px;
  }
  .why-tech-solution-main .solution-grid .right-info h3 {
    font-size: 18px;
  }
  .why-tech-solution-main .solution-grid .right-info .why-tech h4 {
    font-size: 16px;
  }
  .why-tech-solution-main .solution-grid .right-info .why-tech p {
    font-size: 16px;
  }
  .why-tech-solution-main .para-box p {
    font-size: 18px;
  }
  .challenges-main {
    padding: 0;
    height: auto;
    background-position: center;
  }
  .challenges-main .black-box {
    padding: 60px;
    margin: 0;
  }
  .challenges-main .challenges-grid {
    gap: 80px;
  }
  .challenges-main .challenges-grid .challenges-left h2,
  .challenges-main .challenges-grid .result-right h2 {
    font-size: 30px;
  }
  .challenges-main .challenges-grid .challenges-left .wrap-box p {
    font-size: 15px;
  }
  .challenges-main .challenges-grid .result-right p {
    font-size: 16px;
  }
}

/* ── Responsive: 767px ──────────────────────────────────────── */
@media (max-width: 767px) {
  .main-top-banner .top-banner-info {
    grid-template-columns: 1fr;
    justify-items: center;
    gap: 0 20px;
  }
  .main-top-banner .top-banner-info .left img {
    width: 250px;
    margin: auto;
    display: block;
  }
  .main-top-banner .top-banner-info .left h1 {
    font-size: 100px;
    margin-left: 0;
    text-align: center;
  }
  .main-top-banner .top-banner-info .left .built-by-head {
    height: 100px;
    text-align: center;
  }
  .main-top-banner .top-banner-info .left h2 {
    font-size: 30px;
    text-align: center;
  }
  .main-top-banner .top-banner-info .right::before {
    right: 50px;
    width: 35%;
  }
  .main-top-banner .top-banner-info .right img {
    left: -15%;
    width: 80%;
    height: auto;
  }
  .main-top-banner .banner-points-main {
    grid-template-columns: 1fr 1fr;
    margin-top: 10%;
  }
  .main-top-banner .banner-points-main .points .points-info p {
    font-size: 15px;
    margin-left: 42px;
  }
  .pro-background-main {
    height: 550px;
  }
  .pro-background-main .pro-info {
    padding: 40px;
  }
  .pro-background-main .pro-info h2 {
    font-size: 26px;
  }
  .pro-background-main .pro-info p {
    font-size: 18px;
  }
  .pro-background-main > .left {
    font-size: 50px;
    line-height: 35px;
    text-align: center;
  }
  .key-features-main {
    padding-bottom: 140px;
  }
  .key-features-main .key-features-info h2 {
    font-size: 26px;
  }
  .key-features-main .key-features-grid {
    grid-template-columns: 1fr;
  }
  .key-features-main .key-features-grid .left {
    padding-bottom: 0;
  }
  .key-features-main .key-features-grid .right .right-svg {
    margin: auto;
    display: block;
  }
  .key-features-main .key-features-grid .right .right-svg img {
    margin: auto;
    display: block;
  }
  .key-features-main .key-features-grid .right::before {
    width: 90%;
    height: 90%;
    right: 0;
    left: 0;
    margin: auto;
    bottom: -45%;
  }
  .business-prob-main {
    height: 500px;
  }
  .business-prob-main::before {
    left: 0;
  }
  .business-prob-main .before-heading {
    width: 100%;
  }
  .business-prob-main .before-heading h2 {
    width: 100%;
    text-align: center;
    font-size: 26px;
  }
  .business-prob-main .info-business-prob {
    width: 100%;
  }
  .business-prob-main .info-business-prob hr {
    margin: 20px auto;
  }
  .business-prob-main .info-business-prob p {
    font-size: 16px;
    line-height: 1.6;
    text-align: center;
  }
  .why-tech-solution-main .solution-grid {
    gap: 50px;
    grid-template-columns: 1fr;
  }
  .why-tech-solution-main .solution-grid .left-info h2,
  .why-tech-solution-main .solution-grid .right-info h2 {
    font-size: 22px;
    margin-bottom: 30px;
  }
  .why-tech-solution-main .solution-grid .left-info h4 {
    padding-left: 20px;
    font-size: 16px;
  }
  .why-tech-solution-main .solution-grid .left-info h4::before {
    margin-left: -20px;
    left: unset;
  }
  .why-tech-solution-main .solution-grid .left-info h3 {
    font-size: 18px;
  }
  .why-tech-solution-main .solution-grid .left-info p {
    font-size: 16px;
  }
  .why-tech-solution-main .solution-grid .right-info h3 {
    font-size: 18px;
  }
  .why-tech-solution-main .solution-grid .right-info .why-tech h4 {
    padding-left: 20px;
    font-size: 16px;
  }
  .why-tech-solution-main .solution-grid .right-info .why-tech h4::before {
    margin-left: -20px;
    left: unset;
  }
  .why-tech-solution-main .solution-grid .right-info .why-tech p {
    font-size: 16px;
  }
  .why-tech-solution-main .para-box {
    margin: 0;
  }
  .why-tech-solution-main .para-box p {
    font-size: 18px;
    line-height: 1.8;
  }
  .challenges-main .black-box .challenges-grid {
    grid-template-columns: 1fr;
    gap: 0;
  }
  .challenges-main .black-box .challenges-grid .challenges-left h2,
  .challenges-main .black-box .challenges-grid .result-right h2 {
    font-size: 28px;
    margin-bottom: 30px;
  }
  .challenges-main .black-box .challenges-grid .challenges-left .wrap-box p {
    font-size: 15px;
  }
  .challenges-main .black-box .challenges-grid .result-right p {
    font-size: 16px;
  }
  .main-slider-banner::before {
    height: 79%;
  }
}

/* ── Responsive: 579px ──────────────────────────────────────── */
@media (max-width: 579px) {
  .main-top-banner .top-banner-info .left .built-by-head {
    height: auto;
  }
  .main-top-banner .top-banner-info .left h1 {
    font-size: 80px;
    position: relative;
    text-align: center;
  }
  .main-top-banner .top-banner-info .left h2 {
    font-size: 30px;
  }
  .main-top-banner .banner-points-main .points .points-info .points-label {
    font-size: 16px;
  }
  .main-top-banner .banner-points-main .points .points-info p {
    font-size: 15px;
  }
  .pro-background-main .pro-info h2 {
    font-size: 26px;
  }
  .pro-background-main .pro-info p {
    font-size: 16px;
  }
  .pro-background-main > .left {
    font-size: 50px;
    line-height: 1;
    text-align: center;
  }
  .key-features-main {
    padding-bottom: 140px;
  }
  .key-features-main .key-features-info h2 {
    font-size: 26px;
  }
  .key-features-main .key-features-grid .right::before {
    width: 90%;
    height: 90%;
    right: 0;
    left: 0;
    margin: auto;
    bottom: -45%;
  }
  .main-slider-banner::before {
    height: 78%;
  }
}

/* ── Responsive: 500px ──────────────────────────────────────── */
@media (max-width: 500px) {
  .main-slider-banner::before {
    height: 76%;
  }
}

/* ── Responsive: 479px ──────────────────────────────────────── */
@media (max-width: 479px) {
  .main-top-banner .top-banner-info .left h1 {
    font-size: 70px;
  }
  .main-top-banner .top-banner-info .left h2 {
    font-size: 26px;
  }
  .main-top-banner .banner-points-main {
    grid-template-columns: 1fr;
    margin-left: 15px;
  }
  .main-top-banner .banner-points-main .points .points-info .points-label {
    font-size: 15px;
  }
  .main-top-banner .banner-points-main .points .points-info p {
    font-size: 14px;
    margin-left: 40px;
  }
  .pro-background-main .pro-info h2 {
    font-size: 24px;
  }
  .pro-background-main .pro-info p {
    font-size: 16px;
  }
  .pro-background-main > .left {
    font-size: 45px;
    line-height: 1;
    text-align: center;
  }
  .key-features-main .key-features-info h2 {
    font-size: 24px;
  }
  .business-prob-main::before {
    left: 0;
    right: 0;
    margin: auto;
    width: 35%;
  }
  .business-prob-main .before-heading h2 {
    width: 100%;
    text-align: center;
    font-size: 26px;
  }
  .business-prob-main .info-business-prob p {
    font-size: 16px;
    line-height: 1.5;
  }
  .challenges-main .black-box {
    padding: 60px 0;
  }
  .challenges-main .challenges-grid .challenges-left h2,
  .challenges-main .challenges-grid .result-right h2 {
    font-size: 26px;
  }
  .challenges-main .challenges-grid .challenges-left .wrap-box p {
    font-size: 15px;
    padding-left: 20px;
  }
  .challenges-main .challenges-grid .challenges-left .wrap-box p::before {
    margin-left: -20px;
    left: unset;
  }
  .challenges-main .challenges-grid .result-right p {
    font-size: 15px;
    padding-left: 20px;
  }
  .challenges-main .challenges-grid .result-right p::before {
    margin-left: -20px;
    left: unset;
  }
  .main-slider-banner::before {
    height: 74%;
  }
}

/* ── Responsive: 425px ──────────────────────────────────────── */
@media (max-width: 425px) {
  .main-slider-banner::before {
    height: 72%;
  }
}

/* ── Responsive: 400px ──────────────────────────────────────── */
@media (max-width: 400px) {
  .main-top-banner .top-banner-info .left h1 {
    font-size: 60px;
  }
  .main-top-banner .top-banner-info .left h2 {
    font-size: 24px;
  }
  .main-top-banner .banner-points-main .points .points-info .points-label {
    font-size: 15px;
  }
  .main-top-banner .banner-points-main .points .points-info p {
    font-size: 12px;
    margin-left: 36px;
    font-weight: 500;
  }
  .pro-background-main .pro-info {
    padding: 30px;
  }
  .pro-background-main .pro-info h2 {
    font-size: 22px;
  }
  .pro-background-main .pro-info p {
    font-size: 15px;
  }
  .pro-background-main > .left {
    font-size: 25px;
    line-height: 1;
    text-align: center;
  }
  .key-features-main {
    padding-bottom: 0;
  }
  .key-features-main .key-features-info h2 {
    font-size: 24px;
  }
  .key-features-main .key-features-grid .right {
    padding-bottom: 140px;
  }
  .key-features-main .key-features-grid .right img {
    width: 80%;
    height: auto;
  }
  .key-features-main .key-features-grid .right::before {
    width: 100%;
    height: 90%;
    bottom: -25%;
  }
  .business-prob-main {
    height: 450px;
  }
  .business-prob-main .before-heading h2 {
    font-size: 24px;
  }
  .business-prob-main .info-business-prob p {
    font-size: 15px;
    line-height: 1.5;
  }
  .why-tech-solution-main .solution-grid .left-info h2,
  .why-tech-solution-main .solution-grid .right-info h2 {
    font-size: 20px;
  }
  .why-tech-solution-main .solution-grid .left-info h4 {
    font-size: 15px;
  }
  .why-tech-solution-main .solution-grid .left-info h3 {
    font-size: 16px;
  }
  .why-tech-solution-main .solution-grid .left-info p {
    font-size: 14px;
  }
  .why-tech-solution-main .solution-grid .right-info h3 {
    font-size: 16px;
  }
  .why-tech-solution-main .solution-grid .right-info .why-tech h4 {
    font-size: 15px;
  }
  .why-tech-solution-main .solution-grid .right-info .why-tech p {
    font-size: 14px;
  }
  .why-tech-solution-main .para-box {
    margin: 0;
  }
  .why-tech-solution-main .para-box p {
    font-size: 16px;
    line-height: 1.7;
  }
  .main-slider-banner::before {
    content: unset;
  }
}

.bbd-app-slider .swiper-slide-active.swiper-slide img {
  border-radius: 40px;
}

/* ============================================================
   CaseStudiesSlider Component
   ============================================================ */
.red-box {
  background: rgb(241, 175, 175);
  background: radial-gradient(
    circle,
    rgba(241, 175, 175, 1) 0%,
    rgba(237, 28, 36, 1) 100%
  );
}
.purple-box {
  background: rgb(169, 100, 232);
  background: radial-gradient(
    circle,
    rgba(169, 100, 232, 1) 0%,
    rgba(71, 0, 136, 1) 100%
  );
}
.green-box {
  background: rgb(167, 227, 169);
  background: radial-gradient(
    circle,
    rgba(167, 227, 169, 1) 0%,
    rgba(107, 200, 109, 1) 100%
  );
}
.blue-box {
  background: rgb(71, 95, 136);
  background: radial-gradient(
    circle,
    rgba(71, 95, 136, 1) 0%,
    rgba(2, 20, 46, 1) 100%
  );
}
.light-blue-box {
  background: rgb(135, 184, 248);
  background: radial-gradient(
    circle,
    rgba(135, 184, 248, 1) 0%,
    rgba(55, 129, 224, 1) 100%
  );
}
.moz-green-box {
  background: rgb(176, 238, 204);
  background: radial-gradient(
    circle,
    rgba(176, 238, 204, 1) 0%,
    rgba(11, 215, 105, 1) 100%
  );
}
.sea-green-box {
  background: rgb(177, 232, 226);
  background: radial-gradient(
    circle,
    rgba(177, 232, 226, 1) 0%,
    rgba(53, 161, 150, 1) 100%
  );
}
.dark-green-box {
  background: rgb(74, 194, 128);
  background: radial-gradient(
    circle,
    rgba(74, 194, 128, 1) 0%,
    rgba(0, 121, 54, 1) 100%
  );
}
.white-blue-box {
  background: rgb(213, 239, 252);
  background: radial-gradient(
    circle,
    rgba(213, 239, 252, 1) 0%,
    rgba(61, 172, 227, 1) 100%
  );
}
.light-green-box {
  background: rgb(207, 255, 159);
  background: radial-gradient(
    circle,
    rgba(207, 255, 159, 1) 0%,
    rgba(134, 187, 82, 1) 100%
  );
}
.orange-box {
  background: rgb(241, 182, 110);
  background: radial-gradient(
    circle,
    rgba(241, 182, 110, 1) 0%,
    rgba(255, 147, 40, 1) 100%
  );
}

.main-slider {
  background-color: #fff;
  padding-top: 60px;
  position: relative;
  overflow: hidden;
}
.main-slider h2 {
  font-weight: bold;
  font-size: 28px;
  text-align: center;
  text-transform: uppercase;
  color: #000;
}
/* eyebrow label (was an h4): heading defaults it inherited are spelled out */
.main-slider .main-slider-eyebrow {
  margin-top: 0;
  margin-bottom: .5rem;
  line-height: 1.2;
  clear: both;
  font-weight: 600;
  font-size: 14px;
  text-align: center;
  color: #ec1c24;
  text-transform: uppercase;
}
.main-slider .case-slider {
  margin-top: 15%;
  overflow: visible !important;
  position: initial;
}
.main-slider .case-slider .swiper-slide {
  overflow: visible;
}
.custom-case-slider .swiper-button-next {
  background: #fff8f8;
  border: 1px solid #ed1c24;
  border-radius: 30px;
  width: 50px;
  height: 50px;
  top: 90px;
  right: 25%;
  font-size: 0 !important;
}
.custom-case-slider .swiper-button-prev {
  background: #fff8f8;
  border: 1px solid #ed1c24;
  border-radius: 30px;
  width: 50px;
  height: 50px;
  top: 90px;
  left: 25%;
  font-size: 0 !important;
}
.custom-case-slider .swiper-button-next::after {
  color: #ec1c24;
  font-size: 20px;
  font-weight: 700;
}
.custom-case-slider .swiper-button-prev::after {
  color: #ec1c24;
  font-size: 20px;
  font-weight: 700;
}
@media (max-width: 991px) {
  .custom-case-slider .swiper-button-prev {
    left: 15%;
  }
  .custom-case-slider .swiper-button-next {
    right: 15%;
  }
}
@media (max-width: 600px) {
  .custom-case-slider .swiper-button-prev {
    left: 5%;
    width: 40px;
    height: 40px;
  }
  .custom-case-slider .swiper-button-next {
    right: 5%;
    width: 40px;
    height: 40px;
  }
  .custom-case-slider .swiper-button-prev::after {
    font-size: 18px;
  }
  .custom-case-slider .swiper-button-next::after {
    font-size: 18px;
  }
}
.main-slider .case-slider .slider-info {
  height: 300px;
  position: relative;
  display: flex !important;
  justify-content: flex-end;
  flex-direction: column;
  padding: 0 15px 10px 15px;
}
.main-slider .case-slider .slider-info a {
  display: block;
  text-decoration: none;
  color: #fff;
}
.main-slider .case-slider .slider-info img {
  max-width: 100%;
  height: auto;
  text-align: center;
  margin: auto auto 15px auto;
  transition: 0.5s;
  display: block;
}
.main-slider .case-slider .slider-info h3 {
  font-weight: bold;
  font-size: 26px;
  line-height: 30px;
  color: #fff;
  text-align: left;
}
.main-slider .case-slider .slider-info p {
  font-weight: 300;
  font-size: 16px;
  line-height: 22px;
  text-align: left;
  color: #fff;
  margin: 0;
}
.main-slider .case-slider .slider-info svg {
  text-align: right;
  color: #fff;
  fill: currentColor;
  opacity: 0;
  height: 24px;
  width: 24px;
  transition: 0.5s;
  margin-left: auto;
  display: block;
  font-size: 20px;
}
.main-slider .case-slider .slider-info:hover img {
  transform: translateY(-20px);
}
.main-slider .case-slider .slider-info:hover svg {
  opacity: 1;
}
.main-slider .case-slider .blue-box img,
.main-slider .case-slider .sea-green-box img {
  width: 100%;
  height: auto;
}

@media (max-width: 1600px) {
  .main-slider .case-slider .slider-info {
    height: 300px;
    padding: 0 15px 10px 15px;
  }
  .main-slider .case-slider .slider-info h3 {
    font-size: 24px;
  }
  .main-slider .case-slider .slider-info p {
    font-size: 15px;
  }
}
@media (max-width: 1440px) {
  .main-slider h2 {
    font-size: 28px;
  }
  .main-slider .main-slider-eyebrow {
    font-size: 14px;
  }
  .main-slider .case-slider {
    margin-top: 20%;
  }
  .main-slider .case-slider .blue-box img {
    width: 100%;
    height: auto;
  }
  .main-slider .case-slider .slider-info {
    height: 300px;
    padding: 0 15px 10px 15px;
  }
  .main-slider .case-slider .slider-info h3 {
    font-size: 22px;
  }
  .main-slider .case-slider .slider-info p {
    font-size: 15px;
  }
}
@media (max-width: 1200px) {
  .main-slider h2 {
    font-size: 28px;
  }
  .main-slider .main-slider-eyebrow {
    font-size: 14px;
  }
  .main-slider .case-slider {
    margin-top: 25%;
  }
  .main-slider .case-slider .light-green-box img {
    width: auto;
    max-height: 100%;
  }
  .main-slider .case-slider .slider-info h3 {
    font-size: 22px;
  }
  .main-slider .case-slider .slider-info p {
    font-size: 15px;
  }
}
@media (max-width: 1100px) {
  .main-slider h2 {
    font-size: 28px;
  }
  .main-slider .main-slider-eyebrow {
    font-size: 14px;
  }
  .main-slider .case-slider {
    margin-top: 25%;
  }
  .main-slider .case-slider .slider-info h3 {
    font-size: 22px;
  }
  .main-slider .case-slider .slider-info p {
    font-size: 15px;
  }
}
@media (max-width: 991px) {
  .main-slider h2 {
    font-size: 26px;
  }
  .main-slider .main-slider-eyebrow {
    font-size: 14px;
  }
  .main-slider .case-slider {
    margin-top: 28%;
  }
  .main-slider .case-slider .blue-box img {
    height: auto;
  }
  .main-slider .case-slider .slider-info img {
    max-height: 350px;
  }
  .main-slider .case-slider .slider-info h3 {
    font-size: 22px;
  }
  .main-slider .case-slider .slider-info p {
    font-size: 15px;
  }
}
@media (max-width: 767px) {
  .main-slider h2 {
    font-size: 24px;
  }
  .main-slider .main-slider-eyebrow {
    font-size: 14px;
  }
  .main-slider .case-slider {
    margin-top: 30%;
  }
  .main-slider .case-slider .blue-box img {
    width: auto;
  }
  .main-slider .case-slider .slider-info img {
    height: 300px;
  }
  .main-slider .case-slider .slider-info h3 {
    font-size: 22px;
  }
  .main-slider .case-slider .slider-info p {
    font-size: 15px;
  }
}
@media (max-width: 600px) {
  .main-slider h2 {
    font-size: 24px;
  }
  .main-slider .main-slider-eyebrow {
    font-size: 14px;
  }
  .main-slider .case-slider {
    margin-top: 40%;
  }
  .main-slider .case-slider .blue-box img {
    width: auto;
  }
  .main-slider .case-slider .slider-info img {
    height: 300px;
  }
  .main-slider .case-slider .slider-info h3 {
    font-size: 22px;
  }
  .main-slider .case-slider .slider-info p {
    font-size: 15px;
  }
}
@media (max-width: 400px) {
  .main-slider h2 {
    font-size: 22px;
  }
  .main-slider .main-slider-eyebrow {
    font-size: 14px;
  }
  .main-slider .case-slider {
    margin-top: 45%;
  }
  .main-slider .case-slider .blue-box img {
    width: auto;
  }
  .main-slider .case-slider .slider-info img {
    height: 250px;
  }
  .main-slider .case-slider .slider-info h3 {
    font-size: 18px;
    margin-bottom: 0;
  }
  .main-slider .case-slider .slider-info p {
    font-size: 14px;
  }
}

/* ============================================================
   CaseStudyFloatingButtons — mirrors CaseStudyFloatingButtons.module.scss
   ============================================================ */
.caseStudyFloatingBtns {
  position: relative;
}
.caseStudyFloatingBtns .csf-wrapper {
  position: fixed;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  z-index: 11;
  display: flex;
  flex-direction: column;
  gap: 10px;
  justify-content: center;
}
.caseStudyFloatingBtns .csf-wrapper img {
  border-radius: 7px 0 0 7px;
  width: 152px;
  height: auto;
  box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;
  display: block;
}
.caseStudyFloatingBtns .csf-mobile {
  display: none;
}
@media (max-width: 991px) {
  .caseStudyFloatingBtns .csf-desktop {
    display: none;
  }
  .caseStudyFloatingBtns .csf-mobile {
    display: flex;
  }
  .caseStudyFloatingBtns .csf-wrapper img {
    width: 42px;
    background-color: #fff;
    padding: 10px;
    border-radius: 7px 0 0 7px;
  }
}

/* ============================================================
   Cofit — mirrors src/styles/cofit.module.scss
   ============================================================ */

/* Section 1 — Banner + Introduction */
.cofit-sec-1 {
  background-image: url("../images/case-studies/cofit/test1stbanner.webp");
  background-position: bottom center;
  background-size: cover;
  background-repeat: no-repeat;
  padding: 90px 0;
  position: relative;
}
.cofit-sec-1::after {
  content: "";
  position: absolute;
  width: 41%;
  height: 70%;
  background-image: url("../images/case-studies/cofit/Banner-after-1.webp");
  top: 0;
  right: 0;
  z-index: 0;
  background-size: cover;
  background-repeat: no-repeat;
}
.cofit-sec-1::before {
  content: "";
  position: absolute;
  width: 20%;
  height: 68%;
  background-image: url("../images/case-studies/cofit/Banner-before-2.webp");
  top: 0;
  left: -130px;
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
}
.cofit-sec-1 .Main-box {
  display: flex;
}
.cofit-sec-1 .Main-box .Inner-box1 {
  padding-top: 20px;
  z-index: 2;
}
.cofit-sec-1 .Main-box .Inner-box1 p {
  font-family: "Lato", sans-serif;
  font-weight: 600;
  font-size: 20px;
  line-height: 32px;
  text-align: left;
  color: #505050;
  padding-top: 20px;
}
/* Hero title is the page's H1 (fix plan #11, moved from the component's inline <style>). */
.cofit-sec-1 .Main-box .Inner-box1 h1.cofit-title {
  margin: 0;
  font: inherit;
  color: inherit;
}
.cofit-sec-1 .Main-box .Inner-box1 .cofit-tagline {
  display: block;
  margin: 0 0 1rem;
  font-family: "Lato", sans-serif;
  font-weight: 600;
  font-size: 20px;
  line-height: 32px;
  text-align: left;
  color: #505050;
  padding-top: 20px;
}
@media (max-width: 575px) {
  .cofit-sec-1 .Main-box .Inner-box1 .cofit-tagline {
    font-size: 18px;
    line-height: 28px;
  }
}
.cofit-sec-1 .Main-box .Inner-box2 {
  min-width: 0;
  flex: 1;
}
.cofit-sec-1 .Main-box .Inner-box2 img {
  width: 100%;
  height: auto;
  z-index: 2;
  position: relative;
}
.cofit-sec-1 .Intro-sec {
  display: flex;
  gap: 150px;
  padding-top: 60px;
}
.cofit-sec-1 .Intro-sec .Intro-Hdng h2 {
  font-size: 45px;
  font-family: "Lato", sans-serif;
  font-weight: 900;
  color: #6bc86d;
  position: relative;
}
.cofit-sec-1 .Intro-sec .Intro-Hdng h2::after {
  content: "";
  position: absolute;
  width: 49%;
  height: 3.6px;
  background: #505050;
  left: 0;
  bottom: -4px;
}
.cofit-sec-1 .Intro-sec .Intro-decs {
  z-index: 2;
}
.cofit-sec-1 .Intro-sec .Intro-decs .Main-boxes {
  display: flex;
  gap: 100px;
}
.cofit-sec-1 .Intro-sec .Intro-decs .Main-boxes .Intro-Box {
  display: grid;
  gap: 25px;
  grid-template-columns: auto 1fr;
}
.cofit-sec-1 .Intro-sec .Intro-decs .Main-boxes .Intro-Box .context-label {
  font-size: 16px;
  font-family: "Lato", sans-serif;
  font-weight: 900;
  color: #6bc86d;
  letter-spacing: 1px;
  line-height: 18px;
}
.cofit-sec-1 .Intro-sec .Intro-decs .Main-boxes .Intro-Box p {
  font-size: 16px;
  font-family: "Lato", sans-serif;
  font-weight: bold;
  color: #505050;
}
.cofit-sec-1 .Intro-sec .Intro-decs .Descri p {
  font-size: 16px;
  font-family: "Lato", sans-serif;
  color: #505050;
  line-height: 30px;
  font-weight: 400;
  padding: 0 107px 0 0;
}

/* Section 2 — Features Slider */
.cofit-sec-2 {
  text-align: center;
  padding: 20px 0;
}
.cofit-sec-2 .Second-Sec-Inner {
  cursor: pointer;
  transition: filter 0.3s;
}
.cofit-sec-2 .Second-Sec-Inner:hover {
  filter: invert(37%) sepia(4%) saturate(5796%) hue-rotate(70deg)
    brightness(88%) contrast(89%);
}
.cofit-sec-2 .Second-Sec-Inner p {
  font-size: 16px;
  font-family: "Lato", sans-serif;
  font-weight: bold;
  color: #505050;
}

/* Section 3 — Business Goal */
.cofit-sec-3 {
  background-image: url("../images/case-studies/cofit/bannerthirdtest.webp");
  position: relative;
  padding: 160px 0;
  background-position: top;
  background-size: cover;
}
.cofit-sec-3::after {
  content: "";
  position: absolute;
  width: 16%;
  height: 78%;
  background-image: url("../images/case-studies/cofit/Busi-after.webp");
  right: 0;
  bottom: 0;
  background-size: cover;
  background-repeat: no-repeat;
}
.cofit-sec-3 .Business-Goal {
  display: grid;
  grid-template-columns: 1fr 1fr;
  position: relative;
  gap: 50px;
}
.cofit-sec-3 .Business-Goal .Image-box img {
  width: 55%;
  position: absolute;
  left: -180px;
  top: 0;
  height: auto;
}
.cofit-sec-3 .Business-Goal .Busi-Contect-box .Comm-heding {
  font-size: 45px;
  font-family: "Lato", sans-serif;
  color: #505050;
  position: relative;
  font-weight: 400;
  margin-bottom: 30px;
}
.cofit-sec-3 .Business-Goal .Busi-Contect-box .Comm-heding span {
  color: #6bc86d;
  font-weight: 900;
}
.cofit-sec-3 .Business-Goal .Busi-Contect-box .Comm-heding::after {
  content: "";
  position: absolute;
  width: 24%;
  height: 3.6px;
  background: #505050;
  left: 3px;
  bottom: -4px;
}
.cofit-sec-3 .Business-Goal .Busi-Contect-box p {
  font-size: 16px;
  font-family: "Lato", sans-serif;
  line-height: 30px;
  font-weight: 500;
  position: relative;
  z-index: 1;
}

/* Section 4 — Pain Areas */
.cofit-sec-4 {
  padding: 80px 0 30px;
}
.cofit-sec-4 .Fourth-Inner .Comm-heding {
  font-size: 45px;
  font-family: "Lato", sans-serif;
  color: #505050;
  position: relative;
  font-weight: 400;
  margin-bottom: 30px;
}
.cofit-sec-4 .Fourth-Inner .Comm-heding span {
  color: #6bc86d;
  font-weight: 900;
}
.cofit-sec-4 .Fourth-Inner .Comm-heding::after {
  content: "";
  position: absolute;
  width: 15%;
  height: 3.6px;
  background: #505050;
  left: 3px;
  bottom: -4px;
}
.cofit-sec-4 .Fourth-Inner .F-Sec-descri {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  column-gap: 50px;
}
.cofit-sec-4 .Fourth-Inner .F-Sec-descri p {
  font-size: 16px;
  font-family: "Lato", sans-serif;
  font-weight: 500;
  line-height: 30px;
}

/* Section 5 — TechnBrains Approach */
.cofit-sec-5 {
  position: relative;
  padding: 80px 0 150px;
  background-image: url("../images/case-studies/cofit/sectionappr.png");
}
.cofit-sec-5::after {
  content: "";
  position: absolute;
  width: 10%;
  height: auto;
  background-image: url("../images/case-studies/cofit/Sec-six-After.webp");
  left: -50px;
  bottom: 0;
  top: 0;
  margin: auto;
  background-repeat: no-repeat;
  background-size: cover;
}
.cofit-sec-5 .Approach {
  display: grid;
  grid-template-columns: 600px auto;
  gap: 120px;
}
.cofit-sec-5 .Approach .Approach-Image-box {
  display: flex;
  align-items: center;
}
.cofit-sec-5 .Approach .Approach-Image-box img {
  width: 40%;
  position: absolute;
  height: auto;
}
.cofit-sec-5 .Approach .Approach-Contect-box {
  z-index: 2;
}
.cofit-sec-5 .Approach .Approach-Contect-box .Comm-heding {
  font-size: 45px;
  font-family: "Lato", sans-serif;
  color: #505050;
  position: relative;
  font-weight: 400;
  margin-bottom: 30px;
}
.cofit-sec-5 .Approach .Approach-Contect-box .Comm-heding span {
  color: #6bc86d;
  font-weight: 900;
}
.cofit-sec-5 .Approach .Approach-Contect-box .Comm-heding::after {
  content: "";
  position: absolute;
  width: 32%;
  height: 3.6px;
  background: #505050;
  left: 3px;
  bottom: -4px;
}
.cofit-sec-5 .Approach .Approach-Contect-box p {
  font-size: 16px;
  font-family: "Lato", sans-serif;
  color: #505050;
  font-weight: 500;
  line-height: 32px;
}

/* Section 6 — Professional Hybrid App Development */
.cofit-sec-6 {
  background-image: url("../images/case-studies/cofit/sec-six-bg.webp");
  background-position: center;
  background-size: cover;
  padding: 80px 0;
  background-repeat: no-repeat;
}
.cofit-sec-6 .Sec-six-Inner .top-hding h2 {
  font-size: 45px;
  color: #fff;
  font-family: "Lato", sans-serif;
  font-weight: 300;
  text-align: center;
  position: relative;
}
.cofit-sec-6 .Sec-six-Inner .top-hding h2 span {
  font-weight: 900;
  color: #6bc86d;
}
.cofit-sec-6 .Sec-six-Inner .top-hding h2::after {
  content: "";
  position: absolute;
  width: 13%;
  height: 3px;
  background: #fff;
  bottom: -10px;
  left: 0;
  right: 0;
  margin: auto;
}
.cofit-sec-6 .Sec-six-Inner .top-hding p {
  font-size: 16px;
  font-family: "Lato", sans-serif;
  color: #fff;
  text-align: center;
  padding: 20px 200px;
  line-height: 30px;
}
.cofit-sec-6 .Sec-six-Inner .Imagebox-Content {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
}
.cofit-sec-6 .Sec-six-Inner .Imagebox-Content .left,
.cofit-sec-6 .Sec-six-Inner .Imagebox-Content .right {
  display: grid;
}
.cofit-sec-6 .Sec-six-Inner .Imagebox-Content .left .Image-box .Image-heading {
  display: flex;
  gap: 20px;
  align-items: center;
  justify-content: flex-end;
}
.cofit-sec-6
  .Sec-six-Inner
  .Imagebox-Content
  .left
  .Image-box
  .Image-heading
  h3 {
  font-size: 16px;
  font-family: "Lato", sans-serif;
  color: #fff;
  line-height: 24px;
  margin-bottom: 0;
  text-align: right;
  transition: color 0.3s;
}
.cofit-sec-6 .Sec-six-Inner .Imagebox-Content .left .Image-box p {
  font-size: 16px;
  font-family: "Lato", sans-serif;
  color: #fff;
  padding: 10px 0;
  line-height: 35px;
  margin-bottom: 0;
  text-align: right;
  transition: color 0.3s;
}
.cofit-sec-6 .Sec-six-Inner .Imagebox-Content .left .Image-box img {
  transition: filter 0.3s;
}
.cofit-sec-6
  .Sec-six-Inner
  .Imagebox-Content
  .left
  .Image-box:hover
  .Image-heading
  h3,
.cofit-sec-6 .Sec-six-Inner .Imagebox-Content .left .Image-box:hover p {
  color: #6bc86d;
}
.cofit-sec-6 .Sec-six-Inner .Imagebox-Content .left .Image-box:hover img {
  filter: invert(37%) sepia(4%) saturate(5796%) hue-rotate(70deg)
    brightness(88%) contrast(89%);
}
.cofit-sec-6 .Sec-six-Inner .Imagebox-Content .right .Image-box .Image-heading {
  display: flex;
  gap: 20px;
  align-items: center;
  justify-content: flex-start;
}
.cofit-sec-6
  .Sec-six-Inner
  .Imagebox-Content
  .right
  .Image-box
  .Image-heading
  h3 {
  font-size: 16px;
  font-family: "Lato", sans-serif;
  color: #fff;
  line-height: 24px;
  margin-bottom: 0;
  text-align: left;
  transition: color 0.3s;
}
.cofit-sec-6 .Sec-six-Inner .Imagebox-Content .right .Image-box p {
  font-size: 16px;
  font-family: "Lato", sans-serif;
  color: #fff;
  padding: 10px 0;
  line-height: 35px;
  margin-bottom: 0;
  text-align: left;
  transition: color 0.3s;
}
.cofit-sec-6 .Sec-six-Inner .Imagebox-Content .right .Image-box img {
  transition: filter 0.3s;
}
.cofit-sec-6
  .Sec-six-Inner
  .Imagebox-Content
  .right
  .Image-box:hover
  .Image-heading
  h3,
.cofit-sec-6 .Sec-six-Inner .Imagebox-Content .right .Image-box:hover p {
  color: #6bc86d;
}
.cofit-sec-6 .Sec-six-Inner .Imagebox-Content .right .Image-box:hover img {
  filter: invert(37%) sepia(4%) saturate(5796%) hue-rotate(70deg)
    brightness(88%) contrast(89%);
}
.cofit-sec-6 .Sec-six-Inner .Imagebox-Content .Center-Image img {
  margin: auto;
  display: block;
  width: 60%;
  height: auto;
}

/* Section 7 — Screen Slider */
.cofit-sec-7 {
  background-image: url("../images/case-studies/cofit/Slider-bg_1.webp");
  padding: 90px 0;
  background-position: bottom;
  background-repeat: no-repeat;
  background-size: cover;
}
.cofit-sec-7 .slides-here img {
  width: 100%;
  height: auto;
  object-fit: inherit;
}
.screen-slider-cofit .swiper-slide:nth-child(even) {
  margin-top: 90px;
}

/* Section 8 — Results & Achievements */
.cofit-sec-8 {
  padding: 60px 0;
}
.cofit-sec-8 .Sec-Eight-Inner {
  display: flex;
  gap: 50px;
  align-items: center;
}
.cofit-sec-8 .Sec-Eight-Inner > img {
  width: 50%;
  height: auto;
}
.cofit-sec-8 .Sec-Eight-Inner .Content-Side h2 {
  font-size: 45px;
  color: #505050;
  font-family: "Lato", sans-serif;
  font-weight: 400;
  margin-bottom: 20px;
}
.cofit-sec-8 .Sec-Eight-Inner .Content-Side h2 span {
  font-weight: 900;
  color: #6bc86d;
  position: relative;
  line-height: 40px;
}
.cofit-sec-8 .Sec-Eight-Inner .Content-Side h2 span::after {
  content: "";
  position: absolute;
  width: 60%;
  height: 4px;
  background: #505050;
  left: -3px;
  bottom: -8px;
}
.cofit-sec-8 .Sec-Eight-Inner .Content-Side .counters {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 50px;
  margin-top: 50px;
}
.cofit-sec-8 .Sec-Eight-Inner .Content-Side .counters .counter-box h3 {
  font-size: 16px;
  font-family: "Lato", sans-serif;
  color: #505050;
  text-transform: capitalize;
  position: relative;
}
.cofit-sec-8 .Sec-Eight-Inner .Content-Side .counters .counter-box h3::after {
  content: "";
  position: absolute;
  width: 70%;
  height: 3px;
  background: #6bc86d;
  left: 0;
  bottom: -29px;
}
.cofit-sec-8 .Sec-Eight-Inner .Content-Side .counters .counter-box span {
  font-size: 56px;
  color: #505050;
  font-family: "Lato", sans-serif;
  font-weight: 900;
}

/* Cofit Responsive */
@media (max-width: 1600px) {
  .cofit-sec-3 .Business-Goal .Image-box img {
    width: 50%;
    left: -25px;
  }
}
@media (max-width: 1400px) {
  .cofit-sec-1 {
    padding: 60px 0;
  }
  .cofit-sec-1::before {
    width: 25%;
  }
  .cofit-sec-1 .Intro-sec {
    gap: 100px;
    padding-top: 40px;
  }
  .cofit-sec-1 .Intro-sec .Intro-decs .Main-boxes {
    gap: 80px;
  }
  .cofit-sec-3 .Business-Goal .Busi-Contect-box {
    width: 80%;
  }
  .cofit-sec-5 {
    padding: 80px 0;
  }
  .cofit-sec-5 .Approach {
    gap: 60px;
  }
}
@media (max-width: 1199px) {
  .cofit-sec-1 .Intro-sec {
    gap: 25px;
  }
  .cofit-sec-1 .Intro-sec .Intro-decs .Main-boxes {
    gap: 40px;
  }
  .cofit-sec-5 .Approach {
    gap: 0;
  }
  .cofit-sec-6 {
    padding: 60px 0;
  }
  .cofit-sec-6 .Sec-six-Inner .Imagebox-Content .Center-Image img {
    width: 75%;
  }
}
@media (max-width: 991px) {
  .cofit-sec-1::after,
  .cofit-sec-1::before {
    content: none;
  }
  .cofit-sec-1 .Intro-sec .Intro-decs .Main-boxes {
    display: block;
  }
  .cofit-sec-1 .Intro-sec .Intro-decs .Descri p {
    padding: 0;
  }
  .cofit-sec-3::after {
    content: none;
  }
  .cofit-sec-3 .Business-Goal {
    display: flex;
    flex-direction: column-reverse;
  }
  .cofit-sec-3 .Business-Goal .Busi-Contect-box {
    width: 100%;
  }
  .cofit-sec-3 .Business-Goal .Image-box img {
    width: 100%;
    left: 0;
    position: unset;
  }
  .cofit-sec-5::after {
    content: none;
  }
  .cofit-sec-5 .Approach {
    display: block;
  }
  .cofit-sec-5 .Approach .Approach-Image-box img {
    width: 100%;
    position: unset;
    height: auto;
  }
  .cofit-sec-6 .Sec-six-Inner .top-hding p {
    padding: 20px;
  }
  .cofit-sec-6 .Sec-six-Inner .Imagebox-Content .left .Image-box p {
    font-size: 14px;
    padding: 15px 0;
    line-height: 25px;
  }
  .cofit-sec-6 .Sec-six-Inner .Imagebox-Content .Center-Image img {
    width: 90%;
  }
  .cofit-sec-6 .Sec-six-Inner .Imagebox-Content .right .Image-box p {
    font-size: 14px;
    padding: 15px 0;
    line-height: 25px;
  }
  .cofit-sec-8 {
    padding: 40px 0;
  }
  .cofit-sec-8 .Sec-Eight-Inner .Content-Side h2 {
    font-size: 35px;
    margin-bottom: 10px;
  }
  .cofit-sec-8 .Sec-Eight-Inner .Content-Side .counters {
    gap: 30px;
    margin-top: 20px;
  }
  .cofit-sec-8 .Sec-Eight-Inner .Content-Side .counters .counter-box h3::after {
    bottom: -25px;
  }
  .cofit-sec-8 .Sec-Eight-Inner .Content-Side .counters .counter-box span {
    font-size: 40px;
  }
}
@media (max-width: 767px) {
  .cofit-sec-1 {
    padding: 40px 0;
  }
  .cofit-sec-1 .Intro-sec {
    display: grid;
    gap: 50px;
    padding-top: 20px;
  }
  .cofit-sec-1 .Intro-sec .Intro-Hdng h2 {
    font-size: 40px;
  }
  .cofit-sec-1 .Intro-sec .Intro-decs .Main-boxes {
    display: flex;
    gap: 100px;
  }
  .cofit-sec-1 .Intro-sec .Intro-decs .Main-boxes .Intro-Box {
    gap: 15px;
  }
  .cofit-sec-2 .Second-Sec-Inner {
    width: 150px;
  }
  .cofit-sec-2 .Second-Sec-Inner p {
    font-size: 14px;
  }
  .cofit-sec-3 {
    padding: 80px 0;
  }
  .cofit-sec-3 .Business-Goal .Busi-Contect-box .Comm-heding {
    font-size: 40px;
    margin-bottom: 20px;
  }
  .cofit-sec-3 .Business-Goal .Busi-Contect-box p {
    font-size: 15px;
    line-height: 28px;
  }
  .cofit-sec-4 {
    padding: 30px 0;
  }
  .cofit-sec-4 .Fourth-Inner .Comm-heding {
    font-size: 40px;
  }
  .cofit-sec-4 .Fourth-Inner .F-Sec-descri {
    column-gap: 30px;
  }
  .cofit-sec-4 .Fourth-Inner .F-Sec-descri p {
    font-size: 15px;
  }
  .cofit-sec-5 .Approach .Approach-Contect-box .Comm-heding {
    font-size: 40px;
    margin-bottom: 20px;
  }
  .cofit-sec-5 .Approach .Approach-Contect-box p {
    font-size: 15px;
    line-height: 28px;
  }
  .cofit-sec-6 .Sec-six-Inner .top-hding h2 {
    font-size: 40px;
  }
  .cofit-sec-6 .Sec-six-Inner .Imagebox-Content .left .Image-box p {
    font-size: 12px;
    padding: 8px 0;
  }
  .cofit-sec-6 .Sec-six-Inner .Imagebox-Content .Center-Image {
    display: flex;
    align-items: center;
  }
  .cofit-sec-6 .Sec-six-Inner .Imagebox-Content .Center-Image img {
    width: 95%;
  }
  .cofit-sec-6 .Sec-six-Inner .Imagebox-Content .right .Image-box p {
    font-size: 12px;
    padding: 8px 0;
  }
  .cofit-sec-8 {
    padding: 20px 0;
  }
  .cofit-sec-8 .Sec-Eight-Inner .Content-Side h2 {
    font-size: 30px;
  }
  .cofit-sec-8 .Sec-Eight-Inner .Content-Side .counters {
    gap: 20px;
  }
  .cofit-sec-8 .Sec-Eight-Inner .Content-Side .counters .counter-box span {
    font-size: 32px;
  }
}
@media (max-width: 575px) {
  .cofit-sec-1 .Main-box .Inner-box1 p {
    font-size: 18px;
    line-height: 28px;
  }
  .cofit-sec-1 .Main-box .Inner-box2 img {
    display: none;
  }
  .cofit-sec-1 .Intro-sec .Intro-Hdng h2 {
    font-size: 35px;
  }
  .cofit-sec-1 .Intro-sec .Intro-decs .Main-boxes {
    gap: 80px;
  }
  .cofit-sec-1 .Intro-sec .Intro-decs .Main-boxes .Intro-Box {
    display: block;
  }
  .cofit-sec-1 .Intro-sec .Intro-decs .Main-boxes .Intro-Box p {
    font-size: 14px;
  }
  .cofit-sec-1 .Intro-sec .Intro-decs .Descri p {
    font-size: 14px;
    line-height: 28px;
  }
  .cofit-sec-3 {
    padding: 40px 0;
  }
  .cofit-sec-3 .Business-Goal .Busi-Contect-box .Comm-heding {
    font-size: 35px;
  }
  .cofit-sec-3 .Business-Goal .Busi-Contect-box p {
    font-size: 14px;
  }
  .cofit-sec-4 .Fourth-Inner .Comm-heding {
    font-size: 35px;
  }
  .cofit-sec-4 .Fourth-Inner .F-Sec-descri {
    display: block;
  }
  .cofit-sec-5 .Approach .Approach-Contect-box .Comm-heding {
    font-size: 35px;
  }
  .cofit-sec-6 {
    padding: 40px 0;
  }
  .cofit-sec-6 .Sec-six-Inner .top-hding h2 {
    font-size: 35px;
  }
  .cofit-sec-6 .Sec-six-Inner .top-hding p {
    font-size: 14px;
    padding: 10px;
    line-height: 28px;
  }
  .cofit-sec-6 .Sec-six-Inner .Imagebox-Content {
    display: block;
  }
  .cofit-sec-6
    .Sec-six-Inner
    .Imagebox-Content
    .left
    .Image-box
    .Image-heading {
    display: block;
    text-align: center;
  }
  .cofit-sec-6
    .Sec-six-Inner
    .Imagebox-Content
    .left
    .Image-box
    .Image-heading
    h3 {
    font-size: 15px;
    text-align: center;
  }
  .cofit-sec-6 .Sec-six-Inner .Imagebox-Content .left .Image-box p {
    text-align: center;
  }
  .cofit-sec-6 .Sec-six-Inner .Imagebox-Content .Center-Image img {
    margin: auto;
    display: block;
    width: 60%;
  }
  .cofit-sec-6
    .Sec-six-Inner
    .Imagebox-Content
    .right
    .Image-box
    .Image-heading {
    display: block;
    text-align: center;
  }
  .cofit-sec-6
    .Sec-six-Inner
    .Imagebox-Content
    .right
    .Image-box
    .Image-heading
    h3 {
    font-size: 15px;
    text-align: center;
  }
  .cofit-sec-6 .Sec-six-Inner .Imagebox-Content .right .Image-box p {
    text-align: center;
  }
  .cofit-sec-8 .Sec-Eight-Inner {
    display: block;
  }
  .cofit-sec-8 .Sec-Eight-Inner > img {
    width: 100%;
    height: auto;
  }
  .cofit-sec-8 .Sec-Eight-Inner .Content-Side h2 {
    font-size: 35px;
  }
  .cofit-sec-8 .Sec-Eight-Inner .Content-Side .counters {
    display: block;
  }
  .cofit-sec-8 .Sec-Eight-Inner .Content-Side .counters .counter-box h3 {
    font-size: 15px;
  }
  .cofit-sec-8 .Sec-Eight-Inner .Content-Side .counters .counter-box h3::after {
    width: 50%;
    bottom: -15px;
  }
  .cofit-sec-8 .Sec-Eight-Inner .Content-Side .counters .counter-box span {
    font-size: 45px;
  }
}
@media (max-width: 600px) {
  .screen-slider-cofit .swiper-slide:nth-child(even) {
    margin-top: 0;
  }
}

/* ============================================================
   CruzeCash — mirrors src/styles/CruzeCash.module.scss
   ============================================================ */

/* Section 1 — Banner */
.cruze-sec-1 {
  margin-top: 0;
  background: url("../images/case-studies/cruze4cash/cruze-bg-1.jpg") no-repeat;
  background-size: cover;
  padding: 50px 0;
  position: relative;
}
.cruze-sec-1 .prev-btn {
  position: absolute;
  top: 10%;
  left: 6%;
  color: #4c525c;
  z-index: 99;
}
.cruze-sec-1 .prev-btn a {
  color: #4c525c;
  text-transform: uppercase;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 1px;
  text-decoration: none;
  transition: color ease 0.3s;
  padding-block: 3px; /* Tap target 24 px (WCAG 2.2 AA, fix plan #73/#130/#132): inline link, text does not move */
}
.cruze-sec-1 .prev-btn a:hover {
  color: #0056b3;
}
.cruze-sec-1 .banner-grid {
  display: grid;
  align-items: center;
  grid-template-columns: 1.5fr 1fr;
  gap: 50px;
}
.cruze-sec-1 .banner-grid .left-info h1 {
  margin: 20px 0;
  color: #4e545e;
  font-size: 32px;
  font-weight: 500;
  line-height: 50px;
}
.cruze-sec-1 .banner-grid .left-info > a {
  color: #0072ff;
  font-size: 17px;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  text-transform: uppercase;
  border: 1px solid #0072ff;
  padding: 12px 25px;
  text-decoration: none;
  transition: all ease 0.6s;
}
.cruze-sec-1 .banner-grid .left-info a svg {
  width: 30px;
  height: 30px;
  flex-shrink: 0;
}
.cruze-sec-1 .banner-grid .left-info a:hover {
  background-color: #0072ff;
  color: #fff;
}
.cruze-sec-1 .banner-grid .right-info img {
  width: 100%;
  max-width: 343px;
  height: auto;
}

/* Section 2 — The Challenges */
.cruze-sec-2 {
  background: url("../images/case-studies/cruze4cash/cruze-bg-2.jpg") no-repeat;
  background-size: cover;
  padding: 100px 0;
}
.cruze-sec-2 .challenge-grid {
  display: grid;
  align-items: center;
  grid-template-columns: 1fr 1fr;
  gap: 50px;
}
.cruze-sec-2 .challenge-grid .left-info img {
  width: 100%;
  max-width: 590px;
  height: auto;
}
.cruze-sec-2 .challenge-grid .right-info h2 {
  margin: 0 0 70px;
  color: #ffffff;
  font-size: 40px;
  font-weight: 600;
  position: relative;
  padding-bottom: 20px;
}
.cruze-sec-2 .challenge-grid .right-info h2::before {
  content: "";
  position: absolute;
  background: #fff;
  width: 90px;
  height: 2px;
  bottom: 0;
  left: 0;
}
.cruze-sec-2 .challenge-grid .right-info p {
  color: #ffffff;
  font-size: 20px;
  line-height: 28px;
  font-weight: 400;
}

/* Section 3 — User Experience */
.cruze-sec-3 {
  background: url("../images/case-studies/cruze4cash/cruze-bg-3.jpg") no-repeat
    center bottom;
  background-size: cover;
  padding-top: 100px;
  height: 1100px;
}
.cruze-sec-3 h2 {
  margin: 0 0 50px;
  color: #266ac6;
  font-size: 40px;
  text-align: center;
  font-weight: 600;
  padding-bottom: 20px;
  position: relative;
}
.cruze-sec-3 h2::before {
  content: "";
  position: absolute;
  background: #266ac6;
  width: 70px;
  height: 2px;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
}
.cruze-sec-3 p {
  color: #266ac6;
  font-size: 20px;
  line-height: 30px;
  max-width: 90%;
  text-align: center;
  margin: auto;
}

/* Section 4 — Branding */
.cruze-sec-4 {
  background: #c1dbfc;
  padding: 100px 0;
  text-align: center;
}
.cruze-sec-4 h2 {
  margin: 0 0 50px;
  color: #266ac6;
  font-size: 40px;
  font-weight: 600;
  text-align: center;
  padding-bottom: 20px;
  position: relative;
}
.cruze-sec-4 h2::before {
  content: "";
  position: absolute;
  background: #266ac6;
  width: 70px;
  height: 2px;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
}
.cruze-sec-4 p {
  color: #266ac6;
  font-size: 20px;
  text-align: center;
  line-height: 30px;
  max-width: 90%;
  margin: 0 auto 70px;
}
.cruze-sec-4 .img-grid {
  display: flex;
  justify-content: center;
  gap: 20px;
}
.cruze-sec-4 .mid-img {
  margin: 100px 0;
}

/* Section 5 — Base / Typography */
.cruze-sec-5 {
  background: #fff;
  padding: 100px 0;
  position: relative;
}
.cruze-sec-5::before {
  content: "";
  position: absolute;
  left: 0;
  top: 60px;
  background: url("../images/case-studies/cruze4cash/dollar.png") no-repeat;
  width: 644px;
  height: 866px;
  pointer-events: none;
}
.cruze-sec-5 h2 {
  margin: 0 0 50px;
  color: #266ac6;
  font-size: 40px;
  font-weight: 600;
  padding-bottom: 20px;
  text-align: center;
  position: relative;
}
.cruze-sec-5 h2::before {
  content: "";
  position: absolute;
  background: #266ac6;
  width: 70px;
  height: 2px;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
}
.cruze-sec-5 > .container > p {
  color: #266ac6;
  font-size: 20px;
  text-align: center;
  line-height: 30px;
  max-width: 90%;
  margin: 0 auto 70px;
}
.cruze-sec-5 .base-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
}
.cruze-sec-5 .base-grid .base-box .circle {
  width: 200px;
  height: 200px;
  border-radius: 100%;
  border: 10px solid #237adf;
  background: #fff;
  margin: auto;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
}
.cruze-sec-5 .base-grid .base-box .circle .cz-spec {
  color: #5f5f5f;
  font-size: 23px;
  margin: 0;
}
.cruze-sec-5 .base-grid .base-box .circle .cz-spec span {
  display: block;
  font-size: 15px;
  margin-bottom: 10px;
}
.cruze-sec-5 .base-grid .base-box .circle.black {
  border-color: #000;
}
.cruze-sec-5 .base-grid .base-box .circle.grey {
  border-color: #959594;
}
.cruze-sec-5 .head {
  margin: 80px 0;
}
.cruze-sec-5 .head h2 {
  font-size: 25px;
  font-weight: 500;
  margin: 0;
  text-align: left;
}
.cruze-sec-5 .head h2::before {
  right: auto;
  width: 50px;
}
.cruze-sec-5 .typo-main {
  margin: 0 3%;
  display: grid;
  grid-template-columns: 1fr 1fr;
}
.cruze-sec-5 .typo-main .typo {
  padding-left: 140px;
  position: relative;
  margin-bottom: 60px;
  padding-top: 15px;
}
.cruze-sec-5 .typo-main .typo::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  background: url("../images/case-studies/cruze4cash/t-font.png") no-repeat;
  width: 114px;
  height: 100px;
}
.cruze-sec-5 .typo-main .typo .cz-spec {
  margin: 0 0 5px;
  color: #4e545e;
  font-size: 20px;
  font-weight: 700;
}
.cruze-sec-5 .typo-main .typo.two .cz-spec {
  font-weight: 600;
}
.cruze-sec-5 .typo-main .typo.three .cz-spec {
  font-weight: 400;
}
.cruze-sec-5 .typo-main .typo.four .cz-spec {
  font-weight: 300;
}
.cruze-sec-5 .hierarchy {
  margin: 0 15%;
  display: grid;
  grid-template-columns: 1fr 1fr;
}
.cruze-sec-5 .hierarchy .Hier {
  margin-bottom: 50px;
}
.cruze-sec-5 .hierarchy .Hier .cz-spec {
  margin: 0 0 5px;
  color: #4e545e;
  font-size: 20px;
  font-weight: 700;
}
.cruze-sec-5 .hierarchy .Hier.two .cz-spec {
  font-weight: 600;
}
.cruze-sec-5 .hierarchy .Hier.three .cz-spec {
  font-weight: 500;
}
.cruze-sec-5 .hierarchy .Hier.four .cz-spec {
  font-weight: 400;
}

/* Section 6 — App Screens */
.cruze-sec-6 {
  background: url("../images/case-studies/cruze4cash/cruze-bg-4.jpg") no-repeat
    center bottom;
  background-size: cover;
  padding-top: 100px;
}
.cruze-sec-6 .secure-info {
  padding-bottom: 100px;
}
.cruze-sec-6 .secure-info img {
  margin: auto;
  display: block;
  max-width: 100%;
  height: auto;
}
.cruze-sec-6 .secure-info h2 {
  margin: 0 0 50px;
  color: #fff;
  font-size: 40px;
  font-weight: 600;
  text-align: center;
  padding-bottom: 20px;
  position: relative;
}
.cruze-sec-6 .secure-info h2::before {
  content: "";
  position: absolute;
  background: #fff;
  width: 70px;
  height: 2px;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
}
.cruze-sec-6 .secure-info p {
  color: #fff;
  font-size: 20px;
  line-height: 30px;
  max-width: 90%;
  text-align: center;
  margin: auto;
}

/* Section 7 — Solution */
.cruze-sec-7 {
  background-color: #eeeeee;
  padding-top: 100px;
}
.cruze-sec-7 > img {
  width: 100%;
  height: auto;
  display: block;
}
.cruze-sec-7 h2 {
  margin: 0 0 50px;
  color: #000;
  font-size: 40px;
  font-weight: 600;
  text-align: center;
  padding-bottom: 20px;
  position: relative;
}
.cruze-sec-7 h2::before {
  content: "";
  position: absolute;
  background: #000;
  width: 70px;
  height: 2px;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
}
.cruze-sec-7 p {
  color: #000;
  font-size: 20px;
  line-height: 30px;
  max-width: 90%;
  margin: auto;
  text-align: center;
}

/* CruzeCash Responsive */
@media (max-width: 1440px) {
  .cruze-sec-1 .prev-btn a {
    font-size: 16px;
  }
  .cruze-sec-1 .banner-grid .left-info h1 {
    font-size: 32px;
  }
  .cruze-sec-1 .banner-grid .left-info a {
    font-size: 16px;
  }
  .cruze-sec-2 .challenge-grid .right-info h2 {
    font-size: 35px;
  }
  .cruze-sec-2 .challenge-grid .right-info p {
    font-size: 20px;
  }
  .cruze-sec-3 {
    height: 1000px;
  }
  .cruze-sec-3 h2 {
    font-size: 40px;
  }
  .cruze-sec-3 p {
    font-size: 20px;
  }
  .cruze-sec-4 h2 {
    font-size: 40px;
  }
  .cruze-sec-4 p {
    font-size: 20px;
  }
  .cruze-sec-6 .secure-info h2 {
    font-size: 40px;
  }
  .cruze-sec-6 .secure-info p {
    font-size: 20px;
  }
  .cruze-sec-7 h2 {
    font-size: 40px;
  }
  .cruze-sec-7 p {
    font-size: 20px;
  }
}
@media (max-width: 1200px) {
  .cruze-sec-1 .banner-grid .left-info h1 {
    font-size: 30px;
    line-height: 1.6;
  }
  .cruze-sec-1 .banner-grid .left-info a {
    font-size: 16px;
  }
  .cruze-sec-2 .challenge-grid .left-info img {
    width: 100%;
    height: auto;
  }
  .cruze-sec-2 .challenge-grid .right-info h2 {
    font-size: 30px;
  }
  .cruze-sec-2 .challenge-grid .right-info p {
    font-size: 18px;
  }
  .cruze-sec-3 {
    height: 800px;
    background-size: contain;
  }
  .cruze-sec-3 h2 {
    font-size: 35px;
  }
  .cruze-sec-3 p {
    font-size: 18px;
  }
  .cruze-sec-4 h2 {
    font-size: 35px;
  }
  .cruze-sec-4 p {
    font-size: 18px;
  }
  .cruze-sec-4 .img-grid img {
    width: 100%;
    height: auto;
  }
  .cruze-sec-5 h2 {
    font-size: 35px;
  }
  .cruze-sec-5 > .container > p {
    font-size: 18px;
  }
  .cruze-sec-5 .base-grid .base-box .circle .cz-spec {
    font-size: 22px;
  }
  .cruze-sec-5 .head h2 {
    font-size: 24px;
  }
  .cruze-sec-5 .typo-main {
    margin: 0;
  }
  .cruze-sec-5 .typo-main .typo {
    padding-left: 110px;
  }
  .cruze-sec-5 .typo-main .typo::before {
    width: 90px;
    height: 90px;
    background-size: contain;
  }
  .cruze-sec-5 .typo-main .typo .cz-spec {
    font-size: 18px;
  }
  .cruze-sec-5 .hierarchy .Hier .cz-spec {
    font-size: 18px;
  }
  .cruze-sec-6 .secure-info img {
    width: 100%;
    height: auto;
  }
  .cruze-sec-6 .secure-info h2 {
    font-size: 35px;
  }
  .cruze-sec-6 .secure-info p {
    font-size: 18px;
    line-height: 1.6;
  }
  .cruze-sec-7 h2 {
    font-size: 35px;
  }
  .cruze-sec-7 p {
    font-size: 18px;
    line-height: 1.6;
  }
}
@media (max-width: 991px) {
  .cruze-sec-1 .prev-btn {
    top: 5%;
    left: 5%;
  }
  .cruze-sec-1 .prev-btn a {
    font-size: 15px;
  }
  .cruze-sec-1 .banner-grid .left-info h1 {
    font-size: 26px;
  }
  .cruze-sec-1 .banner-grid .left-info a {
    font-size: 15px;
  }
  .cruze-sec-1 .banner-grid .right-info img {
    width: 100%;
  }
  .cruze-sec-2 .challenge-grid .left-info img {
    width: 100%;
    height: auto;
  }
  .cruze-sec-2 .challenge-grid .right-info h2 {
    font-size: 26px;
    margin-bottom: 20px;
  }
  .cruze-sec-2 .challenge-grid .right-info p {
    font-size: 16px;
    margin-bottom: 0;
  }
  .cruze-sec-3 {
    padding-top: 60px;
    background-size: cover;
  }
  .cruze-sec-3 h2 {
    font-size: 30px;
  }
  .cruze-sec-3 p {
    font-size: 18px;
  }
  .cruze-sec-4 h2 {
    font-size: 30px;
  }
  .cruze-sec-4 p {
    font-size: 18px;
  }
  .cruze-sec-4 .img-grid img {
    width: 100%;
    height: auto;
  }
  .cruze-sec-4 .last-img img {
    width: 100%;
    height: auto;
  }
  .cruze-sec-5 h2 {
    font-size: 30px;
    margin-bottom: 20px;
  }
  .cruze-sec-5 > .container > p {
    font-size: 18px;
  }
  .cruze-sec-5 .base-grid .base-box .circle .cz-spec {
    font-size: 20px;
  }
  .cruze-sec-5 .head {
    margin: 40px 0;
  }
  .cruze-sec-5 .head h2 {
    font-size: 22px;
  }
  .cruze-sec-5 .typo-main {
    margin-top: 60px;
    gap: 50px 30px;
  }
  .cruze-sec-5 .typo-main .typo {
    margin: 0;
    padding-left: 0;
  }
  .cruze-sec-5 .typo-main .typo::before {
    top: -30px;
    width: 50px;
    height: 50px;
    background-size: contain;
  }
  .cruze-sec-5 .typo-main .typo .cz-spec {
    font-size: 16px;
  }
  .cruze-sec-5 .hierarchy {
    margin: 0;
  }
  .cruze-sec-5 .hierarchy .Hier .cz-spec {
    font-size: 16px;
  }
  .cruze-sec-6 .secure-info {
    padding-bottom: 50px;
  }
  .cruze-sec-6 .secure-info h2 {
    font-size: 30px;
  }
  .cruze-sec-6 .secure-info p {
    font-size: 18px;
  }
  .cruze-sec-7 h2 {
    font-size: 30px;
  }
  .cruze-sec-7 p {
    font-size: 18px;
  }
}
@media (max-width: 767px) {
  .cruze-sec-1 .banner-grid {
    grid-template-columns: 1fr;
    justify-items: center;
    margin-top: 40px;
  }
  .cruze-sec-1 .banner-grid .left-info {
    text-align: center;
  }
  .cruze-sec-1 .banner-grid .left-info img {
    display: block;
    margin: auto;
  }
  .cruze-sec-1 .banner-grid .left-info h1 {
    font-size: 24px;
    text-align: center;
    line-height: 1.5;
  }
  .cruze-sec-1 .banner-grid .left-info a {
    font-size: 15px;
  }
  .cruze-sec-1 .banner-grid .right-info img {
    width: 60%;
    max-width: none;
    height: auto;
    margin: auto;
    display: block;
  }
  .cruze-sec-2 .challenge-grid {
    grid-template-columns: 1fr;
  }
  .cruze-sec-2 .challenge-grid .left-info img {
    max-width: none;
  }
  .cruze-sec-2 .challenge-grid .right-info h2 {
    font-size: 25px;
    margin-bottom: 20px;
  }
  .cruze-sec-2 .challenge-grid .right-info p {
    font-size: 16px;
  }
  .cruze-sec-3 h2 {
    font-size: 28px;
    margin-bottom: 20px;
  }
  .cruze-sec-3 p {
    font-size: 16px;
  }
  .cruze-sec-4 {
    padding: 50px 0;
  }
  .cruze-sec-4 h2 {
    font-size: 28px;
    margin-bottom: 20px;
  }
  .cruze-sec-4 p {
    font-size: 16px;
    line-height: 1.6;
  }
  .cruze-sec-4 .img-grid {
    flex-direction: column;
  }
  .cruze-sec-4 .img-grid img {
    width: 90%;
    height: auto;
    display: block;
    margin: auto;
  }
  .cruze-sec-4 .mid-img {
    margin: 20px 0;
  }
  .cruze-sec-4 .mid-img img {
    width: 100%;
    height: auto;
    display: block;
    margin: auto;
  }
  .cruze-sec-4 .last-img img {
    width: 100%;
    height: auto;
  }
  .cruze-sec-5::before {
    width: 100%;
    height: 100%;
  }
  .cruze-sec-5 h2 {
    font-size: 30px;
    margin-bottom: 20px;
  }
  .cruze-sec-5 > .container > p {
    font-size: 18px;
  }
  .cruze-sec-5 .base-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .cruze-sec-5 .head {
    margin: 40px 0;
  }
  .cruze-sec-5 .head h2 {
    font-size: 20px;
  }
  .cruze-sec-5 .typo-main {
    margin-top: 60px;
    grid-template-columns: 1fr;
    gap: 50px 30px;
  }
  .cruze-sec-5 .typo-main .typo {
    margin: 0;
    padding-left: 110px;
  }
  .cruze-sec-5 .typo-main .typo::before {
    top: 0;
    width: 90px;
    height: 90px;
    background-size: contain;
  }
  .cruze-sec-5 .typo-main .typo .cz-spec {
    font-size: 16px;
  }
  .cruze-sec-5 .hierarchy {
    margin: 0;
    grid-template-columns: 1fr;
  }
  .cruze-sec-5 .hierarchy .Hier .cz-spec {
    font-size: 16px;
  }
  .cruze-sec-6 {
    padding-top: 60px;
  }
  .cruze-sec-6 .secure-info {
    padding-bottom: 50px;
  }
  .cruze-sec-6 .secure-info h2 {
    font-size: 28px;
    margin-bottom: 20px;
  }
  .cruze-sec-6 .secure-info p {
    font-size: 16px;
  }
  .cruze-sec-7 {
    padding-top: 60px;
  }
  .cruze-sec-7 h2 {
    font-size: 28px;
    margin-bottom: 20px;
  }
  .cruze-sec-7 p {
    font-size: 16px;
    max-width: 100%;
  }
}
@media (max-width: 576px) {
  .cruze-sec-5 {
    padding: 60px 0;
  }
  .cruze-sec-5 h2 {
    font-size: 30px;
  }
  .cruze-sec-5 > .container > p {
    font-size: 16px;
    margin-bottom: 20px;
  }
  .cruze-sec-5 .head h2 {
    font-size: 20px;
    text-align: center;
  }
  .cruze-sec-5 .head h2::before {
    margin: auto;
    left: 0;
    right: 0;
  }
  .cruze-sec-5 .typo-main .typo {
    padding-left: 0;
  }
  .cruze-sec-5 .typo-main .typo::before {
    top: -30px;
    width: 50px;
    height: 50px;
    margin: auto;
    left: 0;
    right: 0;
    background-size: contain;
  }
  .cruze-sec-5 .typo-main .typo .cz-spec {
    font-size: 16px;
    text-align: center;
    margin-top: 10px;
  }
  .cruze-sec-5 .hierarchy {
    grid-template-columns: 1fr;
  }
  .cruze-sec-5 .hierarchy .Hier .cz-spec {
    font-size: 16px;
    text-align: center;
  }
}
@media (max-width: 479px) {
  .cruze-sec-1 .banner-grid .left-info img {
    width: 200px;
    height: auto;
  }
  .cruze-sec-1 .banner-grid .left-info h1 {
    font-size: 20px;
    line-height: 1.5;
  }
  .cruze-sec-1 .banner-grid .left-info a {
    font-size: 14px;
  }
  .cruze-sec-3 h2 {
    font-size: 26px;
  }
  .cruze-sec-3 p {
    font-size: 16px;
    line-height: 1.6;
  }
  .cruze-sec-4 h2 {
    font-size: 26px;
  }
  .cruze-sec-4 p {
    font-size: 15px;
  }
  .cruze-sec-4 .img-grid img {
    width: 100%;
  }
  .cruze-sec-4 .mid-img img {
    width: 100%;
  }
  .cruze-sec-4 .last-img img {
    width: 100%;
  }
  .cruze-sec-6 .secure-info h2 {
    font-size: 26px;
  }
  .cruze-sec-6 .secure-info p {
    font-size: 15px;
  }
  .cruze-sec-7 h2 {
    font-size: 26px;
  }
  .cruze-sec-7 p {
    font-size: 15px;
  }
}
@media (max-width: 400px) {
  .cruze-sec-2 {
    padding: 60px 0;
  }
  .cruze-sec-2 .challenge-grid .right-info h2 {
    font-size: 24px;
    margin-bottom: 20px;
  }
  .cruze-sec-2 .challenge-grid .right-info p {
    font-size: 15px;
  }
  .cruze-sec-3 h2 {
    font-size: 24px;
  }
  .cruze-sec-3 p {
    font-size: 14px;
    font-weight: 500;
  }
  .cruze-sec-4 h2 {
    font-size: 24px;
  }
  .cruze-sec-4 p {
    font-size: 14px;
    font-weight: 500;
  }
  .cruze-sec-5 h2 {
    font-size: 28px;
  }
  .cruze-sec-5 > .container > p {
    font-size: 15px;
  }
  .cruze-sec-5 .base-grid .base-box .circle .cz-spec {
    font-size: 18px;
  }
  .cruze-sec-5 .head h2 {
    font-size: 18px;
  }
  .cruze-sec-5 .typo-main .typo .cz-spec {
    font-size: 15px;
  }
  .cruze-sec-5 .hierarchy .Hier .cz-spec {
    font-size: 15px;
  }
  .cruze-sec-6 .secure-info h2 {
    font-size: 24px;
  }
  .cruze-sec-6 .secure-info p {
    font-size: 14px;
    font-weight: 500;
  }
  .cruze-sec-7 h2 {
    font-size: 24px;
  }
  .cruze-sec-7 p {
    font-size: 14px;
    font-weight: 500;
  }
}

/* ============================================================
   FIX CAR SHARER CASE STUDY
   ============================================================ */

/* Section 1: Banner */
.fcs-main-fix-car-banner {
  background: url("../images/case-studies/fixcarsharer/banner.webp");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: bottom;
  margin-bottom: 60px;
}
.fcs-main-fix-car-banner .fix-car-main {
  display: flex;
  flex-direction: column;
  align-content: center;
  align-items: center;
  height: 900px;
  position: relative;
}
.fcs-main-fix-car-banner .fix-car-main::after {
  content: "";
  background: url("../images/case-studies/fixcarsharer/ban-left.webp");
  position: absolute;
  width: 70%;
  height: 80%;
  background-repeat: no-repeat;
  background-size: cover;
  left: -15%;
  bottom: -20%;
}
.fcs-main-fix-car-banner .fix-car-main::before {
  content: "";
  background: url("../images/case-studies/fixcarsharer/ban-right.webp");
  position: absolute;
  width: 70%;
  height: 52%;
  background-repeat: no-repeat;
  background-size: contain;
  right: -30px;
  bottom: 0px;
}
.fcs-main-fix-car-banner .fix-car-main .ban-logo {
  padding-top: 135px;
}
/* Hero title is the page's H1 (fix plan #11, moved from the component's inline <style>). */
.fcs-main-fix-car-banner .fix-car-main h1.fcs-title {
  margin: 0;
  font: inherit;
  color: inherit;
}

/* Section 2: Project Overview */
.fcs-section-project-overview {
  position: relative;
  padding: 60px 0px;
}
.fcs-section-project-overview::before {
  content: "";
  background: url("../images/case-studies/fixcarsharer/sec-banner.webp");
  position: absolute;
  width: 70%;
  height: 85%;
  left: 0px;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center right;
}
.fcs-section-project-overview .project-overview-grid {
  display: grid;
  grid-template-columns: 1fr 2fr;
  grid-gap: 50px;
  align-items: center;
  padding: 60px 0px;
}
.fcs-section-project-overview .project-title {
  position: relative;
}
.fcs-section-project-overview .project-title::before {
  content: "01";
  font-weight: bold;
  font-size: 160px;
  text-align: center;
  color: #d94f12;
  opacity: 0.12;
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
  line-height: 0.7;
  z-index: -1;
}
.fcs-section-project-overview .project-title h2 {
  font-weight: bold;
  font-size: 45px;
  text-align: center;
  color: #7d26cd;
  text-transform: uppercase;
}
.fcs-section-project-overview .project-details h3 {
  font-weight: bold;
  font-size: 30px;
  text-align: left;
  color: #ee5007;
}
.fcs-section-project-overview .project-details p {
  font-weight: 300;
  font-size: 22px;
  line-height: 35px;
  text-align: left;
  color: #8a8a8a;
}

/* Section 3: Pin Location */
.fcs-pin-location-sec .pin-img img {
  height: auto;
  width: 90%;
  margin: auto;
  display: block;
}
.fcs-pin-location-sec .pro-sec-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  padding-top: 150px;
  grid-gap: 50px;
  padding-bottom: 60px;
}
.fcs-pin-location-sec .pro-sec-info {
  text-align: center;
}
.fcs-pin-location-sec .pro-sec-info img {
  height: auto;
  margin-bottom: 15px;
}
.fcs-pin-location-sec .pro-sec-info h3 {
  font-weight: bold;
  font-size: 26px;
  text-align: center;
  color: #ee5007;
}
.fcs-pin-location-sec .pro-sec-info p {
  font-weight: 300;
  font-size: 22px;
  line-height: 35px;
  text-align: center;
  color: #8a8a8a;
}

/* Section 4: Problem Definition */
.fcs-problem-defination-main {
  background: url("../images/case-studies/fixcarsharer/sec-two-banner.webp");
  background-repeat: no-repeat;
  background-size: cover;
  padding: 60px 0px;
}
.fcs-problem-defination-main .problem-title {
  position: relative;
  height: 150px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.fcs-problem-defination-main .problem-title::before {
  content: "02";
  font-weight: bold;
  font-size: 160px;
  text-align: center;
  color: #ffffff;
  opacity: 0.12;
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
  line-height: 0.4;
  z-index: 1;
}
.fcs-problem-defination-main .problem-title h2 {
  font-weight: bold;
  font-size: 45px;
  text-align: center;
  text-transform: uppercase;
  color: #fff;
  position: relative;
  z-index: 1;
}
.fcs-problem-defination-main .problem-defination-grid {
  display: grid;
  grid-gap: 40px;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  padding-top: 100px;
}
.fcs-problem-defination-main .problem-info h3 {
  font-weight: bold;
  font-size: 24px;
  text-align: left;
  color: #fff;
  margin: 10px 0px;
}
.fcs-problem-defination-main .problem-info ul {
  padding-left: 20px;
}
.fcs-problem-defination-main .problem-info ul li {
  color: #fff;
}
.fcs-problem-defination-main .problem-info ul li span {
  font-weight: 600;
  font-size: 22px;
}
.fcs-problem-defination-main .problem-info ul li p {
  font-weight: 300;
  font-size: 20px;
  line-height: 35px;
  text-align: left;
}

/* Section 5: User Needs */
.fcs-user-need-main {
  padding-bottom: 0px;
}
.fcs-user-need-main .need-title {
  position: relative;
  height: 150px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.fcs-user-need-main .need-title::before {
  content: "03";
  font-weight: bold;
  font-size: 160px;
  text-align: center;
  color: #d94f12;
  opacity: 0.12;
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
  line-height: 0.4;
  z-index: 1;
}
.fcs-user-need-main .need-title h2 {
  font-weight: bold;
  font-size: 45px;
  text-align: center;
  color: #7d26cd;
  text-transform: uppercase;
  position: relative;
  z-index: 1;
}
.fcs-user-need-main .tab-container {
  display: flex;
  flex-direction: column;
  margin: 0 auto;
  padding-top: 100px;
}
.fcs-user-need-main .tab-container .tab-button-flex {
  margin: auto;
  text-align: center;
}
.fcs-user-need-main .tab-container .tab-button-flex .tab-button {
  border: none;
  margin: 0px 30px;
  position: relative;
  cursor: pointer;
  font-weight: bold;
  font-size: 26px;
  text-align: center;
  color: #ee5007;
  outline: none;
  background-color: transparent !important;
}
.fcs-user-need-main .tab-container .tab-button-flex .tab-button.active::before {
  content: "";
  border-bottom: 3px solid #7d26cd;
  position: absolute;
  width: 90px;
  height: 4px;
  bottom: -4px;
  margin: auto;
  left: 0;
  right: 0;
}
.fcs-user-need-main .tab-container .tab-content {
  padding: 80px 0px;
  position: relative;
}
.fcs-user-need-main .tab-container .tab-content .grid-tabs {
  display: grid;
  grid-template-columns: 1fr 1fr;
}
.fcs-user-need-main .tab-container .tab-content .grid-tabs .tab-left img {
  height: auto;
  width: 60%;
  position: absolute;
  left: -10%;
  bottom: 0;
  top: 0;
  margin: auto;
}
.fcs-user-need-main .tab-container .tab-content .grid-tabs .tab-right {
  padding-right: 30%;
}
.fcs-user-need-main .tab-container .tab-content .grid-tabs .tab-right h3 {
  font-weight: bold;
  font-size: 26px;
  text-align: left;
  color: #ee5007;
}
.fcs-user-need-main .tab-container .tab-content .grid-tabs .tab-right p {
  font-weight: 300;
  font-size: 22px;
  line-height: 35px;
  text-align: left;
  color: #8a8a8a;
}

/* Section 6: User Interface */
.fcs-user-interface-main {
  padding: 60px 0px;
}
.fcs-user-interface-main .user-title {
  position: relative;
  height: 150px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.fcs-user-interface-main .user-title::before {
  content: "04";
  font-weight: bold;
  font-size: 160px;
  text-align: center;
  color: #d94f12;
  opacity: 0.12;
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
  line-height: 0.4;
  z-index: 1;
}
.fcs-user-interface-main .user-title h2 {
  font-weight: bold;
  font-size: 45px;
  text-align: center;
  color: #7d26cd;
  text-transform: uppercase;
  position: relative;
  z-index: 1;
}
.fcs-user-interface-main .user-interface-grid {
  display: flex;
  align-items: center;
  gap: 40px;
  padding-top: 50px;
}
.fcs-user-interface-main .user-interface-grid .main-info-left {
  margin: auto;
  display: block;
  text-align: center;
}
.fcs-user-interface-main .user-interface-grid .main-info-left img {
  width: 80%;
  height: auto;
}
.fcs-user-interface-main .user-interface-grid .main-info-right {
  position: relative;
  margin: auto;
  display: block;
  text-align: center;
}
.fcs-user-interface-main .user-interface-grid .main-info-right img {
  height: auto;
  width: 80%;
  margin-left: auto;
}
.fcs-user-interface-main .user-interface-grid .main-info-right h2 {
  position: absolute;
  top: 35%;
  left: 0;
  right: 0;
  margin: auto;
  font-weight: bold;
  font-size: 35px;
  color: #ee5007;
}
.fcs-user-interface-main .user-interface-grid .main-info-right h2::before {
  content: "";
  border-bottom: 3px solid #7d26cd;
  position: absolute;
  width: 95px;
  height: 4px;
  bottom: -5px;
}
.fcs-user-interface-main .user-interface-grid.flex-reverse {
  flex-direction: row-reverse;
}

/* Section 7: Sub Screens */
.fcs-sub-screens-main {
  padding: 60px 0px;
}
.fcs-sub-screens-main .screen-title {
  position: relative;
  height: 150px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.fcs-sub-screens-main .screen-title::before {
  content: "05";
  font-weight: bold;
  font-size: 160px;
  text-align: center;
  color: #d94f12;
  opacity: 0.12;
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
  line-height: 0.4;
  z-index: 1;
}
.fcs-sub-screens-main .screen-title h2 {
  font-weight: bold;
  font-size: 45px;
  text-align: center;
  color: #7d26cd;
  text-transform: uppercase;
  position: relative;
  z-index: 1;
}
.fcs-sub-screens-main .screen-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  grid-gap: 30px;
  padding-top: 100px;
}
.fcs-sub-screens-main .screen-grid img {
  height: auto;
  width: 100%;
}

/* Section 8: Achievement */
.fcs-achievement {
  padding-top: 30px;
  padding-bottom: 80px;
  text-align: center;
}
.fcs-achievement img {
  height: auto;
  width: 100%;
}
.fcs-achievement p {
  font-size: 18px;
}

/* ── FCS Responsive ───────────────────────────────────────── */
@media (max-width: 1200px) {
  .fcs-main-fix-car-banner .fix-car-main {
    height: 800px;
  }
  .fcs-main-fix-car-banner .fix-car-main::after {
    height: 65%;
  }
  .fcs-main-fix-car-banner .fix-car-main .ban-logo {
    padding-top: 100px;
  }
  .fcs-section-project-overview .project-title::before {
    line-height: 0.5;
  }
  .fcs-section-project-overview .project-title h2 {
    font-size: 30px;
  }
  .fcs-section-project-overview .project-details p {
    font-size: 18px;
  }
  .fcs-problem-defination-main .problem-title h2 {
    font-size: 30px;
  }
  .fcs-problem-defination-main .problem-info h3 {
    font-size: 20px;
  }
  .fcs-problem-defination-main .problem-info ul li span {
    font-size: 18px;
  }
  .fcs-problem-defination-main .problem-info ul li p {
    font-size: 18px;
  }
  .fcs-user-need-main .need-title h2 {
    font-size: 30px;
  }
  .fcs-user-need-main .tab-container .tab-button-flex .tab-button {
    font-size: 20px;
  }
  .fcs-user-need-main .tab-container .tab-content .grid-tabs .tab-right {
    padding-right: 20%;
  }
  .fcs-user-need-main .tab-container .tab-content .grid-tabs .tab-right h3 {
    font-size: 20px;
  }
  .fcs-user-need-main .tab-container .tab-content .grid-tabs .tab-right p {
    font-size: 18px;
  }
  .fcs-user-interface-main .user-title h2 {
    font-size: 30px;
  }
  .fcs-sub-screens-main .screen-title h2 {
    font-size: 30px;
  }
  .fcs-pin-location-sec .pro-sec-info h3 {
    font-size: 20px;
  }
  .fcs-pin-location-sec .pro-sec-info p {
    font-size: 18px;
  }
}
@media (max-width: 991px) {
  .fcs-main-fix-car-banner .fix-car-main {
    height: 650px;
  }
  .fcs-main-fix-car-banner .fix-car-main .ban-logo img {
    width: 150px;
    height: auto;
  }
  .fcs-section-project-overview::before {
    width: 100%;
  }
  .fcs-section-project-overview .project-title::before {
    line-height: 0.5;
  }
  .fcs-section-project-overview .project-title h2 {
    font-size: 26px;
  }
  .fcs-section-project-overview .project-details h3 {
    font-size: 24px;
  }
  .fcs-section-project-overview .project-details p {
    line-height: 1.5;
  }
  .fcs-problem-defination-main .problem-title {
    height: 110px;
  }
  .fcs-problem-defination-main .problem-title::before {
    font-size: 110px;
  }
  .fcs-problem-defination-main .problem-title h2 {
    font-size: 26px;
  }
  .fcs-problem-defination-main .problem-defination-grid {
    grid-template-columns: 1fr 1fr;
    padding-top: 80px;
  }
  .fcs-problem-defination-main .problem-info h3 {
    font-size: 18px;
  }
  .fcs-problem-defination-main .problem-info ul li span {
    font-size: 16px;
  }
  .fcs-problem-defination-main .problem-info ul li p {
    font-size: 16px;
    line-height: 1.5;
  }
  .fcs-user-need-main .need-title {
    height: 110px;
  }
  .fcs-user-need-main .need-title::before {
    font-size: 110px;
  }
  .fcs-user-need-main .need-title h2 {
    font-size: 26px;
  }
  .fcs-user-need-main .tab-container {
    padding-top: 50px;
  }
  .fcs-user-need-main .tab-container .tab-content .grid-tabs .tab-right h3 {
    font-size: 18px;
  }
  .fcs-user-need-main .tab-container .tab-content .grid-tabs .tab-right p {
    font-size: 16px;
    line-height: 1.5;
  }
  .fcs-pin-location-sec .pro-sec-grid {
    grid-gap: 20px;
  }
  .fcs-pin-location-sec .pro-sec-info h3 {
    font-size: 18px;
  }
  .fcs-pin-location-sec .pro-sec-info p {
    font-size: 16px;
    line-height: 1.5;
  }
  .fcs-achievement p {
    font-size: 16px;
    line-height: 1.5;
  }
  .fcs-user-interface-main {
    padding: 0px;
  }
  .fcs-user-interface-main .user-title {
    height: 110px;
  }
  .fcs-user-interface-main .user-title::before {
    font-size: 110px;
  }
  .fcs-user-interface-main .user-title h2 {
    font-size: 26px;
  }
  .fcs-sub-screens-main .screen-title {
    height: 110px;
  }
  .fcs-sub-screens-main .screen-title::before {
    font-size: 110px;
  }
  .fcs-sub-screens-main .screen-title h2 {
    font-size: 26px;
  }
}
@media (max-width: 767px) {
  .fcs-main-fix-car-banner .fix-car-main::before {
    width: 70%;
    height: 55%;
    right: 0px;
    bottom: 0px;
    left: 0px;
    margin: auto;
  }
  .fcs-main-fix-car-banner .fix-car-main::after {
    width: 100%;
    height: 55%;
    left: 0;
    right: 0;
    margin: auto;
  }
  .fcs-section-project-overview::before {
    background-size: contain;
  }
  .fcs-section-project-overview .project-overview-grid {
    grid-template-columns: 1fr;
  }
  .fcs-section-project-overview .project-title::before {
    line-height: 0.2;
  }
  .fcs-section-project-overview .project-title h2 {
    font-size: 24px;
  }
  .fcs-section-project-overview .project-details h3 {
    font-size: 22px;
    text-align: center;
  }
  .fcs-section-project-overview .project-details p {
    line-height: 1.5;
    text-align: center;
  }
  .fcs-pin-location-sec .pro-sec-grid {
    grid-template-columns: 1fr;
  }
  .fcs-pin-location-sec .pro-sec-info h3 {
    font-size: 18px;
  }
  .fcs-pin-location-sec .pro-sec-info p {
    font-size: 16px;
    line-height: 1.5;
  }
  .fcs-user-need-main .need-title h2 {
    font-size: 24px;
  }
  .fcs-user-need-main .tab-container {
    width: 80%;
  }
  .fcs-user-need-main .tab-container .tab-content {
    padding: 40px 0px;
  }
  .fcs-user-need-main .tab-container .tab-content .grid-tabs {
    grid-template-columns: 1fr;
  }
  .fcs-user-need-main .tab-container .tab-content .grid-tabs .tab-left img {
    width: 60%;
    left: 0px;
    position: relative;
    margin: auto;
    display: block;
  }
  .fcs-user-need-main .tab-container .tab-content .grid-tabs .tab-right {
    padding-right: 0px;
    padding-top: 20px;
  }
  .fcs-user-need-main .tab-container .tab-content .grid-tabs .tab-right h3 {
    font-size: 18px;
    text-align: center;
  }
  .fcs-user-need-main .tab-container .tab-content .grid-tabs .tab-right p {
    font-size: 16px;
    line-height: 1.5;
    text-align: center;
  }
  .fcs-problem-defination-main .problem-title h2 {
    font-size: 24px;
  }
  .fcs-problem-defination-main .problem-defination-grid {
    grid-template-columns: 1fr 1fr;
    padding-top: 80px;
  }
  .fcs-problem-defination-main .problem-info h3 {
    font-size: 18px;
  }
  .fcs-problem-defination-main .problem-info ul li span {
    font-size: 16px;
  }
  .fcs-problem-defination-main .problem-info ul li p {
    font-size: 16px;
    line-height: 1.5;
  }
  .fcs-user-interface-main {
    padding: 0px;
  }
  .fcs-user-interface-main .user-title h2 {
    font-size: 24px;
  }
  .fcs-user-interface-main .user-interface-grid .main-info-right h2 {
    top: 13%;
    font-size: 26px;
  }
  .fcs-user-interface-main .user-interface-grid .main-info-right h2::before {
    width: 70px;
  }
  .fcs-sub-screens-main .screen-title h2 {
    font-size: 24px;
  }
}
@media (max-width: 576px) {
  .fcs-main-fix-car-banner .fix-car-main::before {
    width: 75%;
  }
  .fcs-main-fix-car-banner .fix-car-main::after {
    width: 85%;
    background-position: center;
  }
  .fcs-sub-screens-main .screen-grid {
    grid-template-columns: 1fr;
  }
  .fcs-problem-defination-main .problem-defination-grid {
    grid-template-columns: 1fr;
    padding-top: 40px;
  }
  .fcs-problem-defination-main .problem-info {
    text-align: center;
  }
  .fcs-problem-defination-main .problem-info h3 {
    text-align: center;
  }
  .fcs-problem-defination-main .problem-info ul {
    list-style: none;
    padding: 0px;
  }
  .fcs-problem-defination-main .problem-info ul li {
    text-align: center;
  }
  .fcs-problem-defination-main .problem-info ul li p {
    text-align: center;
  }
  .fcs-user-need-main .tab-container .tab-button-flex .tab-button {
    font-size: 18px;
    margin: 0px 20px;
  }
  .fcs-section-project-overview {
    padding-bottom: 0px;
  }
  .fcs-section-project-overview .project-details h3 {
    font-size: 20px;
  }
  .fcs-section-project-overview .project-details p {
    font-size: 16px;
  }
  .fcs-pin-location-sec .pro-sec-grid {
    padding-top: 100px;
  }
  .fcs-user-interface-main .user-interface-grid {
    flex-direction: column;
  }
}
@media (max-width: 400px) {
  .fcs-main-fix-car-banner .fix-car-main::after {
    width: 100%;
    background-position: center;
  }
  .fcs-main-fix-car-banner .fix-car-main::before {
    width: 100%;
    height: 52%;
  }
  .fcs-section-project-overview .project-title h2 {
    font-size: 20px;
  }
  .fcs-section-project-overview .project-details h3 {
    font-size: 18px;
  }
  .fcs-user-need-main .need-title h2 {
    font-size: 20px;
  }
  .fcs-user-need-main .tab-container .tab-button-flex {
    display: flex;
  }
  .fcs-user-need-main .tab-container .tab-button-flex .tab-button {
    font-size: 16px;
    margin: 0px 10px;
  }
  .fcs-problem-defination-main .problem-title h2 {
    font-size: 20px;
  }
  .fcs-user-interface-main .user-title h2 {
    font-size: 20px;
  }
  .fcs-sub-screens-main .screen-title h2 {
    font-size: 20px;
  }
}

/* ============================================================
   FIT FOR GOLF CASE STUDY
   ============================================================ */

/* Section 1: Banner */
.ffg-main-banner {
  background-image: url("../images/case-studies/fitforgolf/main-banner.webp");
  background-repeat: no-repeat;
  background-size: cover;
  padding-top: 100px;
}
.ffg-main-banner .banner-info {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
}
.ffg-main-banner .banner-info img {
  height: auto;
}
.ffg-main-banner .banner-info h1 {
  font-weight: 500;
  font-size: 40px;
  text-align: center;
  color: #fff;
  margin-top: 60px;
  margin-bottom: 20px;
}

/* Section 2: Tech Info */
.ffg-tech-main {
  padding: 60px 0px;
  background-color: #000;
}
.ffg-tech-main .tech-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  grid-gap: 20px;
}
.ffg-tech-main .tech-grid .tech-flex {
  display: flex;
  gap: 20px;
}
.ffg-tech-main .tech-grid .tech-flex img {
  object-fit: contain;
  object-position: top;
}
.ffg-tech-main .tech-grid .tech-flex .tech-info img {
  width: auto;
  height: auto;
}
.ffg-tech-main .tech-grid .tech-flex .tech-info .tech-label {
  font-size: 23px;
  text-align: left;
  color: #fff;
}
.ffg-tech-main .tech-grid .tech-flex .tech-info p {
  font-size: 15px;
  line-height: 25px;
  text-align: left;
  color: #757575;
}
.ffg-tech-main .tech-grid .tech-flex .tech-info p a {
  color: #757575;
  word-break: break-all;
}

/* Section 3: About / Background */
.ffg-about-main {
  padding: 60px 0px;
  background-image: url("../images/case-studies/fitforgolf/about.png");
  background-color: #000;
  background-repeat: no-repeat;
  background-size: cover;
}
.ffg-about-main h2 {
  font-weight: 500;
  font-size: 40px;
  text-align: center;
  color: #fff;
  position: relative;
}
.ffg-about-main h2::before {
  content: "";
  position: absolute;
  height: 2px;
  width: 80px;
  border-bottom: 3px solid #fff;
  bottom: -12px;
  margin: auto;
  left: 0;
  right: 0;
}
.ffg-about-main .about-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-gap: 100px;
  margin-top: 80px;
  color: #fff;
}
.ffg-about-main .about-grid h3 {
  font-weight: 600;
  font-size: 35px;
  text-align: left;
  color: #fff;
}
.ffg-about-main .about-grid p {
  font-size: 22px;
  line-height: 40px;
  text-align: left;
  color: #fff;
}
.ffg-about-main .about-grid ol {
  padding-left: 20px;
  margin-left: 0px;
}
.ffg-about-main .about-grid ol li {
  padding-left: 10px;
  padding-bottom: 20px;
}
.ffg-about-main .about-grid ol li h4 {
  font-weight: 600;
  font-size: 25px;
  text-align: left;
  color: #fff;
}

/* Section 4: Key Features */
.ffg-main-key-features {
  padding: 60px 0px;
  background-image: url("../images/case-studies/fitforgolf/key.webp");
  background-repeat: no-repeat;
  background-size: cover;
}
.ffg-main-key-features h2 {
  font-weight: 500;
  font-size: 40px;
  text-align: center;
  color: #fff;
  position: relative;
}
.ffg-main-key-features h2::before {
  content: "";
  position: absolute;
  height: 2px;
  width: 80px;
  border-bottom: 3px solid #fff;
  bottom: -12px;
  margin: auto;
  left: 0;
  right: 0;
}
.ffg-main-key-features .main-key-info {
  padding-top: 100px;
  width: 70%;
  margin: auto;
}
.ffg-main-key-features .main-key-info .paltform-main {
  position: relative;
}
.ffg-main-key-features .main-key-info .paltform-main h3 {
  background: #fff;
  border: 1px solid #707070;
  font-size: 22px;
  width: fit-content;
  padding: 2px 10px;
  position: relative;
  z-index: 2;
}
.ffg-main-key-features .main-key-info .paltform-main::before {
  content: "";
  position: absolute;
  height: 2px;
  width: 100%;
  border-bottom: 1px solid #fff;
  top: 15px;
}
.ffg-main-key-features .main-key-info .paltform-main ul {
  padding: 0px;
  list-style: none;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  justify-items: start;
  grid-gap: 40px 80px;
  margin: 30px 0px;
}
.ffg-main-key-features .main-key-info .paltform-main ul li {
  font-size: 22px;
  line-height: 38px;
  text-align: left;
  color: #fff;
}

/* Section 5: TechnBrains Approach */
.ffg-tech-approach {
  background: url("../images/case-studies/fitforgolf/tech-banner.webp");
  background-repeat: no-repeat;
  background-size: 60% 100%;
  position: relative;
}
.ffg-tech-approach::before {
  content: "";
  background-image: url("../images/case-studies/fitforgolf/tech-right.webp");
  width: 50%;
  height: 95%;
  position: absolute;
  top: 0;
  right: 0;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: top center;
}
.ffg-tech-approach .tech-grid {
  padding: 60px 0px;
  display: grid;
  grid-template-columns: 1fr 1fr;
}
.ffg-tech-approach .tech-grid .tech-info h2 {
  font-weight: 500;
  font-size: 40px;
  color: #fff;
  position: relative;
  margin-bottom: 80px;
}
.ffg-tech-approach .tech-grid .tech-info h2::before {
  content: "";
  position: absolute;
  height: 2px;
  width: 80px;
  border-bottom: 3px solid #fff;
  bottom: -15px;
  left: 0;
}
.ffg-tech-approach .tech-grid .tech-info ul {
  padding: 0px;
}
.ffg-tech-approach .tech-grid .tech-info ul li span {
  font-size: 30px;
  line-height: 40px;
  text-align: left;
  color: #fff;
}
.ffg-tech-approach .tech-grid .tech-info ul li h3 {
  font-size: 24px;
  font-weight: normal;
  line-height: 40px;
  text-align: left;
  color: #fff;
  margin: 0;
}
.ffg-tech-approach .tech-grid .tech-info ul li p {
  font-size: 20px;
  line-height: 40px;
  text-align: left;
  color: #fff;
}

/* Section 6: App Slider */
.ffg-app-slider {
  padding: 60px 0px;
  background-image: url("../images/case-studies/fitforgolf/slider.webp");
  background-repeat: no-repeat;
  background-size: cover;
}
.ffg-app-slider h2 {
  font-weight: 500;
  font-size: 40px;
  text-align: center;
  color: #fff;
  position: relative;
}
.ffg-app-slider h2::before {
  content: "";
  position: absolute;
  height: 2px;
  width: 80px;
  border-bottom: 3px solid #fff;
  bottom: -12px;
  margin: auto;
  left: 0;
  right: 0;
}
.ffg-app-slider .application-slider {
  padding-top: 100px;
  padding-bottom: 80px;
}
.ffg-app-slider .application-slider .slider-info img {
  width: 100%;
  height: auto;
}

/* Section 7: Key Results */
.ffg-key-result-main {
  padding: 60px 0px;
  background-image: url("../images/case-studies/fitforgolf/key-result.webp");
  background-repeat: no-repeat;
  background-size: cover;
}
.ffg-key-result-main h2 {
  font-weight: 500;
  font-size: 40px;
  text-align: center;
  color: #fff;
  position: relative;
  margin-bottom: 40px;
}
.ffg-key-result-main h2::before {
  content: "";
  position: absolute;
  height: 2px;
  width: 80px;
  border-bottom: 3px solid #fff;
  bottom: -12px;
  margin: auto;
  left: 0;
  right: 0;
}
.ffg-key-result-main > .container > p {
  font-size: 20px;
  line-height: 40px;
  text-align: center;
  color: #fff;
}
.ffg-key-result-main .result-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  justify-content: center;
  grid-gap: 50px 60px;
  margin-top: 80px;
}
.ffg-key-result-main .result-grid .result-box h3 {
  font-weight: bold;
  font-size: 20px;
  line-height: 30px;
  text-align: center;
  color: #fff;
}
.ffg-key-result-main .result-grid .result-box p {
  font-size: 15px;
  line-height: 25px;
  text-align: center;
  color: #fff;
}
.ffg-key-result-main .result-grid .result-box img {
  margin: auto;
  display: block;
  height: auto;
  padding-bottom: 15px;
}

/* ── FFG Responsive ───────────────────────────────────────── */
@media (max-width: 1600px) {
  .ffg-main-banner .banner-info h1 {
    font-size: 35px;
  }
  .ffg-tech-main .tech-grid .tech-flex .tech-info .tech-label {
    font-size: 22px;
  }
  .ffg-tech-main .tech-grid .tech-flex .tech-info p {
    font-size: 15px;
  }
  .ffg-about-main h2 {
    font-size: 35px;
  }
  .ffg-about-main .about-grid h3 {
    font-size: 30px;
  }
  .ffg-about-main .about-grid p {
    font-size: 20px;
  }
  .ffg-about-main .about-grid ol li h4 {
    font-size: 24px;
  }
  .ffg-main-key-features h2 {
    font-size: 35px;
  }
  .ffg-main-key-features .main-key-info .paltform-main h3 {
    font-size: 20px;
  }
  .ffg-main-key-features .main-key-info .paltform-main ul {
    grid-template-columns: 1fr 1fr 1fr;
  }
  .ffg-main-key-features .main-key-info .paltform-main ul li {
    font-size: 20px;
    line-height: 35px;
  }
  .ffg-tech-approach {
    background-size: 60% 100%;
  }
  .ffg-tech-approach::before {
    width: 50%;
    height: 95%;
  }
  .ffg-tech-approach .tech-grid {
    grid-template-columns: 0.8fr 1fr;
  }
  .ffg-tech-approach .tech-grid .tech-info h2 {
    font-size: 35px;
  }
  .ffg-tech-approach .tech-grid .tech-info ul li span {
    font-size: 28px;
  }
  .ffg-tech-approach .tech-grid .tech-info ul li h3 {
    font-size: 22px;
  }
  .ffg-tech-approach .tech-grid .tech-info ul li p {
    font-size: 18px;
  }
  .ffg-app-slider h2 {
    font-size: 35px;
  }
  .ffg-key-result-main h2 {
    font-size: 35px;
  }
  .ffg-key-result-main > .container > p {
    font-size: 20px;
  }
  .ffg-key-result-main .result-grid .result-box h3 {
    font-size: 20px;
  }
  .ffg-key-result-main .result-grid .result-box p {
    font-size: 15px;
  }
}
@media (max-width: 1440px) {
  .ffg-main-banner .banner-info h1 {
    font-size: 30px;
  }
  .ffg-about-main h2 {
    font-size: 30px;
  }
  .ffg-about-main .about-grid h3 {
    font-size: 26px;
  }
  .ffg-about-main .about-grid p {
    font-size: 20px;
    line-height: 35px;
  }
  .ffg-about-main .about-grid ol li h4 {
    font-size: 22px;
  }
  .ffg-main-key-features h2 {
    font-size: 30px;
  }
  .ffg-main-key-features .main-key-info .paltform-main h3 {
    font-size: 20px;
  }
  .ffg-main-key-features .main-key-info .paltform-main ul li {
    font-size: 20px;
    line-height: 35px;
  }
  .ffg-tech-approach {
    background-size: 65% 100%;
  }
  .ffg-tech-approach::before {
    width: 40%;
    height: 95%;
  }
  .ffg-tech-approach .tech-grid {
    grid-template-columns: 1.2fr 1fr;
  }
  .ffg-tech-approach .tech-grid .tech-info h2 {
    font-size: 30px;
  }
  .ffg-tech-approach .tech-grid .tech-info ul li span {
    font-size: 26px;
  }
  .ffg-tech-approach .tech-grid .tech-info ul li h3 {
    font-size: 20px;
  }
  .ffg-tech-approach .tech-grid .tech-info ul li p {
    font-size: 16px;
    line-height: 1.8;
  }
  .ffg-app-slider h2 {
    font-size: 30px;
  }
  .ffg-key-result-main h2 {
    font-size: 30px;
  }
  .ffg-key-result-main > .container > p {
    font-size: 18px;
  }
}
@media (max-width: 1200px) {
  .ffg-main-banner .banner-info .devices-img {
    width: 100%;
  }
  .ffg-main-banner .banner-info .logo-img {
    width: 200px;
  }
  .ffg-main-banner .banner-info h1 {
    font-size: 30px;
  }
  .ffg-tech-main .tech-grid .tech-flex .tech-info .tech-label {
    font-size: 20px;
  }
  .ffg-tech-main .tech-grid .tech-flex .tech-info p {
    font-size: 14px;
    font-weight: 500;
  }
  .ffg-main-key-features h2 {
    font-size: 30px;
  }
  .ffg-main-key-features .main-key-info {
    width: 80%;
  }
  .ffg-main-key-features .main-key-info .paltform-main h3 {
    font-size: 18px;
  }
  .ffg-main-key-features .main-key-info .paltform-main ul li {
    font-size: 18px;
    line-height: 35px;
  }
  .ffg-tech-approach {
    background-size: 65% 100%;
  }
  .ffg-tech-approach::before {
    width: 40%;
    height: 100%;
    bottom: 0;
    margin: auto;
    background-position: center;
  }
  .ffg-tech-approach .tech-grid {
    grid-template-columns: 1.2fr 1fr;
  }
  .ffg-tech-approach .tech-grid .tech-info h2 {
    font-size: 30px;
  }
  .ffg-tech-approach .tech-grid .tech-info ul li span {
    font-size: 26px;
  }
  .ffg-tech-approach .tech-grid .tech-info ul li h3 {
    font-size: 20px;
  }
  .ffg-tech-approach .tech-grid .tech-info ul li p {
    font-size: 16px;
    line-height: 1.8;
  }
  .ffg-key-result-main h2 {
    font-size: 28px;
  }
  .ffg-key-result-main > .container > p {
    font-size: 18px;
  }
  .ffg-key-result-main .result-grid .result-box h3 {
    font-size: 18px;
  }
}
@media (max-width: 991px) {
  .ffg-main-banner .banner-info .logo-img {
    width: 150px;
  }
  .ffg-main-banner .banner-info h1 {
    font-size: 28px;
  }
  .ffg-main-banner .banner-info h1 br {
    display: none;
  }
  .ffg-tech-main .tech-grid {
    grid-template-columns: 1fr 1fr;
  }
  .ffg-tech-main .tech-grid .tech-flex .tech-info .tech-label {
    font-size: 20px;
  }
  .ffg-tech-main .tech-grid .tech-flex .tech-info p {
    font-size: 14px;
    font-weight: 500;
  }
  .ffg-about-main h2 {
    font-size: 28px;
  }
  .ffg-about-main .about-grid {
    grid-gap: 50px;
  }
  .ffg-about-main .about-grid h3 {
    font-size: 22px;
  }
  .ffg-about-main .about-grid p {
    font-size: 18px;
    line-height: 1.8;
  }
  .ffg-about-main .about-grid ol li h4 {
    font-size: 20px;
  }
  .ffg-main-key-features h2 {
    font-size: 28px;
  }
  .ffg-main-key-features .main-key-info {
    width: 100%;
  }
  .ffg-main-key-features .main-key-info .paltform-main h3 {
    font-size: 18px;
  }
  .ffg-main-key-features .main-key-info .paltform-main ul li {
    font-size: 18px;
    line-height: 35px;
  }
  .ffg-tech-approach {
    background-size: cover;
  }
  .ffg-tech-approach::before {
    display: none;
  }
  .ffg-tech-approach .tech-grid {
    grid-template-columns: 1fr;
  }
  .ffg-tech-approach .tech-grid .tech-info h2 {
    font-size: 28px;
    text-align: center;
  }
  .ffg-tech-approach .tech-grid .tech-info h2::before {
    right: 0;
    margin: auto;
  }
  .ffg-tech-approach .tech-grid .tech-info ul li span {
    font-size: 26px;
  }
  .ffg-tech-approach .tech-grid .tech-info ul li h3 {
    font-size: 20px;
  }
  .ffg-tech-approach .tech-grid .tech-info ul li p {
    font-size: 16px;
    line-height: 1.8;
  }
  .ffg-app-slider h2 {
    font-size: 28px;
  }
  .ffg-key-result-main h2 {
    font-size: 26px;
  }
  .ffg-key-result-main > .container > p {
    font-size: 18px;
    line-height: 1.6;
  }
  .ffg-key-result-main .result-grid {
    grid-gap: 20px;
  }
  .ffg-key-result-main .result-grid .result-box h3 {
    font-size: 16px;
    line-height: 1.5;
  }
  .ffg-key-result-main .result-grid .result-box p {
    font-size: 14px;
    line-height: 1.6;
  }
}
@media (max-width: 767px) {
  .ffg-main-banner .banner-info .logo-img {
    width: 150px;
  }
  .ffg-main-banner .banner-info h1 {
    font-size: 25px;
    margin: 30px 0px;
  }
  .ffg-about-main h2 {
    font-size: 28px;
  }
  .ffg-about-main .about-grid {
    grid-gap: 20px;
    grid-template-columns: 1fr;
  }
  .ffg-about-main .about-grid h3 {
    font-size: 22px;
    text-align: center;
    margin-bottom: 30px;
  }
  .ffg-about-main .about-grid p {
    font-size: 18px;
    text-align: center;
  }
  .ffg-about-main .about-grid ol {
    list-style: none;
    padding: 0;
  }
  .ffg-about-main .about-grid ol li h4 {
    font-size: 20px;
    text-align: center;
  }
  .ffg-main-key-features h2 {
    font-size: 26px;
  }
  .ffg-main-key-features .main-key-info .paltform-main h3 {
    font-size: 18px;
  }
  .ffg-main-key-features .main-key-info .paltform-main ul {
    grid-template-columns: 1fr 1fr;
    grid-gap: 30px;
  }
  .ffg-main-key-features .main-key-info .paltform-main ul li {
    font-size: 18px;
    line-height: 35px;
  }
  .ffg-tech-approach {
    background-size: cover;
  }
  .ffg-tech-approach::before {
    display: none;
  }
  .ffg-tech-approach .tech-grid {
    grid-template-columns: 1fr;
  }
  .ffg-tech-approach .tech-grid .tech-info h2 {
    font-size: 28px;
  }
  .ffg-tech-approach .tech-grid .tech-info ul li span {
    font-size: 24px;
  }
  .ffg-tech-approach .tech-grid .tech-info ul li h3 {
    font-size: 18px;
  }
  .ffg-tech-approach .tech-grid .tech-info ul li p {
    font-size: 15px;
  }
  .ffg-app-slider h2 {
    font-size: 26px;
  }
  .ffg-key-result-main h2 {
    font-size: 26px;
  }
  .ffg-key-result-main > .container > p {
    font-size: 18px;
    line-height: 1.6;
  }
  .ffg-key-result-main .result-grid {
    grid-template-columns: 1fr 1fr;
    grid-gap: 20px;
  }
  .ffg-key-result-main .result-grid .result-box h3 {
    font-size: 16px;
    line-height: 1.5;
  }
  .ffg-key-result-main .result-grid .result-box p {
    font-size: 14px;
    line-height: 1.6;
  }
}
@media (max-width: 500px) {
  .ffg-main-banner .banner-info h1 {
    font-size: 24px;
  }
  .ffg-about-main h2 {
    font-size: 26px;
  }
  .ffg-about-main .about-grid {
    grid-gap: 20px;
    grid-template-columns: 1fr;
  }
  .ffg-about-main .about-grid h3 {
    font-size: 20px;
    margin-bottom: 30px;
  }
  .ffg-about-main .about-grid p {
    font-size: 16px;
  }
  .ffg-about-main .about-grid ol {
    margin: 0px;
  }
  .ffg-about-main .about-grid ol li h4 {
    font-size: 18px;
  }
  .ffg-key-result-main h2 {
    font-size: 24px;
  }
  .ffg-key-result-main > .container > p {
    font-size: 16px;
  }
  .ffg-key-result-main .result-grid {
    grid-template-columns: 1fr;
  }
  .ffg-key-result-main .result-grid .result-box h3 {
    font-size: 16px;
  }
  .ffg-key-result-main .result-grid .result-box p {
    font-size: 14px;
  }
}
@media (max-width: 479px) {
  .ffg-tech-main .tech-grid {
    grid-template-columns: 1fr;
  }
  .ffg-tech-main .tech-grid .tech-flex .tech-info .tech-label {
    font-size: 18px;
  }
  .ffg-tech-main .tech-grid .tech-flex .tech-info p {
    font-size: 14px;
  }
  .ffg-main-key-features h2 {
    font-size: 26px;
  }
  .ffg-main-key-features .main-key-info .paltform-main h3 {
    font-size: 16px;
  }
  .ffg-main-key-features .main-key-info .paltform-main ul {
    grid-template-columns: 1fr;
    grid-gap: 20px;
  }
  .ffg-main-key-features .main-key-info .paltform-main ul li {
    font-size: 16px;
    line-height: 30px;
  }
  .ffg-main-key-features .main-key-info .paltform-main ul li br {
    display: none;
  }
  .ffg-tech-approach .tech-grid .tech-info h2 {
    font-size: 26px;
  }
}
@media (max-width: 400px) {
  .ffg-main-banner .banner-info .logo-img {
    width: 130px;
  }
  .ffg-main-banner .banner-info h1 {
    font-size: 22px;
  }
}

/* =============================================================================
   PlateTalk Case Study
   ============================================================================= */

/* -- PlateBanner ------------------------------------------------------------ */
.platetalk-app {
  background-color: #000;
  padding: 80px 0;
}
.platetalk-app .content {
  display: grid;
  grid-template-columns: 1fr 1fr;
  background-image: url("../images/case-studies/plate-talk/banner.webp");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center bottom;
  padding: 50px 60px 0 100px;
}
.platetalk-app .content .left {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  padding-top: 40px;
}
.platetalk-app .content .left .pt-brand {
  color: #fff;
  font-size: 22px;
  font-weight: 400;
  padding-bottom: 10px;
  margin: 0;
}
.platetalk-app .content .left h1 {
  color: #fff;
  font-size: 55px;
  font-weight: 700;
}
.platetalk-app .content .left h1 span {
  color: #1cea6f;
}
.platetalk-app .content .left p {
  color: #fff;
  font-size: 16px;
  line-height: 1.8;
  margin: 0;
}
.platetalk-app .content .right {
  display: flex;
  justify-content: flex-end;
  align-items: flex-end;
}
@media (max-width: 1440px) {
  .platetalk-app .content .left h1 {
    font-size: 55px;
    line-height: 1.1;
  }
}
@media (max-width: 1367px) {
  .platetalk-app .content .left .pt-brand {
    font-size: 18px;
  }
  .platetalk-app .content .left h1 {
    font-size: 45px;
    line-height: 1.1;
  }
  .platetalk-app .content .left button {
    width: 60%;
  }
  .platetalk-app .content .right img {
    width: 90%;
    height: auto;
  }
}
@media (max-width: 1199px) {
  .platetalk-app .content .left {
    padding-bottom: 60px;
  }
  .platetalk-app .content .left .pt-brand {
    font-size: 16px;
  }
  .platetalk-app .content .left h1 {
    font-size: 40px;
  }
  .platetalk-app .content .left button {
    width: 70%;
  }
  .platetalk-app .content .left p {
    font-size: 15px;
  }
  .platetalk-app .content .right img {
    width: 80%;
    height: auto;
  }
}
@media (max-width: 1024px) {
  .platetalk-app .content {
    grid-template-columns: 1fr;
    padding: 90px;
  }
  .platetalk-app .content .left {
    text-align: center;
    justify-content: center;
    align-items: center;
    padding: 20px;
  }
  .platetalk-app .content .left h1 {
    font-size: 35px;
  }
  .platetalk-app .content .right {
    display: none;
  }
}
@media (max-width: 991px) {
  .platetalk-app .content {
    padding: 40px;
  }
  .platetalk-app .content .left h1 {
    font-size: 28px;
  }
}
@media (max-width: 768px) {
  .platetalk-app .content {
    background-image: url("../images/case-studies/plate-talk/greenflame.webp");
    background-size: cover;
    padding: 10px;
  }
  .platetalk-app .content .left button {
    width: max-content;
  }
}
@media (max-width: 575px) {
  .platetalk-app .content .left {
    padding: 0;
  }
}

/* -- PlateFeatures ---------------------------------------------------------- */
.plateFeature {
  background-color: #000;
  padding: 60px 0;
}
.plateFeature .gridSec {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  gap: 20px;
}
.plateFeature .gridSec .featureBoxes {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 15px;
}
.plateFeature .gridSec .featureBoxes .singBox {
  background-color: #323232;
  padding: 20px;
  border-radius: 20px;
  transition: all 0.2s ease;
}
.plateFeature .gridSec .featureBoxes .singBox .pf-label {
  color: #fff;
  font-size: 22px;
  font-weight: 700;
  margin: 0;
  padding: 5px 0 0;
}
.plateFeature .gridSec .featureBoxes .singBox p {
  color: #fff;
  margin: 0;
}
.plateFeature .gridSec .featureBoxes .singBox:nth-child(1) {
  grid-area: 1 / 1 / 2 / 2;
}
.plateFeature .gridSec .featureBoxes .singBox:nth-child(2) {
  grid-area: 1 / 2 / 2 / 3;
}
.plateFeature .gridSec .featureBoxes .singBox:nth-child(3) {
  grid-area: 2 / 1 / 3 / 2;
}
.plateFeature .gridSec .featureBoxes .singBox:nth-child(4) {
  grid-area: 2 / 2 / 3 / 3;
}
.plateFeature .gridSec .featureBoxes .singBox:nth-child(5) {
  grid-area: 3 / 1 / 4 / 3;
}
.plateFeature .gridSec .featureBoxes .singBox:hover {
  background-color: #1cea6f;
}
.plateFeature .gridSec .featureBoxes .singBox:hover .pf-label {
  color: #000;
}
.plateFeature .gridSec .featureBoxes .singBox:hover p {
  color: #000;
}
.plateFeature .gridSec .featureBoxes .singBox:hover img {
  filter: invert(1);
}
.plateFeature .gridSec .imageBox img {
  border-radius: 20px;
}
@media (max-width: 1366px) {
  .plateFeature .gridSec {
    grid-template-columns: 0.6fr 1fr;
  }
  .plateFeature .gridSec .featureBoxes .singBox .pf-label {
    font-size: 18px;
  }
  .plateFeature .gridSec .featureBoxes .singBox p {
    font-size: 14px;
  }
  .plateFeature .gridSec .imageBox img {
    width: 100%;
    height: auto;
  }
}
@media (max-width: 1199px) {
  .plateFeature .gridSec {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 991px) {
  .plateFeature .gridSec {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 480px) {
  .plateFeature .gridSec .featureBoxes {
    display: flex;
    flex-direction: column;
  }
}

/* -- PlateProblems ---------------------------------------------------------- */
.plateProblem {
  background-color: #000;
  padding: 60px 0;
}
.plateProblem .gridSec {
  display: grid;
  grid-template-columns: 1fr 1.5fr;
  gap: 20px;
}
.plateProblem .gridSec .imgBox {
  display: flex;
  justify-content: flex-end;
  align-items: flex-end;
}
.plateProblem .gridSec .textBox {
  background: linear-gradient(180deg, #1cea6f 0%, #10843f 100%);
  border-radius: 40px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 50px;
}
.plateProblem .gridSec .textBox h2 {
  color: #000;
  font-weight: bold;
  font-size: 60px;
  padding-bottom: 10px;
}
.plateProblem .gridSec .textBox p {
  font-size: 16px;
  font-weight: 600;
  color: #000;
  line-height: 2;
}
@media (max-width: 1366px) {
  .plateProblem .gridSec .textBox h2 {
    font-size: 40px;
  }
}
@media (max-width: 1199px) {
  .plateProblem .gridSec .textBox h2 {
    font-size: 35px;
  }
}
@media (max-width: 991px) {
  .plateProblem .gridSec {
    grid-template-columns: 1fr;
  }
  .plateProblem .gridSec .imgBox {
    justify-content: center;
  }
  .plateProblem .gridSec .textBox {
    text-align: center;
  }
}
@media (max-width: 575px) {
  .plateProblem .gridSec .imgBox img {
    width: 100%;
    height: auto;
  }
  .plateProblem .gridSec .textBox {
    padding: 20px;
  }
  .plateProblem .gridSec .textBox h2 {
    font-size: 28px;
  }
  .plateProblem .gridSec .textBox p {
    font-size: 14px;
  }
}

/* -- PlateKey --------------------------------------------------------------- */
.plateKey {
  background-image: url("../images/case-studies/plate-talk/greenflame.webp");
  background-size: cover;
  background-color: #000;
  padding: 60px 0;
  background-repeat: no-repeat;
  background-position: center center;
  position: relative;
  height: 1100px;
}
.plateKey::before {
  content: "";
  position: absolute;
  background-image: url("../images/case-studies/plate-talk/mobile.png");
  width: 780px;
  height: 802px;
  background-size: contain;
  background-repeat: no-repeat;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
}
.plateKey .head h2 {
  color: #fff;
  font-size: 120px;
  font-weight: 700;
  text-align: center;
  margin-bottom: 10px;
  text-transform: uppercase;
}
.plateKey .gridSec {
  position: relative;
}
.plateKey .gridSec .singBox {
  border: 2px solid #1cea6f;
  width: 400px;
  height: 200px;
  padding: 20px;
  border-radius: 20px;
  background: linear-gradient(
    90deg,
    rgba(45, 45, 45, 0.9) 0%,
    rgba(28, 234, 111, 0.9) 102.37%
  );
}
.plateKey .gridSec .singBox img {
  position: absolute;
  top: 10px;
  right: 10px;
}
.plateKey .gridSec .singBox h3 {
  color: #fff;
  font-size: 22px;
  font-weight: 700;
}
.plateKey .gridSec .singBox p {
  color: #fff;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.8;
  margin: 0;
}
.plateKey .gridSec .singBox.boxOne {
  position: absolute;
  top: 100px;
  right: 150px;
}
.plateKey .gridSec .singBox.boxTwo {
  position: absolute;
  top: 300px;
  left: 100px;
}
.plateKey .gridSec .singBox.boxThree {
  position: absolute;
  top: 450px;
  right: 150px;
}
.plateKey .gridSec .singBox.boxFour {
  position: absolute;
  top: 630px;
  left: 100px;
}
@media (max-width: 1366px) {
  .plateKey {
    height: 950px;
    padding: 30px 0;
  }
  .plateKey .head h2 {
    font-size: 70px;
  }
  .plateKey .gridSec .singBox.boxTwo {
    top: 250px;
  }
  .plateKey .gridSec .singBox.boxFour {
    top: 530px;
  }
}
@media (max-width: 1199px) {
  .plateKey .gridSec .singBox.boxOne {
    right: 0;
  }
  .plateKey .gridSec .singBox.boxTwo {
    left: 0;
  }
  .plateKey .gridSec .singBox.boxThree {
    right: 0;
  }
  .plateKey .gridSec .singBox.boxFour {
    left: 0;
  }
}
@media (max-width: 991px) {
  .plateKey {
    height: unset;
    padding: 60px 0;
  }
  .plateKey::before {
    display: none;
  }
  .plateKey .gridSec {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px;
  }
  .plateKey .gridSec .singBox {
    margin: 30px auto;
    width: unset;
  }
  .plateKey .gridSec .singBox h3 {
    width: 80%;
  }
  .plateKey .gridSec .singBox h3 br {
    display: none;
  }
  .plateKey .gridSec .singBox.boxOne,
  .plateKey .gridSec .singBox.boxTwo,
  .plateKey .gridSec .singBox.boxThree,
  .plateKey .gridSec .singBox.boxFour {
    position: relative;
    top: unset;
    right: unset;
    left: unset;
    width: unset;
  }
}
@media (max-width: 768px) {
  .plateKey .gridSec .singBox {
    height: max-content;
    margin: auto;
  }
  .plateKey .gridSec .singBox h3 {
    font-size: 16px;
    width: 100%;
  }
  .plateKey .gridSec .singBox p {
    font-size: 13px;
  }
  .plateKey .gridSec .singBox.boxOne,
  .plateKey .gridSec .singBox.boxTwo,
  .plateKey .gridSec .singBox.boxThree,
  .plateKey .gridSec .singBox.boxFour {
    height: max-content;
  }
}
@media (max-width: 575px) {
  .plateKey .head h2 {
    font-size: 40px;
  }
  .plateKey .gridSec {
    grid-template-columns: 1fr;
  }
  .plateKey .gridSec .singBox h3 {
    width: 80%;
  }
}

/* -- PlateChallenge --------------------------------------------------------- */
.plateChallenge {
  background-color: #000;
  padding: 60px 0;
  overflow: hidden;
}
.plateChallenge .gridSec {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
}
.plateChallenge .gridSec .listingSection {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.plateChallenge .gridSec .listingSection ul {
  list-style: none;
  margin-bottom: 1rem;
}
.plateChallenge .gridSec .listingSection ul li {
  background: #7c7c7c66;
  padding: 40px;
  border-radius: 20px;
}
.plateChallenge .gridSec .listingSection ul li h4 {
  color: #1cea6f;
  font-size: 18px;
  font-weight: 700;
}
.plateChallenge .gridSec .listingSection ul li p {
  color: #fff;
  font-size: 18px;
}
.plateChallenge .gridSec .imageBox {
  position: relative;
}
.plateChallenge .gridSec .imageBox h2 {
  color: #fff;
  font-size: 80px;
  font-weight: 800;
  text-transform: uppercase;
  position: absolute;
  transform: rotate(270deg);
  left: -20px;
  top: 0;
  bottom: 0;
  right: 0;
  margin: auto;
  width: max-content;
  height: 100%;
}
.plateChallenge .gridSec .imageBox h2 span {
  color: #1cea6f;
}
@media (max-width: 1366px) {
  .plateChallenge .gridSec .listingSection ul li {
    padding: 25px;
  }
  .plateChallenge .gridSec .imageBox h2 {
    left: 0;
    font-size: 75px;
  }
}
@media (max-width: 1199px) {
  .plateChallenge .gridSec .listingSection ul li h4 {
    font-size: 16px;
  }
  .plateChallenge .gridSec .listingSection ul li p {
    font-size: 14px;
  }
  .plateChallenge .gridSec .imageBox {
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .plateChallenge .gridSec .imageBox h2 {
    font-size: 60px;
  }
  .plateChallenge .gridSec .imageBox img {
    width: 100%;
    height: auto;
  }
}
@media (max-width: 991px) {
  .plateChallenge .gridSec {
    display: flex;
    flex-direction: column-reverse;
  }
  .plateChallenge .gridSec .listingSection ul {
    padding: 0;
    text-align: center;
  }
  .plateChallenge .gridSec .listingSection ul li {
    width: 696px;
  }
  .plateChallenge .gridSec .listingSection ul li p {
    margin: 0;
    min-height: 42px;
  }
  .plateChallenge .gridSec .imageBox {
    flex-direction: column;
  }
  .plateChallenge .gridSec .imageBox h2 {
    all: unset;
    position: relative;
    color: #fff;
    font-size: 35px;
    font-weight: 800;
    text-transform: uppercase;
  }
  .plateChallenge .gridSec .imageBox img {
    width: 70%;
  }
}
@media (max-width: 575px) {
  .plateChallenge .gridSec .listingSection ul li {
    width: 100%;
  }
}
@media (max-width: 480px) {
  .plateChallenge .gridSec {
    gap: 30px;
  }
  .plateChallenge .gridSec .imageBox h2 {
    font-size: 28px;
  }
}

/* -- UserFlow --------------------------------------------------------------- */
.tatt-user-flow {
  background: #000;
  padding: 50px 0;
}
.tatt-user-flow .head h3, .tatt-user-flow .head h2 {
  color: #fff;
  font-size: 45px;
  font-weight: bold;
  text-align: center;
}
.tatt-user-flow .head h3 span, .tatt-user-flow .head h2 span {
  color: #c51e06;
}
.tatt-user-flow .content {
  padding: 60px 0;
}
.tatt-user-flow .content .flow {
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  box-shadow: 0 0 80px 0 #c51e06a3;
  border-radius: 30px;
}
.tatt-user-flow .content .user-flow-btn {
  display: flex;
  justify-content: flex-end;
  margin-top: -90px;
  margin-bottom: -30px;
  position: relative;
  right: 40px;
}
.tatt-user-flow .content .user-flow-btn .button {
  cursor: pointer;
  background: #000;
  border: 2px solid #c51e06;
  color: #fff;
  width: 150px;
  height: 150px;
  border-radius: 50%;
  overflow: hidden;
  position: relative;
  display: grid;
  place-content: center;
  transition:
    background 300ms,
    transform 200ms;
  font-weight: 600;
  font-size: 14px;
}
.tatt-user-flow .content .user-flow-btn .button__text {
  position: absolute;
  inset: 0;
  animation: text-rotation 8s linear infinite;
  margin-bottom: 0;
}
.tatt-user-flow .content .user-flow-btn .button__text > span {
  position: absolute;
  inset: -1px;
  transform: rotate(calc(19deg * var(--index)));
}
.tatt-user-flow .content .user-flow-btn .button__circle {
  position: relative;
  width: 40px;
  height: 40px;
  overflow: hidden;
  color: #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.tatt-user-flow .content .user-flow-btn .button__icon--copy {
  position: absolute;
  transform: translate(-150%, 150%);
}
.tatt-user-flow .content .user-flow-btn .button__circle .button__icon {
  transition: transform 0.4s ease;
}
.tatt-user-flow
  .content
  .user-flow-btn
  .button:hover
  .button__circle
  .button__icon:not(.button__icon--copy) {
  transform: translate(150%, -150%);
}
.tatt-user-flow
  .content
  .user-flow-btn
  .button:hover
  .button__circle
  .button__icon--copy {
  transform: translate(0, 0);
}
@keyframes text-rotation {
  from {
    rotate: 0deg;
  }
  to {
    rotate: 360deg;
  }
}
.tatt-user-flow.plate-app-flow {
  background-color: #000;
}
.tatt-user-flow.plate-app-flow .head h3 {
  color: #fff;
}
.tatt-user-flow.plate-app-flow .head h3 span {
  color: #1cea6f;
}
.tatt-user-flow.plate-app-flow .content .flow {
  box-shadow: 0 0 80px 0 #1cea6f7d;
  padding: 20px 0 0 0;
}
.tatt-user-flow.plate-app-flow .content .user-flow-btn .button {
  background: #000;
  border-color: #1cea6f;
	text-align:center;
}
.tatt-user-flow .content .user-flow-btn .button {
    text-align: center;
}
@media (max-width: 1200px) {
  .tatt-user-flow .head h3, .tatt-user-flow .head h2 {
    font-size: 35px;
  }
  .tatt-user-flow .content .flow img {
    width: 100%;
    height: auto;
  }
}
@media (max-width: 1024px) {
  .tatt-user-flow .content .user-flow-btn {
    margin-top: -70px;
  }
  .tatt-user-flow .content .user-flow-btn .button {
    width: 120px;
    height: 120px;
  }
}
@media (max-width: 992px) {
  .tatt-user-flow .content .flow img {
    width: 100%;
    height: auto;
  }
	.tatt-user-flow .content .user-flow-btn {
    justify-content: center;
    margin-top: 40px !important;
    right: 0;
}
}
@media (max-width: 768px) {
  .tatt-user-flow .head h3, .tatt-user-flow .head h2 {
    font-size: 28px;
  }
}

/* -- PlateMockup ------------------------------------------------------------ */
.plateMockup {
  background-color: #000;
  padding: 60px 0;
}
.plateMockup .gridSec {
  text-align: center;
}
.plateMockup .mobSlider {
  display: none;
}
.plateMockup .mobSlider .sliderImg img {
  width: 100%;
  height: auto;
}
@media (max-width: 1366px) {
  .plateMockup .gridSec img {
    width: 100%;
    height: auto;
  }
}
@media (max-width: 991px) {
  .plateMockup .gridSec {
    display: none;
  }
  .plateMockup .mobSlider {
    display: block;
  }
}
@media (max-width: 480px) {
  .plateMockup .mobSlider .sliderImg img {
    width: 80%;
    height: auto;
  }
}

/* -- PlateResult ------------------------------------------------------------ */
.plateResult {
  background-color: #000;
  padding: 60px 0;
  overflow: hidden;
}
.plateResult .gridSec {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
}
.plateResult .gridSec .listingSection {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.plateResult .gridSec .listingSection ul {
  list-style: none;
  margin-bottom: 1rem;
}
.plateResult .gridSec .listingSection ul li {
  background: #7c7c7c66;
  padding: 40px;
  border-radius: 20px;
}
.plateResult .gridSec .listingSection ul li h3 {
  color: #1cea6f;
  font-size: 18px;
  font-weight: 700;
}
.plateResult .gridSec .listingSection ul li p {
  color: #fff;
  font-size: 18px;
}
.plateResult .gridSec .imageBox {
  position: relative;
}
.plateResult .gridSec .imageBox h2 {
  color: #fff;
  font-size: 80px;
  font-weight: 800;
  text-transform: uppercase;
  position: absolute;
  transform: rotate(270deg);
  top: 0;
  bottom: 0;
  left: 110%;
  margin: auto;
  width: max-content;
  height: 100%;
}
.plateResult .gridSec .imageBox h2 span {
  color: #1cea6f;
}
.plateResult.plateResult .gridSec .imageBox h2 {
  font-size: 110px;
  left: 90%;
}
@media (max-width: 1366px) {
  .plateResult .gridSec .listingSection ul li {
    padding: 25px;
  }
  .plateResult .gridSec .imageBox h2 {
    left: 115%;
    font-size: 75px;
  }
}
@media (max-width: 1199px) {
  .plateResult .gridSec .listingSection ul li h3 {
    font-size: 16px;
  }
  .plateResult .gridSec .listingSection ul li p {
    font-size: 14px;
  }
  .plateResult .gridSec .imageBox {
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .plateResult .gridSec .imageBox h2 {
    font-size: 60px;
  }
  .plateResult .gridSec .imageBox img {
    width: 100%;
    height: auto;
  }
  .plateResult.plateResult .gridSec .imageBox h2 {
    font-size: 80px;
    left: 100%;
  }
}
@media (max-width: 991px) {
  .plateResult .gridSec {
    display: flex;
    flex-direction: column;
  }
  .plateResult .gridSec .listingSection ul {
    padding: 0;
    text-align: center;
  }
  .plateResult .gridSec .listingSection ul li {
    width: 696px;
  }
  .plateResult .gridSec .listingSection ul li p {
    margin: 0;
    min-height: 42px;
  }
  .plateResult .gridSec .imageBox {
    flex-direction: column;
  }
  .plateResult .gridSec .imageBox h2,
  .plateResult.plateResult .gridSec .imageBox h2 {
    all: unset;
    position: relative;
    color: #fff;
    font-size: 35px;
    font-weight: 800;
    text-transform: uppercase;
  }
  .plateResult .gridSec .imageBox img {
    width: 70%;
  }
}
@media (max-width: 575px) {
  .plateResult .gridSec .listingSection ul li {
    width: 100%;
  }
}
@media (max-width: 480px) {
  .plateResult .gridSec {
    gap: 30px;
  }
  .plateResult .gridSec .imageBox h2 {
    font-size: 28px;
  }
}

/* -- Branding --------------------------------------------------------------- */
.branding {
  padding: 80px 0;
}
.branding.plateTalk {
  background-color: #000;
  padding: 60px 0 120px;
}
.branding .image img {
  max-width: 100%;
  height: auto;
}
@media (max-width: 1367px) {
  .branding .image img {
    width: 100%;
    height: auto;
  }
}
@media (max-width: 992px) {
  .branding {
    padding: 50px 0;
  }
}
@media (max-width: 575px) {
  .branding {
    padding: 0;
  }
}

/* -- PlateCta --------------------------------------------------------------- */
.plateCta {
  background-image: url("../images/case-studies/plate-talk/ctabg.webp");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}
.plateCta .gridSec {
  display: grid;
  grid-template-columns: 1fr 1fr;
}
.plateCta .gridSec .textSection {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.plateCta .gridSec .textSection::before {
  display: none;
  content: none;
}
.plateCta .gridSec .textSection h2 {
  color: #fff;
  font-weight: bold;
  font-size: 60px;
}
.plateCta .gridSec .textSection .plate-cta-sub {
  color: #fff;
  font-size: 18px;
  line-height: 2;
}
.plateCta .gridSec .imgSection {
  display: flex;
  justify-content: flex-end;
}
.plateCta .gridSec .imgSection img {
  margin-top: -60px;
}
@media (max-width: 1366px) {
  .plateCta .gridSec .textSection h2 {
    font-size: 45px;
  }
}
@media (max-width: 1199px) {
  .plateCta .gridSec .imgSection img {
    width: 90%;
    height: auto;
  }
  .plateCta .gridSec .textSection h2 {
    font-size: 40px;
  }
}
@media (max-width: 991px) {
  .plateCta .gridSec .textSection {
    padding: 40px 0;
  }
  .plateCta .gridSec .textSection h2 {
    font-size: 35px;
  }
  .plateCta .gridSec .textSection .plate-cta-sub {
    font-size: 16px;
  }
  .plateCta .gridSec .imgSection {
    align-items: flex-end;
  }
  .plateCta .gridSec .imgSection img {
    margin-top: 0;
  }
}
@media (max-width: 768px) {
  .plateCta .gridSec {
    grid-template-columns: 1fr;
  }
  .plateCta .gridSec .textSection {
    align-items: center;
  }
  .plateCta .gridSec .textSection h2,
  .plateCta .gridSec .textSection .plate-cta-sub {
    text-align: center;
  }
  .plateCta .gridSec .imgSection {
    justify-content: center;
  }
  .plateCta .gridSec .imgSection img {
    width: 60%;
  }
}
@media (max-width: 575px) {
  .plateCta .gridSec .textSection h2 {
    font-size: 28px;
  }
}
@media (max-width: 480px) {
  .plateCta .gridSec .textSection h2 {
    font-size: 26px;
  }
}

/* -- PlateBtn --------------------------------------------------------------- */
.plateBtn {
  background-color: #1cea6f;
  color: #000;
  font-size: 16px;
  font-weight: 600;
  text-transform: uppercase;
  display: inline-block;
  padding: 10px 30px;
  border-radius: 10px;
  -webkit-clip-path: polygon(
    0 0,
    0 0,
    100% 0,
    100% 0,
    100% calc(100% - 15px),
    calc(100% - 15px) 100%,
    15px 100%,
    0 100%
  );
  clip-path: polygon(
    0 0,
    0 0,
    100% 0,
    100% 0,
    100% calc(100% - 15px),
    calc(100% - 15px) 100%,
    15px 100%,
    0 100%
  );
  transition: 0.2s 0.1s;
  width: max-content;
  margin-top: 20px;
  border: none;
  cursor: pointer;
  text-decoration: none;
  line-height: 1.5;
}
.plateBtn::before {
  display: none;
  content: none;
}
.plateBtn:hover {
  background-color: #fff;
  color: #000;
}

/* =============================================================================
   Qpon Case Study
   ============================================================================= */

/* -- QponBanner -------------------------------------------------------------- */
.qpon-banner {
  background-image: url("../images/case-studies/qpon/banner.webp");
  background-size: cover;
  background-repeat: no-repeat;
  padding-top: 120px;
  padding-bottom: 60px;
  position: relative;
}
.qpon-banner::before {
  content: "";
  background-image: url("../images/case-studies/qpon/banner-screen.webp");
  width: 55%;
  height: 100%;
  position: absolute;
  background-position: bottom center;
  background-size: contain;
  right: 0;
  background-repeat: no-repeat;
  bottom: 0;
}
.qpon-banner .main-baner-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
}
.qpon-banner .main-baner-grid .banner-content {
  color: #fff;
}
.qpon-banner .main-baner-grid .banner-content .qpon-logotype {
  padding-top: 30px;
  font-size: 70px;
  font-weight: 900;
}
.qpon-banner .main-baner-grid .banner-content h2 {
  font-size: 40px;
  font-weight: 400;
  padding-bottom: 15px;
}
/* Hero title is the page's H1 (fix plan #11, moved from the component's inline <style>). */
.qpon-banner .main-baner-grid .banner-content h1.qpon-title {
  margin-bottom: .5rem;
  font-size: 40px;
  font-weight: 400;
  padding-bottom: 15px;
}
@media (max-width: 1600px) {
  .qpon-banner .main-baner-grid .banner-content h1.qpon-title {
    font-size: 35px;
  }
}
@media (max-width: 1440px) {
  .qpon-banner .main-baner-grid .banner-content h1.qpon-title {
    font-size: 30px;
  }
}
@media (max-width: 1199px) {
  .qpon-banner .main-baner-grid .banner-content h1.qpon-title {
    font-size: 28px;
  }
}
@media (max-width: 991px) {
  .qpon-banner .main-baner-grid .banner-content h1.qpon-title {
    font-size: 26px;
  }
}
@media (max-width: 767px) {
  .qpon-banner .main-baner-grid .banner-content h1.qpon-title {
    font-size: 24px;
  }
}
@media (max-width: 575px) {
  .qpon-banner .main-baner-grid .banner-content h1.qpon-title {
    font-size: 20px;
  }
}
@media (max-width: 400px) {
  .qpon-banner .main-baner-grid .banner-content h1.qpon-title {
    font-size: 18px;
  }
}
.qpon-banner .main-baner-grid .banner-content h3 {
  font-size: 25px;
  font-weight: 600;
  padding-bottom: 50px;
}
.qpon-banner .main-baner-grid .banner-content .info-upper {
  display: grid;
  grid-template-columns: 0.6fr 1fr;
  grid-gap: 30px 0;
}
.qpon-banner .main-baner-grid .banner-content .info-upper .info-one {
  display: flex;
  align-items: center;
  gap: 20px;
}
.qpon-banner
  .main-baner-grid
  .banner-content
  .info-upper
  .info-one
  .info-content
  .qb-label {
  font-size: 16px;
  font-weight: 900;
  padding: 0;
}
.qpon-banner
  .main-baner-grid
  .banner-content
  .info-upper
  .info-one
  .info-content
  p {
  font-size: 16px;
  font-weight: 300;
  margin: 0;
}

/* -- QponAbout --------------------------------------------------------------- */
.qpon-about {
  position: relative;
  background-image: url("../images/case-studies/qpon/about.webp");
  background-size: cover;
  background-repeat: no-repeat;
  padding: 120px 0 0 0;
}
.qpon-about > img {
  width: 70%;
  height: 100%;
  margin-top: -12%;
  display: block;
}
.qpon-about .about-content {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-gap: 40px;
}
.qpon-about .about-content h2 {
  color: #86bb52;
  font-size: 60px;
  font-weight: 600;
  padding-bottom: 50px;
}
.qpon-about .about-content p {
  margin-top: 120px;
  color: #86bb52;
  font-size: 22px;
  font-weight: 400;
  position: relative;
  z-index: 2;
}

/* -- QponProblem ------------------------------------------------------------- */
.qpon-problem {
  background-image: url("../images/case-studies/qpon/problem.webp");
  background-size: cover;
  background-repeat: no-repeat;
  min-height: 450px;
  display: flex;
  align-items: center;
  text-align: center;
  color: #fff;
}
.qpon-problem .problem-content h2 {
  font-size: 60px;
  font-weight: 600;
  padding-bottom: 20px;
}
.qpon-problem .problem-content p {
  font-size: 25px;
  font-weight: 400;
}

/* -- QponSolution ------------------------------------------------------------ */
.qpon-solution {
  background-image: url("../images/case-studies/qpon/shape.png");
  background-size: auto;
  background-repeat: no-repeat;
  padding: 80px 0 360px 0;
  background-position: bottom;
  background-color: #86bb52;
}
.qpon-solution .solution-content {
  text-align: center;
  padding-bottom: 100px;
}
.qpon-solution .solution-content h2 {
  color: #86bb52;
  font-size: 60px;
  font-weight: 600;
  padding-bottom: 20px;
}
.qpon-solution .solution-content p {
  font-size: 28px;
  font-weight: 400;
}
.qpon-solution .solution-wrapper {
  position: relative;
  height: 100%;
}
.qpon-solution .solution-wrapper::before {
  content: "";
  position: absolute;
  background: #86bb52;
  width: 3px;
  height: 100%;
  left: 0;
  right: 0;
  margin: auto;
  bottom: -20px;
}
.qpon-solution .solution-wrapper .wrapper-content h3 {
  font-size: 36px;
  font-weight: 600;
}
.qpon-solution .solution-wrapper .wrapper-content p {
  font-size: 24px;
  font-weight: 400;
}
.qpon-solution .solution-wrapper .wrapper-content:nth-child(odd) {
  position: relative;
  width: 50%;
  margin-left: auto;
  padding-left: 35px;
}
.qpon-solution .solution-wrapper .wrapper-content:nth-child(odd):hover {
  color: #86bb52;
  transition: 0.3s;
}
.qpon-solution .solution-wrapper .wrapper-content:nth-child(odd):hover::after {
  background: #86bb52;
}
.qpon-solution .solution-wrapper .wrapper-content:nth-child(odd)::before {
  position: absolute;
  content: "";
  background-repeat: no-repeat;
  background-size: cover;
  width: 20px;
  height: 20px;
  border-radius: 40px;
  filter: grayscale(2);
  left: -11px;
  animation: pulse-animation 2s infinite;
}
.qpon-solution .solution-wrapper .wrapper-content:nth-child(odd)::after {
  content: "";
  background: #000;
  width: 20px;
  height: 20px;
  left: -11px;
  top: 0;
  border-radius: 10px;
  position: absolute;
}
.qpon-solution .solution-wrapper .wrapper-content:nth-child(even) {
  width: 50%;
  text-align: right;
  padding-right: 35px;
  position: relative;
}
.qpon-solution .solution-wrapper .wrapper-content:nth-child(even):hover {
  color: #86bb52;
  transition: 0.3s;
}
.qpon-solution .solution-wrapper .wrapper-content:nth-child(even):hover::after {
  background: #86bb52;
}
.qpon-solution .solution-wrapper .wrapper-content:nth-child(even)::before {
  position: absolute;
  content: "";
  background-repeat: no-repeat;
  background-size: cover;
  width: 20px;
  height: 20px;
  right: -10px;
  filter: grayscale(1);
  border-radius: 40px;
  animation: pulse-animation 2s infinite;
}
.qpon-solution .solution-wrapper .wrapper-content:nth-child(even)::after {
  content: "";
  background: #000;
  width: 20px;
  height: 20px;
  right: -10px;
  top: 0;
  border-radius: 10px;
  position: absolute;
}
@keyframes pulse-animation {
  0% {
    box-shadow: 0 0 0 0 #86bb52;
  }
  to {
    box-shadow: 0 0 0 10px transparent;
  }
}

/* -- QponApplication --------------------------------------------------------- */
.qpon-application {
  background-size: cover;
  background-repeat: no-repeat;
  text-align: center;
  color: #fff;
  padding: 50px 0;
  background-color: #86bb52;
  position: relative;
}
.qpon-application .application-content h2 {
  font-size: 60px;
  font-weight: 600;
  padding-bottom: 100px;
}
.qpon-application .application-content .explore-slider .slider-info img {
  height: 100%;
  width: 100%;
  padding-bottom: 50px;
}

/* -- QponConclusion ---------------------------------------------------------- */
.qpon-conclusion {
  background-color: #2e2e2e;
  text-align: center;
  min-height: 400px;
  display: flex;
  align-items: center;
}
.qpon-conclusion .conclusion-content h2 {
  color: #86bb52;
  font-size: 60px;
  font-weight: 600;
  padding-bottom: 20px;
}
.qpon-conclusion .conclusion-content p {
  color: #fff;
  font-size: 26px;
  font-weight: 400;
}

/* -- Cta (.main-cta-banner) -------------------------------------------------- */
.main-cta-banner {
  background: url("../images/cta-banner.webp");
  background-size: cover;
  padding: 60px 0;
  box-shadow: 0 0 10px rgb(0 0 0 / 53%);
  position: relative;
}
.main-cta-banner .cta-grid {
  display: grid;
  grid-template-columns: 1fr 0.8fr;
  grid-gap: 100px;
  align-items: center;
}
.main-cta-banner .left-cta-info h2 {
  font-size: 35px;
  font-weight: 700;
  text-transform: uppercase;
  margin-bottom: 15px;
  color: #fff;
}
.main-cta-banner .left-cta-info h2 span {
  color: #ffff00;
}
.main-cta-banner .left-cta-info p {
  color: #fff;
  font-size: 16px;
  margin: 0;
}
.main-cta-banner .right-cta-info .btn-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-gap: 15px;
}
.main-cta-banner .right-cta-info .btn-grid a {
  color: #fff;
  font-size: 16px;
  text-transform: uppercase;
  font-weight: 600;
  border: 2px solid #fff;
  width: 100%;
  padding: 12px;
  text-align: center;
  margin-bottom: 20px;
  transition: all ease 0.5s;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  text-decoration: none;
}
.main-cta-banner .right-cta-info .btn-grid a:nth-child(1) {
  margin-right: 15px;
}
.main-cta-banner .right-cta-info .btn-grid a:hover {
  background: #fff;
  color: #000;
}
.main-cta-banner .right-cta-info .btn-grid button.footer-custom-btn {
  color: #fff;
  font-size: 16px;
  text-transform: uppercase;
  font-weight: 600;
  border: 2px solid #fff;
  background: transparent;
  width: 100%;
  padding: 12px;
  text-align: center;
  margin-bottom: 20px;
  transition: all ease 0.5s;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}
.main-cta-banner .right-cta-info .btn-grid button.footer-custom-btn:hover {
  background: #fff;
  color: #000;
}
.main-cta-banner .right-cta-info .FullBtn {
  display: block;
  width: 100%;
  overflow: hidden;
  padding: 11px;
  color: #000;
  font-size: 18px;
  font-weight: 700;
  background: #fff;
  text-align: center;
  border: 2px solid transparent;
  transition: 0.5s;
  cursor: pointer;
}
.main-cta-banner .right-cta-info .FullBtn:hover {
  background: transparent;
  color: #fff;
  border: 2px solid #fff;
}

/* =============================================================================
   Qpon + Cta Responsive
   ============================================================================= */

@media (max-width: 1600px) {
  .qpon-banner {
    padding-top: 100px;
  }
  .qpon-banner .main-baner-grid .banner-content img {
    max-width: 150px;
    height: auto;
  }
  .qpon-banner .main-baner-grid .banner-content .qpon-logotype {
    font-size: 50px;
  }
  .qpon-banner .main-baner-grid .banner-content h2 {
    font-size: 35px;
  }
  .qpon-banner .main-baner-grid .banner-content h3 {
    font-size: 22px;
  }
  .qpon-banner
    .main-baner-grid
    .banner-content
    .info-upper
    .info-one
    .info-content
    .qb-label {
    font-size: 15px;
  }
  .qpon-banner
    .main-baner-grid
    .banner-content
    .info-upper
    .info-one
    .info-content
    p {
    font-size: 15px;
  }
  .qpon-about .about-content h2 {
    font-size: 50px;
  }
  .qpon-about .about-content p {
    margin-top: 120px;
    font-size: 24px;
  }
  .qpon-problem .problem-content h2 {
    font-size: 50px;
  }
  .qpon-problem .problem-content p {
    font-size: 26px;
  }
  .qpon-solution .solution-content h2 {
    font-size: 50px;
  }
  .qpon-solution .solution-content p {
    font-size: 28px;
  }
  .qpon-solution .solution-wrapper .wrapper-content h3 {
    font-size: 35px;
  }
  .qpon-solution .solution-wrapper .wrapper-content p {
    font-size: 26px;
  }
  .qpon-application .application-content h2 {
    font-size: 50px;
  }
  .qpon-conclusion .conclusion-content h2 {
    font-size: 50px;
  }
  .qpon-conclusion .conclusion-content p {
    font-size: 28px;
  }
}

@media (max-width: 1440px) {
  .qpon-banner {
    padding-top: 100px;
  }
  .qpon-banner .main-baner-grid .banner-content img {
    max-width: 120px;
    height: auto;
  }
  .qpon-banner .main-baner-grid .banner-content .qpon-logotype {
    font-size: 45px;
  }
  .qpon-banner .main-baner-grid .banner-content h2 {
    font-size: 30px;
  }
  .qpon-banner .main-baner-grid .banner-content h3 {
    font-size: 22px;
  }
  .qpon-banner .main-baner-grid .banner-content .info-upper {
    grid-template-columns: 0.8fr 1fr;
  }
  .qpon-about .about-content h2 {
    font-size: 45px;
  }
  .qpon-about .about-content p {
    margin-top: 120px;
    font-size: 22px;
  }
  .qpon-problem .problem-content h2 {
    font-size: 45px;
  }
  .qpon-problem .problem-content p {
    font-size: 24px;
  }
  .qpon-solution .solution-content h2 {
    font-size: 45px;
  }
  .qpon-solution .solution-content p {
    font-size: 26px;
  }
  .qpon-solution .solution-wrapper .wrapper-content h3 {
    font-size: 30px;
  }
  .qpon-solution .solution-wrapper .wrapper-content p {
    font-size: 24px;
  }
  .qpon-application .application-content h2 {
    font-size: 45px;
  }
  .qpon-conclusion .conclusion-content h2 {
    font-size: 45px;
  }
  .qpon-conclusion .conclusion-content p {
    font-size: 28px;
  }
}

@media (max-width: 1200px) {
  .main-cta-banner .left-cta-info h2 {
    font-size: 30px;
  }
}

@media (max-width: 1199px) {
  .qpon-banner .main-baner-grid .banner-content img {
    max-width: 100px;
    height: auto;
  }
  .qpon-banner .main-baner-grid .banner-content .qpon-logotype {
    font-size: 40px;
  }
  .qpon-banner .main-baner-grid .banner-content h2 {
    font-size: 28px;
  }
  .qpon-banner .main-baner-grid .banner-content h3 {
    font-size: 22px;
  }
  .qpon-banner .main-baner-grid .banner-content .info-upper {
    grid-template-columns: 0.8fr 1fr;
  }
  .qpon-about .about-content h2 {
    font-size: 40px;
  }
  .qpon-about .about-content p {
    margin-top: 120px;
    font-size: 22px;
  }
  .qpon-problem {
    min-height: 350px;
  }
  .qpon-problem .problem-content h2 {
    font-size: 40px;
  }
  .qpon-problem .problem-content p {
    font-size: 22px;
  }
  .qpon-solution .solution-content h2 {
    font-size: 40px;
  }
  .qpon-solution .solution-content p {
    font-size: 24px;
  }
  .qpon-solution .solution-wrapper .wrapper-content h3 {
    font-size: 28px;
  }
  .qpon-solution .solution-wrapper .wrapper-content p {
    font-size: 22px;
  }
  .qpon-application .application-content h2 {
    font-size: 40px;
  }
  .qpon-conclusion {
    min-height: 350px;
  }
  .qpon-conclusion .conclusion-content h2 {
    font-size: 40px;
  }
  .qpon-conclusion .conclusion-content p {
    font-size: 26px;
  }
}

@media (max-width: 1100px) {
  .main-cta-banner .left-cta-info h2 {
    font-size: 25px;
  }
  .main-cta-banner .right-cta-info .btn-grid a {
    font-size: 15px;
  }
  .main-cta-banner .right-cta-info .btn-grid button.footer-custom-btn {
    font-size: 15px;
  }
  .main-cta-banner .right-cta-info .FullBtn {
    font-size: 15px;
  }
}

@media (max-width: 991px) {
  .qpon-banner {
    padding-top: 80px;
  }
  .qpon-banner::before {
    display: none;
  }
  .qpon-banner .main-baner-grid {
    grid-template-columns: 1fr;
  }
  .qpon-banner .main-baner-grid .banner-content img {
    max-width: 100px;
    height: auto;
  }
  .qpon-banner .main-baner-grid .banner-content .qpon-logotype {
    font-size: 35px;
  }
  .qpon-banner .main-baner-grid .banner-content h2 {
    font-size: 26px;
  }
  .qpon-banner .main-baner-grid .banner-content h3 {
    font-size: 20px;
    padding-bottom: 30px;
  }
  .qpon-banner .main-baner-grid .banner-content .info-upper {
    grid-template-columns: 0.8fr 1fr;
  }
  .qpon-about {
    padding-top: 80px;
  }
  .qpon-about > img {
    width: 100%;
    margin-top: 0;
  }
  .qpon-about .about-content {
    grid-template-columns: 1fr;
    grid-gap: 0;
  }
  .qpon-about .about-content h2 {
    font-size: 35px;
    text-align: center;
  }
  .qpon-about .about-content p {
    text-align: center;
    margin-top: 0;
    font-size: 22px;
  }
  .qpon-problem {
    min-height: 350px;
  }
  .qpon-problem .problem-content h2 {
    font-size: 35px;
  }
  .qpon-problem .problem-content p {
    font-size: 22px;
  }
  .qpon-solution .solution-content h2 {
    font-size: 35px;
  }
  .qpon-solution .solution-content p {
    font-size: 24px;
  }
  .qpon-solution .solution-wrapper .wrapper-content h3 {
    font-size: 26px;
  }
  .qpon-solution .solution-wrapper .wrapper-content p {
    font-size: 20px;
  }
  .qpon-application .application-content h2 {
    font-size: 35px;
  }
  .qpon-conclusion {
    min-height: 100%;
    padding: 50px 0;
  }
  .qpon-conclusion .conclusion-content h2 {
    font-size: 35px;
  }
  .qpon-conclusion .conclusion-content p {
    font-size: 24px;
  }
  .main-cta-banner .cta-grid {
    grid-template-columns: 1fr 0.9fr;
    grid-gap: 20px;
  }
  .main-cta-banner .left-cta-info h2 {
    font-size: 22px;
  }
  .main-cta-banner .left-cta-info p {
    font-size: 12px;
  }
  .main-cta-banner .right-cta-info .btn-grid a {
    font-size: 12px;
  }
  .main-cta-banner .right-cta-info .btn-grid button.footer-custom-btn {
    font-size: 12px;
  }
  .main-cta-banner .right-cta-info .FullBtn {
    font-size: 12px;
  }
}

@media (max-width: 767px) {
  .qpon-banner {
    padding-top: 60px;
  }
  .qpon-banner .main-baner-grid .banner-content {
    text-align: center;
  }
  .qpon-banner .main-baner-grid .banner-content .qpon-logotype {
    font-size: 30px;
  }
  .qpon-banner .main-baner-grid .banner-content h2 {
    font-size: 24px;
  }
  .qpon-banner .main-baner-grid .banner-content h3 {
    font-size: 18px;
    padding-bottom: 20px;
  }
  .qpon-banner .main-baner-grid .banner-content .info-upper {
    text-align: left;
  }
  .qpon-about .about-content h2 {
    font-size: 30px;
    padding-bottom: 20px;
  }
  .qpon-about .about-content p {
    font-size: 20px;
  }
  .qpon-problem {
    min-height: 380px;
  }
  .qpon-problem .problem-content h2 {
    font-size: 30px;
  }
  .qpon-problem .problem-content p {
    font-size: 20px;
  }
  .qpon-solution {
    padding: 80px 0;
    background-position: center;
  }
  .qpon-solution .solution-content {
    padding-bottom: 30px;
  }
  .qpon-solution .solution-content h2 {
    font-size: 30px;
  }
  .qpon-solution .solution-content p {
    font-size: 20px;
  }
  .qpon-solution .solution-wrapper::before {
    content: none;
  }
  .qpon-solution .solution-wrapper .wrapper-content:nth-child(odd) {
    width: 100%;
    text-align: center;
    padding: 0;
  }
  .qpon-solution .solution-wrapper .wrapper-content:nth-child(odd)::before {
    content: none;
  }
  .qpon-solution .solution-wrapper .wrapper-content:nth-child(odd)::after {
    content: none;
  }
  .qpon-solution .solution-wrapper .wrapper-content:nth-child(even) {
    width: 100%;
    text-align: center;
    padding: 0;
  }
  .qpon-solution .solution-wrapper .wrapper-content:nth-child(even)::before {
    content: none;
  }
  .qpon-solution .solution-wrapper .wrapper-content:nth-child(even)::after {
    content: none;
  }
  .qpon-solution .solution-wrapper .wrapper-content h3 {
    font-size: 24px;
  }
  .qpon-solution .solution-wrapper .wrapper-content p {
    font-size: 18px;
  }
  .qpon-application .application-content h2 {
    font-size: 30px;
    padding-bottom: 40px;
  }
  .qpon-conclusion .conclusion-content h2 {
    font-size: 30px;
  }
  .qpon-conclusion .conclusion-content p {
    font-size: 22px;
  }
  .main-cta-banner .cta-grid {
    grid-template-columns: 1fr;
    grid-gap: 30px;
  }
  .main-cta-banner .left-cta-info {
    text-align: center;
  }
  .main-cta-banner .left-cta-info h2 {
    font-size: 22px;
  }
  .main-cta-banner .left-cta-info p {
    font-size: 14px;
  }
  .main-cta-banner .right-cta-info .btn-grid a {
    font-size: 14px;
  }
  .main-cta-banner .right-cta-info .btn-grid button.footer-custom-btn {
    font-size: 14px;
  }
  .main-cta-banner .right-cta-info .FullBtn {
    font-size: 14px;
  }
}

@media (max-width: 575px) {
  .qpon-banner {
    padding-top: 40px;
  }
  .qpon-banner .main-baner-grid .banner-content .qpon-logotype {
    font-size: 28px;
  }
  .qpon-banner .main-baner-grid .banner-content h2 {
    font-size: 20px;
  }
  .qpon-banner .main-baner-grid .banner-content h3 {
    font-size: 16px;
  }
  .qpon-problem {
    min-height: 350px;
  }
  .qpon-problem .problem-content h2 {
    font-size: 28px;
  }
  .qpon-problem .problem-content p {
    font-size: 18px;
  }
  .qpon-solution .solution-content h2 {
    font-size: 28px;
  }
  .qpon-solution .solution-content p {
    font-size: 18px;
  }
  .qpon-solution .solution-wrapper .wrapper-content h3 {
    font-size: 22px;
  }
  .qpon-solution .solution-wrapper .wrapper-content p {
    font-size: 16px;
  }
  .qpon-application .application-content h2 {
    font-size: 28px;
    padding-bottom: 20px;
  }
  .qpon-conclusion .conclusion-content h2 {
    font-size: 28px;
  }
  .qpon-conclusion .conclusion-content p {
    font-size: 18px;
  }
}

@media (max-width: 479px) {
  .qpon-banner {
    padding-top: 40px;
  }
  .qpon-banner .main-baner-grid .banner-content .qpon-logotype {
    font-size: 28px;
  }
  .qpon-banner .main-baner-grid .banner-content h2 {
    font-size: 20px;
  }
  .qpon-banner .main-baner-grid .banner-content h3 {
    font-size: 16px;
  }
  .qpon-banner
    .main-baner-grid
    .banner-content
    .info-upper
    .info-one
    .info-content {
    width: 100%;
  }
  .qpon-about .about-content h2 {
    font-size: 28px;
    padding-bottom: 10px;
  }
  .qpon-about .about-content p {
    font-size: 18px;
  }
  .qpon-problem {
    min-height: 100%;
    padding: 50px 0;
  }
  .qpon-problem .problem-content h2 {
    font-size: 26px;
  }
  .qpon-problem .problem-content p {
    font-size: 15px;
  }
  .qpon-solution .solution-content h2 {
    font-size: 26px;
  }
  .qpon-solution .solution-content p {
    font-size: 15px;
  }
  .qpon-solution .solution-wrapper .wrapper-content h3 {
    font-size: 20px;
  }
  .qpon-solution .solution-wrapper .wrapper-content p {
    font-size: 14px;
  }
  .qpon-application .application-content h2 {
    font-size: 26px;
    padding-bottom: 20px;
  }
  .qpon-conclusion .conclusion-content h2 {
    font-size: 26px;
  }
  .qpon-conclusion .conclusion-content p {
    font-size: 15px;
  }
  .main-cta-banner .left-cta-info h2 {
    font-size: 20px;
  }
  .main-cta-banner .left-cta-info p {
    font-size: 13px;
  }
  .main-cta-banner .right-cta-info .btn-grid a {
    font-size: 13px;
  }
  .main-cta-banner .right-cta-info .btn-grid button.footer-custom-btn {
    font-size: 13px;
  }
  .main-cta-banner .right-cta-info .FullBtn {
    font-size: 13px;
  }
}

@media (max-width: 400px) {
  .qpon-banner .main-baner-grid .banner-content .qpon-logotype {
    font-size: 26px;
  }
  .qpon-banner .main-baner-grid .banner-content h2 {
    font-size: 18px;
  }
  .qpon-banner .main-baner-grid .banner-content h3 {
    font-size: 15px;
  }
  .qpon-banner .main-baner-grid .banner-content .info-upper {
    grid-template-columns: 1fr;
  }
  .qpon-about .about-content h2 {
    font-size: 26px;
    padding-bottom: 10px;
  }
  .qpon-about .about-content p {
    font-size: 15px;
  }
  .qpon-problem .problem-content h2 {
    font-size: 26px;
  }
  .qpon-problem .problem-content p {
    font-size: 15px;
  }
  .qpon-solution .solution-content h2 {
    font-size: 25px;
  }
  .qpon-solution .solution-content p {
    font-size: 15px;
  }
  .qpon-solution .solution-wrapper .wrapper-content h3 {
    font-size: 18px;
  }
  .qpon-solution .solution-wrapper .wrapper-content p {
    font-size: 14px;
  }
  .qpon-application .application-content h2 {
    font-size: 24px;
  }
  .qpon-conclusion .conclusion-content h2 {
    font-size: 26px;
  }
  .qpon-conclusion .conclusion-content p {
    font-size: 15px;
  }
}

@media (max-width: 300px) {
  .main-cta-banner .right-cta-info .btn-grid {
    grid-template-columns: 1fr;
    grid-gap: 0;
  }
  .main-cta-banner .right-cta-info .btn-grid a {
    margin: 0;
    font-size: 13px;
  }
  .main-cta-banner .right-cta-info .btn-grid button.footer-custom-btn {
    font-size: 13px;
  }
  .main-cta-banner .right-cta-info .FullBtn {
    font-size: 13px;
  }
}

/* =============================================================================
   Soccerfy Case Study
   ============================================================================= */

/* -- Section 1: Banner ------------------------------------------------------- */
.soccerfy-sec1 {
  position: relative;
  margin-top: 80px;
  background-size: cover;
  background-position: center;
  background-image: url("../images/case-studies/soccerfy/banner-wave.webp");
  height: 974px;
  background-repeat: no-repeat;
  padding-top: 60px;
}
.soccerfy-sec1 .prev-btn {
  position: absolute;
  top: 0;
  left: 6%;
  color: #4c525c;
  z-index: 99;
}
.soccerfy-sec1 .prev-btn a {
  color: #0bd86c;
  text-transform: uppercase;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 1px;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  transition: color 0.3s;
  padding-block: 2px; /* Tap target 24 px (WCAG 2.2 AA, fix plan #73/#130/#132): negative margin keeps the layout */
  margin-block: -2px;
}
.soccerfy-sec1 .prev-btn a:hover {
  color: #0056b3;
}
.soccerfy-sec1 .banner-info p {
  font-weight: 600;
  color: #757676;
  padding-right: 52%;
  font-size: 26px;
  margin: 30px 0 25px;
}
/* Hero title is the page's H1 (fix plan #11, moved from the component's inline <style>). */
.soccerfy-sec1 .banner-info h1.soc-title {
  margin: 0;
  font: inherit;
  color: inherit;
}
.soccerfy-sec1 .banner-info .soc-tagline {
  display: block;
  font-weight: 600;
  color: #757676;
  padding-right: 52%;
  font-size: 26px;
  margin: 30px 0 25px;
}
@media (max-width: 1200px) {
  .soccerfy-sec1 .banner-info .soc-tagline {
    font-size: 24px;
    margin-top: 10px;
  }
}
@media (max-width: 991px) {
  .soccerfy-sec1 .banner-info .soc-tagline {
    font-size: 22px;
  }
}
@media (max-width: 767px) {
  .soccerfy-sec1 .banner-info .soc-tagline {
    font-size: 20px;
  }
}
@media (max-width: 576px) {
  .soccerfy-sec1 .banner-info .soc-tagline {
    font-size: 18px;
    text-align: center;
    padding: 0;
  }
}
@media (max-width: 400px) {
  .soccerfy-sec1 .banner-info .soc-tagline {
    font-size: 16px;
  }
}
.soccerfy-sec1 .banner-info a {
  color: #1eaf62;
  border: 1px solid #1eaf62;
  padding: 10px 17px;
  text-transform: uppercase;
  font-weight: 600;
  font-size: 17px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  text-decoration: none;
  transition:
    background-color 0.3s,
    color 0.3s;
}
.soccerfy-sec1 .banner-info a:hover {
  background-color: #1eaf62;
  color: #fff;
}

/* -- Section 2: This is Soccerfy --------------------------------------------- */
.soccerfy-sec2 .soccerfy-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
}
.soccerfy-sec2 .soccerfy-grid .left-info img {
  width: auto;
  height: auto;
}
.soccerfy-sec2 .soccerfy-grid .right-info h2 {
  color: #0bd769;
  font-weight: 700;
  font-size: 60px;
  padding-right: 10%;
  margin-bottom: 20px;
  line-height: 60px;
}
.soccerfy-sec2 .soccerfy-grid .right-info p {
  color: #55e289;
  font-size: 24px;
}
.soccerfy-sec2 .soccerfy-grid .right-info .num-circle {
  color: #159640;
  font-size: 25px;
  position: relative;
  display: inline-block;
  margin: 0 0 30px 0;
  padding: 30px;
  background-image: url("../images/case-studies/soccerfy/num.webp");
  background-repeat: no-repeat;
  background-size: contain;
}

/* -- Section 3: Stay Updated ------------------------------------------------- */
.soccerfy-sec3 {
  background: #0bd769;
  color: #fff;
  padding: 180px 0 0;
  margin-top: -200px;
}
.soccerfy-sec3 .stay-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
}
.soccerfy-sec3 .stay-grid .left-info ul {
  padding: 0;
  margin: 140px 0 0;
  list-style: none;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
}
.soccerfy-sec3 .stay-grid .left-info ul li {
  background: #fff;
  margin: 0;
  padding: 70px 0 0 0;
  height: 275px;
  width: 275px;
  color: #0bd769;
  text-align: center;
  box-shadow: 0 0 10px 1px #5a5a5a;
}
.soccerfy-sec3 .stay-grid .left-info ul li p {
  font-size: 25px;
  font-weight: 700;
  margin: 13px 0;
}
.soccerfy-sec3 .stay-grid .left-info ul .soc_icon2 {
  transform: translate(-50px, 140px);
}
.soccerfy-sec3 .stay-grid .left-info ul .soc_icon3 {
  transform: translate(0, 90px);
}
.soccerfy-sec3 .stay-grid .left-info ul .soc_icon4 {
  transform: translate(-50px, 270px);
}
.soccerfy-sec3 .stay-grid .left-info ul .soc_icon5 {
  transform: translate(30px, 220px);
}
.soccerfy-sec3 .stay-grid .right-info {
  text-align: right;
}
.soccerfy-sec3 .stay-grid .right-info h2 {
  font-weight: 700;
  font-size: 60px;
  line-height: 65px;
  margin-bottom: 30px;
}
.soccerfy-sec3 .stay-grid .right-info p {
  font-size: 25px;
  margin-bottom: 70px;
}
.soccerfy-sec3 .stay-grid .right-info .num-circle {
  color: #fff;
  filter: brightness(50);
  font-size: 25px;
  position: relative;
  display: inline-block;
  margin: 0 0 30px 0;
  padding: 30px;
  background-image: url("../images/case-studies/soccerfy/num.webp");
  background-repeat: no-repeat;
  background-size: contain;
}
.soccerfy-sec3 .stay-grid .right-info img {
  margin-bottom: -100px;
  width: auto;
  height: auto;
}

/* -- Section 4: Interactive Interface ---------------------------------------- */
.soccerfy-sec4 {
  position: relative;
  padding: 220px 0 0;
}
.soccerfy-sec4 .soccerfy-sec4-wrap {
  position: relative;
}
.soccerfy-sec4 .soccerfy-sec4-wrap .app-info {
  position: absolute;
  right: 0;
  width: 55%;
}
.soccerfy-sec4 .soccerfy-sec4-wrap .app-info .num-circle {
  color: #159640;
  font-size: 25px;
  position: relative;
  display: inline-block;
  margin: 0 0 30px 0;
  padding: 30px;
  background-image: url("../images/case-studies/soccerfy/num.webp");
  background-repeat: no-repeat;
  background-size: contain;
}
.soccerfy-sec4 .soccerfy-sec4-wrap .app-info h2 {
  font-size: 60px;
  font-weight: 700;
  color: #0bd769;
  margin-bottom: 30px;
  line-height: 62px;
}
.soccerfy-sec4 .soccerfy-sec4-wrap .app-info p {
  color: #0bd769;
  font-size: 25px;
}
.soccerfy-sec4 > .container > img {
  position: relative;
  z-index: 10;
}

/* -- Section 5: Logo Design -------------------------------------------------- */
.soccerfy-sec5 {
  background: #343635;
  color: #fff;
  position: relative;
  padding: 17% 0 260px;
  margin-top: -17%;
}
.soccerfy-sec5 .soccerfy-sec5-wrap {
  position: relative;
}
.soccerfy-sec5 .soccerfy-sec5-wrap .design-info {
  position: absolute;
  left: 0;
  width: 50%;
}
.soccerfy-sec5 .soccerfy-sec5-wrap .design-info .num-circle {
  color: #fff;
  filter: brightness(50);
  font-size: 25px;
  position: relative;
  display: inline-block;
  margin: 0 0 30px 0;
  padding: 30px;
  background-image: url("../images/case-studies/soccerfy/num.webp");
  background-repeat: no-repeat;
  background-size: contain;
}
.soccerfy-sec5 .soccerfy-sec5-wrap .design-info h2 {
  font-size: 60px;
  font-weight: 700;
  margin-bottom: 30px;
  line-height: 62px;
}
.soccerfy-sec5 .soccerfy-sec5-wrap .design-info p {
  font-size: 25px;
}
.soccerfy-sec5 .main-img {
  text-align: right;
}
.soccerfy-sec5 .main-img img {
  position: relative;
  top: 190px;
}

/* -- Section 6: Typeface ----------------------------------------------------- */
.soccerfy-sec6 {
  text-align: center;
  padding: 30px 0;
  background-image: url("../images/case-studies/soccerfy/soccerfy_01-redesign.webp");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  margin-top: 500px;
  height: 1000px;
}
.soccerfy-sec6 .space {
  margin-top: -35%;
}
.soccerfy-sec6 .space .num-circle {
  color: #159640;
  font-size: 25px;
  position: relative;
  display: inline-block;
  margin: 0 0 30px 0;
  padding: 30px;
  background-image: url("../images/case-studies/soccerfy/num.webp");
  background-repeat: no-repeat;
  background-size: contain;
}
.soccerfy-sec6 .space h2 {
  font-size: 60px;
  font-weight: 700;
  color: #0bd769;
  margin-bottom: 30px;
  line-height: 62px;
}
.soccerfy-sec6 .space p {
  color: #0bd769;
  font-size: 25px;
  margin-bottom: 50px;
  padding: 0 14%;
}
.soccerfy-sec6 .space .soccerfy-sec6-wrap {
  width: 100%;
  border: 2px dashed #ff7d4d;
  padding: 50px;
  box-shadow: 0 0 20px 2px #ccc;
  background: #fff;
}
.soccerfy-sec6 .space .soccerfy-sec6-wrap h2 {
  color: #000;
  font-weight: 700;
  border-bottom: 1px solid #ccc;
  padding-bottom: 25px;
  margin-bottom: 25px;
  font-size: 60px;
}
.soccerfy-sec6 .space .soccerfy-sec6-wrap h2 span {
  font-weight: 400;
}
.soccerfy-sec6 .space .soccerfy-sec6-wrap h3 {
  font-size: 32px;
  font-weight: 500;
  border-bottom: 1px solid #ccc;
  padding-bottom: 25px;
  margin-bottom: 25px;
}
.soccerfy-sec6 .space .soccerfy-sec6-wrap h3 span {
  font-weight: 300;
}
.soccerfy-sec6 .space .soccerfy-sec6-wrap h4 {
  font-size: 20px;
  font-weight: 200;
  border-bottom: 1px solid #ccc;
  padding-bottom: 25px;
}
.soccerfy-sec6 .space .soccerfy-sec6-wrap h4 span {
  font-weight: 100;
}

/* -- Section 7: Result ------------------------------------------------------- */
.soccerfy-sec7 {
  text-align: center;
  height: 900px;
  display: flex;
  align-items: center;
  background-image: url("../images/case-studies/soccerfy/section9.webp");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}
.soccerfy-sec7 .container {
  width: 100%;
}
.soccerfy-sec7 .num-circle {
  color: #159640;
  font-size: 25px;
  position: relative;
  display: inline-block;
  margin: 0 0 30px 0;
  padding: 30px;
  background-image: url("../images/case-studies/soccerfy/num.webp");
  background-repeat: no-repeat;
  background-size: contain;
}
.soccerfy-sec7 h2 {
  font-size: 60px;
  font-weight: 700;
  color: #0bd769;
  margin-bottom: 30px;
  line-height: 62px;
}
.soccerfy-sec7 h6, .soccerfy-sec7 .sf-result-sub {
  color: #5a5a5a;
  font-size: 35px;
  letter-spacing: 2px;
  margin-bottom: 40px;
}
.soccerfy-sec7 p {
  color: #696969;
  font-size: 30px;
  margin: 50px 0 60px;
}
.soccerfy-sec7 a {
  color: #1eaf62;
  border: 1px solid #1eaf62;
  padding: 10px 17px;
  text-transform: uppercase;
  font-weight: 600;
  font-size: 17px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  text-decoration: none;
  transition:
    background-color 0.3s,
    color 0.3s;
}
.soccerfy-sec7 a:hover {
  background-color: #1eaf62;
  color: #fff;
}

/* =============================================================================
   Soccerfy Responsive
   ============================================================================= */

@media (max-width: 1600px) {
  .soccerfy-sec1 {
    height: 900px;
  }
  .soccerfy-sec1 .prev-btn {
    top: 0;
    left: 5%;
  }
  .soccerfy-sec1 .prev-btn a {
    font-size: 16px;
  }
  .soccerfy-sec1 .banner-info p {
    font-size: 26px;
  }
  .soccerfy-sec1 .banner-info a {
    font-size: 17px;
  }
  .soccerfy-sec2 .soccerfy-grid .right-info h2 {
    font-size: 50px;
  }
  .soccerfy-sec2 .soccerfy-grid .right-info p {
    font-size: 24px;
  }
  .soccerfy-sec2 .soccerfy-grid .right-info .num-circle {
    font-size: 24px;
  }
  .soccerfy-sec3 .stay-grid .right-info h2 {
    font-size: 50px;
  }
  .soccerfy-sec3 .stay-grid .right-info p {
    font-size: 24px;
  }
  .soccerfy-sec3 .stay-grid .right-info .num-circle {
    font-size: 24px;
  }
  .soccerfy-sec3 .stay-grid .left-info ul li p {
    font-size: 22px;
  }
  .soccerfy-sec4 .soccerfy-sec4-wrap .app-info .num-circle {
    font-size: 24px;
  }
  .soccerfy-sec4 .soccerfy-sec4-wrap .app-info h2 {
    font-size: 50px;
  }
  .soccerfy-sec4 .soccerfy-sec4-wrap .app-info p {
    font-size: 24px;
  }
  .soccerfy-sec5 .soccerfy-sec5-wrap .design-info .num-circle {
    font-size: 24px;
  }
  .soccerfy-sec5 .soccerfy-sec5-wrap .design-info h2 {
    font-size: 50px;
  }
  .soccerfy-sec5 .soccerfy-sec5-wrap .design-info p {
    font-size: 24px;
  }
  .soccerfy-sec6 .space .num-circle {
    font-size: 24px;
  }
  .soccerfy-sec6 .space h2 {
    font-size: 50px;
  }
  .soccerfy-sec6 .space p {
    font-size: 24px;
  }
  .soccerfy-sec6 .space .soccerfy-sec6-wrap h2 {
    font-size: 50px;
  }
  .soccerfy-sec6 .space .soccerfy-sec6-wrap h3 {
    font-size: 30px;
  }
  .soccerfy-sec7 .num-circle {
    font-size: 24px;
  }
  .soccerfy-sec7 h2 {
    font-size: 50px;
  }
  .soccerfy-sec7 h6, .soccerfy-sec7 .sf-result-sub {
    font-size: 30px;
  }
  .soccerfy-sec7 p {
    font-size: 28px;
  }
  .soccerfy-sec7 a {
    font-size: 16px;
  }
}

@media (max-width: 1440px) {
  .soccerfy-sec1 {
    height: 800px;
    background-size: cover;
    margin-top: 200px;
  }
  .soccerfy-sec1 .soc-main {
    position: relative;
    margin-top: -100px;
  }
  .soccerfy-sec1 .prev-btn {
    top: -80px;
    left: 0;
  }
  .soccerfy-sec1 .prev-btn a {
    font-size: 16px;
  }
  .soccerfy-sec1 .banner-info p {
    font-size: 26px;
  }
  .soccerfy-sec1 .banner-info a {
    font-size: 17px;
  }
  .soccerfy-sec2 .soccerfy-grid .right-info h2 {
    font-size: 40px;
  }
  .soccerfy-sec2 .soccerfy-grid .right-info p {
    font-size: 24px;
  }
  .soccerfy-sec2 .soccerfy-grid .right-info .num-circle {
    font-size: 24px;
  }
  .soccerfy-sec3 .stay-grid .left-info ul li {
    width: 250px;
    height: 250px;
    padding: 0;
    display: flex;
    text-align: center;
    flex-direction: column;
    justify-content: center;
  }
  .soccerfy-sec3 .stay-grid .left-info ul li img {
    width: 80px;
    height: auto;
  }
  .soccerfy-sec3 .stay-grid .left-info ul li p {
    font-size: 20px;
    margin-bottom: 0;
  }
  .soccerfy-sec3 .stay-grid .right-info h2 {
    font-size: 40px;
    line-height: 1.5;
  }
  .soccerfy-sec3 .stay-grid .right-info p {
    font-size: 22px;
  }
  .soccerfy-sec3 .stay-grid .right-info .num-circle {
    font-size: 22px;
  }
  .soccerfy-sec4 .soccerfy-sec4-wrap .app-info .num-circle {
    font-size: 24px;
  }
  .soccerfy-sec4 .soccerfy-sec4-wrap .app-info h2 {
    font-size: 40px;
  }
  .soccerfy-sec4 .soccerfy-sec4-wrap .app-info p {
    font-size: 24px;
  }
  .soccerfy-sec5 .soccerfy-sec5-wrap .design-info .num-circle {
    font-size: 22px;
  }
  .soccerfy-sec5 .soccerfy-sec5-wrap .design-info h2 {
    font-size: 40px;
  }
  .soccerfy-sec5 .soccerfy-sec5-wrap .design-info p {
    font-size: 22px;
  }
  .soccerfy-sec6 {
    height: 800px;
    margin-top: 470px;
  }
  .soccerfy-sec6 .space .num-circle {
    font-size: 22px;
    background-size: contain;
  }
  .soccerfy-sec6 .space h2 {
    font-size: 40px;
  }
  .soccerfy-sec6 .space p {
    font-size: 22px;
  }
  .soccerfy-sec6 .space .soccerfy-sec6-wrap h2 {
    font-size: 40px;
  }
  .soccerfy-sec6 .space .soccerfy-sec6-wrap h3 {
    font-size: 28px;
  }
  .soccerfy-sec7 {
    height: 700px;
  }
  .soccerfy-sec7 .num-circle {
    font-size: 24px;
    background-size: contain;
  }
  .soccerfy-sec7 h2 {
    font-size: 40px;
  }
  .soccerfy-sec7 h6, .soccerfy-sec7 .sf-result-sub {
    font-size: 28px;
  }
  .soccerfy-sec7 p {
    font-size: 26px;
  }
  .soccerfy-sec7 a {
    font-size: 16px;
  }
}

@media (max-width: 1200px) {
  .soccerfy-sec1 {
    height: 600px;
  }
  .soccerfy-sec1 .soc-main {
    position: relative;
    margin-top: -130px;
  }
  .soccerfy-sec1 .banner-info img {
    width: 120px;
    height: auto;
  }
  .soccerfy-sec1 .prev-btn a {
    font-size: 15px;
  }
  .soccerfy-sec1 .banner-info p {
    font-size: 24px;
    margin-top: 10px;
  }
  .soccerfy-sec1 .banner-info a {
    font-size: 15px;
  }
  .soccerfy-sec2 .soccerfy-grid {
    grid-gap: 50px;
  }
  .soccerfy-sec2 .soccerfy-grid .left-info img {
    width: 100%;
    height: auto;
  }
  .soccerfy-sec2 .soccerfy-grid .right-info h2 {
    font-size: 35px;
    margin-bottom: 10px;
  }
  .soccerfy-sec2 .soccerfy-grid .right-info p {
    font-size: 22px;
  }
  .soccerfy-sec2 .soccerfy-grid .right-info .num-circle {
    font-size: 22px;
  }
  .soccerfy-sec3 .stay-grid .left-info ul li {
    width: 200px;
    height: 200px;
    padding: 0;
    display: flex;
    text-align: center;
    flex-direction: column;
    justify-content: center;
  }
  .soccerfy-sec3 .stay-grid .left-info ul li img {
    width: 60px;
    height: auto;
  }
  .soccerfy-sec3 .stay-grid .left-info ul li p {
    font-size: 18px;
    margin-bottom: 0;
  }
  .soccerfy-sec3 .stay-grid .right-info h2 {
    font-size: 35px;
  }
  .soccerfy-sec3 .stay-grid .right-info p {
    font-size: 20px;
  }
  .soccerfy-sec3 .stay-grid .right-info .num-circle {
    font-size: 20px;
  }
  .soccerfy-sec4 .soccerfy-sec4-wrap .app-info .num-circle {
    font-size: 22px;
    background-size: contain;
  }
  .soccerfy-sec4 .soccerfy-sec4-wrap .app-info h2 {
    font-size: 35px;
    margin-bottom: 10px;
  }
  .soccerfy-sec4 .soccerfy-sec4-wrap .app-info p {
    font-size: 22px;
  }
  .soccerfy-sec4 > .container > img {
    width: 100%;
    height: auto;
  }
  .soccerfy-sec5 .soccerfy-sec5-wrap .design-info .num-circle {
    font-size: 22px;
    background-size: contain;
  }
  .soccerfy-sec5 .soccerfy-sec5-wrap .design-info h2 {
    font-size: 35px;
    line-height: 1.5;
  }
  .soccerfy-sec5 .soccerfy-sec5-wrap .design-info p {
    font-size: 22px;
  }
  .soccerfy-sec5 .main-img img {
    top: 190px;
  }
  .soccerfy-sec6 {
    height: 700px;
    margin-top: 370px;
  }
  .soccerfy-sec6 .space .num-circle {
    font-size: 20px;
    background-size: contain;
  }
  .soccerfy-sec6 .space h2 {
    font-size: 35px;
    line-height: 1.5;
  }
  .soccerfy-sec6 .space p {
    font-size: 20px;
  }
  .soccerfy-sec6 .space .soccerfy-sec6-wrap h2 {
    font-size: 35px;
    line-height: 1.5;
  }
  .soccerfy-sec6 .space .soccerfy-sec6-wrap h3 {
    font-size: 26px;
  }
  .soccerfy-sec7 {
    height: 700px;
  }
  .soccerfy-sec7 .num-circle {
    font-size: 24px;
    background-size: contain;
  }
  .soccerfy-sec7 h2 {
    font-size: 35px;
    margin-bottom: 20px;
  }
  .soccerfy-sec7 h6, .soccerfy-sec7 .sf-result-sub {
    font-size: 26px;
    margin-bottom: 20px;
  }
  .soccerfy-sec7 p {
    font-size: 24px;
  }
  .soccerfy-sec7 a {
    font-size: 15px;
  }
}

@media (max-width: 991px) {
  .soccerfy-sec1 {
    height: 480px;
  }
  .soccerfy-sec1 .soc-main {
    margin-top: -130px;
  }
  .soccerfy-sec1 .prev-btn a {
    font-size: 14px;
  }
  .soccerfy-sec1 .banner-info p {
    font-size: 22px;
  }
  .soccerfy-sec1 .banner-info a {
    font-size: 14px;
  }
  .soccerfy-sec2 .soccerfy-grid {
    grid-gap: 50px;
    align-items: flex-start;
  }
  .soccerfy-sec2 .soccerfy-grid .left-info img {
    width: 100%;
    height: auto;
  }
  .soccerfy-sec2 .soccerfy-grid .right-info h2 {
    font-size: 30px;
  }
  .soccerfy-sec2 .soccerfy-grid .right-info p {
    font-size: 18px;
  }
  .soccerfy-sec2 .soccerfy-grid .right-info .num-circle {
    font-size: 20px;
    background-size: contain;
  }
  .soccerfy-sec3 .stay-grid {
    grid-template-columns: 1fr;
    grid-gap: 50px;
  }
  .soccerfy-sec3 .stay-grid .left-info ul {
    justify-content: center;
    gap: 20px;
  }
  .soccerfy-sec3 .stay-grid .left-info ul li {
    width: 200px;
    height: 200px;
    padding: 0;
    transform: translate(0, 0) !important;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }
  .soccerfy-sec3 .stay-grid .left-info ul li img {
    width: 60px;
    height: auto;
  }
  .soccerfy-sec3 .stay-grid .left-info ul li p {
    font-size: 18px;
    margin-bottom: 0;
  }
  .soccerfy-sec3 .stay-grid .right-info {
    text-align: center;
  }
  .soccerfy-sec3 .stay-grid .right-info h2 {
    font-size: 30px;
  }
  .soccerfy-sec3 .stay-grid .right-info p {
    font-size: 18px;
  }
  .soccerfy-sec3 .stay-grid .right-info .num-circle {
    font-size: 18px;
    background-size: contain;
  }
  .soccerfy-sec4 {
    padding-bottom: 60px;
  }
  .soccerfy-sec4 .soccerfy-sec4-wrap .app-info {
    width: 100%;
    position: relative;
    text-align: center;
  }
  .soccerfy-sec4 .soccerfy-sec4-wrap .app-info .num-circle {
    font-size: 20px;
    background-size: contain;
  }
  .soccerfy-sec4 .soccerfy-sec4-wrap .app-info h2 {
    font-size: 30px;
    margin-bottom: 10px;
    line-height: 1.5;
  }
  .soccerfy-sec4 .soccerfy-sec4-wrap .app-info p {
    font-size: 18px;
  }
  .soccerfy-sec4 > .container > img {
    width: 100%;
    height: auto;
  }
  .soccerfy-sec5 {
    margin-top: 0;
  }
  .soccerfy-sec5 .soccerfy-sec5-wrap .design-info .num-circle {
    font-size: 20px;
  }
  .soccerfy-sec5 .soccerfy-sec5-wrap .design-info h2 {
    font-size: 30px;
    line-height: 1.5;
  }
  .soccerfy-sec5 .soccerfy-sec5-wrap .design-info p {
    font-size: 20px;
  }
  .soccerfy-sec5 .main-img img {
    top: 190px;
    width: 100%;
    height: auto;
  }
  .soccerfy-sec6 {
    height: 700px;
    margin-top: 250px;
  }
  .soccerfy-sec6 .space .num-circle {
    font-size: 20px;
    background-size: contain;
  }
  .soccerfy-sec6 .space h2 {
    font-size: 30px;
    line-height: 1.5;
  }
  .soccerfy-sec6 .space p {
    font-size: 20px;
    padding: 0;
  }
  .soccerfy-sec6 .space .soccerfy-sec6-wrap h2 {
    font-size: 30px;
    line-height: 1.5;
  }
  .soccerfy-sec6 .space .soccerfy-sec6-wrap h3 {
    font-size: 25px;
  }
}

@media (max-width: 767px) {
  .soccerfy-sec1 {
    height: 500px;
    background-position: bottom center;
    background-size: 100%;
  }
  .soccerfy-sec1 .soc-main {
    margin-top: -130px;
  }
  .soccerfy-sec1 .prev-btn a {
    font-size: 14px;
  }
  .soccerfy-sec1 .banner-info p {
    font-size: 20px;
  }
  .soccerfy-sec1 .banner-info a {
    font-size: 14px;
  }
  .soccerfy-sec2 {
    padding-top: 40px;
  }
  .soccerfy-sec2 .soccerfy-grid {
    display: flex;
    flex-direction: column-reverse;
  }
  .soccerfy-sec2 .soccerfy-grid .left-info img {
    width: 80%;
    margin: auto;
    display: block;
  }
  .soccerfy-sec2 .soccerfy-grid .right-info {
    text-align: center;
  }
  .soccerfy-sec2 .soccerfy-grid .right-info h2 {
    font-size: 28px;
    padding: 0;
  }
  .soccerfy-sec2 .soccerfy-grid .right-info p {
    font-size: 18px;
  }
  .soccerfy-sec2 .soccerfy-grid .right-info .num-circle {
    font-size: 18px;
    background-size: cover;
  }
  .soccerfy-sec3 .stay-grid .left-info ul li p {
    font-size: 16px;
  }
  .soccerfy-sec3 .stay-grid .right-info h2 {
    font-size: 26px;
    margin-bottom: 10px;
  }
  .soccerfy-sec3 .stay-grid .right-info p {
    font-size: 16px;
  }
  .soccerfy-sec3 .stay-grid .right-info .num-circle {
    font-size: 16px;
    background-size: contain;
  }
  .soccerfy-sec4 {
    padding-top: 200px;
    padding-bottom: 50px;
  }
  .soccerfy-sec4 .soccerfy-sec4-wrap .app-info .num-circle {
    font-size: 18px;
  }
  .soccerfy-sec4 .soccerfy-sec4-wrap .app-info h2 {
    font-size: 26px;
  }
  .soccerfy-sec4 .soccerfy-sec4-wrap .app-info p {
    font-size: 16px;
  }
  .soccerfy-sec5 {
    margin-top: 0;
    padding: 100px 0;
  }
  .soccerfy-sec5 .soccerfy-sec5-wrap .design-info {
    position: relative;
    width: 100%;
    text-align: center;
  }
  .soccerfy-sec5 .soccerfy-sec5-wrap .design-info .num-circle {
    font-size: 18px;
  }
  .soccerfy-sec5 .soccerfy-sec5-wrap .design-info h2 {
    font-size: 28px;
    margin-bottom: 20px;
  }
  .soccerfy-sec5 .soccerfy-sec5-wrap .design-info p {
    font-size: 18px;
  }
  .soccerfy-sec5 .main-img img {
    top: 50px;
    width: 100%;
    height: auto;
  }
  .soccerfy-sec6 {
    height: 100%;
    margin-top: 0;
    padding: 100px 0;
  }
  .soccerfy-sec6 .space {
    margin-top: 0;
  }
  .soccerfy-sec6 .space .num-circle {
    font-size: 20px;
    background-size: contain;
  }
  .soccerfy-sec6 .space h2 {
    font-size: 26px;
    line-height: 1.5;
    margin-bottom: 20px;
  }
  .soccerfy-sec6 .space p {
    font-size: 20px;
    padding: 0;
    color: #000;
    font-weight: 500;
  }
  .soccerfy-sec6 .space .soccerfy-sec6-wrap {
    padding: 30px;
  }
  .soccerfy-sec6 .space .soccerfy-sec6-wrap h2 {
    font-size: 26px;
    line-height: 1.5;
  }
  .soccerfy-sec6 .space .soccerfy-sec6-wrap h3 {
    font-size: 22px;
  }
  .soccerfy-sec6 .space .soccerfy-sec6-wrap h4 {
    font-size: 18px;
  }
}

@media (max-width: 576px) {
  .soccerfy-sec1 {
    margin-top: 150px;
    height: 400px;
  }
  .soccerfy-sec1 .soc-main {
    margin-top: -140px;
  }
  .soccerfy-sec1 .prev-btn {
    text-align: center;
    left: 0;
    right: 0;
    margin: auto;
    top: -60px;
  }
  .soccerfy-sec1 .prev-btn a {
    font-size: 14px;
  }
  .soccerfy-sec1 .banner-info {
    text-align: center;
  }
  .soccerfy-sec1 .banner-info p {
    font-size: 18px;
    text-align: center;
    padding: 0;
  }
  .soccerfy-sec1 .banner-info a {
    font-size: 14px;
  }
  .soccerfy-sec6 .space .num-circle {
    font-size: 18px;
  }
  .soccerfy-sec6 .space h2 {
    font-size: 24px;
  }
  .soccerfy-sec6 .space p {
    font-size: 18px;
  }
  .soccerfy-sec6 .space .soccerfy-sec6-wrap {
    padding: 20px;
  }
  .soccerfy-sec6 .space .soccerfy-sec6-wrap h2 {
    font-size: 20px;
  }
  .soccerfy-sec6 .space .soccerfy-sec6-wrap h3 {
    font-size: 18px;
  }
  .soccerfy-sec6 .space .soccerfy-sec6-wrap h4 {
    font-size: 16px;
  }
}

@media (max-width: 479px) {
  .soccerfy-sec1 {
    height: 350px;
  }
  .soccerfy-sec2 .soccerfy-grid .right-info h2 {
    font-size: 25px;
  }
  .soccerfy-sec2 .soccerfy-grid .right-info p {
    font-size: 16px;
  }
  .soccerfy-sec2 .soccerfy-grid .right-info .num-circle {
    font-size: 16px;
  }
  .soccerfy-sec3 .stay-grid .left-info ul li p {
    font-size: 15px;
  }
  .soccerfy-sec3 .stay-grid .right-info h2 {
    font-size: 22px;
    margin-bottom: 10px;
  }
  .soccerfy-sec3 .stay-grid .right-info p {
    font-size: 15px;
  }
  .soccerfy-sec3 .stay-grid .right-info .num-circle {
    font-size: 15px;
    background-size: contain;
  }
  .soccerfy-sec3 .stay-grid .right-info img {
    width: 80%;
    height: auto;
  }
  .soccerfy-sec4 .soccerfy-sec4-wrap .app-info .num-circle {
    font-size: 16px;
  }
  .soccerfy-sec4 .soccerfy-sec4-wrap .app-info h2 {
    font-size: 24px;
  }
  .soccerfy-sec4 .soccerfy-sec4-wrap .app-info p {
    font-size: 16px;
  }
  .soccerfy-sec5 .soccerfy-sec5-wrap .design-info .num-circle {
    font-size: 16px;
  }
  .soccerfy-sec5 .soccerfy-sec5-wrap .design-info h2 {
    font-size: 26px;
  }
  .soccerfy-sec5 .soccerfy-sec5-wrap .design-info p {
    font-size: 16px;
  }
  .soccerfy-sec7 {
    height: 700px;
  }
  .soccerfy-sec7 .num-circle {
    font-size: 22px;
    background-size: contain;
  }
  .soccerfy-sec7 h2 {
    font-size: 30px;
    margin-bottom: 20px;
  }
  .soccerfy-sec7 h6, .soccerfy-sec7 .sf-result-sub {
    font-size: 24px;
    margin-bottom: 20px;
  }
  .soccerfy-sec7 p {
    font-size: 22px;
  }
  .soccerfy-sec7 a {
    font-size: 15px;
  }
}

@media (max-width: 400px) {
  .soccerfy-sec1 {
    margin-top: 150px;
    height: 330px;
  }
  .soccerfy-sec1 .prev-btn a {
    font-size: 14px;
  }
  .soccerfy-sec1 .banner-info p {
    font-size: 16px;
  }
  .soccerfy-sec1 .banner-info a {
    font-size: 14px;
  }
  .soccerfy-sec4 .soccerfy-sec4-wrap .app-info .num-circle {
    font-size: 15px;
  }
  .soccerfy-sec4 .soccerfy-sec4-wrap .app-info h2 {
    font-size: 22px;
  }
  .soccerfy-sec4 .soccerfy-sec4-wrap .app-info p {
    font-size: 15px;
  }
  .soccerfy-sec5 .soccerfy-sec5-wrap .design-info .num-circle {
    font-size: 15px;
  }
  .soccerfy-sec5 .soccerfy-sec5-wrap .design-info h2 {
    font-size: 24px;
  }
  .soccerfy-sec5 .soccerfy-sec5-wrap .design-info p {
    font-size: 15px;
  }
  .soccerfy-sec6 .space .num-circle {
    font-size: 16px;
  }
  .soccerfy-sec6 .space h2 {
    font-size: 22px;
  }
  .soccerfy-sec6 .space p {
    font-size: 16px;
  }
  .soccerfy-sec6 .space .soccerfy-sec6-wrap {
    padding: 20px;
  }
  .soccerfy-sec6 .space .soccerfy-sec6-wrap h2 {
    font-size: 15px;
  }
  .soccerfy-sec6 .space .soccerfy-sec6-wrap h3 {
    font-size: 14px;
  }
  .soccerfy-sec6 .space .soccerfy-sec6-wrap h4 {
    font-size: 12px;
  }
  .soccerfy-sec7 {
    height: 700px;
  }
  .soccerfy-sec7 .num-circle {
    font-size: 22px;
    background-size: contain;
  }
  .soccerfy-sec7 h2 {
    font-size: 26px;
    margin-bottom: 20px;
  }
  .soccerfy-sec7 h6, .soccerfy-sec7 .sf-result-sub {
    font-size: 22px;
    margin-bottom: 20px;
  }
  .soccerfy-sec7 p {
    font-size: 22px;
  }
  .soccerfy-sec7 a {
    font-size: 15px;
  }
}

/* â”€â”€ StreamlineLive â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.slive-tab-panel {
  display: none;
}
.slive-tab-panel.active {
  display: block;
}

.main-banner {
  background-image: url("../images/case-studies/streamlive/banner.webp");
  background-repeat: no-repeat;
  background-size: cover;
  height: 100%;
  padding: 80px 0;
  display: flex;
  align-items: center;
}
.main-banner .banner-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
}
.main-banner .banner-grid .left-info h1 {
  font-weight: 600;
  font-size: 70px;
  color: #000;
  margin-top: 10px;
}
.main-banner .banner-grid .left-info h4, .main-banner .banner-grid .left-info .sl-meta {
  font-weight: 600;
  font-size: 30px;
  color: #000;
}
.main-banner .banner-grid .left-info p {
  font-weight: normal;
  font-size: 25px;
  line-height: 35px;
  color: #000;
}
.main-banner .banner-grid .left-info .app-logo {
  margin-top: 20px;
}
.main-banner .banner-grid .left-info .info-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  margin-top: 80px;
}
.main-banner .banner-grid .left-info .info-grid img {
  height: auto;
  width: auto;
  max-height: 50px;
}
.main-banner .banner-grid .left-info .info-grid hr {
  opacity: 1;
  border-top: 3px solid;
  width: 50px;
  margin: 0;
  margin-bottom: 10px;
}
.main-banner .banner-grid .left-info .info-grid h4, .main-banner .banner-grid .left-info .info-grid .sl-meta {
  font-size: 20px;
  color: #000;
  margin-top: 10px;
  margin-bottom: 5px;
}
.main-banner .banner-grid .left-info .info-grid p {
  font-weight: 400;
  font-size: 16px;
  line-height: 25px;
  color: #161616;
}
.main-banner .banner-grid .right-info img {
  width: 100%;
  height: auto;
}

.intro-about {
  padding: 60px 0;
  background-color: #ecf9ff;
  position: relative;
}
.intro-about::before {
  content: "";
  background-image: url("../images/case-studies/streamlive/line.png");
  width: 80%;
  height: 100%;
  position: absolute;
  background-size: contain;
  background-repeat: no-repeat;
  right: 20%;
  top: 0;
  pointer-events: none;
}
.intro-about > .container > h4, .intro-about > .container > .sl-eyebrow {
  font-weight: normal;
  font-size: 30px;
  text-align: center;
  color: #1da8ed;
  text-transform: uppercase;
}
.intro-about > .container > h2 {
  font-weight: 600;
  font-size: 50px;
  text-align: center;
  color: #000;
  margin-bottom: 20px;
}
.intro-about > .container > p {
  font-weight: 400;
  font-size: 25px;
  line-height: 40px;
  text-align: center;
  color: #000;
  width: 90%;
  margin: auto;
}
.intro-about .about-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-gap: 80px;
  margin-top: 50px;
  align-items: center;
}
.intro-about .about-grid .about-left h4, .intro-about .about-grid .about-left .sl-eyebrow {
  font-weight: normal;
  font-size: 25px;
  text-align: left;
  color: #1da8ed;
  text-transform: uppercase;
}
.intro-about .about-grid .about-left h2 {
  font-weight: 600;
  font-size: 45px;
  text-align: left;
  color: #000;
  margin-bottom: 10px;
}
.intro-about .about-grid .about-left p {
  font-weight: 400;
  font-size: 24px;
  line-height: 40px;
  text-align: left;
  color: #000;
  width: 100%;
  margin: auto;
}
.intro-about .about-grid .about-right img {
  position: relative;
  z-index: 2;
  height: auto;
  width: 100%;
}

.prob-sol-main {
  padding: 60px 0;
  background-color: #ecf9ff;
}
.prob-sol-main .prob-sol-grid {
  display: flex;
  justify-content: space-between;
}
.prob-sol-main .prob-sol-grid .prob-sol-left {
  width: 40%;
}
.prob-sol-main .prob-sol-grid .prob-sol-left h2 {
  font-weight: 600;
  font-size: 50px;
  text-align: left;
  color: #000;
  border-left: 12px solid;
  padding-left: 10px;
}
.prob-sol-main .prob-sol-grid .prob-sol-left p {
  font-weight: 400;
  font-size: 25px;
  line-height: 35px;
  text-align: left;
  color: #000;
  margin-bottom: 20px;
}
.prob-sol-main .prob-sol-grid .prob-sol-left .prob-box-grid {
  position: relative;
  padding-left: 50px;
}
.prob-sol-main .prob-sol-grid .prob-sol-left .prob-box-grid h4, .prob-sol-main .prob-sol-grid .prob-sol-left .prob-box-grid h3 {
  font-weight: bold;
  font-size: 24px;
  color: #000;
  margin-bottom: 0;
}
.prob-sol-main .prob-sol-grid .prob-sol-left .prob-box-grid p {
  font-size: 20px;
  line-height: 35px;
  text-align: left;
  color: #000;
  margin-bottom: 10px;
}
.prob-sol-main .prob-sol-grid .prob-sol-left .prob-box-grid::before {
  content: "";
  background-image: url("../images/case-studies/streamlive/minus.png");
  background-repeat: no-repeat;
  background-size: cover;
  position: absolute;
  width: 30px;
  height: 30px;
  left: 0;
  top: 4px;
}
.prob-sol-main .prob-sol-grid .prob-sol-center {
  width: 15%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.prob-sol-main .prob-sol-grid .prob-sol-center img {
  height: auto;
  width: 100%;
}
.prob-sol-main .prob-sol-grid .prob-sol-right {
  width: 40%;
}
.prob-sol-main .prob-sol-grid .prob-sol-right h2 {
  font-weight: 600;
  font-size: 50px;
  text-align: left;
  color: #1da8ed;
  border-left: 12px solid;
  padding-left: 10px;
}
.prob-sol-main .prob-sol-grid .prob-sol-right p {
  font-weight: 400;
  font-size: 25px;
  line-height: 35px;
  text-align: left;
  color: #000;
  margin-bottom: 20px;
}
.prob-sol-main .prob-sol-grid .prob-sol-right .prob-box-grid {
  position: relative;
  padding-left: 50px;
}
.prob-sol-main .prob-sol-grid .prob-sol-right .prob-box-grid h4, .prob-sol-main .prob-sol-grid .prob-sol-right .prob-box-grid h3 {
  font-weight: bold;
  font-size: 24px;
  color: #000;
  margin-bottom: 0;
}
.prob-sol-main .prob-sol-grid .prob-sol-right .prob-box-grid p {
  font-size: 20px;
  line-height: 35px;
  text-align: left;
  color: #000;
  margin-bottom: 10px;
}
.prob-sol-main .prob-sol-grid .prob-sol-right .prob-box-grid::before {
  content: "";
  background-image: url("../images/case-studies/streamlive/check.png");
  background-repeat: no-repeat;
  background-size: cover;
  position: absolute;
  width: 30px;
  height: 30px;
  left: 0;
  top: 4px;
}

.timeline-main {
  padding: 60px 0;
  background-color: #ecf9ff;
}
.timeline-main .timeline-info h2 {
  font-size: 50px;
  text-align: center;
  color: #000;
}
.timeline-main .timeline-info h3 {
  font-size: 35px;
  text-align: center;
  color: #1da8ed;
  border-bottom: 2px solid #c1cbcf;
  padding-bottom: 20px;
}
.timeline-main .timeline-info ul {
  list-style: none;
  padding: 80px 0;
  display: flex;
  justify-content: space-between;
}
.timeline-main .timeline-info ul li {
  font-size: 30px;
  font-weight: 500;
  text-align: center;
  color: #000;
  cursor: pointer;
}
.timeline-main .timeline-info ul li.active {
  color: #1da8ed;
}
.timeline-main .timeline-info img {
  width: 100%;
  height: auto;
}

.main-key-features {
  background-image: url("../images/case-studies/streamlive/key-back.webp");
  background-repeat: no-repeat;
  padding-top: 60px;
}
.main-key-features h2 {
  font-weight: 600;
  font-size: 50px;
  text-align: center;
  color: #000;
}
.main-key-features > .container > p {
  font-size: 28px;
  line-height: 40px;
  text-align: center;
  color: #000;
}
.main-key-features .key-features-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  margin-top: 80px;
}
.main-key-features .key-features-grid .key-features-left {
  position: relative;
}
.main-key-features .key-features-grid .key-features-left::before {
  content: "";
  background-image: url("../images/case-studies/streamlive/key-banner.png");
  position: absolute;
  width: 100%;
  height: 100%;
  bottom: 0;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: bottom center;
}
.main-key-features .key-features-grid .key-features-right {
  padding-bottom: 100px;
}
.main-key-features .key-features-grid .key-features-right ul {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-gap: 0 30px;
  list-style: none;
  padding: 0;
}
.main-key-features .key-features-grid .key-features-right ul li h4, .main-key-features .key-features-grid .key-features-right ul li h3 {
  font-weight: bold;
  font-size: 22px;
  text-align: left;
  color: #000;
  margin-bottom: 0;
}
.main-key-features .key-features-grid .key-features-right ul li p {
  font-size: 16px;
  font-weight: 400;
  line-height: 30px;
  text-align: left;
  color: #000;
}
.main-key-features
  .key-features-grid
  .key-features-right
  ul
  li:nth-child(even) {
  margin-top: 100px;
  margin-bottom: -80px;
}

.explore-main {
  padding-top: 60px;
  padding-bottom: 100px;
  background-color: #ecf9ff;
  background-image: url("../images/case-studies/streamlive/explore-back.png");
}
.explore-main h2 {
  font-weight: 600;
  font-size: 50px;
  text-align: center;
  color: #000;
}
.explore-main > .container > p {
  font-size: 28px;
  line-height: 40px;
  text-align: center;
  color: #000;
}
.explore-main .explore-slider {
  padding-top: 100px;
  padding-bottom: 80px;
}
.explore-main .explore-slider .slider-info {
  position: relative;
}
.explore-main .explore-slider .slider-info img {
  width: 100%;
  height: auto;
  border-radius: 50px;
}

.solution-main .solution-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
}
.solution-main .solution-grid .solution-left {
  height: 100%;
  display: flex;
  background-image: url("../images/case-studies/streamlive/solution-right.webp");
  justify-content: center;
  align-items: center;
}
.solution-main .solution-grid .solution-left h2 {
  font-weight: 600;
  font-size: 100px;
  text-align: left;
  color: #fff;
}
.solution-main .solution-grid .solution-right {
  background: #bfe9ff;
  padding: 60px 0 60px 60px;
  position: relative;
}
.solution-main .solution-grid .solution-right::before {
  content: "";
  background-color: #bfe9ff;
  border-top-left-radius: 30px;
  border-bottom-left-radius: 30px;
  width: 50px;
  height: 85%;
  position: absolute;
  left: -20px;
}
.solution-main .solution-grid .solution-right .solution-box {
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  justify-content: center;
  width: 80%;
}
.solution-main .solution-grid .solution-right .solution-box::before {
  content: "";
  background-image: url("../images/case-studies/streamlive/pin.png");
  background-repeat: no-repeat;
  background-size: contain;
  width: 100px;
  height: 20px;
  position: absolute;
  left: -30px;
}
.solution-main .solution-grid .solution-right .solution-box h4, .solution-main .solution-grid .solution-right .solution-box h3 {
  font-weight: bold;
  font-size: 25px;
  text-align: left;
  color: #000;
}
.solution-main .solution-grid .solution-right .solution-box p {
  font-weight: 300;
  font-size: 22px;
  line-height: 35px;
  text-align: left;
  color: #000;
}

@media (max-width: 1600px) {
  .main-banner {
    padding: 60px 0;
  }
  .main-banner .banner-grid {
    align-items: center;
  }
  .main-banner .banner-grid .left-info .logo-img {
    width: 120px;
    height: auto;
  }
  .main-banner .banner-grid .left-info h1 {
    font-size: 60px;
  }
  .main-banner .banner-grid .left-info h4, .main-banner .banner-grid .left-info .sl-meta {
    font-size: 30px;
  }
  .main-banner .banner-grid .left-info p {
    font-size: 24px;
  }
  .main-banner .banner-grid .left-info .app-logo {
    margin-top: 20px;
  }
  .main-banner .banner-grid .left-info .info-grid {
    margin-top: 50px;
  }
  .main-banner .banner-grid .left-info .info-grid h4, .main-banner .banner-grid .left-info .info-grid .sl-meta {
    font-size: 20px;
  }
  .main-banner .banner-grid .left-info .info-grid p {
    font-size: 16px;
  }
  .main-banner .banner-grid .right-info img {
    width: 80%;
    display: block;
    margin-left: auto;
    height: auto;
  }
  .intro-about > .container > h4, .intro-about > .container > .sl-eyebrow {
    font-size: 28px;
  }
  .intro-about > .container > h2 {
    font-size: 45px;
  }
  .intro-about > .container > p {
    font-size: 24px;
  }
  .intro-about .about-grid .about-left h4, .intro-about .about-grid .about-left .sl-eyebrow {
    font-size: 24px;
  }
  .intro-about .about-grid .about-left h2 {
    font-size: 40px;
  }
  .intro-about .about-grid .about-left p {
    font-size: 22px;
  }
  .intro-about .about-grid .about-right img {
    height: auto;
    width: 100%;
  }
  .prob-sol-main .prob-sol-grid .prob-sol-left {
    width: 40%;
  }
  .prob-sol-main .prob-sol-grid .prob-sol-left h2 {
    font-size: 45px;
  }
  .prob-sol-main .prob-sol-grid .prob-sol-left p {
    font-size: 24px;
  }
  .prob-sol-main .prob-sol-grid .prob-sol-left .prob-box-grid {
    padding-left: 50px;
  }
  .prob-sol-main .prob-sol-grid .prob-sol-left .prob-box-grid h4, .prob-sol-main .prob-sol-grid .prob-sol-left .prob-box-grid h3 {
    font-size: 22px;
    margin-bottom: 6px;
  }
  .prob-sol-main .prob-sol-grid .prob-sol-left .prob-box-grid p {
    font-size: 18px;
    line-height: 1.5;
  }
  .prob-sol-main .prob-sol-grid .prob-sol-center {
    width: 15%;
  }
  .prob-sol-main .prob-sol-grid .prob-sol-center img {
    height: auto;
    width: 100%;
  }
  .prob-sol-main .prob-sol-grid .prob-sol-right {
    width: 40%;
  }
  .prob-sol-main .prob-sol-grid .prob-sol-right h2 {
    font-size: 45px;
  }
  .prob-sol-main .prob-sol-grid .prob-sol-right p {
    font-size: 24px;
  }
  .prob-sol-main .prob-sol-grid .prob-sol-right .prob-box-grid {
    padding-left: 50px;
  }
  .prob-sol-main .prob-sol-grid .prob-sol-right .prob-box-grid h4, .prob-sol-main .prob-sol-grid .prob-sol-right .prob-box-grid h3 {
    font-size: 22px;
    margin-bottom: 6px;
  }
  .prob-sol-main .prob-sol-grid .prob-sol-right .prob-box-grid p {
    font-size: 18px;
    line-height: 1.5;
  }
  .timeline-main .timeline-info h2 {
    font-size: 45px;
  }
  .timeline-main .timeline-info h3 {
    font-size: 30px;
  }
  .timeline-main .timeline-info ul {
    padding: 80px 0;
  }
  .timeline-main .timeline-info ul li {
    font-size: 28px;
  }
  .main-key-features h2 {
    font-size: 45px;
  }
  .main-key-features > .container > p {
    font-size: 26px;
  }
  .main-key-features .key-features-grid .key-features-left::before {
    width: 100%;
    height: 100%;
  }
  .main-key-features .key-features-grid .key-features-right ul li h4, .main-key-features .key-features-grid .key-features-right ul li h3 {
    font-size: 22px;
  }
  .main-key-features .key-features-grid .key-features-right ul li p {
    font-size: 16px;
  }
  .explore-main h2 {
    font-size: 45px;
  }
  .explore-main > .container > p {
    font-size: 26px;
  }
  .solution-main .solution-grid .solution-left h2 {
    font-size: 80px;
  }
  .solution-main .solution-grid .solution-right .solution-box {
    width: 80%;
  }
  .solution-main .solution-grid .solution-right .solution-box h4, .solution-main .solution-grid .solution-right .solution-box h3 {
    font-size: 24px;
  }
  .solution-main .solution-grid .solution-right .solution-box p {
    font-size: 22px;
  }
}
@media (max-width: 1440px) {
  .main-banner .banner-grid .left-info .logo-img {
    width: 100px;
    height: auto;
  }
  .main-banner .banner-grid .left-info h1 {
    font-size: 50px;
  }
  .main-banner .banner-grid .left-info h4, .main-banner .banner-grid .left-info .sl-meta {
    font-size: 28px;
  }
  .main-banner .banner-grid .left-info p {
    font-size: 22px;
  }
  .main-banner .banner-grid .left-info .info-grid {
    margin-top: 50px;
  }
  .main-banner .banner-grid .left-info .info-grid h4, .main-banner .banner-grid .left-info .info-grid .sl-meta {
    font-size: 20px;
  }
  .main-banner .banner-grid .left-info .info-grid p {
    font-size: 16px;
  }
  .intro-about > .container > h4, .intro-about > .container > .sl-eyebrow {
    font-size: 26px;
  }
  .intro-about > .container > h2 {
    font-size: 40px;
  }
  .intro-about > .container > p {
    font-size: 24px;
  }
  .intro-about .about-grid .about-left h4, .intro-about .about-grid .about-left .sl-eyebrow {
    font-size: 22px;
  }
  .intro-about .about-grid .about-left h2 {
    font-size: 35px;
  }
  .intro-about .about-grid .about-left p {
    font-size: 22px;
  }
  .intro-about .about-grid .about-right img {
    height: auto;
    width: 100%;
  }
  .prob-sol-main .prob-sol-grid .prob-sol-left h2 {
    font-size: 40px;
  }
  .prob-sol-main .prob-sol-grid .prob-sol-left p {
    font-size: 22px;
  }
  .prob-sol-main .prob-sol-grid .prob-sol-left .prob-box-grid h4, .prob-sol-main .prob-sol-grid .prob-sol-left .prob-box-grid h3 {
    font-size: 20px;
  }
  .prob-sol-main .prob-sol-grid .prob-sol-left .prob-box-grid p {
    font-size: 16px;
  }
  .prob-sol-main .prob-sol-grid .prob-sol-center img {
    height: auto;
    width: 100%;
  }
  .prob-sol-main .prob-sol-grid .prob-sol-right h2 {
    font-size: 40px;
  }
  .prob-sol-main .prob-sol-grid .prob-sol-right p {
    font-size: 22px;
  }
  .prob-sol-main .prob-sol-grid .prob-sol-right .prob-box-grid {
    padding-left: 50px;
  }
  .prob-sol-main .prob-sol-grid .prob-sol-right .prob-box-grid h4, .prob-sol-main .prob-sol-grid .prob-sol-right .prob-box-grid h3 {
    font-size: 20px;
  }
  .prob-sol-main .prob-sol-grid .prob-sol-right .prob-box-grid p {
    font-size: 16px;
  }
  .timeline-main .timeline-info h2 {
    font-size: 40px;
  }
  .timeline-main .timeline-info h3 {
    font-size: 28px;
  }
  .timeline-main .timeline-info ul {
    padding: 60px 0;
  }
  .timeline-main .timeline-info ul li {
    font-size: 26px;
  }
  .main-key-features h2 {
    font-size: 40px;
  }
  .main-key-features > .container > p {
    font-size: 24px;
  }
  .main-key-features .key-features-grid {
    grid-template-columns: 1fr 1.2fr;
  }
  .main-key-features .key-features-grid .key-features-left::before {
    width: 100%;
    height: 100%;
  }
  .main-key-features .key-features-grid .key-features-right ul li h4, .main-key-features .key-features-grid .key-features-right ul li h3 {
    font-size: 20px;
  }
  .main-key-features .key-features-grid .key-features-right ul li p {
    font-size: 15px;
  }
  .explore-main h2 {
    font-size: 40px;
  }
  .explore-main > .container > p {
    font-size: 24px;
  }
  .solution-main .solution-grid .solution-left h2 {
    font-size: 70px;
  }
  .solution-main .solution-grid .solution-right .solution-box {
    width: 80%;
  }
  .solution-main .solution-grid .solution-right .solution-box h4, .solution-main .solution-grid .solution-right .solution-box h3 {
    font-size: 24px;
  }
  .solution-main .solution-grid .solution-right .solution-box p {
    font-size: 20px;
    line-height: 1.6;
  }
}
@media (max-width: 1200px) {
  .main-banner .banner-grid .left-info .logo-img {
    width: 100px;
    height: auto;
  }
  .main-banner .banner-grid .left-info h1 {
    font-size: 45px;
  }
  .main-banner .banner-grid .left-info h4, .main-banner .banner-grid .left-info .sl-meta {
    font-size: 26px;
  }
  .main-banner .banner-grid .left-info p {
    font-size: 22px;
  }
  .main-banner .banner-grid .left-info .info-grid {
    margin-top: 40px;
  }
  .main-banner .banner-grid .left-info .info-grid img {
    height: 50px;
    width: auto;
  }
  .main-banner .banner-grid .left-info .info-grid h4, .main-banner .banner-grid .left-info .info-grid .sl-meta {
    font-size: 18px;
  }
  .main-banner .banner-grid .left-info .info-grid p {
    font-size: 15px;
  }
  .intro-about > .container > h4, .intro-about > .container > .sl-eyebrow {
    font-size: 25px;
  }
  .intro-about > .container > h2 {
    font-size: 35px;
  }
  .intro-about > .container > p {
    font-size: 22px;
    line-height: 1.8;
  }
  .intro-about .about-grid .about-left h4, .intro-about .about-grid .about-left .sl-eyebrow {
    font-size: 20px;
  }
  .intro-about .about-grid .about-left h2 {
    font-size: 30px;
  }
  .intro-about .about-grid .about-left p {
    font-size: 20px;
    line-height: 1.8;
  }
  .intro-about .about-grid .about-right img {
    height: auto;
    width: 100%;
  }
  .prob-sol-main .prob-sol-grid {
    gap: 50px;
  }
  .prob-sol-main .prob-sol-grid .prob-sol-left {
    width: 50%;
  }
  .prob-sol-main .prob-sol-grid .prob-sol-left h2 {
    font-size: 35px;
  }
  .prob-sol-main .prob-sol-grid .prob-sol-left p {
    font-size: 20px;
    line-height: 1.6;
  }
  .prob-sol-main .prob-sol-grid .prob-sol-left .prob-box-grid {
    padding-left: 40px;
  }
  .prob-sol-main .prob-sol-grid .prob-sol-left .prob-box-grid::before {
    width: 25px;
    height: 25px;
    top: 0;
  }
  .prob-sol-main .prob-sol-grid .prob-sol-left .prob-box-grid h4, .prob-sol-main .prob-sol-grid .prob-sol-left .prob-box-grid h3 {
    font-size: 20px;
  }
  .prob-sol-main .prob-sol-grid .prob-sol-left .prob-box-grid p {
    margin-top: 10px;
    line-height: 1.6;
    font-size: 16px;
  }
  .prob-sol-main .prob-sol-grid .prob-sol-center {
    display: none;
  }
  .prob-sol-main .prob-sol-grid .prob-sol-right {
    width: 50%;
  }
  .prob-sol-main .prob-sol-grid .prob-sol-right h2 {
    font-size: 35px;
  }
  .prob-sol-main .prob-sol-grid .prob-sol-right p {
    font-size: 20px;
    line-height: 1.6;
  }
  .prob-sol-main .prob-sol-grid .prob-sol-right .prob-box-grid {
    padding-left: 40px;
  }
  .prob-sol-main .prob-sol-grid .prob-sol-right .prob-box-grid::before {
    width: 25px;
    height: 25px;
    top: 0;
  }
  .prob-sol-main .prob-sol-grid .prob-sol-right .prob-box-grid h4, .prob-sol-main .prob-sol-grid .prob-sol-right .prob-box-grid h3 {
    font-size: 20px;
  }
  .prob-sol-main .prob-sol-grid .prob-sol-right .prob-box-grid p {
    margin-top: 10px;
    line-height: 1.6;
    font-size: 16px;
  }
  .timeline-main .timeline-info h2 {
    font-size: 35px;
  }
  .timeline-main .timeline-info h3 {
    font-size: 28px;
  }
  .timeline-main .timeline-info ul {
    padding: 60px 0;
  }
  .timeline-main .timeline-info ul li {
    font-size: 26px;
  }
  .main-key-features h2 {
    font-size: 35px;
  }
  .main-key-features > .container > p {
    font-size: 22px;
  }
  .main-key-features .key-features-grid {
    grid-template-columns: 1fr 1.4fr;
  }
  .main-key-features .key-features-grid .key-features-left::before {
    width: 100%;
    height: 100%;
  }
  .main-key-features .key-features-grid .key-features-right ul li h4, .main-key-features .key-features-grid .key-features-right ul li h3 {
    font-size: 18px;
  }
  .main-key-features .key-features-grid .key-features-right ul li p {
    font-size: 15px;
    line-height: 1.6;
  }
  .explore-main h2 {
    font-size: 35px;
  }
  .explore-main > .container > p {
    font-size: 24px;
  }
  .solution-main .solution-grid .solution-left h2 {
    font-size: 60px;
  }
  .solution-main .solution-grid .solution-right .solution-box {
    width: 90%;
  }
  .solution-main .solution-grid .solution-right .solution-box h4, .solution-main .solution-grid .solution-right .solution-box h3 {
    font-size: 22px;
  }
  .solution-main .solution-grid .solution-right .solution-box p {
    font-size: 18px;
    line-height: 1.6;
  }
}
@media (max-width: 991px) {
  .main-banner .banner-grid .left-info .logo-img {
    width: 80px;
    height: auto;
  }
  .main-banner .banner-grid .left-info .app-logo {
    width: 120px;
    height: auto;
  }
  .main-banner .banner-grid .left-info h1 {
    font-size: 40px;
  }
  .main-banner .banner-grid .left-info h4, .main-banner .banner-grid .left-info .sl-meta {
    font-size: 24px;
  }
  .main-banner .banner-grid .left-info p {
    font-size: 20px;
  }
  .main-banner .banner-grid .left-info .info-grid img {
    height: 40px;
    width: auto;
  }
  .main-banner .banner-grid .left-info .info-grid h4, .main-banner .banner-grid .left-info .info-grid .sl-meta {
    font-size: 16px;
  }
  .main-banner .banner-grid .left-info .info-grid p {
    font-size: 14px;
  }
  .intro-about > .container > h4, .intro-about > .container > .sl-eyebrow {
    font-size: 24px;
  }
  .intro-about > .container > h2 {
    font-size: 30px;
  }
  .intro-about > .container > p {
    font-size: 20px;
    line-height: 1.6;
  }
  .intro-about .about-grid .about-left h4, .intro-about .about-grid .about-left .sl-eyebrow {
    font-size: 18px;
  }
  .intro-about .about-grid .about-left h2 {
    font-size: 28px;
  }
  .intro-about .about-grid .about-left p {
    font-size: 18px;
    line-height: 1.6;
  }
  .intro-about .about-grid .about-right img {
    height: auto;
    width: 100%;
  }
  .prob-sol-main .prob-sol-grid .prob-sol-left h2 {
    font-size: 30px;
  }
  .prob-sol-main .prob-sol-grid .prob-sol-left p {
    font-size: 16px;
  }
  .prob-sol-main .prob-sol-grid .prob-sol-left .prob-box-grid h4, .prob-sol-main .prob-sol-grid .prob-sol-left .prob-box-grid h3 {
    font-size: 18px;
  }
  .prob-sol-main .prob-sol-grid .prob-sol-left .prob-box-grid p {
    font-size: 15px;
  }
  .prob-sol-main .prob-sol-grid .prob-sol-right h2 {
    font-size: 30px;
  }
  .prob-sol-main .prob-sol-grid .prob-sol-right p {
    font-size: 16px;
  }
  .prob-sol-main .prob-sol-grid .prob-sol-right .prob-box-grid h4, .prob-sol-main .prob-sol-grid .prob-sol-right .prob-box-grid h3 {
    font-size: 18px;
  }
  .prob-sol-main .prob-sol-grid .prob-sol-right .prob-box-grid p {
    font-size: 15px;
  }
  .timeline-main .timeline-info h2 {
    font-size: 30px;
  }
  .timeline-main .timeline-info h3 {
    font-size: 26px;
  }
  .timeline-main .timeline-info ul {
    padding: 40px 0;
  }
  .timeline-main .timeline-info ul li {
    font-size: 24px;
  }
  .main-key-features h2 {
    font-size: 30px;
  }
  .main-key-features > .container > p {
    font-size: 20px;
    line-height: 1.6;
  }
  .main-key-features .key-features-grid {
    grid-template-columns: 1fr;
    margin-top: 50px;
  }
  .main-key-features .key-features-grid .key-features-left::before {
    content: unset;
  }
  .main-key-features .key-features-grid .key-features-right ul li h4, .main-key-features .key-features-grid .key-features-right ul li h3 {
    font-size: 18px;
  }
  .main-key-features .key-features-grid .key-features-right ul li p {
    font-size: 15px;
    line-height: 1.6;
  }
  .explore-main h2 {
    font-size: 30px;
  }
  .explore-main > .container > p {
    font-size: 22px;
  }
  .solution-main .solution-grid .solution-left h2 {
    font-size: 50px;
  }
  .solution-main .solution-grid .solution-right .solution-box {
    width: 90%;
  }
  .solution-main .solution-grid .solution-right .solution-box h4, .solution-main .solution-grid .solution-right .solution-box h3 {
    font-size: 20px;
  }
  .solution-main .solution-grid .solution-right .solution-box p {
    font-size: 16px;
  }
}
@media (max-width: 767px) {
  .main-banner .banner-grid {
    grid-template-columns: 1fr;
  }
  .main-banner .banner-grid .left-info h1 {
    font-size: 35px;
  }
  .main-banner .banner-grid .left-info h4, .main-banner .banner-grid .left-info .sl-meta {
    font-size: 22px;
  }
  .main-banner .banner-grid .left-info p {
    font-size: 18px;
  }
  .main-banner .banner-grid .left-info .info-grid h4, .main-banner .banner-grid .left-info .info-grid .sl-meta {
    font-size: 16px;
  }
  .main-banner .banner-grid .left-info .info-grid p {
    font-size: 14px;
  }
  .main-banner .banner-grid .right-info img {
    margin: auto;
  }
  .intro-about > .container > h4, .intro-about > .container > .sl-eyebrow {
    font-size: 24px;
  }
  .intro-about > .container > h2 {
    font-size: 30px;
  }
  .intro-about > .container > p {
    font-size: 20px;
    line-height: 1.6;
  }
  .intro-about .about-grid {
    grid-template-columns: 1fr;
    grid-gap: 20px;
  }
  .intro-about .about-grid .about-left h4, .intro-about .about-grid .about-left .sl-eyebrow {
    font-size: 18px;
  }
  .intro-about .about-grid .about-left h2 {
    font-size: 28px;
  }
  .intro-about .about-grid .about-left p {
    font-size: 18px;
    line-height: 1.6;
  }
  .intro-about .about-grid .about-right img {
    height: auto;
    width: 100%;
  }
  .intro-about .about-grid:nth-last-child(2) {
    display: flex;
    flex-direction: column-reverse;
  }
  .prob-sol-main .prob-sol-grid {
    flex-direction: column;
  }
  .prob-sol-main .prob-sol-grid .prob-sol-left {
    width: 100%;
  }
  .prob-sol-main .prob-sol-grid .prob-sol-left h2 {
    font-size: 28px;
  }
  .prob-sol-main .prob-sol-grid .prob-sol-left p {
    font-size: 16px;
  }
  .prob-sol-main .prob-sol-grid .prob-sol-left .prob-box-grid h4, .prob-sol-main .prob-sol-grid .prob-sol-left .prob-box-grid h3 {
    font-size: 18px;
  }
  .prob-sol-main .prob-sol-grid .prob-sol-left .prob-box-grid p {
    font-size: 15px;
  }
  .prob-sol-main .prob-sol-grid .prob-sol-right {
    width: 100%;
  }
  .prob-sol-main .prob-sol-grid .prob-sol-right h2 {
    font-size: 28px;
  }
  .prob-sol-main .prob-sol-grid .prob-sol-right p {
    font-size: 16px;
  }
  .prob-sol-main .prob-sol-grid .prob-sol-right .prob-box-grid h4, .prob-sol-main .prob-sol-grid .prob-sol-right .prob-box-grid h3 {
    font-size: 18px;
  }
  .prob-sol-main .prob-sol-grid .prob-sol-right .prob-box-grid p {
    font-size: 15px;
  }
  .timeline-main .timeline-info h2 {
    font-size: 28px;
  }
  .timeline-main .timeline-info h3 {
    font-size: 24px;
  }
  .timeline-main .timeline-info ul {
    padding: 30px 0;
  }
  .timeline-main .timeline-info ul li {
    font-size: 22px;
  }
  .main-key-features h2 {
    font-size: 28px;
  }
  .main-key-features > .container > p {
    font-size: 18px;
  }
  .main-key-features .key-features-grid {
    grid-template-columns: 1fr;
    margin-top: 50px;
  }
  .main-key-features .key-features-grid .key-features-left::before {
    content: unset;
  }
  .main-key-features .key-features-grid .key-features-right ul li h4, .main-key-features .key-features-grid .key-features-right ul li h3 {
    font-size: 16px;
  }
  .main-key-features .key-features-grid .key-features-right ul li p {
    font-size: 15px;
    line-height: 1.6;
  }
  .explore-main h2 {
    font-size: 28px;
  }
  .explore-main > .container > p {
    font-size: 20px;
    line-height: 1.6;
  }
  .explore-main > .container > p br {
    display: none;
  }
  .solution-main .solution-grid {
    grid-template-columns: 1fr;
  }
  .solution-main .solution-grid .solution-left {
    padding: 50px 0;
  }
  .solution-main .solution-grid .solution-left h2 {
    font-size: 30px;
    text-align: center;
  }
  .solution-main .solution-grid .solution-right::before {
    content: unset;
  }
  .solution-main .solution-grid .solution-right .solution-box::before {
    left: 25px;
  }
  .solution-main .solution-grid .solution-right .solution-box {
    width: 80%;
    margin: auto;
  }
  .solution-main .solution-grid .solution-right .solution-box h4, .solution-main .solution-grid .solution-right .solution-box h3 {
    font-size: 18px;
  }
  .solution-main .solution-grid .solution-right .solution-box p {
    font-size: 15px;
  }
}
@media (max-width: 576px) {
  .main-banner .banner-grid .left-info {
    text-align: center;
  }
  .main-banner .banner-grid .left-info img {
    margin: auto;
  }
  .main-banner .banner-grid .left-info h1 {
    font-size: 35px;
  }
  .main-banner .banner-grid .left-info h4, .main-banner .banner-grid .left-info .sl-meta {
    font-size: 22px;
  }
  .main-banner .banner-grid .left-info p {
    font-size: 18px;
  }
  .main-banner .banner-grid .left-info .info-grid {
    margin-top: 40px;
    text-align: center;
  }
  .main-banner .banner-grid .left-info .info-grid hr {
    margin: auto;
  }
  .main-banner .banner-grid .left-info .info-grid h4, .main-banner .banner-grid .left-info .info-grid .sl-meta {
    font-size: 16px;
    margin-bottom: 10px;
  }
  .main-banner .banner-grid .left-info .info-grid p {
    font-size: 14px;
    margin-top: 10px;
  }
  .main-banner .banner-grid .right-info img {
    margin: auto;
  }
  .intro-about > .container > h4, .intro-about > .container > .sl-eyebrow {
    font-size: 22px;
  }
  .intro-about > .container > h2 {
    font-size: 28px;
  }
  .intro-about > .container > p {
    font-size: 18px;
    width: 100%;
  }
  .intro-about .about-grid .about-left h4, .intro-about .about-grid .about-left .sl-eyebrow {
    font-size: 16px;
    text-align: center;
  }
  .intro-about .about-grid .about-left h2 {
    font-size: 26px;
    text-align: center;
  }
  .intro-about .about-grid .about-left p {
    font-size: 16px;
    text-align: center;
  }
  .prob-sol-main .prob-sol-grid .prob-sol-left h2 {
    font-size: 26px;
  }
  .prob-sol-main .prob-sol-grid .prob-sol-left p {
    font-size: 15px;
  }
  .prob-sol-main .prob-sol-grid .prob-sol-left .prob-box-grid h4, .prob-sol-main .prob-sol-grid .prob-sol-left .prob-box-grid h3 {
    font-size: 16px;
  }
  .prob-sol-main .prob-sol-grid .prob-sol-left .prob-box-grid p {
    font-size: 14px;
  }
  .prob-sol-main .prob-sol-grid .prob-sol-right {
    width: 100%;
  }
  .prob-sol-main .prob-sol-grid .prob-sol-right h2 {
    font-size: 26px;
  }
  .prob-sol-main .prob-sol-grid .prob-sol-right p {
    font-size: 15px;
  }
  .prob-sol-main .prob-sol-grid .prob-sol-right .prob-box-grid h4, .prob-sol-main .prob-sol-grid .prob-sol-right .prob-box-grid h3 {
    font-size: 16px;
  }
  .prob-sol-main .prob-sol-grid .prob-sol-right .prob-box-grid p {
    font-size: 14px;
  }
  .main-key-features h2 {
    font-size: 26px;
  }
  .main-key-features > .container > p {
    font-size: 16px;
  }
  .main-key-features .key-features-grid .key-features-right ul li h4, .main-key-features .key-features-grid .key-features-right ul li h3 {
    font-size: 16px;
  }
  .main-key-features .key-features-grid .key-features-right ul li p {
    font-size: 15px;
  }
  .explore-main h2 {
    font-size: 26px;
  }
  .explore-main > .container > p {
    font-size: 18px;
  }
}
@media (max-width: 479px) {
  .main-banner .banner-grid .left-info {
    margin-bottom: 20px;
  }
  .main-banner .banner-grid .left-info h1 {
    font-size: 30px;
  }
  .main-banner .banner-grid .left-info h4, .main-banner .banner-grid .left-info .sl-meta {
    font-size: 20px;
  }
  .main-banner .banner-grid .left-info p {
    font-size: 16px;
    line-height: 1.6;
  }
  .main-banner .banner-grid .left-info .info-grid {
    grid-template-columns: 1fr;
  }
  .intro-about > .container > h4, .intro-about > .container > .sl-eyebrow {
    font-size: 18px;
  }
  .intro-about > .container > h2 {
    font-size: 26px;
  }
  .intro-about > .container > p {
    font-size: 16px;
    width: 100%;
  }
  .intro-about .about-grid .about-left h4, .intro-about .about-grid .about-left .sl-eyebrow {
    font-size: 16px;
    text-align: center;
  }
  .intro-about .about-grid .about-left h2 {
    font-size: 26px;
    text-align: center;
  }
  .intro-about .about-grid .about-left p {
    font-size: 16px;
    text-align: center;
  }
  .timeline-main .timeline-info h2 {
    font-size: 26px;
  }
  .timeline-main .timeline-info h3 {
    font-size: 22px;
  }
  .timeline-main .timeline-info ul {
    padding: 30px 0;
  }
  .timeline-main .timeline-info ul li {
    font-size: 20px;
  }
  .main-key-features h2 {
    font-size: 26px;
  }
  .main-key-features > .container > p {
    font-size: 16px;
  }
  .main-key-features .key-features-grid .key-features-right {
    padding-bottom: 50px;
  }
  .main-key-features .key-features-grid .key-features-right ul {
    grid-template-columns: 1fr;
    padding: 0;
  }
  .main-key-features .key-features-grid .key-features-right ul li {
    list-style: none;
  }
  .main-key-features .key-features-grid .key-features-right ul li h4, .main-key-features .key-features-grid .key-features-right ul li h3 {
    font-size: 16px;
    text-align: center;
  }
  .main-key-features .key-features-grid .key-features-right ul li p {
    font-size: 15px;
    text-align: center;
  }
  .main-key-features
    .key-features-grid
    .key-features-right
    ul
    li:nth-child(even) {
    margin: 0;
  }
  .explore-main h2 {
    font-size: 25px;
  }
  .explore-main > .container > p {
    font-size: 16px;
  }
  .explore-main .explore-slider {
    padding-top: 50px;
  }
  .solution-main .solution-grid .solution-left h2 {
    font-size: 28px;
  }
  .solution-main .solution-grid .solution-right {
    padding-left: 0;
  }
  .solution-main .solution-grid .solution-right .solution-box::before {
    content: unset;
  }
  .solution-main .solution-grid .solution-right .solution-box {
    width: 100%;
    align-items: center;
  }
  .solution-main .solution-grid .solution-right .solution-box h4, .solution-main .solution-grid .solution-right .solution-box h3 {
    font-size: 18px;
    text-align: center;
  }
  .solution-main .solution-grid .solution-right .solution-box p {
    font-size: 15px;
    text-align: center;
  }
}
@media (max-width: 400px) {
  .intro-about > .container > h4, .intro-about > .container > .sl-eyebrow {
    font-size: 16px;
  }
  .intro-about > .container > h2 {
    font-size: 24px;
  }
  .intro-about > .container > p {
    font-size: 15px;
    width: 100%;
  }
  .intro-about .about-grid .about-left h4, .intro-about .about-grid .about-left .sl-eyebrow {
    font-size: 16px;
    text-align: center;
  }
  .intro-about .about-grid .about-left h2 {
    font-size: 23px;
    text-align: center;
  }
  .intro-about .about-grid .about-left p {
    font-size: 15px;
    text-align: center;
  }
  .prob-sol-main .prob-sol-grid .prob-sol-left h2 {
    font-size: 25px;
  }
  .prob-sol-main .prob-sol-grid .prob-sol-left p {
    font-size: 14px;
  }
  .prob-sol-main .prob-sol-grid .prob-sol-left .prob-box-grid h4, .prob-sol-main .prob-sol-grid .prob-sol-left .prob-box-grid h3 {
    font-size: 15px;
  }
  .prob-sol-main .prob-sol-grid .prob-sol-left .prob-box-grid p {
    font-size: 14px;
  }
  .prob-sol-main .prob-sol-grid .prob-sol-right {
    width: 100%;
  }
  .prob-sol-main .prob-sol-grid .prob-sol-right h2 {
    font-size: 25px;
  }
  .prob-sol-main .prob-sol-grid .prob-sol-right p {
    font-size: 14px;
  }
  .prob-sol-main .prob-sol-grid .prob-sol-right .prob-box-grid h4, .prob-sol-main .prob-sol-grid .prob-sol-right .prob-box-grid h3 {
    font-size: 15px;
  }
  .prob-sol-main .prob-sol-grid .prob-sol-right .prob-box-grid p {
    font-size: 14px;
  }
  .timeline-main .timeline-info h2 {
    font-size: 25px;
  }
  .timeline-main .timeline-info h3 {
    font-size: 20px;
  }
  .timeline-main .timeline-info ul {
    padding: 20px 0;
  }
  .timeline-main .timeline-info ul li {
    font-size: 18px;
  }
  .explore-main h2 {
    font-size: 25px;
  }
  .explore-main > .container > p {
    font-size: 16px;
  }
  .explore-main .explore-slider {
    padding-top: 60px;
    padding-bottom: 60px;
  }
  .explore-main .explore-slider .slider-info img {
    width: 80%;
    height: auto;
    margin: auto;
    display: block;
    border-radius: 50px;
  }
  .solution-main .solution-grid .solution-left h2 {
    font-size: 26px;
    margin: 0;
  }
  .solution-main .solution-grid .solution-left h2 br {
    display: none;
  }
  .solution-main .solution-grid .solution-right {
    padding-left: 0;
  }
  .solution-main .solution-grid .solution-right .solution-box::before {
    content: unset;
  }
  .solution-main .solution-grid .solution-right .solution-box {
    width: 100%;
    align-items: center;
  }
  .solution-main .solution-grid .solution-right .solution-box h4, .solution-main .solution-grid .solution-right .solution-box h3 {
    font-size: 16px;
    text-align: center;
  }
  .solution-main .solution-grid .solution-right .solution-box p {
    font-size: 14px;
    text-align: center;
  }
}

/* ── ep-slider (Explore Streamline Live stagger + pagination) ────────────── */
.ep-slider .swiper-slide:nth-child(even) {
  margin-top: 100px;
}
.ep-slider .swiper-pagination .swiper-pagination-bullet {
  background-color: #000;
  opacity: 1;
  border-radius: 0;
}
.ep-slider .swiper-pagination .swiper-pagination-bullet-active {
  width: 30px;
}
@media (max-width: 450px) {
  .ep-slider .swiper-slide:nth-child(even) {
    margin-top: 0;
  }
}

/* â”€â”€ SupportXdr â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */

.xdr-main-banner-sec {
  background: #e2f1ff url("../images/case-studies/support-xdr/banner.webp")
    bottom / cover no-repeat;
}
.xdr-main-banner-sec .banner-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  height: 800px;
}
.xdr-main-banner-sec .banner-grid .left-info h1 {
  font-weight: bold;
  font-size: 40px;
  text-align: left;
  color: #fff;
}
.xdr-main-banner-sec .banner-grid .left-info p {
  font-weight: 500;
  font-size: 22px;
  line-height: 40px;
  text-align: left;
  color: #fff;
}
.xdr-main-banner-sec .banner-grid .left-info .tech-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  grid-gap: 40px 0;
  margin-top: 20px;
}
.xdr-main-banner-sec .banner-grid .left-info .tech-grid .tech-info {
  display: flex;
  align-items: center;
  gap: 20px;
}
.xdr-main-banner-sec .banner-grid .left-info .tech-grid .tech-info h4, .xdr-main-banner-sec .banner-grid .left-info .tech-grid .tech-info .xdr-meta {
  font-weight: 900;
  font-size: 16px;
  text-align: left;
  color: #fff;
}
.xdr-main-banner-sec .banner-grid .left-info .tech-grid .tech-info p {
  font-weight: 300;
  font-size: 16px;
  text-align: left;
  color: #fff;
  margin: 0;
  line-height: normal;
}
.xdr-main-banner-sec .banner-grid .right-img img {
  width: 100%;
  height: auto;
}

.intro-main-ser {
  padding-top: 30px;
  padding-bottom: 80px;
  background-color: #e2f1ff;
}
.intro-main-ser h4, .intro-main-ser .xdr-eyebrow {
  font-weight: normal;
  font-size: 30px;
  text-transform: uppercase;
  text-align: center;
  color: #2e2e2e;
}
.intro-main-ser h2 {
  font-weight: bold;
  font-size: 55px;
  text-align: center;
  color: #144089;
}
.intro-main-ser p {
  font-size: 25px;
  line-height: 40px;
  text-align: center;
  color: #2e2e2e;
}
.intro-main-ser .intro-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  grid-gap: 40px;
}
.intro-main-ser .intro-grid .intro-left h2 {
  text-align: left;
}
.intro-main-ser .intro-grid .intro-left h4, .intro-main-ser .intro-grid .intro-left .xdr-eyebrow {
  text-align: left;
}
.intro-main-ser .intro-grid .intro-left p {
  text-align: left;
}
.intro-main-ser .intro-grid .intro-left .btn-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.intro-main-ser .intro-grid .intro-left .btn-grid button {
  font-size: 16px;
  border-radius: 5px;
  background: transparent;
  border: 1px solid #144089;
  box-shadow: none !important;
  outline: none !important;
  color: #144089;
  transition: 0.5s;
  padding: 5px 15px;
  line-height: 1.5;
}
.intro-main-ser .intro-grid .intro-left .btn-grid button:hover {
  background-color: #144089;
  color: #fff;
}
.intro-main-ser .intro-grid .intro-right img {
  width: 100%;
  height: auto;
}

.how-it-works-banner {
  background: #e2f1ff
    url("../images/case-studies/support-xdr/how-it-banner.webp") bottom / cover
    no-repeat;
  padding-top: 80px;
  padding-bottom: 120px;
}
.how-it-works-banner .how-it-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-gap: 50px;
}
.how-it-works-banner .how-it-grid .project-info {
  width: 80%;
}
.how-it-works-banner .how-it-grid .project-info h4, .how-it-works-banner .how-it-grid .project-info h3 {
  font-weight: normal;
  font-size: 30px;
  text-align: left;
  color: #75bcff;
  position: relative;
}
.how-it-works-banner .how-it-grid .project-info h4::before, .how-it-works-banner .how-it-grid .project-info h3::before {
  content: "";
  border-bottom: 5px solid #75bcff;
  position: absolute;
  width: 50px;
  height: 5px;
  top: 0;
  bottom: 0;
  margin: auto;
  right: 0;
}
.how-it-works-banner .how-it-grid .project-info p {
  font-weight: 300;
  font-size: 22px;
  line-height: 26px;
  text-align: left;
  color: #fff;
}
.how-it-works-banner .how-it-grid .project-info ul {
  padding-left: 20px;
}
.how-it-works-banner .how-it-grid .project-info ul li {
  font-weight: 300;
  font-size: 22px;
  line-height: 30px;
  text-align: left;
  color: #fff;
  margin-bottom: 15px;
}
.how-it-works-banner .how-it-work-two {
  padding-top: 150px;
}
.how-it-works-banner .how-it-work-two h2 {
  font-weight: 900;
  font-size: 55px;
  text-align: center;
  color: #70a6ff;
  text-transform: uppercase;
}
.how-it-works-banner .how-it-work-two .it-work-content {
  margin-top: 80px;
  position: relative;
}
.how-it-works-banner .how-it-work-two .it-work-content::before {
  content: "";
  border-top: 1px solid #fff;
  position: absolute;
  width: 100%;
  height: 4px;
}
.how-it-works-banner .how-it-work-two .it-work-content .content-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  grid-gap: 40px;
}
.how-it-works-banner
  .how-it-work-two
  .it-work-content
  .content-grid
  .work-content {
  margin-top: 60px;
}
.how-it-works-banner
  .how-it-work-two
  .it-work-content
  .content-grid
  .work-content::before {
  content: "";
  position: absolute;
  width: 40px;
  height: 40px;
  border-radius: 30px;
  top: -20px;
  font-family: "Font Awesome 5 Pro";
  color: #fff;
  font-size: 30px;
  background: #70a6ff;
  line-height: 40px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.how-it-works-banner
  .how-it-work-two
  .it-work-content
  .content-grid
  .work-content
  h4, .how-it-works-banner
  .how-it-work-two
  .it-work-content
  .content-grid
  .work-content
  h3 {
  font-size: 26px;
  text-align: left;
  color: #fff;
}
.how-it-works-banner
  .how-it-work-two
  .it-work-content
  .content-grid
  .work-content
  p {
  font-weight: 300;
  font-size: 18px;
  text-align: left;
  color: #fff;
}

.xdr-explore-main {
  padding-top: 80px;
  background-color: #e2f1ff;
}
.xdr-explore-main > h2 {
  font-weight: bold;
  font-size: 70px;
  text-align: center;
  color: #144089;
}
.xdr-explore-main .before-shadow {
  position: relative;
}
.xdr-explore-main .before-shadow::before {
  content: "";
  background: linear-gradient(
    180deg,
    rgba(2, 0, 36, 0) 0%,
    rgba(226, 241, 255, 1) 50%,
    rgba(0, 212, 255, 0) 100%
  );
  position: absolute;
  width: 100%;
  height: 200px;
  bottom: -100px;
  z-index: 1;
}
.xdr-explore-main .explore-grid {
  display: flex;
  align-items: center;
  gap: 40px;
}
.xdr-explore-main .explore-grid .ex-left {
  width: 50%;
}
.xdr-explore-main .explore-grid .ex-left h2 {
  font-weight: bold;
  font-size: 50px;
  text-align: left;
  color: #144089;
  position: relative;
  margin-bottom: 25px;
}
.xdr-explore-main .explore-grid .ex-left h2::before {
  content: "";
  border-bottom: 4px solid #75bcff;
  position: absolute;
  width: 100px;
  height: 4px;
  bottom: -10px;
}
.xdr-explore-main .explore-grid .ex-left p {
  font-weight: 300;
  font-size: 26px;
  line-height: 40px;
  text-align: left;
  color: #2e2e2e;
}
.xdr-explore-main .explore-grid .ex-right {
  width: 50%;
}
.xdr-explore-main .explore-grid .ex-right img {
  width: 100%;
  height: auto;
}
.xdr-explore-main .flex-rev {
  flex-direction: row-reverse;
}
.xdr-explore-main .powerful-book-banner {
  background: url("../images/case-studies/support-xdr/powerful.webp") 0 0 /
    cover no-repeat;
  padding: 40px 0;
}
.xdr-explore-main .smart-key-banner {
  background: url("../images/case-studies/support-xdr/smart.webp") 0 0 / cover
    no-repeat;
  padding: 40px 0;
}
.xdr-explore-main .seamless-banner {
  background: url("../images/case-studies/support-xdr/seamless.webp") 0 0 /
    cover no-repeat;
  padding: 40px 0;
}
.xdr-explore-main .be-your-banner {
  background: url("../images/case-studies/support-xdr/be-your.webp") 0 0 / cover
    no-repeat;
  padding: 40px 0;
}

.browser-ext-main {
  background: url("../images/case-studies/support-xdr/browse-banner.webp") 0 0 /
    cover no-repeat;
  padding: 60px 0;
}
.browser-ext-main h2 {
  font-weight: bold;
  font-size: 50px;
  text-align: center;
  color: #fff;
  margin-bottom: 30px;
}
.browser-ext-main p {
  font-weight: 300;
  font-size: 26px;
  line-height: 35px;
  text-align: center;
  color: #fff;
}
.browser-ext-main .browser-button-grid {
  display: flex;
  gap: 10px;
  justify-content: center;
  margin-top: 40px;
}
.browser-ext-main .browser-button-grid button {
  font-size: 18px;
  border-radius: 5px;
  background: transparent;
  border: 1px solid #fff;
  box-shadow: none !important;
  outline: none !important;
  color: #fff;
  transition: 0.5s;
  padding: 5px 20px;
  line-height: 1.5;
}
.browser-ext-main .browser-button-grid button:hover {
  background: #fff;
  color: #000;
}

@media (max-width: 1600px) {
  .intro-main-ser h4, .intro-main-ser .xdr-eyebrow {
    font-size: 28px;
  }
  .intro-main-ser h2 {
    font-size: 45px;
  }
  .intro-main-ser p {
    font-size: 24px;
  }
  .intro-main-ser .intro-grid .intro-left .btn-grid button {
    font-size: 18px;
  }
  .xdr-explore-main > h2 {
    font-size: 60px;
  }
  .xdr-explore-main .explore-grid .ex-left h2 {
    font-size: 45px;
  }
  .xdr-explore-main .explore-grid .ex-left p {
    font-size: 24px;
  }
  .browser-ext-main h2 {
    font-size: 45px;
  }
  .browser-ext-main p {
    font-size: 24px;
  }
  .browser-ext-main .browser-button-grid button {
    font-size: 18px;
  }
}

@media (max-width: 1440px) {
  .intro-main-ser h4, .intro-main-ser .xdr-eyebrow {
    font-size: 26px;
  }
  .intro-main-ser h2 {
    font-size: 40px;
  }
  .intro-main-ser p {
    font-size: 22px;
  }
  .intro-main-ser .intro-grid .intro-left .btn-grid button {
    font-size: 18px;
  }
  .how-it-works-banner .how-it-grid .project-info h4, .how-it-works-banner .how-it-grid .project-info h3 {
    font-size: 28px;
  }
  .how-it-works-banner .how-it-grid .project-info p {
    font-size: 20px;
  }
  .how-it-works-banner .how-it-grid .project-info ul li {
    font-size: 20px;
  }
  .how-it-works-banner .how-it-work-two h2 {
    font-size: 45px;
  }
  .how-it-works-banner
    .how-it-work-two
    .it-work-content
    .content-grid
    .work-content
    h4, .how-it-works-banner
    .how-it-work-two
    .it-work-content
    .content-grid
    .work-content
    h3 {
    font-size: 24px;
  }
  .how-it-works-banner
    .how-it-work-two
    .it-work-content
    .content-grid
    .work-content
    p {
    font-size: 18px;
  }
  .xdr-explore-main > h2 {
    font-size: 50px;
  }
  .xdr-explore-main .explore-grid .ex-left h2 {
    font-size: 40px;
  }
  .xdr-explore-main .explore-grid .ex-left p {
    font-size: 22px;
  }
  .browser-ext-main h2 {
    font-size: 40px;
  }
  .browser-ext-main p {
    font-size: 22px;
  }
  .browser-ext-main .browser-button-grid button {
    font-size: 18px;
  }
}

@media (max-width: 1200px) {
  .xdr-main-banner-sec .banner-grid .left-info h1 {
    font-size: 35px;
  }
  .xdr-main-banner-sec .banner-grid .left-info p {
    font-size: 20px;
  }
  .xdr-main-banner-sec .banner-grid .left-info .tech-grid .tech-info h4, .xdr-main-banner-sec .banner-grid .left-info .tech-grid .tech-info .xdr-meta {
    font-size: 15px;
  }
  .xdr-main-banner-sec .banner-grid .left-info .tech-grid .tech-info p {
    font-size: 15px;
  }
  .intro-main-ser h4, .intro-main-ser .xdr-eyebrow {
    font-size: 24px;
  }
  .intro-main-ser h2 {
    font-size: 35px;
  }
  .intro-main-ser p {
    font-size: 20px;
    line-height: 1.8;
  }
  .intro-main-ser .intro-grid .intro-left .btn-grid button {
    font-size: 16px;
  }
  .how-it-works-banner .how-it-grid .project-info h4, .how-it-works-banner .how-it-grid .project-info h3 {
    font-size: 26px;
  }
  .how-it-works-banner .how-it-grid .project-info p {
    font-size: 18px;
  }
  .how-it-works-banner .how-it-grid .project-info ul li {
    font-size: 18px;
  }
  .how-it-works-banner .how-it-work-two {
    padding-top: 100px;
  }
  .how-it-works-banner .how-it-work-two h2 {
    font-size: 40px;
  }
  .how-it-works-banner
    .how-it-work-two
    .it-work-content
    .content-grid
    .work-content
    h4, .how-it-works-banner
    .how-it-work-two
    .it-work-content
    .content-grid
    .work-content
    h3 {
    font-size: 20px;
  }
  .how-it-works-banner
    .how-it-work-two
    .it-work-content
    .content-grid
    .work-content
    p {
    font-size: 16px;
  }
  .xdr-explore-main > h2 {
    font-size: 40px;
  }
  .xdr-explore-main .explore-grid .ex-left h2 {
    font-size: 35px;
  }
  .xdr-explore-main .explore-grid .ex-left p {
    font-size: 20px;
    line-height: 1.6;
  }
  .browser-ext-main h2 {
    font-size: 35px;
  }
  .browser-ext-main p {
    font-size: 20px;
  }
  .browser-ext-main .browser-button-grid button {
    font-size: 16px;
  }
}

@media (max-width: 991px) {
  .xdr-main-banner-sec {
    height: 800px;
  }
  .xdr-main-banner-sec .banner-grid {
    height: 700px;
  }
  .xdr-main-banner-sec .banner-grid .left-info h1 {
    font-size: 30px;
  }
  .xdr-main-banner-sec .banner-grid .left-info p {
    font-size: 18px;
    line-height: 1.8;
  }
  .xdr-main-banner-sec .banner-grid .left-info .tech-grid .tech-info h4, .xdr-main-banner-sec .banner-grid .left-info .tech-grid .tech-info .xdr-meta {
    font-size: 15px;
  }
  .xdr-main-banner-sec .banner-grid .left-info .tech-grid .tech-info p {
    font-size: 15px;
  }
  .intro-main-ser h4, .intro-main-ser .xdr-eyebrow {
    font-size: 22px;
  }
  .intro-main-ser h2 {
    font-size: 30px;
  }
  .intro-main-ser p {
    font-size: 18px;
    line-height: 1.6;
  }
  .intro-main-ser .intro-grid .intro-left .btn-grid button {
    font-size: 14px;
    padding: 5px 8px;
  }
  .how-it-works-banner .how-it-grid .project-info {
    width: 90%;
  }
  .how-it-works-banner .how-it-grid .project-info h4, .how-it-works-banner .how-it-grid .project-info h3 {
    font-size: 22px;
  }
  .how-it-works-banner .how-it-grid .project-info p {
    font-size: 16px;
    line-height: 1.5;
  }
  .how-it-works-banner .how-it-grid .project-info ul li {
    font-size: 16px;
    line-height: 1.5;
  }
  .how-it-works-banner .how-it-work-two {
    padding-top: 100px;
  }
  .how-it-works-banner .how-it-work-two h2 {
    font-size: 35px;
  }
  .how-it-works-banner .how-it-work-two .it-work-content .content-grid {
    grid-gap: 25px;
  }
  .how-it-works-banner
    .how-it-work-two
    .it-work-content
    .content-grid
    .work-content
    h4, .how-it-works-banner
    .how-it-work-two
    .it-work-content
    .content-grid
    .work-content
    h3 {
    font-size: 18px;
  }
  .how-it-works-banner
    .how-it-work-two
    .it-work-content
    .content-grid
    .work-content
    p {
    font-size: 16px;
  }
  .xdr-explore-main > h2 {
    font-size: 35px;
  }
  .xdr-explore-main .before-shadow::before {
    height: 100px;
    bottom: -50px;
  }
  .xdr-explore-main .explore-grid .ex-left h2 {
    font-size: 30px;
  }
  .xdr-explore-main .explore-grid .ex-left p {
    font-size: 18px;
    line-height: 1.5;
  }
  .browser-ext-main h2 {
    font-size: 30px;
  }
  .browser-ext-main p {
    font-size: 18px;
  }
  .browser-ext-main .browser-button-grid {
    flex-wrap: wrap;
  }
  .browser-ext-main .browser-button-grid button {
    font-size: 14px;
  }
}

@media (max-width: 767px) {
  .xdr-main-banner-sec {
    height: auto;
  }
  .xdr-main-banner-sec .banner-grid {
    height: auto;
    padding-top: 100px;
    grid-gap: 40px;
    grid-template-columns: 1fr;
  }
  .xdr-main-banner-sec .banner-grid .left-info h1 {
    font-size: 30px;
  }
  .xdr-main-banner-sec .banner-grid .left-info p {
    font-size: 18px;
    line-height: 1.8;
  }
  .xdr-main-banner-sec .banner-grid .left-info .tech-grid {
    grid-gap: 20px;
  }
  .xdr-main-banner-sec .banner-grid .left-info .tech-grid .tech-info h4, .xdr-main-banner-sec .banner-grid .left-info .tech-grid .tech-info .xdr-meta {
    font-size: 15px;
  }
  .xdr-main-banner-sec .banner-grid .left-info .tech-grid .tech-info p {
    font-size: 15px;
  }
  .intro-main-ser h4, .intro-main-ser .xdr-eyebrow {
    font-size: 22px;
  }
  .intro-main-ser h2 {
    font-size: 30px;
  }
  .intro-main-ser p {
    font-size: 18px;
    line-height: 1.6;
  }
  .intro-main-ser .intro-grid {
    grid-template-columns: 1fr;
  }
  .intro-main-ser .intro-grid .intro-left h2 {
    text-align: center;
  }
  .intro-main-ser .intro-grid .intro-left h4, .intro-main-ser .intro-grid .intro-left .xdr-eyebrow {
    text-align: center;
  }
  .intro-main-ser .intro-grid .intro-left p {
    text-align: center;
  }
  .intro-main-ser .intro-grid .intro-left .btn-grid {
    justify-content: center;
  }
  .intro-main-ser .intro-grid .intro-left .btn-grid button {
    font-size: 14px;
    padding: 5px 8px;
  }
  .how-it-works-banner .how-it-grid {
    grid-template-columns: 1fr;
  }
  .how-it-works-banner .how-it-grid .project-info {
    width: 100%;
  }
  .how-it-works-banner .how-it-grid .project-info h4, .how-it-works-banner .how-it-grid .project-info h3 {
    font-size: 20px;
  }
  .how-it-works-banner .how-it-grid .project-info p {
    font-size: 16px;
    line-height: 1.5;
  }
  .how-it-works-banner .how-it-grid .project-info ul li {
    font-size: 16px;
    line-height: 1.5;
  }
  .how-it-works-banner .how-it-work-two {
    padding-top: 100px;
  }
  .how-it-works-banner .how-it-work-two h2 {
    font-size: 30px;
  }
  .how-it-works-banner .how-it-work-two .it-work-content .content-grid {
    grid-gap: 25px;
    grid-template-columns: 1fr 1fr;
  }
  .how-it-works-banner
    .how-it-work-two
    .it-work-content
    .content-grid
    .work-content
    h4, .how-it-works-banner
    .how-it-work-two
    .it-work-content
    .content-grid
    .work-content
    h3 {
    font-size: 18px;
  }
  .how-it-works-banner
    .how-it-work-two
    .it-work-content
    .content-grid
    .work-content
    p {
    font-size: 16px;
  }
  .xdr-explore-main > h2 {
    font-size: 35px;
  }
  .xdr-explore-main .explore-grid {
    flex-direction: column;
  }
  .xdr-explore-main .explore-grid .ex-left {
    width: 100%;
  }
  .xdr-explore-main .explore-grid .ex-left h2 {
    font-size: 30px;
    text-align: center;
  }
  .xdr-explore-main .explore-grid .ex-left h2::before {
    bottom: -15px;
    margin: auto;
    left: 0;
    right: 0;
  }
  .xdr-explore-main .explore-grid .ex-left p {
    font-size: 18px;
    line-height: 1.5;
    text-align: center;
  }
  .xdr-explore-main .explore-grid .ex-right {
    width: 100%;
  }
  .browser-ext-main h2 {
    font-size: 28px;
  }
  .browser-ext-main p {
    font-size: 16px;
    line-height: 1.6;
  }
  .browser-ext-main .browser-button-grid {
    flex-wrap: wrap;
  }
  .browser-ext-main .browser-button-grid button {
    font-size: 14px;
    padding: 5px 15px;
  }
}

@media (max-width: 576px) {
  .xdr-main-banner-sec .banner-grid .left-info h1 {
    font-size: 26px;
  }
  .xdr-main-banner-sec .banner-grid .left-info p {
    font-size: 16px;
    line-height: 1.8;
  }
  .xdr-main-banner-sec .banner-grid .left-info .tech-grid .tech-info h4, .xdr-main-banner-sec .banner-grid .left-info .tech-grid .tech-info .xdr-meta {
    font-size: 14px;
  }
  .xdr-main-banner-sec .banner-grid .left-info .tech-grid .tech-info p {
    font-size: 14px;
  }
}

@media (max-width: 479px) {
  .intro-main-ser h4, .intro-main-ser .xdr-eyebrow {
    font-size: 22px;
  }
  .intro-main-ser h2 {
    font-size: 28px;
  }
  .intro-main-ser p {
    font-size: 16px;
    line-height: 1.6;
  }
  .intro-main-ser .intro-grid .intro-left .btn-grid {
    justify-content: center;
  }
  .intro-main-ser .intro-grid .intro-left .btn-grid button {
    font-size: 14px;
    padding: 5px 8px;
  }
  .how-it-works-banner .how-it-grid {
    grid-template-columns: 1fr;
  }
  .how-it-works-banner .how-it-grid .project-info {
    width: 100%;
  }
  .how-it-works-banner .how-it-grid .project-info h4, .how-it-works-banner .how-it-grid .project-info h3 {
    font-size: 18px;
  }
  .how-it-works-banner .how-it-grid .project-info p {
    font-size: 15px;
  }
  .how-it-works-banner .how-it-grid .project-info ul li {
    font-size: 15px;
  }
  .how-it-works-banner .how-it-work-two {
    padding-top: 100px;
  }
  .how-it-works-banner .how-it-work-two h2 {
    font-size: 28px;
  }
  .how-it-works-banner .how-it-work-two .it-work-content .content-grid {
    grid-gap: 0;
    grid-template-columns: 1fr;
  }
  .how-it-works-banner
    .how-it-work-two
    .it-work-content
    .content-grid
    .work-content
    h4, .how-it-works-banner
    .how-it-work-two
    .it-work-content
    .content-grid
    .work-content
    h3 {
    font-size: 16px;
  }
  .how-it-works-banner
    .how-it-work-two
    .it-work-content
    .content-grid
    .work-content
    p {
    font-size: 15px;
  }
  .xdr-explore-main > h2 {
    font-size: 30px;
  }
  .xdr-explore-main .explore-grid .ex-left h2 {
    font-size: 24px;
  }
  .xdr-explore-main .explore-grid .ex-left h2 br {
    display: none;
  }
  .xdr-explore-main .explore-grid .ex-left p {
    font-size: 16px;
    font-weight: 400;
  }
  .browser-ext-main h2 {
    font-size: 24px;
  }
  .browser-ext-main p {
    font-size: 16px;
    line-height: 1.6;
  }
  .browser-ext-main .browser-button-grid {
    flex-wrap: wrap;
  }
  .browser-ext-main .browser-button-grid button {
    font-size: 14px;
    padding: 5px 15px;
  }
}

@media (max-width: 400px) {
  .xdr-main-banner-sec .banner-grid .left-info h1 {
    font-size: 24px;
  }
  .xdr-main-banner-sec .banner-grid .left-info p {
    font-size: 14px;
    line-height: 1.8;
  }
  .xdr-main-banner-sec .banner-grid .left-info .tech-grid {
    grid-template-columns: 1fr;
  }
  .xdr-main-banner-sec .banner-grid .left-info .tech-grid .tech-info h4, .xdr-main-banner-sec .banner-grid .left-info .tech-grid .tech-info .xdr-meta {
    font-size: 12px;
  }
  .xdr-main-banner-sec .banner-grid .left-info .tech-grid .tech-info p {
    font-size: 12px;
  }
  .intro-main-ser h4, .intro-main-ser .xdr-eyebrow {
    font-size: 20px;
  }
  .intro-main-ser h2 {
    font-size: 25px;
  }
  .intro-main-ser p {
    font-size: 15px;
  }
  .xdr-explore-main > h2 {
    font-size: 26px;
  }
  .xdr-explore-main .explore-grid .ex-left h2 {
    font-size: 20px;
  }
  .xdr-explore-main .explore-grid .ex-left p {
    font-size: 15px;
  }
  .browser-ext-main h2 {
    font-size: 22px;
  }
  .browser-ext-main p {
    font-size: 15px;
    line-height: 1.6;
  }
  .browser-ext-main .browser-button-grid {
    flex-wrap: wrap;
  }
  .browser-ext-main .browser-button-grid button {
    font-size: 14px;
    padding: 5px 15px;
  }
}

/* â”€â”€ FiveSphere â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */

.Section-sphere-1 {
  background-image: url("../images/case-studies/fivesphere/test.png");
  background-position: top left;
  background-size: contain;
  background-repeat: no-repeat;
  position: relative;
  height: 1000px;
}
.Section-sphere-1::before {
  content: "";
  background: url("../images/case-studies/fivesphere/bg-banner-after.webp");
  position: absolute;
  width: 100%;
  height: 100%;
  background-position: right;
  background-repeat: no-repeat;
  background-size: contain;
  right: 0;
}
.Section-sphere-1::after {
  content: "";
  background: url("../images/case-studies/fivesphere/shadow.png");
  width: 100%;
  background-size: cover;
  height: 200px;
  background-repeat: no-repeat;
  position: absolute;
  bottom: 0;
}
.Section-sphere-1 .Baner-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
}
.Section-sphere-1 .Baner-inner .content-side {
  padding: 80px 0 0 0;
}
.Section-sphere-1 .Baner-inner .content-side h1 {
  font-size: 66px;
  font-family: "Outfit", "Outfit Fallback", "Outfit Fallback Android", sans-serif;
  font-weight: 900;
  text-transform: uppercase;
  line-height: 80px;
  color: #161616;
  margin-top: 100px;
}
.Section-sphere-1 .Baner-inner .content-side p {
  font-size: 20px;
  font-family: "Outfit", "Outfit Fallback", "Outfit Fallback Android", sans-serif;
  font-weight: 400;
  color: #161616;
  padding: 30px 0;
}
.Section-sphere-1 .Baner-inner .content-side > img {
  height: 150px;
  width: 150px;
}
.Section-sphere-1 .Baner-inner .content-side .logo-box-main {
  display: grid;
  column-gap: 20px;
  grid-template-columns: repeat(auto-fill, 170px);
}
.Section-sphere-1
  .Baner-inner
  .content-side
  .logo-box-main
  .logo-box
  .img-box
  img {
  height: auto;
  width: 60px;
}
.Section-sphere-1
  .Baner-inner
  .content-side
  .logo-box-main
  .logo-box
  .text-box
  h4, .Section-sphere-1
  .Baner-inner
  .content-side
  .logo-box-main
  .logo-box
  .text-box
  .fs-meta {
  font-size: 22px;
  font-family: "Outfit", "Outfit Fallback", "Outfit Fallback Android", sans-serif;
  font-weight: 500;
  color: #161616;
  position: relative;
}
.Section-sphere-1
  .Baner-inner
  .content-side
  .logo-box-main
  .logo-box
  .text-box
  h4::after, .Section-sphere-1
  .Baner-inner
  .content-side
  .logo-box-main
  .logo-box
  .text-box
  .fs-meta::after {
  content: "";
  position: absolute;
  width: 35%;
  height: 3px;
  background-color: red;
  bottom: -7px;
  left: 0;
}
.Section-sphere-1
  .Baner-inner
  .content-side
  .logo-box-main
  .logo-box
  .text-box
  p {
  font-size: 16px;
  font-family: "Outfit", "Outfit Fallback", "Outfit Fallback Android", sans-serif;
  color: #161616;
  font-weight: 500;
  padding-top: 20px;
}
.Section-sphere-1 .Baner-inner .riht-img img {
  height: auto;
  position: absolute;
  right: 0;
  width: 850px;
}

.S2-fivesphere {
  padding: 100px 0;
}
.S2-fivesphere .S2-Inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 30px;
}
.S2-fivesphere .S2-Inner .img-left img {
  height: 540px;
  width: 90%;
  border-radius: 20px;
  object-fit: fill;
}
.S2-fivesphere .S2-Inner .stru-content {
  background-image: url("../images/case-studies/fivesphere/s2-riht-cb.webp");
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
}
.S2-fivesphere .S2-Inner .stru-content h3, .S2-fivesphere .S2-Inner .stru-content .fs-num {
  font-size: 30px;
  font-family: "Outfit", "Outfit Fallback", "Outfit Fallback Android", sans-serif;
  color: #161616;
  font-weight: 400;
}
.S2-fivesphere .S2-Inner .stru-content h2 {
  font-size: 60px;
  font-weight: 400;
  font-family: "Outfit", "Outfit Fallback", "Outfit Fallback Android", sans-serif;
  color: #161616;
  margin-top: 20px;
}
.S2-fivesphere .S2-Inner .stru-content h2 {
  font-size: 90px;
  font-family: "Outfit", "Outfit Fallback", "Outfit Fallback Android", sans-serif;
  color: #161616;
  font-weight: 400;
  line-height: 59px;
  position: relative;
  margin-bottom: 60px;
}
.S2-fivesphere .S2-Inner .stru-content h2::after {
  content: "";
  position: absolute;
  bottom: -24px;
  width: 40%;
  height: 4px;
  background-color: red;
  left: 10px;
}
.S2-fivesphere .S2-Inner .stru-content p {
  font-size: 18px;
  font-family: "Outfit", "Outfit Fallback", "Outfit Fallback Android", sans-serif;
  color: #161616;
  font-weight: 400;
  line-height: 34px;
  margin-bottom: 20px;
}
.S2-fivesphere .S2-Inner .stru-content h5, .S2-fivesphere .S2-Inner .stru-content .fs-label {
  font-size: 24px;
  font-family: "Outfit", "Outfit Fallback", "Outfit Fallback Android", sans-serif;
  color: #161616;
  line-height: 20px;
}

.S3 {
  background-image: url("../images/case-studies/fivesphere/s3bg.webp");
  background-repeat: no-repeat;
  padding: 60px 0;
  background-position: center center;
  background-size: cover;
}
.S3 .theprblm-dev {
  display: grid;
  grid-template-columns: 300px auto;
  gap: 40px;
  align-items: center;
}
.S3 .theprblm-dev h2 {
  font-size: 40px;
  font-family: "Outfit", "Outfit Fallback", "Outfit Fallback Android", sans-serif;
  color: white;
}
.S3 .theprblm-dev p {
  font-size: 18px;
  font-family: "Outfit", "Outfit Fallback", "Outfit Fallback Android", sans-serif;
  color: white;
  line-height: 32px;
  font-weight: 300;
}
.S3 .slutn-div {
  margin-top: 40px;
  display: grid;
  grid-template-columns: 300px auto;
  gap: 40px;
  align-items: center;
}
.S3 .slutn-div h2 {
  font-size: 40px;
  font-family: "Outfit", "Outfit Fallback", "Outfit Fallback Android", sans-serif;
  color: white;
}
.S3 .slutn-div p {
  font-size: 18px;
  font-family: "Outfit", "Outfit Fallback", "Outfit Fallback Android", sans-serif;
  color: white;
  line-height: 32px;
  font-weight: 300;
}

.Sec-4 {
  padding: 80px 0;
}
.Sec-4 .Inner-S4 h2 {
  text-align: center;
  font-size: 40px;
  font-family: "Outfit", "Outfit Fallback", "Outfit Fallback Android", sans-serif;
  color: #161616;
  position: relative;
}
.Sec-4 .Inner-S4 h2::after {
  content: "";
  position: absolute;
  width: 12%;
  height: 4px;
  background: red;
  bottom: -8px;
  left: 0;
  right: 0;
  margin: auto;
}
.Sec-4 .Inner-S4 img {
  height: auto;
  width: 100%;
  padding: 40px 0 0 0;
}

.Sec-5 {
  background: #f8f8f8;
  padding: 60px 0 0 0;
}
.Sec-5 .Inner-Sec-5 h2 {
  font-size: 40px;
  text-align: center;
  font-family: "Outfit", "Outfit Fallback", "Outfit Fallback Android", sans-serif;
  font-weight: 500;
  margin-bottom: 30px;
  position: relative;
}
.Sec-5 .Inner-Sec-5 h2::after {
  content: "";
  position: absolute;
  width: 10%;
  height: 4px;
  background-color: black;
  bottom: -10px;
  left: 0;
  right: 0;
  margin: auto;
}
.Sec-5 .Inner-Sec-5 img {
  height: auto;
  width: 100%;
}

.Sec-6 {
  background-image: url("../images/case-studies/fivesphere/Sec-six-bg.webp");
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  padding: 60px 0 80px 0;
}
.Sec-7 {
  background-image: url("../images/case-studies/fivesphere/Sec-7bg.webp");
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  padding: 60px 0 80px 0;
}
.Sec-8 {
  background-image: url("../images/case-studies/fivesphere/Sec-8bg.webp");
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  padding: 60px 0 80px 0;
}
.Sec-9 {
  background-image: url("../images/case-studies/fivesphere/Sec-9bg.webp");
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  padding: 60px 0 80px 0;
}
.Sec-10 {
  background-image: url("../images/case-studies/fivesphere/Sec-10bg.webp");
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  padding: 60px 0 80px 0;
}

.Sec-6 .Inner-Sec-6 h2,
.Sec-7 .Inner-Sec-6 h2,
.Sec-8 .Inner-Sec-6 h2,
.Sec-9 .Inner-Sec-6 h2,
.Sec-10 .Inner-Sec-6 h2 {
  font-size: 40px;
  font-family: "Outfit", "Outfit Fallback", "Outfit Fallback Android", sans-serif;
  text-align: center;
  color: black;
  position: relative;
}
.Sec-6 .Inner-Sec-6 h2::after,
.Sec-7 .Inner-Sec-6 h2::after,
.Sec-8 .Inner-Sec-6 h2::after,
.Sec-9 .Inner-Sec-6 h2::after,
.Sec-10 .Inner-Sec-6 h2::after {
  content: "";
  position: absolute;
  width: 12%;
  height: 4px;
  background-color: red;
  left: 0;
  right: 0;
  bottom: -12px;
  margin: auto;
}
.Sec-6 .Inner-Sec-6 .Image-Box,
.Sec-7 .Inner-Sec-6 .Image-Box,
.Sec-8 .Inner-Sec-6 .Image-Box,
.Sec-9 .Inner-Sec-6 .Image-Box,
.Sec-10 .Inner-Sec-6 .Image-Box {
  padding: 70px 0 0 0;
}
.Sec-6 .Inner-Sec-6 .Image-Box p,
.Sec-7 .Inner-Sec-6 .Image-Box p,
.Sec-8 .Inner-Sec-6 .Image-Box p,
.Sec-9 .Inner-Sec-6 .Image-Box p,
.Sec-10 .Inner-Sec-6 .Image-Box p {
  font-size: 18px;
  font-family: "Outfit", "Outfit Fallback", "Outfit Fallback Android", sans-serif;
  font-weight: 400;
  line-height: 30px;
  width: 60%;
  padding: 20px 0 0 20px;
}
.Sec-6 .Inner-Sec-6 .Image-Box .Img-Heading,
.Sec-7 .Inner-Sec-6 .Image-Box .Img-Heading,
.Sec-8 .Inner-Sec-6 .Image-Box .Img-Heading,
.Sec-9 .Inner-Sec-6 .Image-Box .Img-Heading,
.Sec-10 .Inner-Sec-6 .Image-Box .Img-Heading {
  display: flex;
  gap: 12px;
  align-items: center;
  padding-left: 20px;
}
.Sec-6 .Inner-Sec-6 .Image-Box .Img-Heading h3,
.Sec-7 .Inner-Sec-6 .Image-Box .Img-Heading h3,
.Sec-8 .Inner-Sec-6 .Image-Box .Img-Heading h3,
.Sec-9 .Inner-Sec-6 .Image-Box .Img-Heading h3,
.Sec-10 .Inner-Sec-6 .Image-Box .Img-Heading h3 {
  font-size: 40px;
  font-family: "Outfit", "Outfit Fallback", "Outfit Fallback Android", sans-serif;
  font-weight: 500;
  color: black;
}
.Sec-6 .Inner-Sec-6 .Mobil-Imgs,
.Sec-7 .Inner-Sec-6 .Mobil-Imgs,
.Sec-8 .Inner-Sec-6 .Mobil-Imgs,
.Sec-9 .Inner-Sec-6 .Mobil-Imgs,
.Sec-10 .Inner-Sec-6 .Mobil-Imgs {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  column-gap: 0;
  margin-top: 30px;
  position: relative;
  padding-top: 60px;
}
.Sec-6 .Inner-Sec-6 .Mobil-Imgs::after,
.Sec-7 .Inner-Sec-6 .Mobil-Imgs::after,
.Sec-8 .Inner-Sec-6 .Mobil-Imgs::after,
.Sec-9 .Inner-Sec-6 .Mobil-Imgs::after,
.Sec-10 .Inner-Sec-6 .Mobil-Imgs::after {
  content: "";
  position: absolute;
  width: 94%;
  height: 1px;
  background-color: #80808029;
  left: 18px;
}
.Sec-6 .Inner-Sec-6 .Mobil-Imgs img,
.Sec-7 .Inner-Sec-6 .Mobil-Imgs img,
.Sec-8 .Inner-Sec-6 .Mobil-Imgs img,
.Sec-9 .Inner-Sec-6 .Mobil-Imgs img,
.Sec-10 .Inner-Sec-6 .Mobil-Imgs img {
  height: auto;
  width: 100%;
}

@media (max-width: 1600px) {
  .Section-sphere-1::before {
    width: 850px;
  }
  .Section-sphere-1 .Baner-inner .riht-img img {
    width: 50%;
  }
}

@media (max-width: 1440px) {
  .Section-sphere-1 {
    background-size: cover;
    background-position: top right;
  }
  .Section-sphere-1::before {
    width: 750px;
  }
  .Section-sphere-1::after {
    background-size: cover;
    height: 150px;
  }
}

@media (min-width: 1024px) and (max-width: 1365px) {
  .Section-sphere-1 .Baner-inner .content-side h1 {
    font-size: 50px;
    line-height: 60px;
    margin-top: 60px;
  }
  .Section-sphere-1 .Baner-inner .riht-img img {
    width: 720px;
  }
  .S2-fivesphere .S2-Inner .stru-content h2 {
    font-size: 40px;
  }
  .S2-fivesphere .S2-Inner .stru-content h2 {
    font-size: 60px;
    line-height: 40px;
  }
  .S3 .slutn-div h2 {
    font-size: 30px;
  }
  .S3 .theprblm-dev h2 {
    font-size: 30px;
  }
}

@media (max-width: 1100px) {
  .Section-sphere-1 {
    height: 900px;
  }
  .Section-sphere-1 .Baner-inner .content-side .logo-box-main {
    grid-template-columns: 1fr 1fr 1fr;
  }
  .Section-sphere-1
    .Baner-inner
    .content-side
    .logo-box-main
    .logo-box
    .text-box
    h4, .Section-sphere-1
    .Baner-inner
    .content-side
    .logo-box-main
    .logo-box
    .text-box
    .fs-meta {
    font-size: 20px;
  }
  .Section-sphere-1
    .Baner-inner
    .content-side
    .logo-box-main
    .logo-box
    .text-box
    p {
    font-size: 15px;
  }
  .Section-sphere-1 .Baner-inner .riht-img img {
    width: 60%;
  }
}

@media (max-width: 1024px) {
  .Section-sphere-1::before {
    content: unset;
  }
}

@media (max-width: 1023px) {
  .Section-sphere-1 {
    background-image: url("../images/case-studies/fivesphere/banner-mobile.webp");
  }
  .Section-sphere-1 .Baner-inner {
    display: block;
  }
  .Section-sphere-1 .Baner-inner .content-side {
    padding: 50px 0 0 0;
  }
  .Section-sphere-1 .Baner-inner .content-side h1 {
    font-size: 40px;
    line-height: 44px;
    margin-top: 20px;
  }
  .Section-sphere-1 .Baner-inner .content-side h1 br {
    display: none;
  }
  .Section-sphere-1 .Baner-inner .content-side p {
    font-size: 18px;
    padding: 10px 0 20px 0;
  }
  .Section-sphere-1 .Baner-inner .content-side > img {
    width: 60px;
    height: 60px;
  }
  .Section-sphere-1 .Baner-inner .content-side .logo-box-main {
    grid-template-columns: repeat(auto-fill, 200px);
  }
  .Section-sphere-1
    .Baner-inner
    .content-side
    .logo-box-main
    .logo-box
    .text-box
    h4, .Section-sphere-1
    .Baner-inner
    .content-side
    .logo-box-main
    .logo-box
    .text-box
    .fs-meta {
    font-size: 20px;
  }
  .Section-sphere-1 .Baner-inner .riht-img img {
    display: none;
  }
  .S2-fivesphere {
    padding: 60px 0;
  }
  .S2-fivesphere .S2-Inner {
    display: block;
  }
  .S2-fivesphere .S2-Inner .img-left {
    margin-bottom: 30px;
  }
  .S2-fivesphere .S2-Inner .img-left img {
    width: 100%;
    height: auto;
  }
  .S2-fivesphere .S2-Inner .stru-content h2 {
    font-size: 40px;
  }
  .S2-fivesphere .S2-Inner .stru-content h2 {
    font-size: 60px;
    line-height: 40px;
  }
  .S3 .slutn-div {
    display: block;
  }
  .S3 .slutn-div h2 {
    font-size: 30px;
    padding-bottom: 6px;
  }
  .S3 .theprblm-dev {
    display: block;
  }
  .S3 .theprblm-dev h2 {
    font-size: 30px;
    padding-bottom: 6px;
  }
  .Sec-6 .Inner-Sec-6 .Image-Box p,
  .Sec-7 .Inner-Sec-6 .Image-Box p,
  .Sec-8 .Inner-Sec-6 .Image-Box p,
  .Sec-9 .Inner-Sec-6 .Image-Box p,
  .Sec-10 .Inner-Sec-6 .Image-Box p {
    font-size: 16px;
    line-height: 26px;
    width: 100%;
  }
}

@media (max-width: 991px) {
  .Section-sphere-1 {
    height: 600px;
  }
}

@media (max-width: 767px) {
  .Section-sphere-1 {
    height: auto;
    background-position: center;
  }
  .Section-sphere-1 .Baner-inner .content-side .logo-box-main {
    grid-template-columns: 1fr;
  }
  .S2-fivesphere {
    padding: 40px 0;
  }
  .S2-fivesphere .S2-Inner .img-left img {
    width: 100%;
    height: auto;
    border-radius: 20px;
    object-fit: fill;
  }
  .S2-fivesphere .S2-Inner .stru-content h2 {
    font-size: 30px;
  }
  .S2-fivesphere .S2-Inner .stru-content h2 {
    font-size: 40px;
    line-height: 40px;
  }
  .Sec-4 .Inner-S4 h2 {
    font-size: 34px;
  }
  .Sec-5 .Inner-Sec-5 h2 {
    font-size: 34px;
  }
  .Sec-6 {
    padding: 30px 0;
  }
  .Sec-7 {
    padding: 30px 0;
  }
  .Sec-8 {
    padding: 30px 0;
  }
  .Sec-9 {
    padding: 30px 0;
  }
  .Sec-10 {
    padding: 30px 0;
  }
  .Sec-6 .Inner-Sec-6 h2,
  .Sec-7 .Inner-Sec-6 h2,
  .Sec-8 .Inner-Sec-6 h2,
  .Sec-9 .Inner-Sec-6 h2,
  .Sec-10 .Inner-Sec-6 h2 {
    font-size: 34px;
    margin-bottom: 40px;
  }
  .Sec-6 .Inner-Sec-6 .Image-Box,
  .Sec-7 .Inner-Sec-6 .Image-Box,
  .Sec-8 .Inner-Sec-6 .Image-Box,
  .Sec-9 .Inner-Sec-6 .Image-Box,
  .Sec-10 .Inner-Sec-6 .Image-Box {
    padding: 20px 0 0 0;
  }
  .Sec-6 .Inner-Sec-6 .Image-Box .Img-Heading h3,
  .Sec-7 .Inner-Sec-6 .Image-Box .Img-Heading h3,
  .Sec-8 .Inner-Sec-6 .Image-Box .Img-Heading h3,
  .Sec-9 .Inner-Sec-6 .Image-Box .Img-Heading h3,
  .Sec-10 .Inner-Sec-6 .Image-Box .Img-Heading h3 {
    font-size: 34px;
    margin: 0;
  }
  .Sec-6 .Inner-Sec-6 .Mobil-Imgs,
  .Sec-7 .Inner-Sec-6 .Mobil-Imgs,
  .Sec-8 .Inner-Sec-6 .Mobil-Imgs,
  .Sec-9 .Inner-Sec-6 .Mobil-Imgs,
  .Sec-10 .Inner-Sec-6 .Mobil-Imgs {
    grid-template-columns: 1fr 1fr;
    row-gap: 20px;
    padding-top: 20px;
  }
}

@media (max-width: 550px) {
  .Section-sphere-1::after {
    content: unset;
  }
}

@media (max-width: 480px) {
  .Section-sphere-1 .Baner-inner .content-side p {
    font-size: 18px;
  }
  .Sec-4 .Inner-S4 h2 {
    font-size: 30px;
  }
  .Sec-5 .Inner-Sec-5 h2 {
    font-size: 30px;
  }
  .Sec-6 .Inner-Sec-6 .Image-Box .Img-Heading h3,
  .Sec-7 .Inner-Sec-6 .Image-Box .Img-Heading h3,
  .Sec-8 .Inner-Sec-6 .Image-Box .Img-Heading h3,
  .Sec-9 .Inner-Sec-6 .Image-Box .Img-Heading h3,
  .Sec-10 .Inner-Sec-6 .Image-Box .Img-Heading h3 {
    font-size: 26px;
  }
}

/* ============================================================
   WHITE TAIL CASE STUDY
   ============================================================ */
.whiteTail {
  margin-top: 0;
  background: url("../images/case-studies/white-tail/cruze-bg-1.webp") no-repeat;
  background-size: contain;
  padding: 450px 0 100px;
  position: relative;
}
.whiteTail::before {
  content: "";
  background-image: url("../images/case-studies/white-tail/iPhone-X-mockup-hover-seperated.webp");
  background-size: contain;
  width: 48%;
  height: 50%;
  position: absolute;
  bottom: 0;
  background-repeat: no-repeat;
  right: 0;
  background-position: bottom;
}
.whiteTail .banner-info .logoDiv {
  margin: 0 0 0 30px;
}
.whiteTail .banner-info .logo {
  margin: 35px 0;
}
.whiteTail .banner-info h1 {
  font-size: 40px;
  color: #221f20;
  font-weight: bold;
  width: 60%;
  line-height: 50px;
}
.whiteTail .banner-grid {
  display: grid;
  grid-template-columns: 70% 30%;
}
.whiteTail .banner-grid .left-info .left-grid {
  padding-top: 150px;
  display: grid;
  grid-template-columns: 1fr 1fr;
}
.whiteTail .banner-grid .left-info .left-grid .info-box {
  margin-bottom: 50px;
}
.whiteTail .banner-grid .left-info .left-grid .info-box h4, .whiteTail .banner-grid .left-info .left-grid .info-box .wt-meta {
  font-size: 22px;
  color: #00732c;
  line-height: 28px;
  margin: 8px 0;
}
.whiteTail .banner-grid .left-info .left-grid .info-box p {
  color: #221f20;
  font-size: 24px;
  line-height: 40px;
  font-weight: 500;
  width: 90%;
}
.hourseSec {
  margin-top: -110px;
}
.projectBg {
  position: relative;
  height: 800px;
  display: flex;
  align-items: center;
  overflow: hidden;
}
.projectBg::before {
  content: "";
  background-image: url("../images/case-studies/white-tail/projectBg.webp");
  position: absolute;
  width: 50%;
  height: 100%;
  background-repeat: no-repeat;
  right: 0;
  bottom: -25px;
  background-position: bottom right;
  background-size: contain;
}
.projectBg .projectBgLeft {
  width: 50%;
}
.projectBg .projectBgLeft h2 {
  color: #221f20;
  font-size: 50px;
  font-weight: bold;
  line-height: 50px;
  margin: 0;
}
.projectBg .projectBgLeft h4, .projectBg .projectBgLeft h3 {
  color: #00732c;
  font-size: 30px;
  line-height: 40px;
  font-weight: bold;
  margin-bottom: 30px;
}
.projectBg .projectBgLeft p {
  color: #221f20;
  font-size: 25px;
  line-height: 40px;
  width: 100%;
  margin-bottom: 30px;
}
.projectBg .projectBgLeft p:last-child {
  margin: 0;
}
.businessProblem {
  background: url("../images/case-studies/white-tail/businessProblem.webp")
    no-repeat;
  padding: 160px 0 460px;
  background-size: cover;
  position: relative;
}
.businessProblem::after {
  position: absolute;
  content: "";
  background: transparent linear-gradient(180deg, #ffffff00 0%, #ffffff 100%) 0%
    0% no-repeat padding-box;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 17%;
}
.businessProblem .business-grid {
  display: grid;
  grid-template-columns: 1fr 2fr;
}
.businessProblem .business-grid .right-info h2 {
  color: #00732c;
  font-size: 50px;
  line-height: 50px;
  font-weight: bold;
  margin-bottom: 20px;
}
.businessProblem .business-grid .right-info p {
  color: #221f20;
  font-size: 26px;
  line-height: 40px;
  margin-bottom: 35px;
  width: 100%;
}
.theOutCome {
  background: url("../images/case-studies/white-tail/theOutCome.webp") no-repeat;
  position: relative;
  padding: 10px 0 40px;
  background-size: cover;
}
.theOutCome::after {
  position: absolute;
  content: "";
  background: transparent linear-gradient(180deg, #ffffff00 0%, #ffffff 100%) 0%
    0% no-repeat padding-box;
  bottom: -6px;
  left: 0;
  width: 100%;
  height: 8%;
}
.theOutCome .theOutComeFirst {
  margin-bottom: 100px;
  text-align: center;
}
.theOutCome .theOutComeFirst h4, .theOutCome .theOutComeFirst h3 {
  color: #221f20;
  font-size: 25px;
  font-weight: bold;
  line-height: 50px;
}
.theOutCome .outcome-grid {
  display: grid;
  grid-gap: 50px;
  align-items: center;
  grid-template-columns: 1fr 2fr;
}
.theOutCome .outcome-grid .left-info {
  position: relative;
}
.theOutCome .outcome-grid .left-info img {
  width: 100%;
  height: auto;
}
.theOutCome .outcome-grid .right-info h2 {
  color: #00732c;
  font-size: 50px;
  line-height: 50px;
  font-weight: bold;
  margin-bottom: 60px;
}
.theOutCome .outcome-grid .right-info .theOutComeList ul {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-gap: 20px 50px;
}
.theOutCome .outcome-grid .right-info .theOutComeList ul li {
  display: block;
  position: relative;
}
.theOutCome .outcome-grid .right-info .theOutComeList ul li::after {
  position: absolute;
  left: -29px;
  top: 9px;
  background: #00732c;
  width: 8px;
  height: 8px;
  content: "";
}
.theOutCome .outcome-grid .right-info .theOutComeList ul li::marker {
  color: #00732c;
}
.theOutCome .outcome-grid .right-info .theOutComeList ul li h6, .theOutCome .outcome-grid .right-info .theOutComeList ul li h3 {
  color: #00732c;
  font-size: 22px;
  font-weight: bold;
  margin: 0;
}
.theOutCome .outcome-grid .right-info .theOutComeList ul li p {
  color: #221f20;
  font-size: 18px;
  line-height: 30px;
  margin-top: 21px;
  width: 79%;
}
.uiuxDesign {
  background: url("../images/case-studies/white-tail/uiuxBg.webp") no-repeat;
  padding-top: 50px;
}
.uiuxDesign .design-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
}
.uiuxDesign .design-grid .left-info .uiuxDesignContent {
  text-align: right;
  width: 77%;
  margin-top: 140px;
}
.uiuxDesign .design-grid .left-info .uiuxDesignContent h2 {
  color: #00732c;
  font-size: 50px;
  font-weight: bold;
  line-height: 50px;
  margin: 0 90px 30px 0;
}
.uiuxDesign .design-grid .left-info .uiuxDesignContent .uiuxDesignCircle {
  border: 20px solid #00732c36;
  width: 264px;
  height: 264px;
  border-radius: 50%;
  margin: 0 0 0 auto;
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: revert;
  padding-left: 107px;
}
.uiuxDesign .design-grid .left-info .uiuxDesignContent .uiuxDesignCircle h4, .uiuxDesign .design-grid .left-info .uiuxDesignContent .uiuxDesignCircle .wt-stat-n {
  font-size: 80px;
  font-weight: bold;
  color: #00732c;
  line-height: 70px;
  margin: 0;
}
.uiuxDesign .design-grid .left-info .uiuxDesignContent .uiuxDesignCircle h6, .uiuxDesign .design-grid .left-info .uiuxDesignContent .uiuxDesignCircle .wt-stat-l {
  color: #00a8ff;
  font-size: 34px;
  font-weight: 600;
}
.uiuxDesign .design-grid .right-info {
  position: relative;
}
.uiuxDesign .design-grid .right-info img {
  width: 100%;
  height: auto;
  position: absolute;
  right: -10px;
}
.uiuxDesign .animalImg img {
  position: relative;
  top: 450px;
  left: 0;
}
.keyChallenges {
  margin-top: 30%;
}
.keyChallenges .keyChallenges-info h2 {
  color: #00732c;
  font-size: 50px;
  line-height: 50px;
  font-weight: bold;
  margin-bottom: 40px;
}
.keyChallenges .keyChallenges-info ul {
  padding-left: 17px;
}
.keyChallenges .keyChallenges-info ul li {
  color: #221f20;
  font-size: 27px;
  line-height: 42px;
  margin-bottom: 25px;
  width: 65%;
}
.keyChallenges .keyChallenges-info ul li span {
  color: #00732c;
  font-weight: bold;
}
.keyChallenges > img {
  width: 100%;
  height: auto;
  margin-top: -10px;
  display: block;
}
.achivement {
  padding: 60px 0 50px;
}
.achivement h2 {
  background-image: url("../images/case-studies/white-tail/textBg.webp");
  background-repeat: repeat;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  margin: 30px 0 20px;
  font-size: 120px;
  text-align: center;
  font-weight: bold;
  -webkit-font-smoothing: antialiased;
  background-position: 100% 60%;
}
.achivement p {
  color: #221f20;
  font-size: 24px;
  text-align: center;
  line-height: 40px;
}
.testimonials {
  background: #00732c14;
  padding: 100px 0;
}
.testimonials .testimonialsSingle svg {
  color: #00732c;
  width: 90px;
  height: 90px;
}
.testimonials .testimonialsSingle .right-svg {
  margin-left: auto;
  display: block;
}
.testimonials .testimonialsSingle p {
  color: #221f20;
  font-size: 27px;
  line-height: 40px;
  text-align: center;
  position: relative;
  margin: 0;
}
.testimonials .testimonialsSingle .testimonialsInfo {
  display: flex;
  text-align: left;
  justify-content: center;
  gap: 20px;
  margin-top: -50px;
  align-items: center;
}
.testimonials .testimonialsSingle .testimonialsInfo h5, .testimonials .testimonialsSingle .testimonialsInfo .wt-name {
  color: #00732c;
  margin: 0;
  line-height: 36px;
  font-size: 27px;
  font-weight: bold;
}
.testimonials .testimonialsSingle .testimonialsInfo h6, .testimonials .testimonialsSingle .testimonialsInfo .wt-role {
  color: #221f20;
  font-size: 20px;
}
@media (max-width: 1600px) {
  .whiteTail {
    padding: 320px 0 100px;
  }
  .whiteTail::before {
    width: 55%;
    height: 40%;
    bottom: 15%;
  }
  .whiteTail .banner-info h1 {
    font-size: 32px;
    width: 60%;
  }
  .whiteTail .banner-grid {
    grid-template-columns: 2fr 1fr;
  }
  .whiteTail .banner-grid .left-info .left-grid {
    padding-top: 120px;
  }
  .whiteTail .banner-grid .left-info .left-grid .info-box h4, .whiteTail .banner-grid .left-info .left-grid .info-box .wt-meta {
    font-size: 22px;
  }
  .whiteTail .banner-grid .left-info .left-grid .info-box p {
    font-size: 20px;
  }
  .projectBg {
    height: 700px;
  }
  .projectBg .projectBgLeft h2 {
    font-size: 45px;
  }
  .projectBg .projectBgLeft h4, .projectBg .projectBgLeft h3 {
    font-size: 30px;
  }
  .projectBg .projectBgLeft p {
    font-size: 24px;
  }
  .businessProblem {
    padding: 160px 0;
  }
  .businessProblem .business-grid {
    grid-template-columns: 1fr 2fr;
  }
  .businessProblem .business-grid .right-info h2 {
    font-size: 45px;
  }
  .businessProblem .business-grid .right-info p {
    font-size: 24px;
  }
  .theOutCome .theOutComeFirst h4, .theOutCome .theOutComeFirst h3 {
    font-size: 24px;
  }
  .theOutCome .outcome-grid .right-info h2 {
    font-size: 45px;
  }
  .theOutCome .outcome-grid .right-info .theOutComeList ul li h6, .theOutCome .outcome-grid .right-info .theOutComeList ul li h3 {
    font-size: 22px;
  }
  .theOutCome .outcome-grid .right-info .theOutComeList ul li p {
    font-size: 18px;
  }
  .keyChallenges {
    margin-top: 35%;
  }
  .keyChallenges .keyChallenges-info h2 {
    font-size: 45px;
  }
  .keyChallenges .keyChallenges-info ul li {
    font-size: 26px;
  }
  .achivement h2 {
    font-size: 100px;
  }
  .achivement p {
    font-size: 22px;
  }
  .testimonials .testimonialsSingle p {
    font-size: 24px;
  }
  .testimonials .testimonialsSingle .testimonialsInfo h5, .testimonials .testimonialsSingle .testimonialsInfo .wt-name {
    font-size: 24px;
  }
  .testimonials .testimonialsSingle .testimonialsInfo h6, .testimonials .testimonialsSingle .testimonialsInfo .wt-role {
    font-size: 20px;
  }
}
@media (max-width: 1440px) {
  .whiteTail {
    padding: 240px 0 100px;
  }
  .whiteTail::before {
    width: 55%;
    height: 40%;
    bottom: 15%;
  }
  .whiteTail .banner-info .logo img {
    width: 50%;
    height: auto;
  }
  .whiteTail .banner-info h1 {
    font-size: 30px;
    width: 60%;
  }
  .whiteTail .banner-grid {
    grid-template-columns: 1.5fr 1fr;
  }
  .whiteTail .banner-grid .left-info .left-grid {
    padding-top: 100px;
  }
  .whiteTail .banner-grid .left-info .left-grid .info-box h4, .whiteTail .banner-grid .left-info .left-grid .info-box .wt-meta {
    font-size: 22px;
  }
  .whiteTail .banner-grid .left-info .left-grid .info-box p {
    font-size: 18px;
    line-height: 1.6;
  }
  .projectBg {
    height: 600px;
  }
  .projectBg .projectBgLeft h2 {
    font-size: 40px;
  }
  .projectBg .projectBgLeft h4, .projectBg .projectBgLeft h3 {
    font-size: 28px;
  }
  .projectBg .projectBgLeft p {
    font-size: 24px;
    line-height: 1.6;
  }
  .businessProblem {
    padding: 160px 0 200px;
  }
  .businessProblem .business-grid {
    grid-template-columns: 1.5fr 2fr;
  }
  .businessProblem .business-grid .right-info h2 {
    font-size: 40px;
  }
  .businessProblem .business-grid .right-info p {
    font-size: 20px;
    line-height: 1.6;
  }
  .theOutCome .theOutComeFirst h4, .theOutCome .theOutComeFirst h3 {
    font-size: 22px;
  }
  .theOutCome .outcome-grid .right-info h2 {
    font-size: 35px;
  }
  .theOutCome .outcome-grid .right-info .theOutComeList ul li h6, .theOutCome .outcome-grid .right-info .theOutComeList ul li h3 {
    font-size: 20px;
  }
  .theOutCome .outcome-grid .right-info .theOutComeList ul li p {
    font-size: 18px;
  }
  .uiuxDesign .design-grid .left-info .uiuxDesignContent h2 {
    font-size: 45px;
  }
  .uiuxDesign .design-grid .left-info .uiuxDesignContent .uiuxDesignCircle h4, .uiuxDesign .design-grid .left-info .uiuxDesignContent .uiuxDesignCircle .wt-stat-n {
    font-size: 70px;
  }
  .uiuxDesign .design-grid .left-info .uiuxDesignContent .uiuxDesignCircle h6, .uiuxDesign .design-grid .left-info .uiuxDesignContent .uiuxDesignCircle .wt-stat-l {
    font-size: 32px;
  }
  .uiuxDesign .animalImg img {
    top: 350px;
    width: 50%;
    height: auto;
  }
  .keyChallenges {
    margin-top: 30%;
  }
  .keyChallenges .keyChallenges-info h2 {
    font-size: 40px;
  }
  .keyChallenges .keyChallenges-info ul li {
    font-size: 24px;
  }
  .achivement h2 {
    font-size: 90px;
  }
  .achivement p {
    font-size: 20px;
  }
  .testimonials .testimonialsSingle p {
    font-size: 22px;
  }
  .testimonials .testimonialsSingle .testimonialsInfo h5, .testimonials .testimonialsSingle .testimonialsInfo .wt-name {
    font-size: 22px;
  }
  .testimonials .testimonialsSingle .testimonialsInfo h6, .testimonials .testimonialsSingle .testimonialsInfo .wt-role {
    font-size: 20px;
  }
}
@media (max-width: 1200px) {
  .whiteTail {
    padding: 180px 0 100px;
  }
  .whiteTail::before {
    width: 55%;
    height: 40%;
    bottom: 14%;
  }
  .whiteTail .banner-info .logo img {
    width: 50%;
    height: auto;
  }
  .whiteTail .banner-info h1 {
    font-size: 28px;
    width: 60%;
  }
  .whiteTail .banner-grid {
    grid-template-columns: 1.5fr 1fr;
  }
  .whiteTail .banner-grid .left-info .left-grid {
    padding-top: 60px;
  }
  .whiteTail .banner-grid .left-info .left-grid .info-box {
    margin-bottom: 20px;
  }
  .whiteTail .banner-grid .left-info .left-grid .info-box h4, .whiteTail .banner-grid .left-info .left-grid .info-box .wt-meta {
    font-size: 22px;
  }
  .whiteTail .banner-grid .left-info .left-grid .info-box p {
    font-size: 16px;
    line-height: 1.6;
  }
  .hourseSec img {
    width: 100%;
    height: auto;
  }
  .projectBg {
    height: 500px;
  }
  .projectBg .projectBgLeft h2 {
    font-size: 30px;
  }
  .projectBg .projectBgLeft h4, .projectBg .projectBgLeft h3 {
    font-size: 25px;
  }
  .projectBg .projectBgLeft p {
    font-size: 22px;
    line-height: 1.6;
  }
  .businessProblem {
    padding: 160px 0 200px;
    background-position: center;
  }
  .businessProblem .business-grid {
    grid-template-columns: 1fr 2fr;
  }
  .businessProblem .business-grid .right-info h2 {
    font-size: 30px;
  }
  .businessProblem .business-grid .right-info p {
    font-size: 18px;
    line-height: 1.6;
  }
  .theOutCome .theOutComeFirst h4, .theOutCome .theOutComeFirst h3 {
    font-size: 22px;
  }
  .theOutCome .outcome-grid .right-info h2 {
    font-size: 30px;
  }
  .theOutCome .outcome-grid .right-info .theOutComeList ul {
    grid-gap: 10px 40px;
  }
  .theOutCome .outcome-grid .right-info .theOutComeList ul li h6, .theOutCome .outcome-grid .right-info .theOutComeList ul li h3 {
    font-size: 18px;
  }
  .theOutCome .outcome-grid .right-info .theOutComeList ul li p {
    font-size: 16px;
    width: 100%;
  }
  .uiuxDesign {
    background-size: cover;
  }
  .uiuxDesign .design-grid .left-info .uiuxDesignContent h2 {
    font-size: 35px;
  }
  .uiuxDesign .design-grid .left-info .uiuxDesignContent .uiuxDesignCircle h4, .uiuxDesign .design-grid .left-info .uiuxDesignContent .uiuxDesignCircle .wt-stat-n {
    font-size: 60px;
  }
  .uiuxDesign .design-grid .left-info .uiuxDesignContent .uiuxDesignCircle h6, .uiuxDesign .design-grid .left-info .uiuxDesignContent .uiuxDesignCircle .wt-stat-l {
    font-size: 30px;
  }
  .uiuxDesign .animalImg img {
    top: 200px;
    width: 50%;
    height: auto;
  }
  .keyChallenges {
    margin-top: 250px;
  }
  .keyChallenges .keyChallenges-info h2 {
    font-size: 30px;
  }
  .keyChallenges .keyChallenges-info ul li {
    font-size: 22px;
    width: 100%;
  }
  .achivement h2 {
    font-size: 90px;
  }
  .achivement p {
    font-size: 20px;
    line-height: 1.6;
  }
  .testimonials .testimonialsSingle p {
    font-size: 20px;
  }
  .testimonials .testimonialsSingle .testimonialsInfo h5, .testimonials .testimonialsSingle .testimonialsInfo .wt-name {
    font-size: 20px;
  }
  .testimonials .testimonialsSingle .testimonialsInfo h6, .testimonials .testimonialsSingle .testimonialsInfo .wt-role {
    font-size: 18px;
  }
}
@media (max-width: 991px) {
  .whiteTail {
    padding: 100px 0;
  }
  .whiteTail::before {
    width: 50%;
    height: 40%;
    bottom: 0;
    top: 10%;
    margin: auto;
  }
  .whiteTail .banner-info .logo img {
    width: 50%;
    height: auto;
  }
  .whiteTail .banner-info h1 {
    font-size: 24px;
    line-height: 1.6;
  }
  .whiteTail .banner-grid {
    grid-template-columns: 1.5fr 1fr;
  }
  .whiteTail .banner-grid .left-info .left-grid {
    padding-top: 30px;
  }
  .whiteTail .banner-grid .left-info .left-grid .info-box {
    margin-bottom: 20px;
  }
  .whiteTail .banner-grid .left-info .left-grid .info-box h4, .whiteTail .banner-grid .left-info .left-grid .info-box .wt-meta {
    font-size: 20px;
  }
  .whiteTail .banner-grid .left-info .left-grid .info-box p {
    font-size: 14px;
    line-height: 1.6;
  }
  .projectBg {
    height: 500px;
  }
  .projectBg .projectBgLeft h2 {
    font-size: 26px;
    line-height: 1.5;
  }
  .projectBg .projectBgLeft h4, .projectBg .projectBgLeft h3 {
    font-size: 22px;
    line-height: 1.5;
    margin-bottom: 10px;
  }
  .projectBg .projectBgLeft p {
    font-size: 18px;
    line-height: 1.6;
  }
  .businessProblem {
    padding: 160px 0;
    background-position: center;
  }
  .businessProblem .business-grid {
    grid-template-columns: 1fr 2fr;
  }
  .theOutCome .theOutComeFirst h4, .theOutCome .theOutComeFirst h3 {
    font-size: 22px;
  }
  .theOutCome .outcome-grid {
    display: flex;
    flex-direction: column-reverse;
  }
  .theOutCome .outcome-grid .right-info h2 {
    font-size: 30px;
  }
  .theOutCome .outcome-grid .right-info .theOutComeList ul {
    padding: 0;
    grid-gap: 10px 40px;
  }
  .theOutCome .outcome-grid .right-info .theOutComeList ul li h6, .theOutCome .outcome-grid .right-info .theOutComeList ul li h3 {
    font-size: 18px;
  }
  .theOutCome .outcome-grid .right-info .theOutComeList ul li p {
    font-size: 16px;
    width: 100%;
  }
  .uiuxDesign {
    background-size: cover;
  }
  .uiuxDesign .design-grid .left-info .uiuxDesignContent h2 {
    font-size: 30px;
    margin: 0;
  }
  .uiuxDesign .design-grid .left-info .uiuxDesignContent .uiuxDesignCircle h4, .uiuxDesign .design-grid .left-info .uiuxDesignContent .uiuxDesignCircle .wt-stat-n {
    font-size: 50px;
  }
  .uiuxDesign .design-grid .left-info .uiuxDesignContent .uiuxDesignCircle h6, .uiuxDesign .design-grid .left-info .uiuxDesignContent .uiuxDesignCircle .wt-stat-l {
    font-size: 28px;
  }
  .uiuxDesign .animalImg img {
    top: 100px;
    width: 50%;
    height: auto;
  }
  .keyChallenges {
    margin-top: 200px;
  }
  .keyChallenges .keyChallenges-info h2 {
    font-size: 28px;
    margin-bottom: 20px;
  }
  .keyChallenges .keyChallenges-info ul li {
    font-size: 18px;
    line-height: 1.5;
  }
  .achivement h2 {
    font-size: 80px;
  }
  .achivement p {
    font-size: 18px;
  }
  .testimonials .testimonialsSingle p {
    font-size: 18px;
    line-height: 1.6;
  }
  .testimonials .testimonialsSingle .testimonialsInfo h5, .testimonials .testimonialsSingle .testimonialsInfo .wt-name {
    font-size: 18px;
  }
  .testimonials .testimonialsSingle .testimonialsInfo h6, .testimonials .testimonialsSingle .testimonialsInfo .wt-role {
    font-size: 18px;
  }
}
@media (max-width: 767px) {
  .whiteTail {
    padding: 100px 0;
  }
  .whiteTail::before {
    content: unset;
  }
  .whiteTail .banner-info .logoDiv {
    margin: 0;
  }
  .whiteTail .banner-info .logoDiv img {
    width: 200px;
    height: auto;
  }
  .whiteTail .banner-info .logo img {
    width: 50%;
    height: auto;
  }
  .whiteTail .banner-info h1 {
    font-size: 22px;
    line-height: 1.6;
  }
  .whiteTail .banner-grid {
    grid-template-columns: 2fr 1fr;
  }
  .whiteTail .banner-grid .left-info .left-grid {
    padding-top: 30px;
    grid-template-columns: 1fr;
  }
  .whiteTail .banner-grid .left-info .left-grid .info-box {
    margin-bottom: 20px;
  }
  .whiteTail .banner-grid .left-info .left-grid .info-box h4, .whiteTail .banner-grid .left-info .left-grid .info-box .wt-meta {
    font-size: 18px;
  }
  .whiteTail .banner-grid .left-info .left-grid .info-box p {
    font-size: 14px;
    line-height: 1.6;
  }
  .projectBg {
    height: 650px;
    flex-direction: column;
    padding-top: 50px;
  }
  .projectBg::before {
    width: 60%;
  }
  .projectBg .projectBgLeft {
    width: 100%;
  }
  .projectBg .projectBgLeft h2 {
    font-size: 24px;
    line-height: 1.5;
  }
  .projectBg .projectBgLeft h4, .projectBg .projectBgLeft h3 {
    font-size: 20px;
    line-height: 1.5;
    margin-bottom: 10px;
  }
  .projectBg .projectBgLeft p {
    font-size: 18px;
    line-height: 1.6;
  }
  .businessProblem {
    padding: 100px 0;
    background-image:
      url("../images/case-studies/white-tail/businessProblem.webp"),
      linear-gradient(to right, #ffffff8f, #ffffff8f);
    background-blend-mode: overlay;
    background-position: 25%;
  }
  .businessProblem .business-grid {
    grid-template-columns: 1fr;
  }
  .businessProblem .business-grid .right-info h2 {
    font-size: 28px;
    margin-bottom: 10px;
  }
  .businessProblem .business-grid .right-info p {
    font-size: 16px;
    line-height: 1.6;
  }
  .theOutCome .theOutComeFirst h4, .theOutCome .theOutComeFirst h3 {
    font-size: 22px;
  }
  .theOutCome .outcome-grid .right-info h2 {
    font-size: 30px;
  }
  .theOutCome .outcome-grid .right-info .theOutComeList ul {
    padding: 0;
    grid-gap: 10px 40px;
  }
  .theOutCome .outcome-grid .right-info .theOutComeList ul li h6, .theOutCome .outcome-grid .right-info .theOutComeList ul li h3 {
    font-size: 16px;
  }
  .theOutCome .outcome-grid .right-info .theOutComeList ul li p {
    font-size: 15px;
    font-weight: 500;
    line-height: 1.6;
  }
  .uiuxDesign {
    height: 100%;
  }
  .uiuxDesign .design-grid {
    grid-template-columns: 1fr;
  }
  .uiuxDesign .design-grid .left-info .uiuxDesignContent {
    text-align: center;
    width: 100%;
    margin-top: 50px;
  }
  .uiuxDesign .design-grid .left-info .uiuxDesignContent h2 {
    font-size: 30px;
    margin: 0;
  }
  .uiuxDesign .design-grid .left-info .uiuxDesignContent .uiuxDesignCircle {
    text-align: center;
    margin: 20px auto;
  }
  .uiuxDesign .design-grid .left-info .uiuxDesignContent .uiuxDesignCircle h4, .uiuxDesign .design-grid .left-info .uiuxDesignContent .uiuxDesignCircle .wt-stat-n {
    font-size: 50px;
  }
  .uiuxDesign .design-grid .left-info .uiuxDesignContent .uiuxDesignCircle h6, .uiuxDesign .design-grid .left-info .uiuxDesignContent .uiuxDesignCircle .wt-stat-l {
    font-size: 28px;
  }
  .uiuxDesign .design-grid .right-info img {
    position: relative;
    top: 0;
  }
  .uiuxDesign .animalImg img {
    top: 0;
    width: 100%;
    height: auto;
  }
  .keyChallenges {
    margin-top: 100px;
  }
  .keyChallenges .keyChallenges-info h2 {
    font-size: 28px;
    margin-bottom: 20px;
  }
  .keyChallenges .keyChallenges-info ul li {
    font-size: 18px;
    line-height: 1.5;
    margin-bottom: 20px;
  }
  .achivement h2 {
    font-size: 70px;
  }
  .achivement p {
    font-size: 16px;
  }
  .testimonials {
    padding: 60px 0;
  }
  .testimonials .testimonialsSingle svg {
    width: 60px;
    height: 60px;
  }
  .testimonials .testimonialsSingle p {
    font-size: 16px;
  }
  .testimonials .testimonialsSingle .testimonialsInfo {
    margin-top: -30px;
  }
  .testimonials .testimonialsSingle .testimonialsInfo img {
    width: 60px;
    height: auto;
  }
  .testimonials .testimonialsSingle .testimonialsInfo h5, .testimonials .testimonialsSingle .testimonialsInfo .wt-name {
    font-size: 16px;
  }
  .testimonials .testimonialsSingle .testimonialsInfo h6, .testimonials .testimonialsSingle .testimonialsInfo .wt-role {
    font-size: 18px;
  }
}
@media (max-width: 576px) {
  .projectBg {
    height: 600px;
  }
  .projectBg::before {
    width: 70%;
  }
  .theOutCome .theOutComeFirst h4, .theOutCome .theOutComeFirst h3 {
    font-size: 22px;
  }
  .theOutCome .theOutComeFirst img {
    width: 100%;
    height: auto;
  }
  .theOutCome .outcome-grid .right-info h2 {
    font-size: 30px;
    margin-bottom: 20px;
  }
  .theOutCome .outcome-grid .right-info .theOutComeList ul {
    grid-template-columns: 1fr;
    padding-left: 30px;
    grid-gap: 10px 40px;
  }
  .theOutCome .outcome-grid .right-info .theOutComeList ul li h6, .theOutCome .outcome-grid .right-info .theOutComeList ul li h3 {
    font-size: 16px;
  }
  .theOutCome .outcome-grid .right-info .theOutComeList ul li p {
    font-size: 15px;
    font-weight: 500;
    line-height: 1.6;
  }
  .achivement h2 {
    font-size: 50px;
  }
  .achivement p {
    font-size: 16px;
  }
  .testimonials .testimonialsSingle p {
    font-size: 16px;
  }
  .testimonials .testimonialsSingle .testimonialsInfo h5, .testimonials .testimonialsSingle .testimonialsInfo .wt-name {
    font-size: 16px;
  }
  .testimonials .testimonialsSingle .testimonialsInfo h6, .testimonials .testimonialsSingle .testimonialsInfo .wt-role {
    font-size: 18px;
  }
}
@media (max-width: 479px) {
  .whiteTail .banner-info h1 {
    font-size: 20px;
    line-height: 1.6;
  }
  .whiteTail .banner-grid {
    grid-template-columns: 1fr;
  }
  .whiteTail .banner-grid .left-info .left-grid {
    grid-template-columns: 1fr 1fr;
  }
  .whiteTail .banner-grid .left-info .left-grid .info-box h4, .whiteTail .banner-grid .left-info .left-grid .info-box .wt-meta {
    font-size: 18px;
  }
  .whiteTail .banner-grid .left-info .left-grid .info-box p {
    font-size: 14px;
    line-height: 1.6;
  }
  .projectBg {
    height: 600px;
  }
  .projectBg::before {
    width: 80%;
  }
  .projectBg .projectBgLeft {
    width: 100%;
  }
  .projectBg .projectBgLeft h2 {
    font-size: 22px;
  }
  .projectBg .projectBgLeft h4, .projectBg .projectBgLeft h3 {
    font-size: 18px;
  }
  .projectBg .projectBgLeft p {
    font-size: 16px;
  }
  .keyChallenges {
    margin-top: 80px;
  }
  .keyChallenges .keyChallenges-info h2 {
    font-size: 26px;
  }
  .keyChallenges .keyChallenges-info ul li {
    font-size: 16px;
  }
}
@media (max-width: 400px) {
  .whiteTail .banner-info h1 {
    font-size: 18px;
    line-height: 1.6;
  }
  .whiteTail .banner-grid {
    grid-template-columns: 1fr;
  }
  .whiteTail .banner-grid .left-info .left-grid {
    grid-template-columns: 1fr;
  }
  .whiteTail .banner-grid .left-info .left-grid .info-box h4, .whiteTail .banner-grid .left-info .left-grid .info-box .wt-meta {
    font-size: 18px;
  }
  .whiteTail .banner-grid .left-info .left-grid .info-box p {
    font-size: 14px;
    line-height: 1.6;
  }
  .projectBg {
    height: 600px;
  }
  .projectBg::before {
    width: 90%;
  }
  .projectBg .projectBgLeft {
    width: 100%;
  }
  .projectBg .projectBgLeft h2 {
    font-size: 20px;
  }
  .projectBg .projectBgLeft h4, .projectBg .projectBgLeft h3 {
    font-size: 16px;
  }
  .projectBg .projectBgLeft p {
    font-size: 15px;
  }
  .businessProblem .business-grid .right-info h2 {
    font-size: 24px;
    margin-bottom: 10px;
  }
  .businessProblem .business-grid .right-info p {
    font-size: 15px;
    font-weight: 500;
    line-height: 1.6;
  }
  .theOutCome .theOutComeFirst h4, .theOutCome .theOutComeFirst h3 {
    font-size: 20px;
  }
  .theOutCome .outcome-grid .right-info h2 {
    font-size: 28px;
  }
  .theOutCome .outcome-grid .right-info .theOutComeList ul li h6, .theOutCome .outcome-grid .right-info .theOutComeList ul li h3 {
    font-size: 16px;
  }
  .theOutCome .outcome-grid .right-info .theOutComeList ul li p {
    font-size: 15px;
    font-weight: 500;
    line-height: 1.6;
  }
  .achivement h2 {
    font-size: 30px;
  }
  .achivement p {
    font-size: 15px;
  }
  .testimonials .testimonialsSingle p {
    font-size: 15px;
  }
  .testimonials .testimonialsSingle .testimonialsInfo h5, .testimonials .testimonialsSingle .testimonialsInfo .wt-name {
    font-size: 15px;
  }
  .testimonials .testimonialsSingle .testimonialsInfo h6, .testimonials .testimonialsSingle .testimonialsInfo .wt-role {
    font-size: 14px;
  }
}

/* ============================================================
   THE WEDDING APP — WeddingBanner
   ============================================================ */
.wedding-app {
  background-size: cover;
  background-repeat: no-repeat;
  padding: 80px 0 160px;
  position: relative;
}
.wedding-app .content {
  text-align: center;
}
.wedding-app .content h1, .wedding-app .content h2 {
  color: #000;
  font-weight: bold;
  font-size: 55px;
  margin: 20px 0 30px;
}
.wedding-app .content h1 span {
  color: #a49786;
}
.wedding-app .content p {
  color: #000;
  font-size: 18px;
  font-weight: 500;
  line-height: 2;
}
.wedding-app .content button {
  background-color: #a49786;
  border-radius: 50px;
  padding: 20px;
  text-transform: capitalize;
  font-weight: 400;
  font-size: 18px;
  color: #fff;
  border: none;
  cursor: pointer;
  transition: background-color 0.3s;
}
.wedding-app .content .image {
  padding-top: 80px;
}
.wedding-app::before {
  content: "";
  position: absolute;
  background-image: url("../images/case-studies/wedding-app/gradient.png");
  width: 100%;
  height: 40%;
  background-size: cover;
  bottom: 0;
  background-repeat: no-repeat;
}
.wedding-app.wedding-app-footer {
  padding: 80px 0 0;
}
.wedding-app.wedding-app-footer .content h2 {
  color: #fff;
}
.wedding-app.wedding-app-footer .content button {
  background-color: #fff;
  color: #000;
}
.wedding-app.wedding-app-footer .content button:hover {
  color: #fff;
  background-color: #a49786;
}
.wedding-app.wedding-app-footer::before {
  display: none;
}
@media (max-width: 1024px) {
  .wedding-app .content h1, .wedding-app .content h2 {
    font-size: 45px;
  }
  .wedding-app .content p {
    font-size: 16px;
  }
  .wedding-app .content button {
    padding: 18px;
  }
}
@media (max-width: 768px) {
  .wedding-app .content h1, .wedding-app .content h2 {
    font-size: 35px;
  }
  .wedding-app .content p {
    font-size: 15px;
  }
  .wedding-app .content button {
    padding: 18px;
  }
  .wedding-app .content .image img {
    width: 100%;
    height: auto;
  }
}
@media (max-width: 575px) {
  .wedding-app .content h1, .wedding-app .content h2 {
    font-size: 22px;
  }
  .wedding-app .content h1 br {
    display: none;
  }
  .wedding-app .content p {
    font-size: 14px;
  }
  .wedding-app .content button {
    padding: 15px;
  }
}

/* ============================================================
   THE WEDDING APP — WeddingAppFeatures
   ============================================================ */
.features {
  margin-top: -210px;
  margin-bottom: 100px;
  z-index: 2;
  position: relative;
}
.features .box {
  background-color: #dfd9d1;
  border-radius: 30px;
  border: 1px solid #c5bbae;
}
.features .box .grid {
  display: grid;
  grid-template-columns: 70% 30%;
  align-items: center;
}
.features .box .grid .listing {
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
  padding-left: 50px;
}
.features .box .grid .listing .single {
  width: 30%;
  display: flex;
  align-items: flex-start;
  gap: 20px;
}
.features .box .grid .listing .single h4, .features .box .grid .listing .single .wf-label {
  font-weight: bold;
  font-size: 26px;
  margin: 0 !important;
}
.features .box .grid .listing .single p {
  margin-bottom: 0;
  font-size: 18px;
  font-weight: 400;
  line-height: 1.6;
}
.features .box .grid .image img {
  margin-top: -40px;
}
@media (max-width: 1367px) {
  .features .box .grid .listing {
    gap: 30px;
    padding-left: 30px;
  }
  .features .box .grid .listing .single {
    gap: 10px;
  }
  .features .box .grid .listing .single h4, .features .box .grid .listing .single .wf-label {
    font-size: 20px;
  }
}
@media (max-width: 1200px) {
  .features .box .grid {
    align-items: end;
  }
  .features .box .grid .listing {
    gap: 30px;
    padding: 40px 0 20px 20px;
  }
  .features .box .grid .listing .single {
    gap: 10px;
    width: 30%;
  }
  .features .box .grid .listing .single p {
    font-size: 14px;
  }
  .features .box .grid .image img {
    margin-top: 0;
    width: 100%;
    height: auto;
  }
}
@media (max-width: 992px) {
  .features .box .grid {
    grid-template-columns: 1fr;
  }
  .features .box .grid .image {
    text-align: center;
  }
  .features .box .grid .image img {
    width: 50%;
    height: auto;
  }
}
@media (max-width: 575px) {
  .features {
    margin-bottom: 40px;
  }
  .features .box .grid .listing {
    flex-direction: column;
  }
  .features .box .grid .image {
    text-align: center;
  }
  .features .box .grid .image img {
    width: 100%;
    height: auto;
  }
}

/* ============================================================
   THE WEDDING APP — LeftRightText
   ============================================================ */
.left-right-text {
  padding: 80px 0;
}
.left-right-text .content {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-gap: 30px;
  align-items: center;
}
.left-right-text .content .text h2 {
  color: #000;
  font-size: 55px;
  font-weight: bold;
}
.left-right-text .content .text h2 span {
  color: #a49786;
}
.left-right-text .content .text p {
  color: #000;
  font-size: 18px;
  font-weight: 400;
  line-height: 2;
}
@media (max-width: 1200px) {
  .left-right-text .content {
    grid-gap: 20px;
  }
  .left-right-text .content .image img {
    width: 500px;
    height: auto;
  }
  .left-right-text .content .text h2 {
    font-size: 43px;
  }
}
@media (max-width: 992px) {
  .left-right-text .content {
    grid-template-columns: 1fr;
  }
  .left-right-text .content .text {
    text-align: center;
  }
  .left-right-text .content .text h2 {
    font-size: 40px;
  }
}
@media (max-width: 768px) {
  .left-right-text .content {
    grid-template-columns: 1fr;
  }
  .left-right-text .content .text {
    text-align: center;
  }
  .left-right-text .content .text p {
    font-size: 16px;
  }
}
@media (max-width: 575px) {
  .left-right-text .content .image img {
    width: 100%;
    height: auto;
  }
  .left-right-text .content .text {
    text-align: center;
  }
  .left-right-text .content .text p {
    font-size: 15px;
  }
}

/* ============================================================
   THE WEDDING APP — KeyChallenges
   ============================================================ */
.wedding-challenges {
  background-image: url("../images/case-studies/wedding-app/challenge-bg.webp");
  padding: 100px 0 0;
  background-repeat: no-repeat;
  background-size: cover;
}
.wedding-challenges .content {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
}
.wedding-challenges .content .text h3 {
  color: #fff;
  font-weight: bold;
  font-size: 45px;
  margin-bottom: 50px;
}
.wedding-challenges .content .text h3 span {
  color: #a49786;
}
.wedding-challenges .content .text ul {
  list-style: none;
  padding: 0;
  position: relative;
}
.wedding-challenges .content .text ul li {
  position: relative;
  padding-left: 40px;
  margin-bottom: 20px;
}
.wedding-challenges .content .text ul li h4 {
  color: #fff;
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 20px;
}
.wedding-challenges .content .text ul li p {
  color: #fff;
  font-size: 18px;
  font-weight: 300;
  line-height: 1.5;
}
.wedding-challenges .content .text ul li::before {
  content: "";
  position: absolute;
  background-color: #a49786;
  width: 30px;
  height: 30px;
  border-radius: 100px;
  border: 7px solid #000;
  left: 0;
  top: -4px;
}
.wedding-challenges .content .text ul::before {
  content: "";
  position: absolute;
  background-color: #d9d9d9;
  width: 4px;
  height: 100%;
  left: 12px;
  top: -20px;
}
.wedding-challenges .content .image img {
  border-radius: 30px;
}
.wedding-challenges .content .image-two {
  display: flex;
  justify-content: end;
}
.wedding-challenges .content .image-two img {
  border-radius: 30px;
}
@media (max-width: 1367px) {
  .wedding-challenges .content {
    grid-gap: 40px;
  }
  .wedding-challenges .content .image img {
    width: 100%;
    height: auto;
  }
}
@media (max-width: 1200px) {
  .wedding-challenges .content .text h3 {
    font-size: 35px;
  }
  .wedding-challenges .content .image-two img {
    width: 100%;
    height: auto;
  }
}
@media (max-width: 992px) {
  .wedding-challenges .content {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 575px) {
  .wedding-challenges .content {
    grid-template-columns: 1fr;
  }
  .wedding-challenges .content .text h3 {
    font-size: 22px;
  }
  .wedding-challenges .content .text ul li p {
    font-size: 16px;
  }
  .wedding-challenges.results-section {
    padding: 50px 0;
  }
}

/* ============================================================
   THE WEDDING APP — KeyResults
   ============================================================ */
.wedding-results {
  background-color: #000;
  padding: 0 0 100px;
}
.wedding-results .content {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
}
.wedding-results .content .text h3 {
  color: #fff;
  margin-bottom: 50px;
  font-size: 45px;
  font-weight: 700;
}
.wedding-results .content .text h3 span {
  color: #c51e06;
}
.wedding-results .content .text ul {
  padding: 0;
  list-style: none;
  position: relative;
}
.wedding-results .content .text ul li {
  margin-bottom: 20px;
  padding-left: 40px;
  position: relative;
}
.wedding-results .content .text ul li h4 {
  color: #fff;
  margin-bottom: 20px;
  font-size: 18px;
  font-weight: 700;
}
.wedding-results .content .text ul li p {
  color: #fff;
  font-size: 18px;
  font-weight: 300;
  line-height: 1.5;
}
.wedding-results .content .text ul li::before {
  content: "";
  background-color: #c51e06;
  border: 7px solid #000;
  border-radius: 100px;
  width: 30px;
  height: 30px;
  position: absolute;
  top: -4px;
  left: 0;
}
.wedding-results .content .text ul::before {
  content: "";
  background-color: #d9d9d9;
  width: 4px;
  height: 100%;
  position: absolute;
  top: -20px;
  left: 12px;
}
.wedding-results .content .image img {
  border-radius: 30px;
}
.wedding-results .content .image-two {
  justify-content: end;
  display: flex;
}
.wedding-results .content .image-two img {
  border-radius: 30px;
}
.wedding-results.results-section {
  padding: 100px 0;
}
.wedding-results.wedding-app-results {
  background-color: #fff;
  padding: 100px 0;
}
.wedding-results.wedding-app-results .content {
  grid-gap: 100px;
}
.wedding-results.wedding-app-results .content .text h3 {
  color: #000;
}
.wedding-results.wedding-app-results .content .text h3 span {
  color: #a49786;
}
.wedding-results.wedding-app-results .content .text ul li h4,
.wedding-results.wedding-app-results .content .text ul li p {
  color: #000;
}
.wedding-results.wedding-app-results .content .text ul li::before {
  background-color: #a49786;
  border-color: #f5f5f5;
}
@media (max-width: 1367px) {
  .wedding-results .content {
    grid-gap: 40px;
  }
  .wedding-results .content .image img {
    width: 100%;
    height: auto;
  }
}
@media (max-width: 1200px) {
  .wedding-results .content .text h3 {
    font-size: 35px;
  }
  .wedding-results .content .image-two img {
    width: 100%;
    height: auto;
  }
}
@media (max-width: 992px) {
  .wedding-results {
    padding: 0;
  }
  .wedding-results .content {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 575px) {
  .wedding-results .content {
    grid-template-columns: 1fr;
  }
  .wedding-results .content .text h3 {
    font-size: 22px;
  }
  .wedding-results .content .text ul li p {
    font-size: 16px;
  }
  .wedding-results.wedding-app-results {
    padding: 40px 0;
  }
  .wedding-results.results-section {
    padding: 50px 0;
  }
}

/* ============================================================
   THE WEDDING APP — MobileSlider
   ============================================================ */
.app-slider .wedding-app-slider {
  padding: 50px 0;
}
.app-slider .wedding-app-slider .slider-info img {
  width: 100%;
  height: auto;
}
@media (max-width: 575px) {
  .app-slider .wedding-app-slider .slider-info {
    text-align: center;
  }
  .app-slider .wedding-app-slider .slider-info img {
    width: 70%;
    height: auto;
  }
}

/* ============================================================
   THE WEDDING APP — UserFlow wedding-app-flow modifier
   ============================================================ */
.tatt-user-flow.wedding-app-flow {
  background-color: #fff;
}
.tatt-user-flow.wedding-app-flow .head h3 {
  color: #000;
}
.tatt-user-flow.wedding-app-flow .head h3 span {
  color: #a49786;
}
.tatt-user-flow.wedding-app-flow .content .flow {
  box-shadow: 0 0 80px 0 #a497866b;
}
.tatt-user-flow.wedding-app-flow .content .user-flow-btn .button {
  background: #5c5c5c;
  border-color: #000;
}
@media (max-width: 1200px) {
  .tatt-user-flow.wedding-app-flow .head h3 {
    font-size: 35px;
  }
  .tatt-user-flow.wedding-app-flow .content .flow img {
    width: 100%;
    height: auto;
  }
}
@media (max-width: 1024px) {
  .tatt-user-flow.wedding-app-flow .content .user-flow-btn {
    margin-top: -70px;
  }
  .tatt-user-flow.wedding-app-flow .content .user-flow-btn .button {
    width: 120px;
    height: 120px;
  }
}
@media (max-width: 992px) {
  .tatt-user-flow.wedding-app-flow .content .user-flow-btn {
    margin-top: 40px;
    justify-content: center;
    right: 0;
  }
  .tatt-user-flow.wedding-app-flow .content .user-flow-btn .button {
    width: 120px;
    height: 120px;
  }
}
@media (max-width: 768px) {
  .tatt-user-flow.wedding-app-flow .head h3 {
    font-size: 28px;
  }
  .tatt-user-flow.wedding-app-flow .head h4 {
    font-size: 40px;
  }
}
@media (max-width: 575px) {
  .tatt-user-flow.wedding-app-flow .content {
    padding: 30px 0;
  }
}

/* ============================================================
   THE WEDDING APP — ProjectBackground
   ============================================================ */
.project-background .content .head h2 {
  color: #000;
  font-size: 45px;
  font-weight: bold;
  text-align: center;
}
.project-background .content .head h2 span {
  color: #a49786;
}
.project-background .content .head p {
  color: #000;
  font-size: 18px;
  text-align: center;
  line-height: 2;
}
.project-background .content .box {
  background-image: url("../images/case-studies/wedding-app/project-bg.webp");
  background-repeat: no-repeat;
  background-size: cover;
  border-radius: 30px;
  padding-top: 80px;
  margin: 50px 0 100px;
}
.project-background .content .box .grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
}
.project-background .content .box .grid .image {
  text-align: center;
}
.project-background .content .box .grid .text {
  padding-left: 70px;
}
.project-background .content .box .grid .text h3 {
  color: #000;
  font-size: 42px;
  font-weight: bold;
}
.project-background .content .box .grid .text ul {
  list-style: none;
  padding-left: 0;
}
.project-background .content .box .grid .text ul li h4 {
  color: #5c5c5c;
  font-weight: bold;
  font-size: 22px;
  margin-top: 15px;
}
.project-background .content .box .grid .text ul li ul {
  list-style: disc;
  padding-left: 2rem;
  margin-left: 0px;
}
.project-background .content .box .grid .text ul li ul li {
  font-size: 18px;
  font-weight: 600;
  line-height: 1.6;
}
@media (max-width: 1200px) {
  .project-background .content .head h2 {
    font-size: 35px;
  }
  .project-background .content .box {
    padding: 80px 15px 0;
  }
  .project-background .content .box .grid {
    display: flex;
    flex-direction: column;
  }
  .project-background .content .box .grid .text {
    padding-left: 0;
  }
}
@media (max-width: 768px) {
  .project-background .content .box .grid .text {
    margin-bottom: 20px;
  }
  .project-background .content .box .grid .text h3 {
    font-size: 30px;
  }
  .project-background .content .box .grid .image img {
    width: 100%;
    height: auto;
  }
}
@media (max-width: 575px) {
  .project-background .content .box .grid .text {
    margin-bottom: 20px;
  }
  .project-background .content .box .grid .text ul li ul li {
    font-size: 16px;
  }
}

/* ============================================================
   THE WEDDING APP — BusinessProblems
   ============================================================ */
.business-problems .content .head h2 {
  color: #000;
  font-size: 45px;
  font-weight: bold;
  text-align: center;
}
.business-problems .content .head h2 span {
  color: #a49786;
}
.business-problems .content .head p {
  color: #000;
  font-size: 18px;
  text-align: center;
  line-height: 2;
}
.business-problems .content .box {
  background-image: url("../images/case-studies/wedding-app/problem-bg.webp");
  background-repeat: no-repeat;
  background-size: cover;
  border-radius: 30px;
  padding-top: 80px;
  margin: 50px 0 100px;
}
.business-problems .content .box .grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
}
.business-problems .content .box .grid .image {
  text-align: center;
}
.business-problems .content .box .grid .text h3 {
  color: #a49786;
  font-size: 42px;
  font-weight: bold;
}
.business-problems .content .box .grid .text ul {
  padding-left: 2rem;
}

.business-problems .content .box .grid .text ul li {
  color: #fff;
  font-size: 18px;
  font-weight: 600;
  line-height: 2;
}
@media (max-width: 1200px) {
  .business-problems .content .head h2 {
    font-size: 35px;
  }
  .business-problems .content .box {
    padding: 80px 15px 0;
  }
  .business-problems .content .box .grid {
    display: flex;
    flex-direction: column-reverse;
  }
}
@media (max-width: 768px) {
  .business-problems .content .box .grid .text {
    margin-bottom: 20px;
  }
  .business-problems .content .box .grid .text h3 {
    font-size: 30px;
  }
  .business-problems .content .box .grid .image img {
    width: 100%;
    height: auto;
  }
}

/* ============================================================
   TATT.AI CASE STUDY
   ============================================================ */
.tatt-banner {
  background-image: url("../images/case-studies/tatt-ai/main-bg-tiny.webp");
  padding: 90px 0 30px;
  background-color: #000;
  background-position: bottom;
  background-repeat: no-repeat;
  background-size: cover;
}
.tatt-banner .main {
  display: grid;
  grid-template-columns: 1fr 1fr;
}
.tatt-banner .main .text h1 {
  color: #fff;
  font-size: 45px;
  font-weight: bold;
  line-height: 1.2;
  margin: 10px 0 0;
}
.tatt-banner .main .text h1 span {
  color: #c51e06;
}
.tatt-banner .main .text p {
  color: #fff;
  line-height: 2;
  margin: 20px 0;
}
.tatt-banner .main .text button {
  color: #fff;
  background-color: #c51e06;
  padding: 15px;
  font-size: 18px;
  border: none;
  cursor: pointer;
  border-radius: 4px;
  transition: background-color 0.3s;
}
.tatt-banner .main .image {
  margin-bottom: -100px;
}
.tatt-list {
  background-color: #000;
}
.tatt-list .main .slides-here {
  padding: 20px 20px 0;
  border-radius: 10px;
  background: linear-gradient(
    89deg,
    rgb(208 18 26 / 61%) 0%,
    rgba(38, 0, 1, 0.401) 100%
  );
  height: 160px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
}
.tatt-list .main .slides-here .icon img {
  position: absolute;
  right: 22px;
  top: -10px;
  z-index: 2;
}
.tatt-list .main .slides-here .icon::after {
  content: "";
  position: absolute;
  background: #c51e06;
  width: 60px;
  height: 60px;
  border-radius: 50px;
  right: 10px;
  top: -20px;
}
.tatt-list .main .slides-here .tl-label {
  color: #fff;
  font-size: 22px;
  font-weight: bold;
}
.tatt-list .main .slides-here p {
  color: #fff;
  font-size: 14px;
  font-weight: 400;
}
.tatt-list .main .slides-here .tl-num {
  color: transparent;
  font-size: 26px;
  -webkit-text-stroke: 1px #fff;
  position: absolute;
  bottom: 0;
  right: 10px;
}
.tatt-list .main .slides-here::before {
  content: "";
  position: absolute;
  inset: 0;
  padding: 2px;
  background: linear-gradient(90deg, #ec1c24, #79554800);
  border-radius: inherit;
  -webkit-mask:
    conic-gradient(#000 0 0) content-box exclude,
    conic-gradient(#000 0 0);
  mask:
    conic-gradient(#000 0 0) content-box exclude,
    conic-gradient(#000 0 0);
}
.tatt-intro {
  background-color: #000;
  padding: 50px 0 100px;
}
.tatt-intro .main h2 {
  color: #fff;
  font-size: 45px;
  font-weight: bold;
  text-align: center;
}
.tatt-intro .main h2 span {
  color: #c51e06;
}
.tatt-intro .main p {
  color: #fff;
  font-size: 18px;
  font-weight: 400;
  text-align: center;
}
.tatt-intro .main p:nth-child(3) {
  color: #c51e06;
}
.tatt-intro .slider {
  margin-top: 60px;
}
.tatt-intro .slider .slides-here img {
  width: 100%;
  height: 100%;
  object-fit: inherit;
  border-radius: 30px;
}
.tatt-features {
  background-color: #000;
  padding: 50px 0;
}
.tatt-features .main h2 {
  color: #000;
  font-weight: bold;
  text-transform: uppercase;
  font-size: 100px;
  text-shadow:
    1px 1px 0 #c51e06,
    -1px -1px 0 #c51e06,
    1px -1px 0 #c51e06,
    -1px 1px 0 #c51e06;
  text-align: center;
}
.tatt-features .main .slides-here {
  padding: 20px 20px 0;
  border-radius: 10px;
  background: linear-gradient(
    90deg,
    rgba(208, 18, 26, 0.7) 0%,
    rgba(38, 0, 1, 1) 100%
  );
  height: 160px;
  position: relative;
}
.tatt-features .main .slides-here .grid-sec {
  display: grid;
  grid-template-columns: 80% 20%;
}
.tatt-features .main .slides-here .grid-sec h3 {
  color: #fff;
  font-size: 22px;
  font-weight: bold;
}
.tatt-features .main .slides-here .grid-sec h3 span {
  color: #c51e06;
}
.tatt-features .main .slides-here .grid-sec p {
  width: 80%;
}
.tatt-features .main .slides-here::before {
  content: "";
  position: absolute;
  inset: 0;
  padding: 2px;
  background: linear-gradient(90deg, #ec1c24, #79554800);
  border-radius: inherit;
  -webkit-mask:
    conic-gradient(#000 0 0) content-box exclude,
    conic-gradient(#000 0 0);
  mask:
    conic-gradient(#000 0 0) content-box exclude,
    conic-gradient(#000 0 0);
}
.tatt-features .main .slides-here p {
  color: #fff;
  font-size: 14px;
  font-weight: 400;
}
.tatt-results {
  background-color: #000;
  padding: 0 0 100px;
}
.tatt-results .main {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
}
.tatt-results .main .text h2 {
  color: #fff;
  font-weight: bold;
  font-size: 45px;
  margin-bottom: 50px;
}
.tatt-results .main .text h2 span {
  color: #c51e06;
}
.tatt-results .main .text ul {
  list-style: none;
  padding: 0;
  position: relative;
}
.tatt-results .main .text ul li {
  position: relative;
  padding-left: 40px;
  margin-bottom: 20px;
}
.tatt-results .main .text ul li h3 {
  color: #fff;
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 20px;
}
.tatt-results .main .text ul li p {
  color: #fff;
  font-size: 18px;
  font-weight: 300;
  line-height: 1.5;
}
.tatt-results .main .text ul li::before {
  content: "";
  position: absolute;
  background-color: #c51e06;
  width: 30px;
  height: 30px;
  border-radius: 100px;
  border: 7px solid #000;
  left: 0;
  top: -4px;
}
.tatt-results .main .text ul::before {
  content: "";
  position: absolute;
  background-color: #d9d9d9;
  width: 4px;
  height: 100%;
  left: 12px;
  top: -20px;
}
.tatt-results .main .image img {
  border-radius: 30px;
}
.tatt-results .main .image-two {
  display: flex;
  justify-content: end;
}
.tatt-results .main .image-two img {
  border-radius: 30px;
}
.tatt-results.results-section {
  padding: 100px 0;
}
.tatt-main-slider {
  padding: 100px 0 50px !important;
}
.tatt-features-slider {
  padding: 40px 0 50px !important;
}
.screen-slider-cofit .swiper-slide:nth-child(2n),
.screen-slider-tatt-ai .swiper-slide:nth-child(2n),
.screen-slider-tatt-plateTalk .swiper-slide:nth-child(2n) {
  margin-top: 90px;
}
.tatt-slider {
  background-image: url("../images/case-studies/tatt-ai/bg.webp");
  padding: 90px 0;
  background-color: #000;
  background-position: bottom;
  background-repeat: no-repeat;
  background-size: 100% 60%;
}
.tatt-slider .slides-here img {
  width: 100%;
  height: auto;
  object-fit: inherit;
}
.tatt-main-features {
  background: #000;
  padding: 50px 0;
}
.tatt-main-features .content img {
  width: 100%;
  height: auto;
}
.tatt-problems {
  background-color: #000;
  padding: 50px 0 100px;
}
.tatt-problems .main h2 {
  color: #fff;
  text-align: center;
  font-weight: bold;
  font-size: 45px;
}
.tatt-problems .main h2 span {
  color: #c51e06;
}
.tatt-problems .main p {
  color: #fff;
  text-align: center;
}
.tatt-problems .grid-sec {
  display: grid;
  grid-template-columns: 1fr 1fr;
  padding-top: 70px;
}
.tatt-problems .grid-sec .image img {
  border-radius: 30px;
}
.tatt-problems .grid-sec .image-key {
  display: flex;
  justify-content: end;
}
.tatt-problems .grid-sec .image-key img {
  border-radius: 30px;
}
.tatt-problems .grid-sec .text-challenges h3 {
  color: #fff;
  font-weight: bold;
  font-size: 45px;
  margin-bottom: 25px;
}
.tatt-problems .grid-sec .text-challenges ul {
  list-style: none;
  padding-left: 0;
}
.tatt-problems .grid-sec .text-challenges ul li {
  padding: 16px;
  margin-bottom: 20px;
  border-radius: 10px;
  color: #fff;
  font-size: 18px;
  font-weight: bold;
  line-height: 2;
  background: linear-gradient(
    89deg,
    rgb(208 18 26 / 61%) 0%,
    rgba(38, 0, 1, 0.401) 100%
  );
  position: relative;
}
.tatt-problems .grid-sec .text-challenges ul li::before {
  content: "";
  position: absolute;
  inset: 0;
  padding: 2px;
  background: linear-gradient(90deg, #ec1c24, #79554800);
  border-radius: inherit;
  -webkit-mask:
    conic-gradient(#000 0 0) content-box exclude,
    conic-gradient(#000 0 0);
  mask:
    conic-gradient(#000 0 0) content-box exclude,
    conic-gradient(#000 0 0);
}
.tatt-revolution {
  background-color: #000;
  padding: 50px 0 100px;
}
.tatt-revolution .main {
  display: grid;
  grid-template-columns: 60% 35%;
  background-image: url("../images/case-studies/tatt-ai/rev-bg-tiny.webp");
  border-radius: 30px;
  background-repeat: no-repeat;
  background-size: cover;
  position: relative;
}
.tatt-revolution .main .text {
  padding: 80px 50px;
}
.tatt-revolution .main .text h2 {
  color: #fff;
  font-size: 45px;
  font-weight: bold;
  line-height: 1.5;
  margin-bottom: 20px;
}
.tatt-revolution .main .text a {
  color: #000;
  background-color: #fff;
  padding: 15px;
  display: inline-block;
  text-decoration: none;
  transition: color 0.3s;
}
.tatt-revolution .main .text a:hover {
  color: #fff;
}
.tatt-revolution .main::before {
  content: "";
  position: absolute;
  background-image: url("../images/case-studies/tatt-ai/mob-rev.png");
  width: 353px;
  height: 607px;
  background-size: contain;
  right: 0;
  bottom: 0;
  background-repeat: no-repeat;
}
@media (max-width: 1367px) {
  .tatt-banner {
    padding-bottom: 30px;
  }
  .tatt-banner .main {
    grid-template-columns: 55% 45%;
  }
  .tatt-banner .main .image img {
    width: 600px;
    height: auto;
  }
  .tatt-main-features .content img {
    width: 1000px;
    height: auto;
  }
  .tatt-problems .grid-sec {
    grid-gap: 60px;
    align-items: center;
  }
  .tatt-problems .grid-sec .text-challenges ul li {
    padding: 10px 15px;
    font-size: 16px;
  }
  .tatt-results .main {
    grid-gap: 20px;
  }
  .tatt-revolution .main {
    grid-template-columns: 65% 35%;
  }
  .tatt-features .main .mob-img img {
    width: 1200px;
    height: auto;
  }
}
@media (max-width: 1200px) {
  .tatt-banner {
    padding-bottom: 100px;
  }
  .tatt-banner .main .text h1 {
    font-size: 35px;
  }
  .tatt-banner .main .image img {
    width: 530px;
    height: auto;
  }
  .tatt-features .main .mob-img img {
    width: 100%;
    height: auto;
  }
  .tatt-results .main .text h2 {
    font-size: 35px;
  }
  .tatt-results .main .image-two img {
    width: 100%;
    height: auto;
  }
  .tatt-results .main .image img {
    width: 100%;
    height: auto;
  }
  .tatt-main-features .content img {
    width: 100%;
    height: auto;
  }
  .tatt-problems .main h2 {
    font-size: 35px;
  }
  .tatt-problems .grid-sec {
    grid-gap: 40px;
    align-items: center;
  }
  .tatt-problems .grid-sec .image img {
    width: 100%;
    height: auto;
  }
  .tatt-problems .grid-sec .image-key img {
    width: 100%;
    height: auto;
  }
  .tatt-problems .grid-sec .text-challenges h3 {
    font-size: 35px;
  }
  .tatt-problems .grid-sec .text-challenges ul li {
    font-size: 14px;
  }
  .tatt-revolution .main {
    grid-gap: 20px;
  }
  .tatt-revolution .main .text h2 {
    font-size: 35px;
  }
  .tatt-revolution .main::before {
    height: 481px;
    right: -40px;
  }
}
@media (max-width: 1024px) {
  .tatt-banner .main .text h1 {
    font-size: 35px;
  }
  .tatt-banner .main .text p {
    margin-bottom: 15px;
  }
  .tatt-banner .main .image img {
    width: 450px;
    height: auto;
  }
}
@media (max-width: 992px) {
  .tatt-banner .main {
    grid-template-columns: 1fr;
    grid-gap: 50px;
  }
  .tatt-banner .main .text {
    text-align: center;
  }
  .tatt-banner .main .text h1 {
    font-size: 35px;
  }
  .tatt-banner .main .text button {
    font-size: 16px;
  }
  .tatt-banner .main .image {
    text-align: center;
  }
  .tatt-banner .main .image img {
    width: 450px;
    height: auto;
  }
  .tatt-results .main {
    grid-template-columns: 1fr;
  }
  .tatt-results .main .image-two img {
    width: 100%;
    height: auto;
  }
  .tatt-results .main .image img {
    width: 100%;
    height: auto;
  }
  .tatt-problems {
    padding: 0 0 150px;
  }
  .tatt-problems .main h2 {
    font-size: 28px;
  }
  .tatt-problems .grid-sec {
    grid-template-columns: 1fr;
  }
  .tatt-revolution .main {
    grid-template-columns: 1fr;
  }
  .tatt-revolution .main .text {
    text-align: center;
  }
  .tatt-revolution .main .text h2 {
    text-align: center;
  }
  .tatt-revolution .main::before {
    display: none;
  }
  .tatt-features {
    padding: 50px 0;
  }
  .tatt-features .main h2 {
    font-size: 80px;
  }
}
@media (max-width: 768px) {
  .tatt-revolution .main .text h2 {
    font-size: 28px;
  }
  .tatt-intro .main h2 {
    font-size: 28px;
  }
}
@media (max-width: 575px) {
  .tatt-features .main h2 {
    font-size: 40px;
  }
  .tatt-features .main .slides-here {
    height: 250px;
  }
  .tatt-features .main .slides-here .grid-sec {
    display: flex;
    flex-direction: column-reverse;
    gap: 10px;
  }
  .tatt-intro .main p {
    font-size: 16px;
  }
  .tatt-banner .main .text {
    text-align: center;
  }
  .tatt-banner .main .text h1 {
    font-size: 28px;
  }
  .tatt-banner .main .image {
    text-align: center;
  }
  .tatt-banner .main .image img {
    width: 100%;
    height: auto;
  }
  .tatt-results .main {
    grid-template-columns: 1fr;
  }
  .tatt-results .main .text h2 {
    font-size: 22px;
  }
  .tatt-results .main .text ul li p {
    font-size: 16px;
  }
  .tatt-results.results-section {
    padding: 50px 0;
  }
  .tatt-revolution .main .text {
    padding: 30px 30px 50px;
    text-align: center;
  }
  .tatt-revolution .main .text h2 {
    font-size: 22px;
    line-height: 1.3;
  }
  .tatt-slider .slides-here img {
    padding: 0 10px;
  }
  .tatt-problems {
    padding: 50px 0;
  }
  .tatt-problems .grid-sec {
    padding-top: 20px;
  }
}
@media (max-width: 600px) {
  .tatt-main-slider {
    padding: 40px 0 !important;
  }
  .screen-slider-cofit .swiper-slide:nth-child(2n),
  .screen-slider-tatt-ai .swiper-slide:nth-child(2n),
  .screen-slider-tatt-plateTalk .swiper-slide:nth-child(2n) {
    margin-top: 0;
  }
}

/* ============================================================
   ABOUT US — Banner (Banner.jsx)
   ============================================================ */
.tnb-banner {
  padding: 60px 0;
  display: flex;
  align-items: center;
}
.tnb-banner-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  gap: 50px;
}
.tnb-banner-content h1 {
  font-size: 45px;
  line-height: 54px;
  font-weight: 700;
  color: #000;
}
.tnb-banner-content p {
  font-size: 16px;
  color: #000;
  font-weight: 400;
  line-height: 28px;
}
.tnb-banner-btns {
  display: flex;
  gap: 20px;
}
.tnb-banner-btns a {
  display: block;
}
.tnb-banner-rewards {
  margin: 50px auto;
}
.tnb-banner-rewards ul {
  list-style: none;
  padding: 0;
  display: flex;
  align-items: center;
  gap: 20px;
}
.tnb-banner-rewards ul li img {
  max-width: 111px;
  height: auto;
  width: auto;
}
.tnb-banner-image img {
  width: 100%;
  height: auto;
}
@media (max-width: 1440px) {
  .tnb-banner-content h1 {
    font-size: 35px;
    line-height: 1.3;
  }
}
@media (max-width: 1400px) {
  .tnb-banner-content h1 {
    font-size: 32px;
    line-height: 1.2;
  }
  .tnb-banner-rewards ul li img {
    max-width: 85px;
  }
}
@media (max-width: 1200px) {
  .tnb-banner-content h1 {
    font-size: 30px;
  }
  .tnb-banner-rewards ul li img {
    max-width: 70px;
  }
}
@media (max-width: 991px) {
  .tnb-banner-grid {
    grid-template-columns: 1fr;
  }
  .tnb-banner-content {
    text-align: center;
  }
  .tnb-banner-btns {
    justify-content: center;
  }
  .tnb-banner-btns button {
    padding: 10px 20px;
    font-size: 12px;
  }
  .tnb-banner-btns a {
    font-size: 12px;
  }
  .tnb-banner-rewards ul {
    justify-content: center;
  }
  .tnb-banner-rewards ul li img {
    max-width: 60px;
  }
  .tnb-banner-image img {
    width: 70%;
    margin: auto;
    display: block;
  }
}
@media (max-width: 767px) {
  .tnb-banner-content h1 {
    font-size: 26px;
  }
  .tnb-banner-content p {
    font-size: 14px;
  }
  .tnb-banner-btns {
    display: grid;
    justify-content: center;
    gap: 10px;
  }
}
@media (max-width: 479px) {
  .tnb-banner-rewards ul {
    flex-wrap: wrap;
  }
  .tnb-banner-image img {
    width: 100%;
  }
}
@media (max-width: 400px) {
  .tnb-banner-content h1 {
    font-size: 24px;
  }
  .tnb-banner-btns button,
  .tnb-banner-btns a {
    width: 100%;
    text-align: center;
  }
}

/* ============================================================
   ABOUT US — AboutAwardWinning
   ============================================================ */
.award-winning-main {
  padding: 60px 0;
  background: linear-gradient(180deg, #fff5f5 0%, #fff 72%);
}
.award-winning-main h5 {
  font-weight: 600;
  font-size: 14px;
  text-align: center;
  color: #ec1c24;
  text-transform: uppercase;
}
.award-winning-main h2 {
  font-weight: bold;
  font-size: 28px;
  text-align: center;
  color: #000;
}
.award-winning-main > .container > p {
  font-size: 16px;
  line-height: 24px;
  text-align: center;
  color: #000;
}
.award-winning-main .award-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  margin-top: 40px;
  gap: 20px;
}
.award-winning-main .award-grid .left-info img {
  width: 100%;
  height: auto;
}
.award-winning-main .award-grid .right-info p {
  font-size: 16px;
  line-height: 24px;
  text-align: left;
  color: #000;
}
.award-winning-main .award-grid .right-info p span {
  color: #ec1c24;
}
@media (max-width: 1400px) {
  .award-winning-main .award-grid {
    align-items: flex-start;
  }
}
@media (max-width: 1200px) {
  .award-winning-main .award-grid .right-info p {
    font-size: 15px;
  }
}
@media (max-width: 991px) {
  .award-winning-main h2 {
    font-size: 26px;
  }
  .award-winning-main .award-grid {
    grid-template-columns: 1fr;
  }
  .award-winning-main .award-grid .right-info p {
    text-align: center;
    font-size: 15px;
  }
}
@media (max-width: 479px) {
  .award-winning-main h2 {
    font-size: 24px;
  }
  .award-winning-main .award-grid .right-info p {
    font-size: 14px;
  }
}

/* ============================================================
   ABOUT US — AwardSec
   ============================================================ */
.award-slider-list .swiper-slide:nth-child(odd) {
  margin-top: 90px;
}
.award-button-next svg,
.award-button-prev svg {
  color: #fff;
  font-size: 30px;
  transition: all 0.5s;
}
.award-button-prev:hover svg,
.award-button-next:hover svg {
  color: red;
}
@media (max-width: 991px) {
  .award-slider-list .swiper-slide:nth-child(odd) {
    margin-top: 0;
  }
}
.awardSec {
  background-color: #fff;
  padding: 0 0 60px;
}
.awardSec .award-slider {
  position: relative;
  padding: 50px 20px;
}
.awardSec .award-dev-box {
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 3px 12px rgba(0, 0, 0, 0.29);
  height: 388px;
  padding: 30px 15px;
  display: flex;
  justify-content: center;
  flex-direction: column;
  gap: 10px;
}
.awardSec .award-dev-box img {
  margin: 0 auto;
  display: block;
  height: auto;
}
.awardSec .award-dev-box h5 {
  font-size: 17px;
  line-height: 30px;
  text-align: center;
  color: #000;
  margin: 0;
}
.awardSec .award-dev-box p {
  font-size: 16px;
  line-height: 32px;
  text-align: center;
  color: #000;
  margin: 0;
}
.awardSec .award-pagination-nav {
  display: flex;
  justify-content: flex-end;
  margin-top: 50px;
  gap: 20px;
}
@media (max-width: 1440px) {
  .awardSec .award-dev-box h5 {
    font-size: 16px;
    line-height: 1.5;
  }
  .awardSec .award-dev-box p {
    font-size: 15px;
    line-height: 1.6;
  }
}
@media (max-width: 1200px) {
  .awardSec .award-dev-box {
    height: 350px;
  }
  .awardSec .award-dev-box img {
    max-width: 111px;
  }
  .awardSec .award-dev-box h5 {
    font-size: 14px;
  }
  .awardSec .award-dev-box p {
    font-size: 14px;
    line-height: 1.6;
  }
}
@media (max-width: 991px) {
  .awardSec .award-slider {
    padding: 0 20px;
  }
  .awardSec .award-dev-box {
    height: 320px;
  }
  .awardSec .award-dev-box img {
    max-width: 100px;
  }
  .awardSec .award-pagination-nav {
    margin-top: 20px;
  }
}
@media (max-width: 767px) {
  .awardSec .award-dev-box {
    height: 320px;
  }
  .awardSec .award-pagination-nav {
    margin-top: 20px;
  }
}
@media (max-width: 479px) {
  .awardSec .award-dev-box {
    height: 300px;
  }
}

/* ============================================================
   ABOUT US — AboutCeo (ceo-main)
   ============================================================ */
.ceo-main {
  padding: 80px 0;
  background-image: url("../images/about-us/ceo-back.webp");
  background-repeat: no-repeat;
  background-size: cover;
}
.ceo-main .ceo-grid {
  display: grid;
  grid-template-columns: 1fr;
  align-items: center;
}
.ceo-main .ceo-grid .right-info {
  border: 1px solid #fff;
  padding: 150px;
  position: relative;
}
.ceo-main .ceo-grid .right-info::before {
  content: "";
  background-image: url("../images/about-us/before.png");
  width: 150px;
  height: 100px;
  position: absolute;
  background-repeat: no-repeat;
  top: 20px;
  left: 20px;
}
.ceo-main .ceo-grid .right-info::after {
  content: "";
  background-image: url("../images/about-us/before.png");
  width: 150px;
  height: 100px;
  position: absolute;
  background-repeat: no-repeat;
  right: 20px;
  bottom: 20px;
  background-position: right;
}
.ceo-main .ceo-grid .right-info h2 {
  font-weight: bold;
  font-size: 33px;
  line-height: 1.3;
  color: #fff;
}
.ceo-main .ceo-grid .right-info h3 {
  font-size: 35px;
  line-height: 45px;
  color: #fff;
}
.ceo-main .ceo-grid .right-info h4 {
  color: #fff;
}
.ceo-main .ceo-grid .right-info p {
  font-size: 16px;
  line-height: 35px;
  color: #fff;
}
@media (max-width: 1440px) {
  .ceo-main .ceo-grid .right-info h2 {
    font-size: 30px;
  }
  .ceo-main .ceo-grid .right-info h3 {
    font-size: 30px;
  }
  .ceo-main .ceo-grid .right-info p {
    font-size: 18px;
  }
}
@media (max-width: 1400px) {
  .ceo-main .ceo-grid .right-info {
    padding: 125px 50px;
  }
  .ceo-main .ceo-grid .right-info::before,
  .ceo-main .ceo-grid .right-info::after {
    width: 100px;
    background-size: contain;
  }
  .ceo-main .ceo-grid .right-info h3 {
    font-size: 28px;
  }
  .ceo-main .ceo-grid .right-info p {
    font-size: 18px;
    line-height: 1.6;
  }
}
@media (max-width: 1200px) {
  .ceo-main .ceo-grid .right-info {
    padding: 120px 50px;
  }
  .ceo-main .ceo-grid .right-info h2 {
    font-size: 28px;
  }
  .ceo-main .ceo-grid .right-info h3 {
    font-size: 24px;
    line-height: 1.6;
  }
  .ceo-main .ceo-grid .right-info p {
    font-size: 18px;
    line-height: 1.6;
  }
}
@media (max-width: 991px) {
  .ceo-main .ceo-grid .right-info {
    padding: 120px 50px;
    border-left: 1px solid #fff;
  }
  .ceo-main .ceo-grid .right-info h2 {
    font-size: 26px;
  }
  .ceo-main .ceo-grid .right-info h3 {
    font-size: 22px;
    line-height: 1.6;
  }
  .ceo-main .ceo-grid .right-info p {
    font-size: 16px;
    line-height: 1.6;
  }
}
@media (max-width: 767px) {
  .ceo-main .ceo-grid .right-info {
    text-align: center;
  }
  .ceo-main .ceo-grid .right-info::before,
  .ceo-main .ceo-grid .right-info::after {
    width: 80px;
    background-size: contain;
  }
  .ceo-main .ceo-grid .right-info h2 {
    font-size: 24px;
    text-align: center;
  }
  .ceo-main .ceo-grid .right-info h3 {
    font-size: 20px;
    text-align: center;
  }
  .ceo-main .ceo-grid .right-info p {
    font-size: 15px;
    text-align: center;
  }
}
@media (max-width: 479px) {
  .ceo-main .ceo-grid .right-info {
    padding: 120px 20px;
  }
  .ceo-main .ceo-grid .right-info h2 {
    font-size: 22px;
    line-height: 1.5;
  }
  .ceo-main .ceo-grid .right-info h3 {
    font-size: 18px;
  }
  .ceo-main .ceo-grid .right-info p {
    font-size: 14px;
  }
}

/* ============================================================
   ABOUT US — AboutInfoCounter (about-info-main)
   ============================================================ */
.about-info-main {
  padding: 60px 0;
  background-image: url("../images/about-us/about-info-back.webp");
  background-size: cover;
}
.about-info-main .about-info-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  justify-items: center;
}
.about-info-main .about-info-grid .info-box {
  text-align: center;
}
.about-info-main .about-info-grid .info-box h4 {
  font-weight: bold;
  font-size: 32px;
  text-align: center;
  color: #fff;
}
.about-info-main .about-info-grid .info-box h4 span {
  font-size: inherit;
}
.about-info-main .about-info-grid .info-box p {
  font-weight: 500;
  font-size: 16px;
  line-height: 24px;
  text-align: center;
  color: #fff;
}
@media (max-width: 1200px) {
  .about-info-main .about-info-grid .info-box img {
    width: 60px;
    height: auto;
  }
  .about-info-main .about-info-grid .info-box h4 {
    font-size: 28px;
  }
}
@media (max-width: 991px) {
  .about-info-main {
    background-position: center;
  }
  .about-info-main .about-info-grid {
    grid-template-columns: 1fr 1fr;
  }
  .about-info-main .about-info-grid .info-box img {
    width: 50px;
    height: auto;
  }
  .about-info-main .about-info-grid .info-box h4 {
    font-size: 26px;
  }
  .about-info-main .about-info-grid .info-box p {
    font-size: 15px;
  }
}
@media (max-width: 767px) {
  .about-info-main {
    background-position: center;
  }
  .about-info-main .about-info-grid {
    grid-template-columns: 1fr 1fr;
  }
  .about-info-main .about-info-grid .info-box h4 {
    font-size: 24px;
  }
  .about-info-main .about-info-grid .info-box p {
    font-size: 15px;
  }
}
@media (max-width: 479px) {
  .about-info-main {
    background-image: none;
    background-color: #ec1c24;
  }
  .about-info-main .about-info-grid {
    grid-template-columns: 1fr;
  }
  .about-info-main .about-info-grid .info-box h4 {
    font-size: 22px;
  }
  .about-info-main .about-info-grid .info-box p {
    font-size: 14px;
  }
}

/* ============================================================
   CONTACT US — ContactUs (banner + info + map)
   ============================================================ */
.contact-banner {
  padding: 60px 0;
}
.contact-banner-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
}
.contact-banner-grid h1 {
  margin: 0;
  color: #000;
  font-size: 35px;
  line-height: 38px;
  text-transform: capitalize;
  font-weight: 700;
}
.contact-banner-grid img {
  width: 100%;
  height: auto;
}
.contact-info {
  padding: 70px 0;
}
.contact-info h2 {
  font-size: 30px;
  text-align: center;
}
.contact-info > .container > p {
  color: #000;
  font-size: 16px;
  font-weight: 400;
  text-align: center;
  line-height: 36px;
}
.contact-info-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  margin-top: 80px;
}
.contact-info-box {
  text-align: center;
  border-right: 1px solid #f1f1f1;
}
.contact-info-box:last-child {
  border: none;
}
.contact-info-box h3 {
  margin: 25px 0;
  color: #000;
  font-size: 14px;
  text-transform: uppercase;
  letter-spacing: 1px;
}
.contact-info-box p,
.contact-info-box a {
  font-size: 16px;
  line-height: 23px;
  color: #666;
  width: 90%;
  margin: -1px auto;
  padding-block: 1px; /* Tap target 24 px (WCAG 2.2 AA, fix plan #73/#130/#132): negative margin keeps the layout */
  display: block;
}
.contact-icon {
  width: 70px;
  height: 70px;
  border-radius: 100%;
  background: #ec1c24;
  text-align: center;
  margin: auto;
  color: #fff;
  padding: 20px 0 0;
  transition: all 0.5s;
  border: 2px solid #ec1c24;
}
.contact-icon svg {
  font-size: 20px;
}
.contact-info-box:hover .contact-icon {
  background: #fff;
}
.contact-info-box:hover .contact-icon svg {
  color: #ec1c24;
}
.contact-map {
}
@media (max-width: 1440px) {
  .contact-banner-grid {
    grid-template-columns: 1.5fr 1fr;
  }
  .contact-banner-grid h1 {
    font-size: 35px;
  }
}
@media (max-width: 1200px) {
  .contact-banner-grid {
    grid-template-columns: 1fr 1fr;
  }
  .contact-banner-grid h1 {
    font-size: 30px;
  }
  .contact-info {
    padding: 60px 0;
  }
  .contact-info h2 {
    font-size: 28px;
  }
  .contact-info-box h3 {
    font-size: 14px;
  }
  .contact-info-box p,
  .contact-info-box a {
    font-size: 14px;
  }
}
@media (max-width: 991px) {
  .contact-info h2 {
    font-size: 26px;
  }
  .contact-info > .container > p {
    font-size: 16px;
  }
  .contact-info-box h3 {
    font-size: 14px;
  }
  .contact-info-box p,
  .contact-info-box a {
    font-size: 14px;
  }
}
@media (max-width: 767px) {
  .contact-banner-grid {
    grid-template-columns: 1fr;
    justify-items: center;
    gap: 50px;
  }
  .contact-banner-grid h1 {
    font-size: 28px;
  }
  .contact-info h2 {
    font-size: 24px;
  }
  .contact-info > .container > p {
    font-size: 15px;
    line-height: 1.5;
  }
  .contact-info-grid {
    grid-template-columns: 1fr;
    gap: 50px;
    margin-top: 50px;
  }
  .contact-info-box {
    border: 0;
  }
}
@media (max-width: 479px) {
  .contact-banner {
    padding: 50px 0;
  }
  .contact-banner-grid {
    grid-template-columns: 1fr;
    justify-items: center;
    gap: 50px;
  }
  .contact-banner-grid h1 {
    font-size: 25px;
  }
}

/* ============================================================
   CONTACT US — ContactForm
   ============================================================ */
.contact-form {
  padding: 80px 0;
}
.contact-form h3 {
  font-size: 30px;
  text-align: center;
}
.contact-form > .container > p {
  color: #888;
  font-size: 16px;
  font-weight: 400;
  line-height: 32px;
  text-align: center;
}
.cf-form-info {
  margin-top: 50px;
}
.cf-form-info h4 {
  font-size: 30px;
}
.cf-form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}
.cf-input-field {
  position: relative;
  margin-bottom: 25px;
}
.cf-input-field input {
  border-radius: 0;
  border: 1px solid #ececec;
  padding: 18px;
  color: #000;
  width: 100%;
  font-size: 13px;
  font-weight: 500;
  box-shadow: none;
  background-image: none !important;
  outline: none;
}
.cf-input-field input:focus {
  border-color: #ec1c24;
}
.cf-phone-field .iti {
  width: 100%;
}
.cf-phone-field .iti input {
  width: 100%;
  padding-left: 50px !important;
}
.cf-input-field textarea {
  border-radius: 0;
  border: 1px solid #ececec;
  padding: 18px;
  color: #000;
  font-size: 13px;
  font-weight: 500;
  box-shadow: none;
  resize: none;
  width: 100%;
  outline: none;
}
.cf-input-field textarea:focus {
  border-color: #ec1c24;
}
.cf-submit-btn {
  margin: auto;
  display: block;
  width: 200px;
  background-color: #ececec;
  color: #000;
  border: none;
  padding: 12px 24px;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: background-color 0.3s, color 0.3s;
}
.cf-submit-btn::before {
  content: unset !important;
}
.cf-submit-btn:hover {
  background-color: #ec1c24;
  color: #fff;
}
.cf-field-error {
  display: block;
  font-size: 12px;
  color: #c00;
  margin-top: 4px;
  margin-bottom: 0;
}
.cf-form-msg {
  font-size: 14px;
  margin-bottom: 12px;
  text-align: center;
}
.cf-form-msg.error {
  color: #c00;
}
.cf-form-msg.success {
  color: #2a7a2a;
}
@media (max-width: 1200px) {
  .contact-form h3 {
    font-size: 28px;
  }
  .cf-form-info h4 {
    font-size: 28px;
  }
}
@media (max-width: 991px) {
  .contact-form h3 {
    font-size: 26px;
  }
  .contact-form > .container > p {
    font-size: 15px;
  }
  .cf-form-info h4 {
    font-size: 26px;
  }
}
@media (max-width: 767px) {
  .contact-form h3 {
    font-size: 26px;
  }
  .contact-form > .container > p {
    font-size: 15px;
    line-height: 1.5;
  }
  .cf-form-info h4 {
    font-size: 26px;
  }
  .cf-form-grid {
    grid-template-columns: 1fr;
    gap: 0;
  }
  .cf-input-field {
    margin-bottom: 20px;
  }
}
@media (max-width: 479px) {
  .contact-form h3 {
    font-size: 24px;
  }
  .contact-form > .container > p {
    font-size: 14px;
  }
  .cf-form-info h4 {
    font-size: 24px;
  }
}

/* ============================================================
   FAQS — PlanBanner
   ============================================================ */
.planBanner {
  padding: 60px 0;
  display: flex;
  align-items: center;
}
.planBanner .pb-banner-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  gap: 50px;
}
.planBanner .pb-content h1 {
  font-size: 48px;
  line-height: 54px;
  font-weight: 700;
  color: #000;
}
.planBanner .pb-image img {
  width: 100%;
  height: auto;
}
@media (max-width: 1440px) {
  .planBanner .pb-content h1 {
    font-size: 35px;
    line-height: 1.3;
  }
}
@media (max-width: 1400px) {
  .planBanner .pb-content h1 {
    font-size: 32px;
    line-height: 1.2;
  }
}
@media (max-width: 1200px) {
  .planBanner .pb-content h1 {
    font-size: 30px;
  }
}
@media (max-width: 991px) {
  .planBanner .pb-banner-grid {
    grid-template-columns: 1fr;
  }
  .planBanner .pb-content {
    text-align: center;
  }
  .planBanner .pb-content h1 {
    font-size: 30px;
    line-height: 1.3;
  }
  .planBanner .pb-image img {
    width: 70%;
    margin: auto;
    display: block;
  }
}
@media (max-width: 767px) {
  .planBanner .pb-content h1 {
    font-size: 26px;
  }
  .planBanner .pb-image img {
    width: 70%;
    margin: auto;
    display: block;
  }
}
@media (max-width: 479px) {
  .planBanner .pb-content h1 {
    font-size: 26px;
  }
  .planBanner .pb-image img {
    width: 100%;
  }
}
@media (max-width: 400px) {
  .planBanner .pb-content h1 {
    font-size: 24px;
  }
}

/* ============================================================
   PORTFOLIO — PortfolioBanner
   ============================================================ */
.portfolioBanner {
  padding: 60px 0;
  display: flex;
  align-items: center;
}
.portfolioBanner .pb-grid {
  display: grid;
  grid-template-columns: 1fr;
}
.portfolioBanner .pb-content {
  text-align: center;
}
.portfolioBanner .pb-content h1 {
  font-size: 75px;
  line-height: 1.5;
  font-weight: 800;
  color: #000;
}
.portfolioBanner .pb-content h1 span {
  color: #ec1c24;
}
.portfolioBanner .pb-content p {
  font-size: 20px;
  color: #000;
  font-weight: 400;
  line-height: 29px;
  width: 80%;
  margin: auto;
}
.portfolioBanner .pb-btns {
  margin-top: 30px;
}
.portfolioBanner .pb-btn {
  border-radius: 8px;
  background-color: #ed2a32;
  font-size: 15px;
  border: none;
  cursor: pointer;
}
.portfolioBanner .pb-rewards {
  margin: 50px auto 0;
}
.portfolioBanner .pb-rewards ul {
  list-style: none;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
}
.portfolioBanner .pb-rewards ul li img {
  max-width: 111px;
  height: auto;
  width: auto;
}
@media (max-width: 1440px) {
  .portfolioBanner .pb-content h1 {
    font-size: 65px;
    line-height: 1.3;
  }
  .portfolioBanner .pb-content p {
    font-size: 18px;
  }
}
@media (max-width: 1400px) {
  .portfolioBanner .pb-content h1 {
    font-size: 60px;
    line-height: 1.2;
  }
  .portfolioBanner .pb-rewards ul li img {
    max-width: 85px;
  }
}
@media (max-width: 1200px) {
  .portfolioBanner .pb-content h1 {
    font-size: 50px;
  }
  .portfolioBanner .pb-rewards ul li img {
    max-width: 70px;
  }
}
@media (max-width: 991px) {
  .portfolioBanner {
    padding: 40px 0;
  }
  .portfolioBanner .pb-content h1 {
    font-size: 40px;
  }
  .portfolioBanner .pb-content p {
    font-size: 16px;
    width: 100%;
  }
  .portfolioBanner .pb-btns {
    margin-top: 20px;
  }
  .portfolioBanner .pb-rewards {
    margin: 30px auto 0;
  }
  .portfolioBanner .pb-rewards ul li img {
    max-width: 60px;
  }
}
@media (max-width: 767px) {
  .portfolioBanner .pb-content h1 {
    font-size: 30px;
  }
  .portfolioBanner .pb-content p {
    font-size: 14px;
  }
}
@media (max-width: 479px) {
  .portfolioBanner .pb-rewards ul {
    flex-wrap: wrap;
  }
}
@media (max-width: 400px) {
  .portfolioBanner .pb-content h1 {
    font-size: 24px;
  }
  .portfolioBanner .pb-btn {
    width: 100%;
  }
}

/* ============================================================
   PORTFOLIO — PortfolioCardListing + PortfolioCard
   ============================================================ */
.case-study-icon:after {
  content: url("data:image/svg+xml,%3Csvg%20stroke%3D%22%23fff%22%20fill%3D%22%23fff%22%20stroke-width%3D%220%22%20viewBox%3D%220%200%20640%20512%22%20height%3D%222em%22%20width%3D%222em%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M579.8%20267.7c56.5-56.5%2056.5-148%200-204.5c-50-50-128.8-56.5-186.3-15.4l-1.6%201.1c-14.4%2010.3-17.7%2030.3-7.4%2044.6s30.3%2017.7%2044.6%207.4l1.6-1.1c32.1-22.9%2076-19.3%20103.8%208.6c31.5%2031.5%2031.5%2082.5%200%20114L422.3%20334.8c-31.5%2031.5-82.5%2031.5-114%200c-27.9-27.9-31.5-71.8-8.6-103.8l1.1-1.6c10.3-14.4%206.9-34.4-7.4-44.6s-34.4-6.9-44.6%207.4l-1.1%201.6C206.5%20251.2%20213%20330%20263%20380c56.5%2056.5%20148%2056.5%20204.5%200L579.8%20267.7zM60.2%20244.3c-56.5%2056.5-56.5%20148%200%20204.5c50%2050%20128.8%2056.5%20186.3%2015.4l1.6-1.1c14.4-10.3%2017.7-30.3%207.4-44.6s-30.3-17.7-44.6-7.4l-1.6%201.1c-32.1%2022.9-76%2019.3-103.8-8.6C74%20372%2074%20321%20105.5%20289.5L217.7%20177.2c31.5-31.5%2082.5-31.5%20114%200c27.9%2027.9%2031.5%2071.8%208.6%20103.9l-1.1%201.6c-10.3%2014.4-6.9%2034.4%207.4%2044.6s34.4%206.9%2044.6-7.4l1.1-1.6C433.5%20260.8%20427%20182%20377%20132c-56.5-56.5-148-56.5-204.5%200L60.2%20244.3z%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E") !important;
}
.tnb-btn.caseStudyBtn {
  background-color: #e80101;
  border: 1px solid #e80101 !important;
  border-radius: 5px !important;
  margin: 0;
}
.tnb-btn.caseStudyBtn::before {
  display: none !important;
}
.tnb-btn.caseStudyBtn:hover {
  background-color: transparent;
  color: #e80101;
}
.portfolioBanner .pb-btn {
  border-radius: 8px !important;
}
.view-more--case a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  /* Tap target 24 px (WCAG 2.2 AA, fix plan #73/#130/#132): negative margin keeps the layout */
  padding-block: 3px;
  margin-block: -3px;
}
.CaseStudiesListingSec {
  padding: 80px 0;
}
.CaseStudiesListingSec .pcl-main .caseStudyList {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 50px;
}
.caseStudiesCardSec .pcl-card-main {
  padding: 60px 30px;
  border-radius: 12px;
  height: 490px;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
.caseStudiesCardSec .pcl-card-main .logoWrapper img {
  position: absolute;
  top: 20px;
  left: 20px;
  height: auto;
}
.caseStudiesCardSec .pcl-card-main .innerCard {
  align-content: center;
}
.caseStudiesCardSec .pcl-card-main .imgBox img {
  height: auto;
}
.caseStudiesCardSec .textBox {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  margin: 20px 0;
}
.caseStudiesCardSec .textBox h2 {
  color: #000;
  font-weight: 600;
  font-size: 33px;
  margin: 0;
}
.caseStudiesCardSec .textBox .linkBtns {
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
  gap: 20px;
}
.caseStudiesCardSec .textBox .linkBtns img {
  filter: drop-shadow(-1px 2px 2.3px rgba(0, 0, 0, 0.18));
}
.caseStudiesCardSec .bottomSec p {
  color: #000;
  font-weight: 400;
  font-size: 15px;
}
@media (max-width: 1199px) {
  .caseStudiesCardSec .textBox h2 {
    font-size: 26px;
  }
}
@media (max-width: 1200px) {
  .caseStudiesCardSec .pcl-card-main .innerCard .imgBox img {
    width: 85%;
    height: auto;
  }
}
@media (max-width: 991px) {
  .CaseStudiesListingSec {
    padding: 40px 0;
  }
  .CaseStudiesListingSec .pcl-main .caseStudyList {
    gap: 30px;
  }
  .caseStudiesCardSec .pcl-card-main {
    height: 380px;
  }
  .caseStudiesCardSec .pcl-card-main .innerCard .imgBox img {
    width: 60%;
    height: auto;
  }
  .caseStudiesCardSec .textBox h2 {
    font-size: 22px;
  }
}
@media (max-width: 767px) {
  .CaseStudiesListingSec .pcl-main .caseStudyList {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 575px) {
  .caseStudiesCardSec .bottomSec {
    text-align: center;
  }
  .caseStudiesCardSec .textBox {
    flex-direction: column-reverse;
    gap: 10px;
  }
}

/* ============================================================
   PORTFOLIO — PortfolioGrid (Portfolio.module.scss flat CSS)
   ============================================================ */
.main-wrapper-container {
  max-width: 2100px;
  margin: auto;
}
.main-wrapper-container .first-grid {
  display: grid;
  grid-gap: 0;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  grid-auto-rows: 321px;
  grid-auto-flow: dense;
}
.main-wrapper-container .first-grid .grid-item {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
}
.main-wrapper-container .first-grid .grid-item a {
  height: 100%;
  overflow: hidden;
  width: 100%;
}
.main-wrapper-container .first-grid .grid-item .overlay {
  position: absolute;
  pointer-events: none;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  opacity: 1;
  transition: 0.4s all ease-in-out;
  margin: auto;
  background: rgba(0, 0, 0, 0.7);
  width: 100%;
  height: 100%;
  flex-direction: column;
}
.main-wrapper-container .first-grid .grid-item .overlay img {
  transition: 0.5s;
  height: auto;
  transform: scale(0.8);
}
.main-wrapper-container .first-grid .grid-item .overlay::after {
  content: url("data:image/svg+xml,%3Csvg%20stroke%3D%22%23fff%22%20fill%3D%22%23fff%22%20stroke-width%3D%220%22%20viewBox%3D%220%200%20512%20512%22%20height%3D%222em%22%20width%3D%222em%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M256%20512A256%20256%200%201%200%20256%200a256%20256%200%201%200%200%20512zM232%20344V280H168c-13.3%200-24-10.7-24-24s10.7-24%2024-24h64V168c0-13.3%2010.7-24%2024-24s24%2010.7%2024%2024v64h64c13.3%200%2024%2010.7%2024%2024s-10.7%2024-24%2024H280v64c0%2013.3-10.7%2024-24%2024s-24-10.7-24-24z%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E");
  width: 30px;
  height: 30px;
  position: relative;
  opacity: 0;
  transition: 0.5s;
}
.main-wrapper-container .first-grid .grid-item a:hover .overlay img {
  transform: scale(0.8) translate(0, -50px);
}
.main-wrapper-container .first-grid .grid-item a:hover .overlay::after {
  opacity: 1;
  transform: translate(0, -30px);
}
.main-wrapper-container .first-grid .web-view .thumb-img {
  overflow: hidden;
  object-fit: cover;
  object-position: top;
  transition: 4s all ease;
  height: 350px;
  width: 100%;
}
.main-wrapper-container .first-grid .web-view img:hover {
  object-position: bottom;
}
.main-wrapper-container .main-masonry-grid {
  display: grid;
  grid-gap: 0;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
  grid-auto-rows: 350px;
  grid-auto-flow: dense;
}
.main-wrapper-container .main-masonry-grid .grid-item {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
}
.main-wrapper-container .main-masonry-grid .grid-item a {
  height: 100%;
  overflow: hidden;
  width: 100%;
}
.main-wrapper-container .main-masonry-grid .grid-item a:hover .overlay img {
  transform: scale(0.8) translate(0, -50px);
}
.main-wrapper-container .main-masonry-grid .grid-item a:hover .overlay::after {
  opacity: 1;
  transform: translate(0, -30px);
}
.main-wrapper-container .main-masonry-grid .overlay {
  position: absolute;
  pointer-events: none;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  opacity: 1;
  transition: 0.4s all ease-in-out;
  background: rgba(0, 0, 0, 0.7);
  width: 100%;
  height: 100%;
  flex-direction: column;
}
.main-wrapper-container .main-masonry-grid .overlay::after {
  content: url("data:image/svg+xml,%3Csvg stroke='%23fff' fill='%23fff' stroke-width='0' viewBox='0 0 512 512' height='2em' width='2em' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM232 344V280H168c-13.3 0-24-10.7-24-24s10.7-24 24-24h64V168c0-13.3 10.7-24 24-24s24 10.7 24 24v64h64c13.3 0 24 10.7 24 24s-10.7 24-24 24H280v64c0 13.3-10.7 24-24 24s-24-10.7-24-24z'%3E%3C%2Fpath%3E%3C%2Fsvg%3E");
  width: 30px;
  height: 30px;
  position: relative;
  opacity: 0;
  transition: 0.5s;
}
.main-wrapper-container .main-masonry-grid .overlay img {
  transition: 0.5s;
  height: auto;
  transform: scale(0.8);
}
.main-wrapper-container .main-masonry-grid .thumb-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.main-wrapper-container .main-masonry-grid .wide {
  grid-column: span 2;
}
.main-wrapper-container .main-masonry-grid .tall {
  grid-row: span 2;
}
.main-wrapper-container .main-masonry-grid .big {
  grid-column: span 2;
  grid-row: span 2;
}
.main-wrapper-container .main-masonry-grid .big-3 {
  grid-column: span 3;
  grid-row: span 2;
}
.main-wrapper-container .main-masonry-grid .web-view .thumb-img {
  overflow: hidden;
  object-fit: cover;
  object-position: top;
  transition: 4s all ease;
  height: 350px;
  width: 100%;
}
.main-wrapper-container .main-masonry-grid .web-view img:hover {
  object-position: bottom;
}
.view-more--case {
  position: absolute;
  bottom: 20px;
  right: 20px;
}
.view-more--case a {
  color: #fff;
  text-transform: uppercase;
  font-weight: 600;
}
@media (max-width: 1600px) {
  .main-wrapper-container .main-masonry-grid {
    grid-auto-rows: 260px;
  }
  .main-wrapper-container .first-grid .grid-item .overlay img,
  .main-wrapper-container .main-masonry-grid .grid-item .overlay img {
    transform: scale(0.6);
  }
}
@media (max-width: 1400px) {
  .main-wrapper-container .main-masonry-grid {
    grid-auto-rows: 220px;
  }
  .main-wrapper-container .first-grid .grid-item .overlay img,
  .main-wrapper-container .main-masonry-grid .grid-item .overlay img {
    transform: scale(0.5);
  }
}
@media (max-width: 1200px) {
  .main-wrapper-container .first-grid {
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  }
}
@media (max-width: 1100px) {
  .main-wrapper-container .first-grid {
    grid-template-columns: repeat(auto-fit, minmax(450px, 1fr));
  }
  .main-wrapper-container .first-grid .grid-item .overlay img {
    transform: scale(0.7);
  }
  .main-wrapper-container .main-masonry-grid {
    grid-template-columns: 1fr 1fr 1fr;
    grid-auto-rows: 290px;
  }
  .main-wrapper-container .main-masonry-grid .grid-item .overlay img {
    transform: scale(0.7);
  }
  .view-more--case a {
    font-size: 14px;
  }
}
@media (max-width: 991px) {
  .main-wrapper-container .first-grid {
    grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
  }
  .main-wrapper-container .first-grid .grid-item .overlay img {
    transform: scale(0.7);
  }
}
@media (max-width: 767px) {
  .main-wrapper-container .first-grid .grid-item .overlay img {
    transform: scale(0.5);
  }
  .main-wrapper-container .main-masonry-grid {
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  }
  .main-wrapper-container .main-masonry-grid .grid-item .overlay img {
    transform: scale(0.5);
  }
  .view-more--case a {
    font-size: 12px;
  }
}
@media (max-width: 600px) {
  .main-wrapper-container .first-grid {
    display: flex;
    flex-direction: column;
  }
  .main-wrapper-container .first-grid .grid-item .overlay img {
    transform: scale(0.7);
  }
  .main-wrapper-container .main-masonry-grid {
    display: flex;
    flex-direction: column;
  }
  .main-wrapper-container .main-masonry-grid .big {
    height: 100%;
    overflow: hidden;
  }
  .main-wrapper-container .main-masonry-grid .web-view .thumb-img {
    height: 300px;
  }
  .main-wrapper-container .main-masonry-grid .grid-item .overlay img {
    transform: scale(0.7);
  }
}
@media (max-width: 479px) {
  .main-wrapper-container .main-masonry-grid .grid-item .overlay img {
    transform: scale(0.5);
  }
}

/* ============================================================
   PYTHON DISCOVER SECTION
   ============================================================ */
.pythonDiscover {
  padding: 60px 0;
}
.pythonDiscover .pd-eyebrow {
  font-weight: 600;
  font-size: 14px;
  text-align: center;
  color: #ec1c24;
  text-transform: uppercase;
}
.pythonDiscover h2 {
  font-weight: bold;
  font-size: 28px;
  text-align: center;
  color: #000;
}
.pythonDiscover > .container > p {
  font-size: 16px;
  line-height: 24px;
  text-align: center;
  color: #000;
}
.pythonDiscover .pd-des-grid {
  margin-top: 30px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  align-items: center;
}
.pythonDiscover .pd-left-info img {
  width: 100%;
  height: auto;
}
.pythonDiscover .pd-right-info h3 {
  font-weight: bold;
  font-size: 22px;
  line-height: 30px;
  text-align: left;
  color: #ec1c24;
}
.pythonDiscover .pd-right-info ul {
  padding-left: 20px;
}
.pythonDiscover .pd-right-info ul li {
  font-size: 16px;
  line-height: 40px;
  text-align: left;
  color: #000;
}
@media (max-width: 1200px) {
  .pythonDiscover .pd-right-info h3 {
    font-size: 20px;
    line-height: 1.5;
  }
  .pythonDiscover .pd-right-info ul li {
    font-size: 15px;
    line-height: 2;
  }
}
@media (max-width: 991px) {
  .pythonDiscover h2 {
    font-size: 24px;
  }
  .pythonDiscover .pd-des-grid {
    align-items: flex-start;
  }
  .pythonDiscover .pd-right-info h3 {
    font-size: 20px;
    line-height: 1.5;
  }
  .pythonDiscover .pd-right-info ul li {
    font-size: 15px;
    line-height: 2;
  }
}
@media (max-width: 767px) {
  .pythonDiscover {
    padding-bottom: 0;
  }
  .pythonDiscover h2 {
    font-size: 22px;
  }
  .pythonDiscover .pd-des-grid {
    grid-template-columns: 1fr;
  }
  .pythonDiscover .pd-right-info h3 {
    font-size: 20px;
    line-height: 1.5;
  }
  .pythonDiscover .pd-right-info ul li {
    font-size: 15px;
    line-height: 2;
  }
}
@media (max-width: 400px) {
  .pythonDiscover .pd-eyebrow {
    font-size: 12px;
  }
  .pythonDiscover h2 {
    font-size: 20px;
  }
  .pythonDiscover > .container > p {
    font-size: 14px;
  }
  .pythonDiscover .pd-right-info h3 {
    font-size: 18px;
  }
  .pythonDiscover .pd-right-info ul li {
    font-size: 12px;
  }
}

/* ============================================================
   JAVA EXPERTISE SECTION
   ============================================================ */
.javaExpertise {
  padding: 80px 0;
  background-color: #f5f5f5;
}
.javaExpertise .je-top {
  text-align: center;
}
.javaExpertise .je-top .je-eyebrow {
  font-size: 16px;
  font-weight: 600;
  color: #ec1c24;
  text-transform: uppercase;
}
.javaExpertise .je-top h3 {
  font-size: 28px;
  font-weight: 700;
  color: #000;
}
.javaExpertise .je-bottom {
  margin-top: 60px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  align-items: center;
}
.javaExpertise .je-bottom .je-image img {
  width: auto;
  height: auto;
  max-width: 100%;
}
.javaExpertise .je-bottom .je-grid {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.javaExpertise .je-bottom h4 {
  font-weight: bold;
  font-size: 20px;
  color: #ec1c24;
  margin-bottom: 4px;
}
.javaExpertise .je-bottom p {
  font-size: 16px;
  line-height: 24px;
  color: #000;
  margin: 0;
}
@media (max-width: 1199px) {
  .javaExpertise {
    padding: 40px 0;
  }
  .javaExpertise .je-top h3 {
    font-size: 24px;
  }
  .javaExpertise .je-bottom {
    margin-top: 40px;
    grid-template-columns: 1fr;
  }
}
@media (max-width: 767px) {
  .javaExpertise {
    padding: 30px 0;
  }
  .javaExpertise .je-top .je-eyebrow {
    font-size: 14px;
  }
  .javaExpertise .je-top h3 {
    font-size: 22px;
  }
  .javaExpertise .je-bottom {
    margin-top: 30px;
  }
  .javaExpertise .je-bottom .je-image img {
    width: 100%;
  }
  .javaExpertise .je-bottom h4 {
    font-size: 18px;
  }
  .javaExpertise .je-bottom p {
    font-size: 14px;
  }
  .javaExpertise .je-bottom .je-grid {
    gap: 15px;
  }
}



/* ─── Breadcrumb ─────────────────────────────────────────────────────────────── */
.tnb-breadcrumb-nav {
  margin-bottom: 14px;
}
.tnb-breadcrumb {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  list-style: none;
  padding: 8px 15px;
  margin: 0;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 6px;
  font-size: 14px;
  line-height: 1;
}
.tnb-breadcrumb li {
  display: flex;
  align-items: center;
}
.tnb-breadcrumb li + li::before {
  content: '';
  display: inline-block;
  width: 6px;
  height: 6px;
  border-top: 1.5px solid rgba(255, 255, 255, 0.7);
  border-right: 1.5px solid rgba(255, 255, 255, 0.7);
  transform: rotate(45deg);
  margin: 0 10px;
  flex-shrink: 0;
}
.tnb-breadcrumb a {
  color: rgba(255, 255, 255, 0.85);
  font-size: 14px;
  font-weight: 400;
  text-decoration: none;
  line-height: 1;
  transition: color 0.2s ease;
}
.tnb-breadcrumb a:hover,
.tnb-breadcrumb a:focus-visible {
  color: #fff;
}
.tnb-breadcrumb .tnb-bc-current {
  color: #fff;
  font-size: 14px;
  font-weight: 500;
}
/* Spacing: sections with no/minimal top padding — push breadcrumb below fixed header */
.fcs-main-fix-car-banner .tnb-breadcrumb-nav {
  margin-top: 30px;
}
.platetalk-app .tnb-breadcrumb-nav {
  margin-top: 30px;
}

/* Location/SDD banner: strong pill for readability over dark photo backgrounds */
.sec-hero .tnb-breadcrumb,
.mobileAppBanner .tnb-breadcrumb {
  background: rgba(0, 0, 0, 0.6);
  border: 1px solid rgba(255, 255, 255, 0.55);
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
}
.sec-hero .tnb-breadcrumb a,
.mobileAppBanner .tnb-breadcrumb a {
  color: #fff;
}
.sec-hero .tnb-breadcrumb .tnb-bc-current,
.mobileAppBanner .tnb-breadcrumb .tnb-bc-current {
  color: rgba(255, 255, 255, 0.9);
}
.sec-hero .tnb-breadcrumb li + li::before,
.mobileAppBanner .tnb-breadcrumb li + li::before {
  border-top-color: rgba(255, 255, 255, 0.9);
  border-right-color: rgba(255, 255, 255, 0.9);
}

/* Light-background banner overrides */
.mainBanner .tnb-breadcrumb,
.engagementBanner .tnb-breadcrumb,
.portfolioBanner .tnb-breadcrumb,
.industryBanner .tnb-breadcrumb,
.hireBanner .tnb-breadcrumb,
.seoMainBanner .tnb-breadcrumb,
.platetalk-app .tnb-breadcrumb,
.cofit-sec-1 .tnb-breadcrumb,
.ffg-main-banner .tnb-breadcrumb,
.whiteTail .tnb-breadcrumb,
.fcs-main-fix-car-banner .tnb-breadcrumb,
.wedding-app .tnb-breadcrumb,
.singleBanner .tnb-breadcrumb,
.main-bg-banner .tnb-breadcrumb,
.mobileAppBanner.dallas .tnb-breadcrumb,
.mobileAppBanner.houston .tnb-breadcrumb,
.main-top-banner .tnb-breadcrumb,
.cruze-sec-1 .tnb-breadcrumb,
.soccerfy-sec1 .tnb-breadcrumb,
.main-banner .tnb-breadcrumb,
.xdr-main-banner-sec .tnb-breadcrumb,
.Section-sphere-1 .tnb-breadcrumb,
.contact-banner .tnb-breadcrumb {
  background: #e8e8e8;
  border: none;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}
.mainBanner .tnb-breadcrumb li + li::before,
.engagementBanner .tnb-breadcrumb li + li::before,
.portfolioBanner .tnb-breadcrumb li + li::before,
.industryBanner .tnb-breadcrumb li + li::before,
.hireBanner .tnb-breadcrumb li + li::before,
.seoMainBanner .tnb-breadcrumb li + li::before,
.platetalk-app .tnb-breadcrumb li + li::before,
.cofit-sec-1 .tnb-breadcrumb li + li::before,
.ffg-main-banner .tnb-breadcrumb li + li::before,
.whiteTail .tnb-breadcrumb li + li::before,
.fcs-main-fix-car-banner .tnb-breadcrumb li + li::before,
.wedding-app .tnb-breadcrumb li + li::before,
.singleBanner .tnb-breadcrumb li + li::before,
.main-bg-banner .tnb-breadcrumb li + li::before,
.mobileAppBanner.dallas .tnb-breadcrumb li + li::before,
.mobileAppBanner.houston .tnb-breadcrumb li + li::before,
.main-top-banner .tnb-breadcrumb li + li::before,
.cruze-sec-1 .tnb-breadcrumb li + li::before,
.soccerfy-sec1 .tnb-breadcrumb li + li::before,
.main-banner .tnb-breadcrumb li + li::before,
.xdr-main-banner-sec .tnb-breadcrumb li + li::before,
.Section-sphere-1 .tnb-breadcrumb li + li::before,
.contact-banner .tnb-breadcrumb li + li::before  {
  border-top-color: #272727;
  border-right-color: #272727;
}
.mainBanner .tnb-breadcrumb a,
.engagementBanner .tnb-breadcrumb a,
.portfolioBanner .tnb-breadcrumb a,
.industryBanner .tnb-breadcrumb a,
.hireBanner .tnb-breadcrumb a,
.seoMainBanner .tnb-breadcrumb a,
.platetalk-app .tnb-breadcrumb a,
.cofit-sec-1 .tnb-breadcrumb a,
.ffg-main-banner .tnb-breadcrumb a,
.whiteTail .tnb-breadcrumb a,
.fcs-main-fix-car-banner .tnb-breadcrumb a,
.wedding-app .tnb-breadcrumb a,
.singleBanner .tnb-breadcrumb a,
.main-bg-banner .tnb-breadcrumb a,
.mobileAppBanner.dallas .tnb-breadcrumb a,
.mobileAppBanner.houston .tnb-breadcrumb a,
.main-top-banner .tnb-breadcrumb a,
.cruze-sec-1 .tnb-breadcrumb a,
.soccerfy-sec1 .tnb-breadcrumb a,
.main-banner .tnb-breadcrumb a,
.xdr-main-banner-sec .tnb-breadcrumb a,
.Section-sphere-1 .tnb-breadcrumb a,
.contact-banner .tnb-breadcrumb a {
  color: #272727;
}
.mainBanner .tnb-breadcrumb a:hover,
.engagementBanner .tnb-breadcrumb a:hover,
.portfolioBanner .tnb-breadcrumb a:hover,
.industryBanner .tnb-breadcrumb a:hover,
.hireBanner .tnb-breadcrumb a:hover,
.seoMainBanner .tnb-breadcrumb a:hover,
.platetalk-app .tnb-breadcrumb a:hover,
.cofit-sec-1 .tnb-breadcrumb a:hover,
.ffg-main-banner .tnb-breadcrumb a:hover,
.whiteTail .tnb-breadcrumb a:hover,
.fcs-main-fix-car-banner .tnb-breadcrumb a:hover,
.wedding-app .tnb-breadcrumb a:hover,
.singleBanner .tnb-breadcrumb a:hover,
.main-bg-banner .tnb-breadcrumb a:hover,
.mobileAppBanner.dallas .tnb-breadcrumb a:hover,
.mobileAppBanner.houston .tnb-breadcrumb a:hover,
.main-top-banner .tnb-breadcrumb a:hover,
.cruze-sec-1 .tnb-breadcrumb a:hover,
.soccerfy-sec1 .tnb-breadcrumb a:hover,
.main-banner .tnb-breadcrumb a:hover,
.xdr-main-banner-sec .tnb-breadcrumb a:hover,
.Section-sphere-1 .tnb-breadcrumb a:hover,
.contact-banner .tnb-breadcrumb a:hover {
  color: #ec1c24;
}
.mainBanner .tnb-breadcrumb .tnb-bc-current,
.engagementBanner .tnb-breadcrumb .tnb-bc-current,
.portfolioBanner .tnb-breadcrumb .tnb-bc-current,
.industryBanner .tnb-breadcrumb .tnb-bc-current,
.hireBanner .tnb-breadcrumb .tnb-bc-current,
.seoMainBanner .tnb-breadcrumb .tnb-bc-current,
.platetalk-app .tnb-breadcrumb .tnb-bc-current,
.cofit-sec-1 .tnb-breadcrumb .tnb-bc-current,
.ffg-main-banner .tnb-breadcrumb .tnb-bc-current,
.whiteTail .tnb-breadcrumb .tnb-bc-current,
.fcs-main-fix-car-banner .tnb-breadcrumb .tnb-bc-current,
.wedding-app .tnb-breadcrumb .tnb-bc-current,
.singleBanner .tnb-breadcrumb .tnb-bc-current,
.main-bg-banner .tnb-breadcrumb .tnb-bc-current,
.mobileAppBanner.dallas .tnb-breadcrumb .tnb-bc-current,
.mobileAppBanner.houston .tnb-breadcrumb .tnb-bc-current,
.main-top-banner .tnb-breadcrumb .tnb-bc-current,
.cruze-sec-1 .tnb-breadcrumb .tnb-bc-current,
.soccerfy-sec1 .tnb-breadcrumb .tnb-bc-current,
.main-banner .tnb-breadcrumb .tnb-bc-current,
.xdr-main-banner-sec .tnb-breadcrumb .tnb-bc-current,
.Section-sphere-1 .tnb-breadcrumb .tnb-bc-current,
.contact-banner .tnb-breadcrumb .tnb-bc-current {
  color: #272727;
}
@media (max-width: 1400px) {
  .tnb-breadcrumb a,
  .tnb-breadcrumb .tnb-bc-current {
    font-size: 12px;
  }
}
@media (max-width: 767px) {
  .tnb-breadcrumb-nav {
    display: none;
  }
}



/* =============================================================
   TECHNBRAINS — PLATFORM BANNER / HERO  (.plt-banner*)
   Layout   : platform_banner
   Component: template-parts/components/Platform-banner.php
   ============================================================= */

/* ── Section shell ── */
.plt-banner {
  background: #05070b;
  background-image:
    radial-gradient(
      820px 500px at 26% 28%,
      rgba(236, 28, 36, 0.18) 0%,
      transparent 60%
    ),
    radial-gradient(
      900px 560px at 86% 72%,
      rgba(20, 44, 84, 0.5) 0%,
      transparent 64%
    ),
    linear-gradient(180deg, #0a0f18 0%, #05070b 72%);
  padding: 120px 48px 72px;
  position: relative;
  overflow: hidden;
  min-height: 760px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.plt-banner::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image: radial-gradient(
    rgba(255, 255, 255, 0.05) 1px,
    transparent 1px
  );
  background-size: 28px 28px;
  opacity: 0.4;
  pointer-events: none;
  -webkit-mask-image: radial-gradient(
    ellipse 80% 70% at 50% 50%,
    #000 30%,
    transparent 80%
  );
  mask-image: radial-gradient(
    ellipse 80% 70% at 50% 50%,
    #000 30%,
    transparent 80%
  );
}

/* ── Two-column grid ── */
.plt-banner__grid {
  position: relative;
  z-index: 2;
  max-width: 1360px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1.05fr 1fr;
  gap: 48px;
  align-items: center;
  width: 100%;
}
.plt-banner__content {
  max-width: 620px;
}

/* ── Breadcrumb nav ── */
.plt-breadcrumb {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 12px 18px;
  background: rgba(0, 0, 0, 0.52);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 6px;
  margin-bottom: 20px;
  font-family: "Outfit", system-ui, sans-serif;
  font-size: 13px;
  font-weight: 400;
  line-height: 1;
  white-space: nowrap;
  flex-wrap: nowrap;
  list-style: none;
}

.plt-breadcrumb__item {
  color: rgba(255, 255, 255, 0.5);
  text-decoration: none;
  transition: color 0.2s ease;
  white-space: nowrap;
}

a.plt-breadcrumb__item:hover,
a.plt-breadcrumb__item:focus {
  color: rgba(255, 255, 255, 0.85);
  text-decoration: none;
  outline: none;
}

.plt-breadcrumb__item--current {
  color: rgba(255, 255, 255, 0.85);
  font-weight: 500;
  cursor: default;
}

.plt-breadcrumb__sep {
  color: rgba(255, 255, 255, 0.3);
  font-size: 12px;
  line-height: 1;
  flex-shrink: 0;
  user-select: none;
}

@media (max-width: 640px) {
  .plt-breadcrumb {
    font-size: 12px;
    padding: 5px 10px;
    gap: 5px;
  }
}

/* ── Eyebrow tag ── */
.plt-banner__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 8px 14px 8px 12px;
  border-radius: 999px;
  background: rgba(236, 28, 36, 0.1);
  border: 1px solid rgba(236, 28, 36, 0.25);
  color: #ff6e73;
  font-family: "Outfit", system-ui, sans-serif;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  margin-bottom: 24px;
}
.plt-banner__eyebrow::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #ec1c24;
  box-shadow: 0 0 10px rgba(236, 28, 36, 0.7);
  flex-shrink: 0;
}

/* ── Heading ── */
.plt-banner__h1 {
  font-family: "Outfit", system-ui, sans-serif;
  font-size: clamp(44px, 5.4vw, 68px);
  font-weight: 700;
  color: #ffffff;
  letter-spacing: -0.035em;
  line-height: 1.04;
  margin: 0 0 24px;
  text-wrap: balance;
}
.plt-banner__h1 .plt-banner__accent {
  color: #ec1c24;
}

/* ── Subheading ── */
.plt-banner__sub {
  font-family: "Outfit", system-ui, sans-serif;
  font-size: clamp(17px, 1.4vw, 20px);
  font-weight: 400;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.65);
  margin: 0 0 36px;
  max-width: 560px;
}

/* ── CTA row ── */
.plt-banner__actions {
  display: flex;
  gap: 14px;
  align-items: center;
  flex-wrap: wrap;
}

/* ── Primary CTA — matches PltHero .plt-btn-primary ── */
.plt-banner__btn-primary.tnb-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  height: 54px;
  padding: 0 26px;
  background: #ec1c24;
  color: #ffffff;
  border: none;
  border-radius: 10px;
  font-family: "Outfit", system-ui, sans-serif;
  font-size: 15px;
  font-weight: 600;
  letter-spacing: normal;
  text-transform: none;
  text-decoration: none;
  cursor: pointer;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.plt-banner__btn-primary.tnb-btn::before {
  content: none;
}
.plt-banner__btn-primary.tnb-btn:hover:not(:disabled) {
  color: #ffffff;
  transform: translateY(-2px);
  box-shadow: 0 14px 36px -10px rgba(236, 28, 36, 0.6);
}
.plt-banner__btn-primary.tnb-btn:active {
  transform: translateY(0);
  box-shadow: 0 6px 16px -6px rgba(236, 28, 36, 0.5);
}
.plt-banner__btn-primary.tnb-btn:focus-visible {
  outline: 2px solid rgba(236, 28, 36, 0.6);
  outline-offset: 3px;
}

/* ── Ghost CTA — matches PltHero .plt-btn-ghost ── */
.plt-banner__btn-ghost.tnb-btn.btnTransparent {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  height: 54px;
  padding: 0 26px;
  background: transparent;
  color: #ffffff;
  border: 1px solid rgba(255, 255, 255, 0.28);
  border-radius: 10px;
  font-family: "Outfit", system-ui, sans-serif;
  font-size: 15px;
  font-weight: 600;
  letter-spacing: normal;
  text-transform: none;
  text-decoration: none;
  cursor: pointer;
  transition: all 0.25s ease;
}
.plt-banner__btn-ghost.tnb-btn.btnTransparent::before {
  content: none;
}
.plt-banner__btn-ghost.tnb-btn.btnTransparent:hover:not(:disabled) {
  background: #ffffff;
  color: #000000;
  border-color: #ffffff;
  box-shadow: 0 10px 30px -14px rgba(255, 255, 255, 0.3);
  transform: translateY(-2px);
}
.plt-banner__btn-ghost.tnb-btn.btnTransparent:active {
  transform: translateY(0);
  box-shadow: none;
}
.plt-banner__btn-ghost.tnb-btn.btnTransparent:focus-visible {
  outline: 2px solid rgba(255, 255, 255, 0.6);
  outline-offset: 3px;
}

/* ── Responsive — tablet & mobile ── */
@media (max-width: 640px) {
  .plt-banner__actions {
    gap: 12px;
  }
  .plt-banner__btn-primary.tnb-btn,
  .plt-banner__btn-ghost.tnb-btn.btnTransparent {
    font-size: 14px;
    height: 48px;
    padding: 0 22px;
    width: 100%;
    justify-content: center;
  }
}

/* ── Platform tile grid (right column) ── */
.plt-banner__grid-wrap {
  width: 100%;
  max-width: 640px;
  margin-left: auto;
  padding: 38px 0;
  -webkit-mask-image: linear-gradient(
    180deg,
    transparent 0%,
    #000 15%,
    #000 85%,
    transparent 100%
  );
  mask-image: linear-gradient(
    180deg,
    transparent 0%,
    #000 15%,
    #000 85%,
    transparent 100%
  );
}
.plt-banner__tilegrid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  grid-auto-rows: 104px;
  gap: 14px;
}
.plt-banner__tile {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 11px;
  background: rgba(20, 24, 32, 0.9);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 18px;
  box-shadow: 0 20px 44px -26px rgba(0, 0, 0, 0.85);
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
  transition:
    transform 0.3s ease,
    box-shadow 0.3s ease,
    border-color 0.3s ease,
    background 0.3s ease;
  position: relative;
  z-index: 1;
  overflow: hidden;
}
.plt-banner__tile:hover {
  transform: translateY(-5px);
  border-color: rgba(236, 28, 36, 0.45);
  background: rgba(28, 32, 42, 0.95);
  box-shadow: 0 28px 56px -26px rgba(236, 28, 36, 0.5);
  z-index: 2;
}
.plt-banner__tile--wide {
  grid-column: span 2;
}
.plt-banner__tile-ic {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.plt-banner__tile-ic img {
  width: 40px;
  height: 40px;
  object-fit: contain;
  display: block;
}
.plt-banner__tile--wide .plt-banner__tile-ic img {
  max-width: 150px;
  height: 100%;
  width: 100%;
}
.plt-banner__tile-name {
  font-family: "Outfit", system-ui, sans-serif;
  font-size: 13px;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.85);
  letter-spacing: -0.01em;
  white-space: nowrap;
}

/* ── Animation: assemble (fly-in, staggered via nth-child) ── */
@keyframes pltBannerAssemble {
  from {
    opacity: 0;
    transform: translateY(26px) scale(0.88);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}
.plt-banner__tilegrid--assemble .plt-banner__tile {
  opacity: 0;
  animation: pltBannerAssemble 0.7s cubic-bezier(0.18, 0.9, 0.32, 1.1) forwards;
}
.plt-banner__tilegrid--assemble .plt-banner__tile:nth-child(1) {
  animation-delay: 0s;
}
.plt-banner__tilegrid--assemble .plt-banner__tile:nth-child(2) {
  animation-delay: 0.08s;
}
.plt-banner__tilegrid--assemble .plt-banner__tile:nth-child(3) {
  animation-delay: 0.16s;
}
.plt-banner__tilegrid--assemble .plt-banner__tile:nth-child(4) {
  animation-delay: 0.24s;
}
.plt-banner__tilegrid--assemble .plt-banner__tile:nth-child(5) {
  animation-delay: 0.32s;
}
.plt-banner__tilegrid--assemble .plt-banner__tile:nth-child(6) {
  animation-delay: 0.4s;
}
.plt-banner__tilegrid--assemble .plt-banner__tile:nth-child(7) {
  animation-delay: 0.48s;
}
.plt-banner__tilegrid--assemble .plt-banner__tile:nth-child(8) {
  animation-delay: 0.56s;
}
.plt-banner__tilegrid--assemble .plt-banner__tile:nth-child(9) {
  animation-delay: 0.64s;
}
.plt-banner__tilegrid--assemble .plt-banner__tile:nth-child(10) {
  animation-delay: 0.72s;
}
.plt-banner__tilegrid--assemble .plt-banner__tile:nth-child(11) {
  animation-delay: 0.8s;
}
.plt-banner__tilegrid--assemble .plt-banner__tile:nth-child(12) {
  animation-delay: 0.88s;
}
.plt-banner__tilegrid--assemble .plt-banner__tile:nth-child(13) {
  animation-delay: 0.96s;
}
.plt-banner__tilegrid--assemble .plt-banner__tile:nth-child(14) {
  animation-delay: 1.04s;
}
.plt-banner__tilegrid--assemble .plt-banner__tile:nth-child(15) {
  animation-delay: 1.12s;
}
.plt-banner__tilegrid--assemble .plt-banner__tile:nth-child(n + 16) {
  animation-delay: 1.2s;
}

/* ── Animation: float (gentle bob) ── */
@keyframes pltBannerFloat {
  0%,
  100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-7px);
  }
}
.plt-banner__tilegrid--float .plt-banner__tile {
  animation: pltBannerFloat 5s ease-in-out infinite;
}
.plt-banner__tilegrid--float .plt-banner__tile:nth-child(odd) {
  animation-delay: 0s;
}
.plt-banner__tilegrid--float .plt-banner__tile:nth-child(even) {
  animation-delay: 0.6s;
}
.plt-banner__tilegrid--float .plt-banner__tile:nth-child(3n) {
  animation-delay: 1.2s;
}

/* ── Animation: pulse (red glow sweep) ── */
@keyframes pltBannerPulse {
  0%,
  60%,
  100% {
    background: rgba(20, 24, 32, 0.9);
    border-color: rgba(255, 255, 255, 0.1);
  }
  30% {
    background: rgba(40, 22, 26, 0.95);
    border-color: rgba(236, 28, 36, 0.6);
    box-shadow: 0 0 26px -4px rgba(236, 28, 36, 0.55);
  }
}
.plt-banner__tilegrid--pulse .plt-banner__tile {
  animation: pltBannerPulse 3s ease-in-out infinite;
}
.plt-banner__tilegrid--pulse .plt-banner__tile:nth-child(1) {
  animation-delay: 0s;
}
.plt-banner__tilegrid--pulse .plt-banner__tile:nth-child(2) {
  animation-delay: 0.2s;
}
.plt-banner__tilegrid--pulse .plt-banner__tile:nth-child(3) {
  animation-delay: 0.4s;
}
.plt-banner__tilegrid--pulse .plt-banner__tile:nth-child(4) {
  animation-delay: 0.6s;
}
.plt-banner__tilegrid--pulse .plt-banner__tile:nth-child(5) {
  animation-delay: 0.8s;
}
.plt-banner__tilegrid--pulse .plt-banner__tile:nth-child(6) {
  animation-delay: 1s;
}
.plt-banner__tilegrid--pulse .plt-banner__tile:nth-child(7) {
  animation-delay: 1.2s;
}
.plt-banner__tilegrid--pulse .plt-banner__tile:nth-child(8) {
  animation-delay: 1.4s;
}
.plt-banner__tilegrid--pulse .plt-banner__tile:nth-child(9) {
  animation-delay: 1.6s;
}
.plt-banner__tilegrid--pulse .plt-banner__tile:nth-child(10) {
  animation-delay: 1.8s;
}
.plt-banner__tilegrid--pulse .plt-banner__tile:nth-child(11) {
  animation-delay: 2s;
}
.plt-banner__tilegrid--pulse .plt-banner__tile:nth-child(12) {
  animation-delay: 2.2s;
}
.plt-banner__tilegrid--pulse .plt-banner__tile:nth-child(13) {
  animation-delay: 2.4s;
}
.plt-banner__tilegrid--pulse .plt-banner__tile:nth-child(14) {
  animation-delay: 2.6s;
}
.plt-banner__tilegrid--pulse .plt-banner__tile:nth-child(15) {
  animation-delay: 2.8s;
}
.plt-banner__tilegrid--pulse .plt-banner__tile:nth-child(n + 16) {
  animation-delay: 3s;
}

/* ── Reduced motion ── */
@media (prefers-reduced-motion: reduce) {
  .plt-banner__tile {
    animation: none !important;
    opacity: 1 !important;
  }
}

/* ── Responsive ── */
@media (max-width: 1024px) {
  .plt-banner {
    padding: 100px 32px 64px;
    min-height: 640px;
  }
  .plt-banner__grid {
    grid-template-columns: 1fr;
    gap: 40px;
  }
  .plt-banner__content {
    max-width: 100%;
  }
  .plt-banner__grid-wrap {
    max-width: 520px;
    margin: 0 auto;
  }
}
@media (max-width: 640px) {
  .plt-banner {
    padding: 90px 20px 56px;
  }
  .plt-banner__tilegrid {
    grid-template-columns: repeat(3, 1fr);
    grid-auto-rows: 88px;
    gap: 10px;
  }
/*   .plt-banner__tile-ic img {
    width: 32px;
    height: 32px;
  }
  .plt-banner__tile--wide .plt-banner__tile-ic img {
    width: 30px;
    height: 30px;
  } */
  .plt-banner__tile-name {
    font-size: 11px;
  }
}

/* =============================================================
   TECHNBRAINS — TRUST SLIDER  (.ts-*)
   Layout   : trust_slider
   Component: template-parts/components/Trust-slider.php
   ============================================================= */

/* ── Section shell ── */
.ts-section {
  background: #ffffff;
  padding: 52px 48px;
  /* border-bottom: 1px solid #e5e5e5; */
}
.ts-section--light {
  background: #f6f7f8;
}
.ts-section--dark {
  background: #0a0f18;
  border-bottom-color: rgba(255, 255, 255, 0.08);
}

.ts-inner {
  max-width: 1360px;
  margin: 0 auto;
}

/* ── Eyebrow label ── */
.ts-label {
  text-align: center;
  font-family: "Outfit", system-ui, sans-serif;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #555555;
  margin: 0 0 32px;
}
.ts-section--dark .ts-label {
  color: rgba(255, 255, 255, 0.5);
}
.ts-desc {
  text-align: center;
  font-family: "Outfit", system-ui, sans-serif;
  font-size: 15px;
  line-height: 1.6;
  color: #555555;
  max-width: 720px;
  margin: -20px auto 32px;
}
.ts-section--dark .ts-desc {
  color: rgba(255, 255, 255, 0.6);
}
/* ── Marquee container — masks edges, clips overflow ── */
.ts-marquee {
  position: relative;
  overflow: hidden;
  width: 100%;
  -webkit-mask-image: linear-gradient(
    90deg,
    transparent 0%,
    #000 9%,
    #000 91%,
    transparent 100%
  );
  mask-image: linear-gradient(
    90deg,
    transparent 0%,
    #000 9%,
    #000 91%,
    transparent 100%
  );
}

/* ── Scrolling track — items duplicated 2× in PHP for seamless -50% loop ── */
.ts-track {
  display: flex;
  width: max-content;
  align-items: center;
  gap: 12px;
  animation: tsMarquee 40s linear infinite;
  will-change: transform;
}

/* Pause on hover / focus */
.ts-marquee:hover .ts-track,
.ts-marquee:focus-within .ts-track {
  animation-play-state: paused;
}

@keyframes tsMarquee {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-50%);
  }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  .ts-track {
    animation: none;
  }
  .ts-marquee {
    overflow-x: auto;
    -webkit-mask-image: none;
    mask-image: none;
  }
}

/* ── Individual trust pill ── */
.ts-item {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 10px 20px;
  background: #ffffff;
  transition:
    transform 0.3s ease,
    border-color 0.3s ease,
    box-shadow 0.3s ease;
  cursor: default;
  white-space: nowrap;
  flex-shrink: 0;
}
.ts-item:hover {
  transform: translateY(-2px);
  border-color: rgba(236, 28, 36, 0.35);
  box-shadow: 0 8px 24px -12px rgba(12, 35, 64, 0.18);
}
.ts-section--dark .ts-item {
  background: rgba(255, 255, 255, 0.06);
  border-color: rgba(255, 255, 255, 0.12);
}
.ts-section--dark .ts-item:hover {
  background: rgba(255, 255, 255, 0.1);
  border-color: rgba(236, 28, 36, 0.5);
}
.ts-section--light .ts-item {
  background: #ffffff;
}

/* ── Logo image ── */
.ts-item-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  /* height: 28px; */
}
.ts-item-icon img {
  max-height: 70px;
  width: auto;
  height: auto;
  /* max-width: 80px; */
  object-fit: contain;
  display: block;
}
.ts-section--dark .ts-item-icon img {
  filter: brightness(0) invert(1);
}

/* ── Item name label ── */
.ts-item-name {
  font-family: "Outfit", system-ui, sans-serif;
  font-size: 15px;
  font-weight: 600;
  letter-spacing: -0.01em;
  color: #0c2340;
  white-space: nowrap;
}
.ts-section--dark .ts-item-name {
  color: rgba(255, 255, 255, 0.9);
}

/* ── Responsive ── */
@media (max-width: 1024px) {
  .ts-section {
    padding: 44px 32px;
  }
}
@media (max-width: 767px) {
  .ts-section {
    padding: 36px 20px;
  }
  .ts-label {
    font-size: 11px;
    margin-bottom: 24px;
  }
  .ts-track {
    gap: 8px;
    animation-duration: 28s;
  }
  .ts-item {
    padding: 8px 14px;
    gap: 8px;
  }
  .ts-item-icon {
    height: 48px;
  }
  .ts-item-icon img {
    height: auto;
    max-height: 48px;
    max-width: 120px;
  }
  .ts-item-name {
    font-size: 13px;
  }
}

/* =============================================================
   TECHNBRAINS — PLATFORMS SPECIALIZE  (.ps-*)
   Layout   : platforms_specialize
   Component: template-parts/components/Platforms-specialize.php
   ============================================================= */

/* ── Section shell ── */
.ps-section {
  background: #ffffff;
  padding: 90px 48px;
  position: relative;
}

.ps-container {
  max-width: 1360px;
  margin: 0 auto;
}

/* ── Section head ── */
.ps-head {
  text-align: center;
  max-width: 820px;
  margin: 0 auto 64px;
}

/* ── Eyebrow pill ── */
.ps-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 12px;
  border-radius: 999px;
  background: rgba(236, 28, 36, 0.08);
  color: #ec1c24;
  font-family: "Outfit", system-ui, sans-serif;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  margin-bottom: 18px;
}

.ps-eyebrow::before {
  content: "";
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: currentColor;
  flex-shrink: 0;
}

/* ── Heading ── */
.ps-h2 {
  font-family: "Outfit", system-ui, sans-serif;
  font-size: clamp(36px, 4.2vw, 60px);
  font-weight: 600;
  color: #0c2340;
  letter-spacing: -0.025em;
  line-height: 1.08;
  margin: 0;
  text-wrap: balance;
}

/* ── Subtitle ── */
.ps-sub {
  font-size: clamp(16px, 1.3vw, 19px);
  line-height: 1.6;
  color: #555555;
  margin: 20px auto 0;
  max-width: 720px;
}

/* ── 3-column card grid ── */
.ps-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}

/* ── Individual card ── */
.ps-card {
  position: relative;
  background: #ffffff;
  border: 1px solid #e5e5e5;
  border-radius: 26px;
  padding: 30px 30px 28px;
  transition: all 0.35s cubic-bezier(0.18, 0.9, 0.3, 1.05);
  overflow: hidden;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  text-decoration: none;
  color: inherit;
}

/* Radial gradient overlay — revealed on hover */
.ps-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(
    ellipse 60% 80% at 100% 0%,
    rgba(236, 28, 36, 0.06) 0%,
    transparent 60%
  );
  opacity: 0;
  transition: opacity 0.35s ease;
  pointer-events: none;
}

.ps-card:hover {
  transform: translateY(-6px);
  border-color: rgba(236, 28, 36, 0.18);
  box-shadow:
    0 28px 64px -28px rgba(12, 35, 64, 0.22),
    0 0 0 1px rgba(236, 28, 36, 0.06);
}

.ps-card:hover::before {
  opacity: 1;
}

/* ── Card top row (logo + tag) ── */
.ps-card__top {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 24px;
  position: relative;
  z-index: 1;
}

/* ── Logo wrapper ── */
.ps-card__logo {
  width: 56px;
  height: 56px;
  border-radius: 14px;
  background: #f4f4f6;
  border: 1px solid #e5e5e5;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: all 0.3s ease;
  overflow: hidden;
}

.ps-card__logo img {
  width: 32px;
  height: 32px;
  object-fit: contain;
  display: block;
}

.ps-card:hover .ps-card__logo {
  background: #ffffff;
  border-color: rgba(236, 28, 36, 0.15);
  box-shadow: 0 6px 18px rgba(12, 35, 64, 0.08);
}

/* ── Tag line ── */
.ps-card__tag {
  font-family: "Outfit", system-ui, sans-serif;
  font-size: 10.5px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #8a8f9a;
  line-height: 1.3;
}

/* ── Platform name ── */
.ps-card__name {
  font-family: "Outfit", system-ui, sans-serif;
  font-size: 22px;
  font-weight: 600;
  color: #0c2340;
  margin: 0 0 12px;
  letter-spacing: -0.015em;
  position: relative;
  z-index: 1;
}

/* ── Description ── */
.ps-card__desc {
  font-size: 14.5px;
  line-height: 1.6;
  color: #555555;
  margin: 0;
  position: relative;
  z-index: 1;
  flex: 1;
}

/* ── Responsive ── */
@media (max-width: 1200px) {
  .ps-section {
    padding: 80px 32px;
  }
}

@media (max-width: 1024px) {
  .ps-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 768px) {
  .ps-section {
    padding: 64px 24px;
  }

  .ps-head {
    margin-bottom: 48px;
  }

  .ps-grid {
    gap: 16px;
  }

  .ps-card {
    border-radius: 20px;
    padding: 24px 22px;
  }

  .ps-card__name {
    font-size: 20px;
  }
}

@media (max-width: 640px) {
  .ps-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 480px) {
  .ps-section {
    padding: 52px 16px;
  }

  .ps-head {
    margin-bottom: 36px;
  }

  .ps-card {
    border-radius: 16px;
    padding: 20px 18px;
  }

  .ps-card__logo {
    width: 48px;
    height: 48px;
    border-radius: 12px;
  }

  .ps-card__name {
    font-size: 18px;
  }

  .ps-card__desc {
    font-size: 14px;
  }
}

/* =============================================================
   TECHNBRAINS — PLATFORM SERVICES  (.pls-*)
   Layout   : platform_services
   Component: template-parts/components/Platform-services.php
   ============================================================= */

/* ── Section shell ── */
.pls-section {
  background: #ffffff;
  padding: 90px 48px;
  position: relative;
}

.pls-container {
  max-width: 1360px;
  margin: 0 auto;
}

.pls-shell {
  position: relative;
}

/* ── Section head ── */
.pls-head {
  text-align: center;
  max-width: 820px;
  margin: 0 auto;
}

/* ── Eyebrow pill ── */
.pls-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 12px;
  border-radius: 999px;
  background: rgba(236, 28, 36, 0.08);
  color: #ec1c24;
  font-family: "Outfit", system-ui, sans-serif;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  margin-bottom: 18px;
}

.pls-eyebrow::before {
  content: "";
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: currentColor;
  flex-shrink: 0;
}

/* ── Heading ── */
.pls-h2 {
  font-family: "Outfit", system-ui, sans-serif;
  font-size: clamp(36px, 4.2vw, 60px);
  font-weight: 600;
  color: #0c2340;
  letter-spacing: -0.025em;
  line-height: 1.08;
  margin: 0;
  text-wrap: balance;
}

/* ── Subtitle ── */
.pls-sub {
  font-size: clamp(16px, 1.3vw, 19px);
  line-height: 1.6;
  color: #555555;
  margin: 20px auto 0;
  max-width: 720px;
}

/* ── 3-column service grid ── */
.pls-grid {
  margin-top: 56px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  position: relative;
  z-index: 2;
}

/* ── Service card ── */
.pls-card {
  position: relative;
  background: #ffffff;
  border: 1px solid #e5e5e5;
  border-radius: 18px;
  padding: 36px 32px 32px;
  transition:
    transform 0.35s ease,
    box-shadow 0.35s ease,
    border-color 0.35s ease;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  text-decoration: none;
  color: inherit;
}

.pls-card:hover {
  transform: translateY(-4px);
  border-color: rgba(236, 28, 36, 0.22);
  box-shadow:
    0 0 0 1px rgba(236, 28, 36, 0.08),
    0 24px 60px -24px rgba(236, 28, 36, 0.32),
    0 8px 24px -16px rgba(236, 28, 36, 0.22);
}

/* ── Gradient icon tile ── */
.pls-tile {
  width: 60px;
  height: 60px;
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 24px;
  flex-shrink: 0;
}

.pls-tile img {
  /* width: 26px;
  height: 26px; */
  object-fit: contain;
  display: block;
}
/* ── Service title ── */
.pls-card__title , .pls-card__title a {
  font-family: "Outfit", system-ui, sans-serif;
  font-size: 20px;
  font-weight: 600;
  color: #0c2340;
  letter-spacing: -0.015em;
  line-height: 1.25;
  margin: 0 0 12px;
}

/* ── Service description ── */
.pls-card__desc {
  font-size: 14.5px;
  color: #555555;
  line-height: 1.6;
  font-weight: 400;
  margin: 0;
  flex: 1;
}

.pls-card__desc a{
	text-decoration:underline !important;
	color: #555555 !important;
}

/* ── Description lists as pills ── */
.pls-card__desc ul {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 12px 0 0;
  padding: 0;
}
.pls-card__desc ul li {
  display: inline-flex;
  align-items: center;
  padding: 6px 14px;
  border-radius: 999px;
  background: rgba(12, 35, 64, 0.05);
  border: 1px solid rgba(12, 35, 64, 0.1);
  color: #0c2340;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.3;
}
.pls-card__desc ul li a {
  text-decoration: none !important;
  color: inherit !important;
  /* Tap target 24 px (WCAG 2.2 AA, fix plan #73/#130/#132): the link fills its pill (padding + equal negative margin, layout unchanged) */
  padding: 6px 14px;
  margin: -6px -14px;
}

/* ── Responsive ── */
@media (max-width: 1200px) {
  .pls-section {
    padding: 80px 32px;
  }
}

@media (max-width: 1024px) {
  .pls-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 768px) {
  .pls-section {
    padding: 64px 24px;
  }

  .pls-grid {
    margin-top: 40px;
    gap: 16px;
  }
}

@media (max-width: 640px) {
  .pls-grid {
    grid-template-columns: 1fr;
  }

  .pls-card {
    padding: 28px 24px;
  }
}

@media (max-width: 480px) {
  .pls-section {
    padding: 52px 16px;
  }

  .pls-card__title {
    font-size: 18px;
  }

  .pls-card__desc {
    font-size: 14px;
  }
}

/* =============================================================
   TECHNBRAINS — PLATFORM ENGAGEMENT  (.pe-*)
   Layout   : platform_engagement
   Component: template-parts/components/Platform-engagement.php
   ============================================================= */

/* ── Section shell ── */
.pe-section {
  background: #ffffff;
  padding: 90px 48px;
  position: relative;
  font-family: "Outfit", system-ui, sans-serif;
}

.pe-container {
  max-width: 1360px;
  margin: 0 auto;
}

/* ── Section head — centred, capped at 720px ── */
.pe-head {
  text-align: center;
  max-width: 720px;
  margin: 0 auto 56px;
}
.page-id-5428 .pe-head {
  max-width: 60%;
}
/* ── Eyebrow pill ── */
.pe-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 12px;
  border-radius: 999px;
  background: rgba(236, 28, 36, 0.08);
  color: #ec1c24;
  font-family: "Outfit", system-ui, sans-serif;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  margin-bottom: 18px;
}

.pe-eyebrow::before {
  content: "";
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: currentColor;
  flex-shrink: 0;
}

/* ── Heading ── */
.pe-h2 {
  font-family: "Outfit", system-ui, sans-serif;
  font-size: clamp(36px, 4.2vw, 60px);
  font-weight: 600;
  color: #0c2340;
  letter-spacing: -0.025em;
  line-height: 1.08;
  margin: 0;
  text-wrap: balance;
}

/* ── Subtitle ── */
.pe-sub {
  font-size: clamp(16px, 1.3vw, 19px);
  line-height: 1.6;
  color: #555555;
  margin: 20px auto 0;
  max-width: 680px;
}

/* ── 3-column grid ── */
.pe-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

/* ── Card ── */
.pe-card {
  background: #ffffff;
  border: 1px solid #e5e5e5;
  border-radius: 24px;
  padding: 36px 32px 32px;
  display: flex;
  flex-direction: column;
  text-decoration: none;
  color: inherit;
  transition: all 0.35s ease;
  cursor: pointer;
}

.pe-card:hover {
  transform: translateY(-6px);
  border-color: rgba(236, 28, 36, 0.25);
  box-shadow:
    0 24px 56px -24px rgba(236, 28, 36, 0.22),
    0 0 0 1px rgba(236, 28, 36, 0.08);
}

/* ── Icon tile ── */
.pe-icon {
  width: 56px;
  height: 56px;
  border-radius: 16px;
  background: rgba(236, 28, 36, 0.08);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #ec1c24;
  margin-bottom: 24px;
  flex-shrink: 0;
  transition: all 0.3s ease;
}

.pe-icon img {
  width: 26px;
  height: 26px;
  object-fit: contain;
  display: block;
  transition: filter 0.3s ease;
}

/* On hover: tile fills red, icon inverts to white */
.pe-card:hover .pe-icon {
  background: #ec1c24;
  box-shadow: 0 6px 18px rgba(236, 28, 36, 0.35);
}

.pe-card:hover .pe-icon img {
  filter: brightness(0) invert(1);
}

/* ── Card title ── */
.pe-card__title {
  font-family: "Outfit", system-ui, sans-serif;
  font-size: 24px;
  font-weight: 600;
  color: #0c2340;
  margin: 0 0 12px;
  letter-spacing: -0.015em;
  line-height: 1.2;
}

/* ── Card description ── */
.pe-card__desc {
  font-size: 15.5px;
  line-height: 1.6;
  color: #555555;
  margin: 0;
  flex: 1;
}
.pe-card__desc span {
  display: block;
  background: #FCF2F2;
  border: 1px solid rgba(236, 28, 36, 0.22);
  padding: 10px;
  margin-top: 10px;
  border-radius: 12px;
}
.pe-card__desc span b,
.pe-card__desc span strong {
  color: #EC1C24;
  font-weight: 600;
}

/* ── Responsive ── */
@media (max-width: 1200px) {
  .pe-section {
    padding: 80px 32px;
  }
}

@media (max-width: 1024px) {
  .pe-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 768px) {
  .pe-section {
    padding: 64px 24px;
  }

  .pe-head {
    margin-bottom: 40px;
  }

  .pe-grid {
    gap: 16px;
  }
}

@media (max-width: 640px) {
  .pe-grid {
    grid-template-columns: 1fr;
  }

  .pe-card {
    padding: 28px 24px;
  }
}

@media (max-width: 480px) {
  .pe-section {
    padding: 52px 16px;
  }

  .pe-card__title {
    font-size: 20px;
  }

  .pe-card__desc {
    font-size: 14.5px;
  }
}

/* =============================================================
   TECHNBRAINS — PLATFORM CTA  (.pcta-*)
   Layout   : platform_cta
   Component: template-parts/components/Platform-cta.php
   ============================================================= */

/* ── Section shell — dark gradient + dot-grid overlay ── */
.pcta-section {
  position: relative;
  background: #05070b;
  background-image:
    radial-gradient(
      ellipse 50% 40% at 20% 30%,
      rgba(236, 28, 36, 0.18) 0%,
      transparent 60%
    ),
    radial-gradient(
      ellipse 50% 50% at 80% 70%,
      rgba(40, 80, 180, 0.08) 0%,
      transparent 60%
    ),
    linear-gradient(180deg, #07111f 0%, #05070b 100%);
  padding: 84px 48px;
  overflow: hidden;
}

/* Dot-grid overlay */
/* .pcta-section::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image: radial-gradient(rgba(255, 255, 255, 0.04) 1px, transparent 1px);
  background-size: 24px 24px;
  opacity: 0.5;
  pointer-events: none;
  z-index: 1;
  mask-image: radial-gradient(ellipse 70% 80% at 50% 50%, #000 30%, transparent 80%);
  -webkit-mask-image: radial-gradient(ellipse 70% 80% at 50% 50%, #000 30%, transparent 80%);
} */

/* ── Background image modifier ── */
.pcta-section--has-bg {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

/* Dark overlay preserves readability when a photo is used */
/* .pcta-section--has-bg::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(5, 7, 11, 0.78);
  z-index: 1;
} */

.pcta-section--has-bg .pcta-inner {
  z-index: 3;
}

.pcta-section--has-bg::after {
  z-index: 2;
}

/* ── Inner container — centred, max 880px ── */
.pcta-inner {
  position: relative;
  z-index: 2;
  max-width: 880px;
  margin: 0 auto;
  text-align: center;
}

 .page-slug-hire-dedicated-team .pcta-inner {
      max-width: 980px;
 }
 

/* ── Heading ── */
.pcta-h2 {
  font-family: "Outfit", system-ui, sans-serif;
  font-size: clamp(36px, 4.6vw, 60px);
  font-weight: 600;
  color: #ffffff;
  letter-spacing: -0.03em;
  line-height: 1.08;
  margin: 0 0 22px;
  text-wrap: balance;
  text-transform: capitalize;
}

/* ── Description ── */
.pcta-sub {
  font-size: 18px;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.65);
  margin: 0 auto 36px;
  max-width: 640px;
}

/* ── Button row ── */
.pcta-actions {
  display: flex;
  gap: 14px;
  justify-content: center;
  flex-wrap: wrap;
}

/* ── Primary button — red fill ── */
.pcta-btn-primary {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 0 26px;
  height: 54px;
  background: #ec1c24;
  color: #ffffff;
  border-radius: 10px;
  font-family: "Outfit", system-ui, sans-serif;
  font-size: 15px;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.25s ease;
  border: none;
  cursor: pointer;
  white-space: nowrap;
}

.pcta-btn-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 14px 36px -10px rgba(236, 28, 36, 0.6);
  color: #ffffff;
  text-decoration: none;
}

/* ── Ghost button — transparent, white border ── */
.pcta-btn-ghost {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 0 26px;
  height: 54px;
  background: transparent;
  color: #ffffff;
  border: 1px solid rgba(255, 255, 255, 0.28);
  border-radius: 10px;
  font-family: "Outfit", system-ui, sans-serif;
  font-size: 15px;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.25s ease;
  cursor: pointer;
  white-space: nowrap;
}

.pcta-btn-ghost:hover {
  background: #ffffff;
  color: #000000;
  border-color: #ffffff;
  box-shadow: 0 10px 30px -14px rgba(255, 255, 255, 0.3);
  transform: translateY(-2px);
  text-decoration: none;
}

/* ── Responsive ── */
@media (max-width: 1200px) {
  .pcta-section {
    padding: 80px 32px;
  }
}

@media (max-width: 900px) {
  .pcta-section {
    padding: 72px 24px;
  }

  .pcta-sub {
    font-size: 17px;
  }

  /* One block per breakpoint. The rules below were scattered through the sheet and
     are merged here in their original order, into the position of the LAST of them:
     moving them earlier would put them ahead of base rules they override and they
     would stop applying. Verified against a computed-style snapshot of every new
     section at 22 widths — nothing rendered differently after the merge. */
  .sa-ps-stage { grid-template-columns: 1fr; gap: 20px; }
  .sa-ps-col-right { margin-top: 0; }
  .sa-ps-connector { display: none; }
  .sa-ps-title { font-size: 30px; }
  .sa-ps-card-problem,
  .sa-ps-card-solution { min-height: 0; padding: 32px 28px; }

  .dt-ps-stage { grid-template-columns: 1fr; gap: 20px; }
  .dt-ps-col-right { grid-column: 1; margin-top: 0; }
  .dt-ps-connector { display: none; }
  .dt-ps-card { min-height: 0; }

  /* DEVIATION from the approved staff-augmentation.css, deliberate and documented.
     Its ≤900px block collapses .sa-ps-stage to a single column but leaves
     .sa-ps-col-right at `grid-column: 3`, which re-creates an implicit third track
     and scrolls a 390px viewport sideways by ~62px. The approved
     dedicated-teams.css does reset it (.dt-ps-col-right { grid-column: 1 }), so
     this matches the corrected sibling rather than reproducing a defect. */
  .sa-ps-col-right { grid-column: 1; }

  /* The connector end-dots sit 6px outside their card (right/left: -6px). At this
     width the connector itself is display:none in the approved CSS, so the dots
     anchor nothing — and on a full-width card they hang 6px past the viewport and
     scroll the page sideways. Nothing global clips overflow-x in this theme, so
     that scroll would ship. Hidden with the line they belong to. */
  .sa-ps-node,
  .dt-ps-node { display: none; }

  /* Label above its own card once stacked. The two columns are ordered as mirror
     images — problem runs pill-then-card, solution card-then-pill — which reads as
     a diagonal on the desktop grid. Stacked, that put the "Solution" pill
     underneath the card it names. Reversed here rather than reordered in the
     markup, so the desktop diagonal is untouched, and at exactly the width where
     both stages already collapse to one column. */
  .sa-ps-col-right,
  .dt-ps-col-right { flex-direction: column-reverse; }

  .so-hire-top { grid-template-columns: 1fr; gap: 24px; align-items: start; }
  .so-hire-h { margin-top: 44px; }
}

@media (max-width: 640px) {
  .pcta-section {
    padding: 60px 20px;
  }

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

  .pcta-btn-primary,
  .pcta-btn-ghost {
    width: 100%;
    max-width: 320px;
    justify-content: center;
  }

  .pcta-sub {
    font-size: 16px;
  }
}

@media (max-width: 480px) {
  .pcta-section {
    padding: 52px 16px;
  }
}

/* ==========================================================================
   Platform Blog  (.pblg-*)
   ========================================================================== */

.pblg-section {
  padding: 90px 48px;
  background: #ffffff;
}

.pblg-container {
  max-width: 1360px;
  margin: 0 auto;
}

/* ── Header ── */
.pblg-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 32px;
  margin-bottom: 48px;
}

.pblg-head-text {
  text-align: left;
  max-width: 750px;
}

.pblg-cta-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
  color: #0c2340;
  font-weight: 600;
  font-size: 14px;
  text-decoration: none;
  border-bottom: 1px solid #0c2340;
  padding-bottom: 2px;
  transition:
    gap 0.2s ease,
    color 0.2s ease,
    border-color 0.2s ease;
}

.pblg-cta-btn:hover {
  gap: 12px;
  color: #ec1c24;
  border-color: #ec1c24;
}

.pblg-eyebrow {
  display: inline-block;
  padding: 6px 18px;
  border-radius: 999px;
  background: rgba(236, 28, 36, 0.08);
  color: #ec1c24;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  margin-bottom: 16px;
}

.pblg-h2 {
  font-family: "Outfit", system-ui, sans-serif;
  font-size: clamp(36px, 4.2vw, 60px);
  font-weight: 600;
  color: #0c2340;
  letter-spacing: -0.025em;
  line-height: 1.08;
  /* margin: 0; */
  text-wrap: balance;
  text-transform: capitalize;
}

.pblg-desc {
  font-size: 17px;
  color: #555;
  line-height: 1.7;
  margin: 0;
}

/* ── Grid ── */
.pblg-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
}

/* ── Card ── */
.pblg-card {
  display: flex;
  flex-direction: column;
  border-radius: 18px;
  overflow: hidden;
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.07);
  text-decoration: none;
  color: inherit;
  transition:
    transform 0.3s ease,
    box-shadow 0.3s ease;
}

.pblg-card:hover {
  transform: translateY(-5px);
  box-shadow:
    0 8px 24px -6px rgba(236, 28, 36, 0.18),
    0 24px 48px -12px rgba(236, 28, 36, 0.1);
  text-decoration: none;
}

/* ── Image ── */
.pblg-img {
  width: 100%;
  height: 210px;
  overflow: hidden;
  background: #f3f3f3;
  flex-shrink: 0;
}

.pblg-img-el {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.45s ease;
}

.pblg-card:hover .pblg-img-el {
  transform: scale(1.04);
}

.pblg-img-placeholder {
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, #f0f0f0 0%, #e0e0e0 100%);
}

/* ── Body ── */
.pblg-body {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding: 24px 24px 26px;
}

.pblg-tag {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #ec1c24;
  margin-bottom: 10px;
}

.pblg-title {
  font-size: 20px;
  font-weight: 700;
  color: #0a0a0a;
  line-height: 1.3;
  margin: 0 0 10px;
  transition: color 0.2s ease;
}

.pblg-card:hover .pblg-title {
  color: #ec1c24;
}

.pblg-excerpt {
  font-size: 14.5px;
  color: #666;
  line-height: 1.65;
  margin: 0 0 16px;
  flex: 1;
}

.pblg-meta {
  font-size: 13px;
  color: #999;
  margin-top: auto;
}

/* ── Responsive ── */
@media (max-width: 1200px) {
  .pblg-section {
    padding: 80px 32px;
  }
}

@media (max-width: 1024px) {
  .pblg-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 900px) {
  .pblg-section {
    padding: 72px 24px;
  }
}

@media (max-width: 640px) {
  .pblg-section {
    padding: 60px 20px;
  }

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

  .pblg-head {
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
    margin-bottom: 36px;
  }
}

@media (max-width: 480px) {
  .pblg-section {
    padding: 52px 16px;
  }

  .pblg-img {
    height: 180px;
  }
}

/* ==========================================================================
   Platform FAQs  (.platform-faqs / .pfaq-*)
   Matches Claude Design PlatformFAQ — white bg, centred head,
   860px accordion list, + icon rotates 45deg to x on open.
   ========================================================================== */

.platform-faqs {
  padding: 90px 48px;
  background: #ffffff;
  font-family: "Outfit", system-ui, sans-serif;
}

.pfaq-container {
  max-width: 1320px;
  margin: 0 auto;
}

/* ── Head ── */
.pfaq-head {
  text-align: center;
  /* max-width: 720px; */
  margin: 0 auto 48px;
}

.pfaq-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 12px;
  border-radius: 999px;
  background: rgba(236, 28, 36, 0.08);
  color: #ec1c24;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  margin-bottom: 18px;
}

.pfaq-eyebrow::before {
  content: "";
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: currentColor;
  flex-shrink: 0;
}

.pfaq-h2 {
  font-size: clamp(36px, 4.2vw, 60px);
  font-weight: 600;
  color: #0c2340;
  letter-spacing: -0.025em;
  line-height: 1.08;
  margin: 0;
}

.pfaq-desc {
  font-size: clamp(17px, 1.4vw, 20px);
  line-height: 1.6;
  color: #555555;
  margin: 20px auto 0;
  max-width: 720px;
}

/* ── List ── */
.pfaq-list {
  max-width: 860px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

/* ── Item ── */
.pfaq-item {
  background: #ffffff;
  border: 1px solid #e5e5e5;
  border-radius: 18px;
  overflow: hidden;
  transition:
    border-color 0.25s ease,
    box-shadow 0.25s ease;
}

.pfaq-item.is-open {
  border-color: rgba(236, 28, 36, 0.25);
  box-shadow: 0 8px 24px -12px rgba(236, 28, 36, 0.15);
}
/* ── Question heading wrapper (h3 for SEO/a11y — visual reset only) ── */
.pfaq-item .pfaq-q-title {
  margin: 0;
  padding: 0;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
}

/* ── Question button ── */
.pfaq-q {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 22px 28px;
  background: transparent;
  border: none;
  cursor: pointer;
  text-align: left;
  font-family: "Outfit", system-ui, sans-serif;
  font-size: 17px;
  font-weight: 600;
  color: #0c2340;
  line-height: 1.35;
  transition: color 0.2s ease;
}

.pfaq-q:hover {
  color: #ec1c24;
}

.pfaq-q:focus-visible {
  outline: 2px solid #ec1c24;
  outline-offset: -2px;
  border-radius: 17px;
}

/* ── Icon circle ── */
.pfaq-icon {
  width: 28px;
  height: 28px;
  min-width: 28px;
  border-radius: 50%;
  background: rgba(236, 28, 36, 0.08);
  color: #ec1c24;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition:
    background 0.3s ease,
    color 0.3s ease,
    transform 0.3s ease;
}

.pfaq-item.is-open .pfaq-icon {
  background: #ec1c24;
  color: #ffffff;
  transform: rotate(180deg);
}

/* ── Answer panel ── */
.pfaq-a {
  max-height: 0;
  overflow: hidden;
  transition:
    max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1),
    padding 0.3s ease;
  padding: 0 28px;
}

.pfaq-item.is-open .pfaq-a {
  max-height: 800px;
  padding: 0 28px 24px;
}

.pfaq-a p {
  margin: 0 0 10px;
  font-size: 15.5px;
  line-height: 1.65;
  color: #555555;
}

.pfaq-a p:last-child {
  margin-bottom: 0;
}

.pfaq-a ul,
.pfaq-a ol {
  margin: 0 0 10px;
  padding-left: 20px;
  font-size: 15.5px;
  line-height: 1.65;
  color: #555555;
}

.pfaq-a a {
  color: #ec1c24;
  text-decoration: underline;
}

/* ── Responsive ── */
@media (max-width: 1200px) {
  .platform-faqs {
    padding: 80px 32px;
  }
}

@media (max-width: 900px) {
  .platform-faqs {
    padding: 72px 24px;
  }
}

@media (max-width: 640px) {
  .platform-faqs {
    padding: 60px 20px;
  }

  .pfaq-head {
    margin-bottom: 36px;
  }

  .pfaq-q {
    padding: 18px 20px;
    font-size: 16px;
  }

  .pfaq-a {
    padding: 0 20px;
  }

  .pfaq-item.is-open .pfaq-a {
    padding: 0 20px 20px;
  }
}

@media (max-width: 480px) {
  .platform-faqs {
    padding: 52px 16px;
  }

  .pfaq-q {
    padding: 16px;
    font-size: 15px;
    gap: 12px;
  }

  .pfaq-icon {
    width: 24px;
    height: 24px;
    min-width: 24px;
  }

  .pfaq-a {
    padding: 0 16px;
  }

  .pfaq-item.is-open .pfaq-a {
    padding: 0 16px 18px;
  }
}

/* ==========================================================================
   Industry Hub — IHHero + IHIndustries
   Ported from E:\technbrains-claude-design\industries.css
   ========================================================================== */

/* ── CSS custom properties ─────────────────────────────────────────────────── */
:root {
  --ih-red: #ec1c24;
  --ih-accent-soft: rgba(236, 28, 36, 0.1);
  --ih-accent-line: rgba(236, 28, 36, 0.3);
  --ih-accent-glow: rgba(236, 28, 36, 0.35);
  --ih-navy: #0c2340;
  --ih-text: #1a2233;
  --ih-muted: #5a6478;
  --ih-line: #e8e5e0;
  --ih-soft: #f6f5f3;
  --ih-card: #ffffff;
  --ih-pad-y: 90px;
  --ih-pad-x: 80px;
  --ih-container: 1320px;
}

/* ── Shared layout wrappers ─────────────────────────────────────────────────── */
.ih-section {
  padding: var(--ih-pad-y) var(--ih-pad-x);
  position: relative;
}
.ih-section.alt {
  background: var(--ih-soft);
}

.ih-container {
  max-width: var(--ih-container);
  margin: 0 auto;
}

/* ── Eyebrow label ──────────────────────────────────────────────────────────── */
.ih-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--ih-red);
  margin-bottom: 22px;
}
.ih-eyebrow::before {
  content: "";
  width: 28px;
  height: 1px;
  background: var(--ih-red);
  flex-shrink: 0;
}

/* ── Section H2 ─────────────────────────────────────────────────────────────── */
.ih-h2 {
  font-family: "Outfit", "Outfit Fallback", "Outfit Fallback Android", sans-serif;
  font-size: clamp(32px, 3.8vw, 56px);
  font-weight: 600;
  line-height: 1.06;
  letter-spacing: -0.025em;
  color: var(--ih-navy);
  margin: 0 0 22px;
  max-width: 920px;
  text-transform: capitalize;
}
.ih-h2 .accent {
  color: var(--ih-red);
}

/* ── Section subtitle ───────────────────────────────────────────────────────── */
.ih-sub {
  font-size: 19px;
  line-height: 1.6;
  color: var(--ih-muted);
  max-width: 760px;
  margin: 0;
}

/* ── IH Buttons ─────────────────────────────────────────────────────────────── */
.ih-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 16px 26px;
  border-radius: 10px;
  font-family: "Outfit", "Outfit Fallback", "Outfit Fallback Android", sans-serif;
  font-weight: 600;
  font-size: 15px;
  letter-spacing: 0.005em;
  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease,
    background 0.25s ease,
    color 0.25s ease,
    border-color 0.25s ease;
  cursor: pointer;
  border: 1.5px solid transparent;
  text-decoration: none;
  line-height: 1;
  white-space: nowrap;
}
.ih-btn-primary {
  background: var(--ih-red);
  color: #fff;
  box-shadow: 0 8px 24px -12px rgba(236, 28, 36, 0.45);
}
.ih-btn-primary:hover {
  color: #fff;
  transform: translateY(-2px);
  box-shadow: 0 14px 30px -10px rgba(236, 28, 36, 0.55);
}
.ih-btn svg {
  transition: transform 0.25s ease;
  flex-shrink: 0;
}
.ih-btn:hover svg {
  transform: translateX(3px);
}

/* Ghost button — white text on dark hero */
.ih-oh-ghost {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 16px 26px;
  border-radius: 10px;
  font-family: "Outfit", "Outfit Fallback", "Outfit Fallback Android", sans-serif;
  font-weight: 600;
  font-size: 15px;
  cursor: pointer;
  text-decoration: none;
  line-height: 1;
  white-space: nowrap;
  background: transparent;
  color: #ffffff;
  border: 1.5px solid rgba(255, 255, 255, 0.3);
  transition:
    background 0.25s ease,
    color 0.25s ease,
    border-color 0.25s ease,
    transform 0.25s ease;
}
.ih-oh-ghost:hover {
  background: #ffffff;
  color: #0a0a0b;
  border-color: #ffffff;
  transform: translateY(-2px);
}
.ih-oh-ghost svg {
  transition: transform 0.25s ease;
  flex-shrink: 0;
}
.ih-oh-ghost:hover svg {
  transform: translateX(3px);
}

/* ==========================================================================
   IHHero — dark orbit hero section
   ========================================================================== */
.ih-hero.ih-orbithero {
  position: relative;
  min-height: 760px;
  display: flex;
  align-items: center;
  overflow: hidden;
  background: #0a0a0b;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

/* background gradient + optional custom bg image */
.ih-oh-bg {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(
      ellipse 60% 70% at 78% 42%,
      rgba(236, 28, 36, 0.16) 0%,
      transparent 60%
    ),
    radial-gradient(
      ellipse 50% 60% at 12% 88%,
      rgba(40, 80, 180, 0.1) 0%,
      transparent 60%
    ),
    linear-gradient(180deg, #0a0a0b 0%, #0a0a0b 100%);
  background-size: cover;
  background-position: center;
  pointer-events: none;
  z-index: 0;
}

/* two-column content grid */
.ih-oh-grid {
  position: relative;
  z-index: 2;
  max-width: var(--ih-container);
  margin: 0 auto;
  width: 100%;
  padding: 110px var(--ih-pad-x) 96px;
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap: 48px;
  align-items: center;
}

/* left content column */
.ih-oh-content {
  max-width: 600px;
}

/* optional eyebrow on dark bg */
.ih-oh-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--ih-red);
  margin-bottom: 20px;
}
.ih-oh-eyebrow::before {
  content: "";
  width: 28px;
  height: 1px;
  background: var(--ih-red);
  flex-shrink: 0;
}

/* pulsing-dot badge pill */
.ih-hero-badge {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 7px 16px 7px 12px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.12);
  margin-bottom: 24px;
  font-size: 13px;
  font-weight: 600;
  color: #fff;
  letter-spacing: 0.04em;
  font-family: "Outfit", "Outfit Fallback", "Outfit Fallback Android", sans-serif;
}
.ih-hero-badge-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--ih-red);
  box-shadow: 0 0 0 4px rgba(236, 28, 36, 0.22);
  animation: ihBadgePulse 2s ease-in-out infinite;
  flex-shrink: 0;
}
@keyframes ihBadgePulse {
  0%,
  100% {
    opacity: 1;
  }
  50% {
    opacity: 0.4;
  }
}

/* H1 */
.ih-h1 {
  font-family: "Outfit", "Outfit Fallback", "Outfit Fallback Android", sans-serif;
  font-size: clamp(38px, 4.8vw, 66px);
  line-height: 1.04;
  letter-spacing: -0.02em;
  font-weight: 600;
  color: #fff;
  margin: 0 0 22px;
}
.ih-h1 .accent,
.ih-h1 span {
  color: var(--ih-red);
}

/* description paragraph */
.ih-oh-sub {
  font-size: 17px;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.62);
  margin: 0 0 32px;
  max-width: 540px;
}

/* CTA row */
.ih-oh-actions {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  align-items: center;
}

/* ==========================================================================
   Right-column orbit visual (pure CSS, replaces React orbit animation)
   ========================================================================== */
.ih-oh-visual {
  position: relative;
  display: grid;
  place-items: center;
  height: 600px;
}

.ih-hero-vis-wrap {
  position: relative;
  width: 460px;
  height: 460px;
  display: grid;
  place-items: center;
}

/* decorative orbit container */
.ih-hero-vis-orbit {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

/* three concentric rings */
.ih-hero-vis-ring {
  position: absolute;
  border-radius: 50%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.ih-hero-vis-ring.r1 {
  width: 460px;
  height: 460px;
  border: 1px solid rgba(255, 255, 255, 0.07);
  animation: ihRingSpin 60s linear infinite;
}
.ih-hero-vis-ring.r2 {
  width: 320px;
  height: 320px;
  border: 1px solid rgba(236, 28, 36, 0.16);
}
.ih-hero-vis-ring.r3 {
  width: 180px;
  height: 180px;
  border: 1px solid rgba(255, 255, 255, 0.05);
}
@keyframes ihRingSpin {
  from {
    transform: translate(-50%, -50%) rotate(0deg);
  }
  to {
    transform: translate(-50%, -50%) rotate(360deg);
  }
}
@media (prefers-reduced-motion: reduce) {
  .ih-hero-vis-ring.r1 {
    animation: none;
  }
}

/* red radial glow */
.ih-hero-vis-glow {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 340px;
  height: 340px;
  border-radius: 50%;
  background: radial-gradient(
    circle,
    rgba(236, 28, 36, 0.2) 0%,
    transparent 68%
  );
  pointer-events: none;
  animation: ihGlowPulse 4s ease-in-out infinite;
}
@keyframes ihGlowPulse {
  0%,
  100% {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
  }
  50% {
    opacity: 0.65;
    transform: translate(-50%, -50%) scale(1.08);
  }
}

/* hero image frame — rounded rect in front of rings */
.ih-hero-vis-card {
  position: relative;
  z-index: 2;
  width: 340px;
  height: 340px;
  border-radius: 28px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.12);
  box-shadow:
    0 0 0 1px rgba(236, 28, 36, 0.08),
    0 30px 80px -20px rgba(0, 0, 0, 0.75),
    0 0 60px rgba(236, 28, 36, 0.14);
}
.ih-hero-vis-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* ── IHHero responsive ──────────────────────────────────────────────────────── */
@media (min-width: 1101px) and (max-width: 1536px) {
  .ih-hero.ih-orbithero {
    min-height: fit-content;
  }
  .ih-oh-grid {
    padding: 0 7%;
  }
}

@media (max-width: 1100px) {
  .ih-hero.ih-orbithero {
    min-height: auto;
  }
  .ih-oh-grid {
    grid-template-columns: 1fr;
    gap: 36px;
    padding: 96px 32px 72px;
  }
  .ih-oh-visual {
    height: 480px;
    order: -1;
  }
  .ih-hero-vis-wrap {
    transform: scale(0.88);
  }
}
@media (max-width: 768px) {
  .ih-oh-grid {
    padding: 80px 24px 64px;
  }
  .ih-oh-visual {
    height: 380px;
  }
  .ih-hero-vis-wrap {
    transform: scale(0.72);
  }
}
@media (max-width: 600px) {
  .ih-oh-visual {
    height: 320px;
  }
  .ih-hero-vis-wrap {
    transform: scale(0.62);
  }
  .ih-oh-actions {
    flex-direction: column;
    align-items: stretch;
  }
  .ih-oh-actions .ih-btn,
  .ih-oh-actions .ih-oh-ghost {
    justify-content: center;
    text-align: center;
  }
}
@media (max-width: 480px) {
  .ih-oh-grid {
    padding: 64px 20px 52px;
  }
  .ih-h1 {
    font-size: clamp(32px, 8vw, 46px);
  }
  .ih-oh-sub {
    font-size: 15px;
  }
}

/* ==========================================================================
   IHStreamViz — 3-column vertical marquee image grid (right-column hero)
   ========================================================================== */
.ih-stream {
  position: relative;
  width: 100%;
  max-width: 460px;
  height: 480px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  overflow: hidden;
  -webkit-mask-image: linear-gradient(
    180deg,
    transparent 0%,
    #000 16%,
    #000 84%,
    transparent 100%
  );
  mask-image: linear-gradient(
    180deg,
    transparent 0%,
    #000 16%,
    #000 84%,
    transparent 100%
  );
}
.ih-stream-lane {
  position: relative;
  overflow: visible;
}
.ih-stream-track {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.ih-stream-track.up {
  animation: ihStreamUp linear infinite;
}
.ih-stream-track.down {
  animation: ihStreamDown linear infinite;
}
@keyframes ihStreamUp {
  from {
    transform: translateY(0);
  }
  to {
    transform: translateY(-50%);
  }
}
@keyframes ihStreamDown {
  from {
    transform: translateY(-50%);
  }
  to {
    transform: translateY(0);
  }
}
@media (prefers-reduced-motion: reduce) {
  .ih-stream-track {
    animation: none !important;
  }
}
.ih-stream:hover .ih-stream-track {
  animation-play-state: paused;
}
.ih-stream-chip {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: stretch;
  height: 118px;
  border-radius: 16px;
  background: rgba(20, 24, 32, 0.8);
  border: 1px solid rgba(255, 255, 255, 0.1);
  overflow: hidden;
  transition:
    border-color 0.3s ease,
    transform 0.3s ease;
}
.ih-stream-chip:hover {
  border-color: rgba(236, 28, 36, 0.45);
  transform: translateY(-2px);
}
.ih-stream-chip-img {
  width: 100%;
  height: 100%;
  border-radius: 16px;
  overflow: hidden;
  flex: 1;
}
.ih-stream-chip-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  filter: saturate(0.85) brightness(0.82);
  transition:
    filter 0.3s ease,
    transform 0.4s ease;
}
.ih-stream-chip:hover .ih-stream-chip-img img {
  filter: saturate(1) brightness(1);
  transform: scale(1.06);
}
@media (max-width: 1100px) {
  .ih-stream {
    height: 420px;
  }
}
@media (max-width: 600px) {
  .ih-stream {
    height: 340px;
    gap: 10px;
  }
}

/* ==========================================================================
   IHIndustries — industries we serve (3×3 card grid)
   ========================================================================== */

@media (max-width: 1100px) {
  .ih-section {
    padding: var(--ih-pad-y) 40px;
  }
}
@media (max-width: 768px) {
  .ih-section {
    padding: 72px 24px;
  }
}
@media (max-width: 480px) {
  .ih-section {
    padding: 0px 30px 40px;
  }
}

/* 3-column grid */
.ih-ind-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px 40px;
  margin-top: 64px;
}
/* Optional CTA row under the grid. Only the placement lives here — the buttons
   are .ih-btn.ih-btn-primary / .ih-btn.ih-btn-outline. */
.ih-ind-cta {
  display: flex;
  justify-content: center;
  gap: 16px;
  flex-wrap: wrap;
  margin-top: 48px;
}
@media (max-width: 600px) {
  .ih-ind-cta { margin-top: 36px; }
}
/* Secondary button for light surfaces — .ih-oh-ghost is white-on-dark and would
   vanish here, so the outline variant carries ink text and border instead. */
.ih-btn-outline {
  background: transparent;
  color: #0C2340;
  border-color: rgba(12, 35, 64, 0.35);
}
.ih-btn-outline:focus-visible {
  color: #ec1c24;
  border-color: #ec1c24;
}
@media (hover: hover) {
  .ih-btn-outline:hover {
    color: #ec1c24;
    border-color: #ec1c24;
    transform: translateY(-2px);
  }
}
@media (max-width: 1024px) {
  .ih-ind-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 28px;
  }
}
@media (max-width: 600px) {
  .ih-ind-grid {
    grid-template-columns: 1fr;
    gap: 24px;
    margin-top: 48px;
  }
}

/* card shell */
.ih-ind-card {
  position: relative;
  background: #ffffff;
  border: 1px solid var(--ih-line);
  border-radius: 22px;
  overflow: hidden;
  text-decoration: none;
  color: inherit;
  display: flex;
  flex-direction: column;
  transition:
    transform 0.35s ease,
    box-shadow 0.35s ease,
    border-color 0.35s ease;
  box-shadow: 0 1px 2px rgba(12, 35, 64, 0.04);
}
a.ih-ind-card:hover,
.ih-ind-card:hover {
  transform: translateY(-6px);
  border-color: rgba(236, 28, 36, 0.3);
  box-shadow:
    0 24px 50px -28px rgba(12, 35, 64, 0.2),
    0 0 0 1px rgba(236, 28, 36, 0.06);
}

/* image area — 16:11 inset with rounded corners */
.ih-ind-img {
  position: relative;
  aspect-ratio: 16 / 11;
  overflow: hidden;
  border-radius: 18px;
  margin: 14px 14px 0;
  width: calc(100% - 28px);
  background: #efede9;
  flex-shrink: 0;
}
.ih-ind-img img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s ease;
}
a.ih-ind-card:hover .ih-ind-img img,
.ih-ind-card:hover .ih-ind-img img {
  transform: scale(1.04);
}

/* card body */
.ih-ind-body {
  padding: 28px 28px 24px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  flex: 1;
}
.ih-ind-body h3 {
  font-family: "Outfit", "Outfit Fallback", "Outfit Fallback Android", sans-serif;
  font-size: 26px;
  font-weight: 600;
  color: var(--ih-navy);
  margin: 0;
  letter-spacing: -0.02em;
  line-height: 1.2;
}
.ih-ind-body h3 a{
color:#0c2340 !important;
}
.ih-ind-desc {
  font-size: 14.5px;
  line-height: 1.65;
  color: var(--ih-muted);
  margin: 0;
}
.ih-ind-desc a {
    color: #5a6478;
    text-decoration: underline !important;
}

/* bullet list */
.ih-ind-bullets {
  margin: 4px 0 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 9px;
}
.ih-ind-bullets li {
  position: relative;
  padding-left: 20px;
  font-size: 14px;
  line-height: 1.5;
  color: var(--ih-navy);
  font-weight: 500;
}
.ih-ind-bullets li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 7px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--ih-red);
}

/* optional card link label */
.ih-ind-card-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13.5px;
  font-weight: 600;
  color: var(--ih-red);
  margin-top: auto;
  padding-top: 6px;
  transition: gap 0.2s ease;
}
a.ih-ind-card:hover .ih-ind-card-link,
.ih-ind-card:hover .ih-ind-card-link {
  gap: 10px;
}

/* ── IHIndustries responsive typography ─────────────────────────────────────── */
@media (max-width: 768px) {
  .ih-h2 {
    font-size: clamp(26px, 5.5vw, 38px);
  }
  .ih-sub {
    font-size: 16px;
  }
  .ih-ind-body {
    padding: 22px 22px 20px;
    gap: 12px;
  }
  .ih-ind-body h3 {
    font-size: 22px;
  }
}
@media (max-width: 480px) {
  .ih-ind-body {
    padding: 18px 18px 16px;
  }
  .ih-ind-body h3 {
    font-size: 20px;
  }
  .ih-ind-desc {
    font-size: 13.5px;
  }
  .ih-ind-bullets li {
    font-size: 13px;
  }
}

/* ==========================================================================
   IH Case Studies Slider — 3D card deck
   Matches the IHCases component from the Claude Design exactly.
   Base: styles.css .case-deck / .case-card rules.
   ========================================================================== */

/* ── Local CSS tokens (matches Claude Design styles.css :root) ──────────── */
.section.cases {
  --cs-red: #ec1c24;
  --cs-navy: #0c2340;
  --cs-white: #ffffff;
  --cs-line: #e8e5e0;
  --cs-warmgray: #4a4845;
  background: var(--cs-white);
  color: var(--cs-navy);
  overflow-x: clip;
  padding: 90px 0;
}

/* ── Section header — centered (IHCases variant) ────────────────────────── */
.ihcs-head {
  text-align: center;
  justify-content: space-between;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 20px;
}
/* .ihcs-intro {
  margin: 0 auto;
  max-width: 760px;
} */
.ihcs-eyebrow {
  justify-content: center;
}
.ihcs-h2 {
  text-align: left;
  /* max-width: 720px;
  margin-left: auto;
  margin-right: auto; */
  color: var(--cs-navy);
  font-family: "Outfit", system-ui, sans-serif;
  font-size: clamp(36px, 4.2vw, 60px);
  font-weight: 600;
  color: #0c2340;
  letter-spacing: -0.025em;
  line-height: 1.08;
  margin: 0;
  text-wrap: balance;
  text-transform: capitalize;
}
.ihcs-desc {
  margin-top: 16px;
  font-weight: 500;
  max-width: 720px;
  /* margin-left: auto; */
  margin-right: auto;
  text-align: left;
  color: var(--cs-warmgray);
  font-size: 25px;
  line-height: 1.4;
}

/* ── 3D Deck container ──────────────────────────────────────────────────── */
.case-deck {
  position: relative;
  margin: 56px auto 0;
  max-width: 1160px;
  height: 580px;
  perspective: 1600px;
  transform-style: preserve-3d;
}

/* ── Card base ──────────────────────────────────────────────────────────── */
.case-card {
  position: absolute;
  top: 0;
  left: 50%;
  width: 1060px;
  height: auto;
  margin-left: -530px;
  display: grid;
  grid-template-columns: 420px 1fr;
  gap: 0;
  padding: 20px;
  background: var(--cs-white);
  border: 1px solid var(--cs-line);
  border-radius: 28px;
  box-shadow: 0 24px 48px -28px rgba(12, 35, 64, 0.2);
  text-decoration: none;
  color: inherit;
  cursor: pointer;
  transform-style: preserve-3d;
  backface-visibility: hidden;
  will-change: transform, opacity;
  transition:
    transform 0.5s cubic-bezier(0.18, 0.9, 0.3, 1.05),
    opacity 0.4s ease,
    box-shadow 0.4s ease;
}
section.lp-cs .case-card {
	cursor : normal
}
/* ── 3D States ──────────────────────────────────────────────────────────── */
.case-card.is-front {
  transform: translate3d(0, 0, 0) scale(1);
  opacity: 1;
  z-index: 100;
  box-shadow: 0 40px 80px -28px rgba(12, 35, 64, 0.32);
}
.case-card.is-side-l {
  transform: translate3d(-720px, 60px, -320px) scale(0.5) rotateY(22deg);
  transform-origin: center center;
  opacity: 1;
  z-index: 10;
  filter: none;
}
.case-card.is-side-r {
  transform: translate3d(720px, 60px, -320px) scale(0.5) rotateY(-22deg);
  transform-origin: center center;
  opacity: 1;
  z-index: 10;
  filter: none;
}
.case-card.is-far {
  transform: translate3d(0, 0, -500px) scale(0.42);
  opacity: 0;
  z-index: 30;
  pointer-events: none;
}
.case-card.is-side-l:hover {
  transform: translate3d(-720px, 50px, -300px) scale(0.52) rotateY(20deg);
}
.case-card.is-side-r:hover {
  transform: translate3d(720px, 50px, -300px) scale(0.52) rotateY(-20deg);
}

/* ── Image frame ────────────────────────────────────────────────────────── */
.case-art-frame {
  position: relative;
  width: 100%;
  height: 100%;
  border-radius: 22px;
  overflow: hidden;
  background: #f4f2ee;
}
.case-art-photo {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  z-index: 2;
  /* Retained from live: art is top-anchored, not centre-cropped. */
  object-position: top;
}

/* ── Content body ───────────────────────────────────────────────────────── */
.case-body {
  padding: 28px 36px 28px 44px;
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: 18px;
}
.case-eyebrow {
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--cs-warmgray);
}
.case-body h3 {
  color: var(--cs-navy);
  font-size: 38px;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.15;
  margin: 0;
}
.case-metrics {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px 32px;
}
.case-metric-v {
  font-family: "Outfit", system-ui, sans-serif;
  font-size: 42px;
  font-weight: 700;
  color: var(--cs-red);
  letter-spacing: -0.025em;
  line-height: 1;
}
.case-metric-l {
  font-size: 13.5px;
  color: var(--cs-warmgray);
  margin-top: 6px;
  line-height: 1.3;
}
.case-meta {
  display: flex;
  gap: 28px;
  flex-wrap: wrap;
  padding-top: 16px;
  border-top: 1px solid var(--cs-line);
}
.case-meta-row .k {
  font-size: 12px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--cs-warmgray);
  display: block;
  margin-bottom: 4px;
}
.case-meta-row .v {
  font-size: 14.5px;
  color: var(--cs-navy);
  font-weight: 600;
}
.case-desc {
  font-size: 15px;
  color: var(--cs-warmgray);
  line-height: 1.6;
  margin: 0;
}
.case-foot {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  margin-top: auto;
}
.case-link {
  color: var(--cs-navy);
  font-weight: 600;
  font-size: 14px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  text-decoration: none;
  border-bottom: 1px solid var(--cs-navy);
  padding-bottom: 2px;
  cursor: pointer;
  transition:
    color 0.2s,
    border-color 0.2s,
    gap 0.2s;
}
.case-link:hover,
.case-card.is-front .case-link:hover {
  color: var(--cs-red);
  border-bottom-color: var(--cs-red);
  gap: 12px;
}

/* ── Navigation ─────────────────────────────────────────────────────────── */
.case-deck-nav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  margin-top: 36px;
}
.case-deck-nav .case-btn {
  width: 48px;
  height: 48px;
  border-radius: 999px;
  border: 1px solid var(--cs-line);
  background: #fff;
  color: var(--cs-navy);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition:
    background 0.2s,
    color 0.2s,
    border-color 0.2s;
}
.case-deck-nav .case-btn:hover {
  background: var(--cs-red);
  color: #fff;
  border-color: var(--cs-red);
}
/* Dots: 24x24 tap target, 8px visual. See the matching block in homepage.css — the
   button is the target and ::before is the visible dot, because WCAG 2.2 SC 2.5.8 needs
   24x24 (or non-overlapping 24px spacing) and the old 8px button on a 16px pitch failed
   both. Kept in sync with homepage.css apart from the palette token: this file reads
   --cs-red, which about-v2.css re-points for that page. */
.case-deck-dots {
  display: flex;
  gap: 0;
  align-items: center;
}
.case-deck-dot {
  width: 24px;
  height: 24px;
  background: transparent;
  border: 0;
  padding: 0;
  border-radius: 0;
  display: grid;
  place-items: center;
  cursor: pointer;
}
.case-deck-dot::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: rgba(10, 10, 11, 0.18);
  transition:
    background 0.2s,
    width 0.2s;
}
.case-deck-dot.is-active::before {
  background: var(--cs-red);
  width: 24px;
  border-radius: 4px;
}



/* ── Archive pagination ─────────────────────────────────────────────────────
   Styles the_posts_pagination() / paginate_links() output on the blog index and
   category archives, centred and matching the .case-deck-nav controls above.

   Selectors are .navigation.pagination, not .pagination on its own: Bootstrap 5
   is loaded from CDN on every page and defines .pagination { display: flex }
   for its own <ul> component. Matching both classes gives (0,2,0), so these win
   regardless of stylesheet order, and the nav is explicitly reset to block so
   Bootstrap cannot turn the wrapper into a flex row.

   Palette comes from the global :root --ih-* tokens rather than the case deck's
   --cs-* ones, which are scoped to .section.cases and do not exist here. */
.navigation.pagination {
  display: block;
  margin-top: 48px;
  padding-left: 0;
  list-style: none;
}
.navigation.pagination .nav-links {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 10px;
}
/* One shared box for numbers, prev/next and the ellipsis. min-width with
   horizontal padding keeps single digits circular while letting "Previous" and
   "Next" grow into pills. */
.navigation.pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  height: 44px;
  padding: 0 14px;
  border: 1px solid var(--ih-line);
  border-radius: 999px;
  background: var(--ih-card);
  color: var(--ih-navy);
  font-size: 15px;
  font-weight: 600;
  line-height: 1;
  text-decoration: none;
  transition:
    background 0.2s,
    color 0.2s,
    border-color 0.2s;
}
.navigation.pagination a.page-numbers:hover,
.navigation.pagination a.page-numbers:focus-visible {
  background: var(--ih-red);
  border-color: var(--ih-red);
  color: #fff;
}
.navigation.pagination .page-numbers.current {
  background: var(--ih-red);
  border-color: var(--ih-red);
  color: #fff;
}
/* The ellipsis is not interactive, so it drops the button treatment. */
.navigation.pagination .page-numbers.dots {
  border-color: transparent;
  background: none;
  color: var(--ih-muted);
  min-width: 24px;
  padding: 0 4px;
}
@media (max-width: 576px) {
  .navigation.pagination { margin-top: 32px; }
  .navigation.pagination .nav-links { gap: 8px; }
  .navigation.pagination .page-numbers {
    min-width: 38px;
    height: 38px;
    padding: 0 11px;
    font-size: 14px;
  }
}

/* ── View-all CTA ───────────────────────────────────────────────────────── */
.ih-cases-view-all {
  display: flex;
  justify-content: center;
  margin-top: 0px;
}

/* ── Responsive — ≤1280px: flat stacked list ────────────────────────────── */
/* The homepage's 3D case deck (Cases.php: #cases[data-deck="cases"]) keeps its
   3D layout down to 1200px (homepage.css switches it at <=1199px). These stacked
   rules used to hit it between 1200 and 1280px too (side cards flattened behind
   the front card), so they skip it there and apply to it only at <=1199px, as
   before. :where() keeps every selector's specificity unchanged. */
@media (max-width: 1280px) {
  .case-deck:where(:not(#cases[data-deck="cases"] *)) {
    height: auto;
    perspective: none;
  }
  .case-card:where(:not(#cases[data-deck="cases"] *)) {
    position: relative;
    top: auto;
    left: auto;
    width: 100%;
    height: auto;
    margin-left: 0;
    grid-template-columns: 360px 1fr;
    transform: none !important;
    opacity: 1 !important;
    margin-bottom: 16px;
    box-shadow: 0 20px 40px -24px rgba(12, 35, 64, 0.2);
    pointer-events: auto !important;
  }
  .case-card .case-body:where(:not(#cases[data-deck="cases"] *)) {
    opacity: 1 !important;padding: 20px 5px;
  }
  /* Fix plan #23: the IH case-study decks ([data-ih-cases-deck]: Staff
     Augmentation, Logistics, landing pages) list every card in this stacked
     layout; other decks keep hiding their far cards. */
  .case-deck:not([data-ih-cases-deck]) .case-card.is-far:where(:not(#cases[data-deck="cases"] *)) {
    display: none;
  }
  .case-art-frame:where(:not(#cases[data-deck="cases"] *)) {
    width: 100%;
    height: 100%;
    min-height: 320px;
  }
  .case-body:where(:not(#cases[data-deck="cases"] *)) {
    padding: 24px 28px;
  }
  .case-body h3:where(:not(#cases[data-deck="cases"] *)) {
    font-size: 28px;
  }
  .case-metric-v:where(:not(#cases[data-deck="cases"] *)) {
    font-size: 32px;
  }
  .case-deck-nav:where(:not(#cases[data-deck="cases"] *)) {
    display: none;
  }
}
/* Same rules, homepage deck only, at <=1199px (unchanged there). */
@media (max-width: 1199px) {
  .case-deck:where(#cases[data-deck="cases"] *) {
    height: auto;
    perspective: none;
  }
  .case-card:where(#cases[data-deck="cases"] *) {
    position: relative;
    top: auto;
    left: auto;
    width: 100%;
    height: auto;
    margin-left: 0;
    grid-template-columns: 360px 1fr;
    transform: none !important;
    opacity: 1 !important;
    margin-bottom: 16px;
    box-shadow: 0 20px 40px -24px rgba(12, 35, 64, 0.2);
    pointer-events: auto !important;
  }
  .case-card .case-body:where(#cases[data-deck="cases"] *) {
    opacity: 1 !important;padding: 20px 5px;
  }
  .case-deck:not([data-ih-cases-deck]) .case-card.is-far:where(#cases[data-deck="cases"] *) {
    display: none;
  }
  .case-art-frame:where(#cases[data-deck="cases"] *) {
    width: 100%;
    height: 100%;
    min-height: 320px;
  }
  .case-body:where(#cases[data-deck="cases"] *) {
    padding: 24px 28px;
  }
  .case-body h3:where(#cases[data-deck="cases"] *) {
    font-size: 28px;
  }
  .case-metric-v:where(#cases[data-deck="cases"] *) {
    font-size: 32px;
  }
  .case-deck-nav:where(#cases[data-deck="cases"] *) {
    display: none;
  }
}

/* ── Responsive — ≤720px: single column ────────────────────────────────── */
@media (max-width: 720px) {
	  .ihcs-head {
    flex-direction: column;
    align-items: center;
    gap: 20px;
  }
  .ihcs-h2 {
    text-align: center;
    font-size: 32px;
    padding-bottom: 20px;
  }
  .ihcs-desc {
    text-align: center;
    font-size: 16px;
    margin: 0 auto;
  }
  .case-card {
    grid-template-columns: 1fr;
  }
  .case-art-frame {
    min-height: 220px;
  }
}

/* ═══════════════════════════════════════════════════════════════════════════
   IH Flexible Engagement Models  (.ih-engage-*)
   Matches IHEngage from Claude Design — 3-column card grid
   ═══════════════════════════════════════════════════════════════════════════ */

.ih-engage-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-top: 48px;
}

.ih-engage-card {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 36px 32px 32px;
  background: #fff;
  border: 1px solid var(--ih-line, #e4e8f0);
  border-radius: 16px;
  position: relative;
  transition:
    box-shadow 0.22s ease,
    transform 0.22s ease;
  text-decoration: none;
  color: inherit;
}

a.ih-engage-card:hover {
  border-color: rgba(236, 28, 36, 0.32);
  box-shadow:
    0 30px 50px -22px rgba(236, 28, 36, 0.4),
    0 24px 50px -26px rgba(12, 35, 64, 0.2),
    0 0 0 1px rgba(236, 28, 36, 0.05);
  transform: translateY(-4px);
}

.ih-engage-badge {
  position: absolute;
  top: -13px;
  right: 24px;
  background: var(--ih-red, #ec1c24);
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 4px 14px;
  border-radius: 20px;
}

.ih-engage-icon {
  width: 56px;
  height: 56px;
  border-radius: 14px;
  border: 1px solid var(--ih-line);
  background: var(--ih-soft);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--ih-red);
  transition:
    background 0.3s ease,
    transform 0.3s ease;
}
.ih-engage-icon img {
  width: 26px;
  height: 26px;
  stroke-width: 1.6;
}
.ih-engage-card:hover .ih-engage-icon {
  background: #fff;
  border-color: rgba(236, 28, 36, 0.3);
  transform: scale(1.04);
}

.ih-engage-card h3 {
  font-size: 19px;
  font-weight: 700;
  color: var(--ih-navy, #0c2340);
  margin: 0;
  line-height: 1.3;
}

.ih-engage-desc {
  font-size: 14px;
  color: var(--ih-muted, #5a6478);
  line-height: 1.65;
  margin: 0;
}

.ih-engage-box {
  background: var(--ih-soft, #f4f6fa);
  border-radius: 8px;
  padding: 12px 16px;
  font-size: 13px;
  color: var(--ih-muted, #5a6478);
  line-height: 1.5;
}

.ih-engage-box strong {
  color: var(--ih-navy, #0c2340);
  font-weight: 600;
}

.ih-engage-foot {
  margin-top: auto;
  padding-top: 8px;
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  font-weight: 600;
  color: var(--ih-red, #ec1c24);
}

/* Responsive */
@media (max-width: 1024px) {
  .ih-engage-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 640px) {
  .ih-engage-grid {
    grid-template-columns: 1fr;
  }
}

/* ═══════════════════════════════════════════════════════════════════════════
   IH Why Choose Industry  (.ih-why-*)
   Matches IHWhy from Claude Design — left header + 3×2 benefit cards
   ═══════════════════════════════════════════════════════════════════════════ */

.ih-why-head {
  max-width: 640px;
  margin-bottom: 48px;
}

/* Opt-in centered header: set Custom CSS Class = ihw-centered on the section
   in the editor. Other pages using this layout keep the left-aligned default. */
.ihw-centered .ih-why-head {
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

/* Real-estate landing page "Why Choose" (Custom CSS Class = resdc): header centered
   and 80% of the container wide; the intro paragraph drops its 760px cap and is
   centered inside it. */
.ih-section.ih-why-clean.resdc .ih-why-head {
  max-width: 80%;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}
.ih-section.ih-why-clean.resdc .ih-why-head .ih-sub {
  max-width: none;
  margin-left: auto;
  margin-right: auto;
}

.ih-why-head .ih-h2 {
  margin-top: 12px;
  margin-bottom: 16px;
}

.ih-why-head .ih-sub {
  margin: 0;
}

.ih-why-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px 32px;
}

.ih-why-card {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.ih-why-card-icon {
  width: 56px;
  height: 56px;
  border-radius: 12px;
  border: 1px solid var(--ih-line);
  background: #ffffff;
  color: var(--ih-red);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 10px;
  transition:
    border-color 0.3s ease,
    background 0.3s ease,
    color 0.3s ease;
}
.ih-why-card-icon img {
  width: 24px;
  height: 24px;
  stroke-width: 1.7;
}
.ih-why-card:hover .ih-why-card-icon {
  border-color: rgba(236, 28, 36, 0.45);
  background: rgba(236, 28, 36, 0.06);
}

.ih-why-card h3 {
  font-size: 16px;
  font-weight: 700;
  color: var(--ih-navy, #0c2340);
  margin: 0;
  line-height: 1.35;
  text-transform: capitalize;
}

.ih-why-card p {
  font-size: 14px;
  color: var(--ih-muted, #5a6478);
  line-height: 1.65;
  margin: 0;
}

/* Responsive */
@media (max-width: 1024px) {
  .ih-why-cards {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 640px) {
  .ih-why-cards {
    grid-template-columns: 1fr;
    gap: 24px;
  }
}

/* Experts + Testimonials */

.ih-experts-section {
  position: relative;
	  /* Contain the decorative shell ::before glow (extends 40px past the
     shell's right edge) so it can't create horizontal page overflow. */
  overflow-x: clip;
}
.ih-experts-head-row {
  display: block;
  margin-bottom: 40px;
}
.ih-experts-head-left {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  text-align: left;
  max-width: 100%;
}
.ih-experts-head-title-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 32px;
  align-items: center;
  margin-bottom: 16px;
}
.ih-experts-head-title-row .ih-h2 {
  margin: 0;
  max-width: 760px;
}
.ih-experts-head-left .ih-eyebrow {
  justify-content: flex-start;
}
.ih-experts-head-left .ih-sub {
  margin-left: 0;
  max-width: 720px;
}
.ih-experts-head-cta {
  flex-shrink: 0;
  white-space: nowrap;
  justify-self: end;
}
@media (max-width: 900px) {
  .ih-experts-head-title-row {
    grid-template-columns: 1fr;
    gap: 16px;
  }
	  .ih-experts-head-title-row .ih-h2 {
    text-align: center;
  }
  .ih-experts-head-cta {
    margin: auto;
  }
  .ih-experts-head-left .ih-sub {
    text-align: center;
  }
}
.ih-experts-shell {
  position: relative;
  margin-top: 56px;
  display: grid;
  grid-template-columns: 168px 1fr;
  gap: 36px;
  align-items: center;
  max-width: 1080px;
  margin-left: auto;
  margin-right: auto;
}
.ih-experts-shell::before {
  content: "";
  position: absolute;
  top: 40px;
  right: -40px;
  width: 220px;
  height: 220px;
  background:
    radial-gradient(
      circle,
      transparent 60%,
      rgba(12, 35, 64, 0.04) 60.5%,
      transparent 62%
    ),
    radial-gradient(
      circle,
      transparent 70%,
      rgba(12, 35, 64, 0.06) 70.5%,
      transparent 72%
    );
  pointer-events: none;
  opacity: 0.6;
  z-index: 0;
}
.ih-experts-rail {
  display: flex;
  flex-direction: column;
  gap: 14px;
  position: relative;
  z-index: 2;
  align-items: flex-start;
}
.ih-experts-thumb {
  position: relative;
  width: 168px;
  height: 100px;
  border-radius: 20px;
  overflow: hidden;
  background: #efede9;
  cursor: pointer;
  border: 0;
  padding: 0;
  outline: none;
  transition:
    width 0.7s cubic-bezier(0.25, 0.9, 0.3, 1.05),
    height 0.7s cubic-bezier(0.25, 0.9, 0.3, 1.05),
    border-radius 0.7s cubic-bezier(0.25, 0.9, 0.3, 1.05),
    transform 0.7s cubic-bezier(0.25, 0.9, 0.3, 1.05),
    filter 0.6s ease,
    opacity 0.6s ease,
    box-shadow 0.6s ease;
  isolation: isolate;
  flex-shrink: 0;
  filter: blur(2px);
  opacity: 0.6;
  will-change: width, height, transform, filter, opacity;
}
.ih-experts-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 25%;
  filter: saturate(0.5) contrast(1.02) brightness(0.95);
  transition:
    filter 0.4s ease,
    transform 0.5s ease;
}
.ih-experts-thumb:hover {
  transform: translateY(-2px);
}
.ih-experts-thumb:hover img {
  filter: saturate(0.85) contrast(1.05);
}
.ih-experts-thumb::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  border: 2px solid transparent;
  transition:
    border-color 0.3s ease,
    box-shadow 0.3s ease;
  pointer-events: none;
  z-index: 3;
}
.ih-experts-thumb.is-active {
  width: 168px;
  height: 184px;
  border-radius: 26px;
  transform: translateX(-12px);
  filter: none;
  opacity: 1;
  box-shadow: 0 24px 40px -20px rgba(236, 28, 36, 0.35);
}
.ih-experts-thumb.is-active::after {
  border-color: var(--ih-red, #ec1c24);
  box-shadow: 0 0 0 4px rgba(236, 28, 36, 0.1);
}
.ih-experts-thumb.is-active img {
  filter: saturate(1) contrast(1.05) brightness(1);
}
.ih-experts-stage {
  display: grid;
  position: relative;
  z-index: 2;
}
.ih-experts-card {
  grid-area: 1 / 1;
  position: relative;
  background: #ffffff;
  border-radius: 28px;
  padding: 44px 56px;
  box-shadow: 0 30px 60px -36px rgba(12, 35, 64, 0.22);
  border: 1px solid var(--ih-line, #e4e8f0);
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 18px;
  min-height: 640px;
  overflow: hidden;
  opacity: 0;
  pointer-events: none;
  visibility: hidden;
}
.ih-experts-card.is-active {
  opacity: 1;
  pointer-events: auto;
  visibility: visible;
  animation: ihExpertSwap 0.55s cubic-bezier(0.25, 0.9, 0.3, 1.05);
}
@keyframes ihExpertSwap {
  from {
    opacity: 0;
    transform: translateY(8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.ih-experts-role {
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--ih-red, #ec1c24);
  display: inline-flex;
  align-items: center;
  gap: 10px;
}
.ih-experts-role::before {
  content: "";
  width: 24px;
  height: 1px;
  background: var(--ih-red, #ec1c24);
}
.ih-experts-card h3 {
  font-size: clamp(26px, 2.6vw, 34px);
  font-weight: 600;
  line-height: 1.15;
  letter-spacing: -0.02em;
  color: var(--ih-navy, #0c2340);
  margin: 0;
  max-width: 92%;
}
.ih-experts-desc {
  font-size: 15.5px;
  line-height: 1.65;
  color: var(--ih-muted, #5a6478);
  margin: 0;
  max-width: 92%;
}
.ih-experts-bullets {
  list-style: none;
  padding: 0;
  margin: 4px 0 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}
.ih-experts-bullets li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 12px 14px;
  background: var(--ih-soft, #f4f6fa);
  border-radius: 12px;
  font-size: 13px;
  line-height: 1.4;
  color: #2a3550;
  font-weight: 500;
}
.ih-experts-bullets li::before {
  content: "";
  flex-shrink: 0;
  width: 6px;
  height: 6px;
  margin-top: 6px;
  background: var(--ih-red, #ec1c24);
  border-radius: 50%;
}
@media (min-width: 901px) and (max-width: 1280px) {
  .ih-experts-card {
    min-height: 560px;
    padding: 40px 44px;
  }
}

@media (max-width: 900px) {
  .ih-experts-shell {
    grid-template-columns: 1fr;
    gap: 24px;
  }
	
	 .ih-experts-shell::before {
    display: none;
  }
	
  .ih-experts-rail {
    flex-direction: row;
    justify-content: center;
    flex-wrap: wrap;
    align-items: center;
  }
  .ih-experts-thumb {
       width: 120px;
    height: 130px;
    transform: translateY(-0px);
  }
  .ih-experts-thumb.is-active {
    width: 120px;
    height: 130px;
     transform: translateY(-0px);
  }
  .ih-experts-card {
    padding: clamp(22px, 5.5vw, 36px) clamp(18px, 4.5vw, 28px) clamp(20px, 5vw, 28px);
    min-height: auto;
  }
	  .ih-experts-card h3,
  .ih-experts-desc {
    max-width: 100%;
  }
	
  .ih-experts-bullets {
    grid-template-columns: 1fr;
  }
}

/* Testimonials */
.ih-ts-section {
  background: #ffffff;
}
.ih-head-center {
  text-align: center;
}
.ih-head-center .ih-h2 {
  margin: 0 auto 22px;
}
.ih-head-center .ih-sub {
  margin: 0 auto;
}
.ih-ts-row {
  overflow: hidden;
  margin-top: 64px;
  padding: 32px 0;
}
.ih-ts-track {
  display: flex;
  gap: 24px;
  align-items: stretch;
  transition: transform 0.55s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  will-change: transform;
}
.ih-ts-card2 {
  flex-shrink: 0;
  background: #ffffff;
  border: 1px solid var(--ih-line, #e4e8f0);
  border-radius: 24px;
  padding: 32px 30px 28px;
  display: flex;
  flex-direction: column;
  gap: 18px;
  position: relative;
  transition:
    transform 0.3s ease,
    box-shadow 0.3s ease,
    border-color 0.3s ease;
  min-height: 320px;
}
.ih-ts-card2:hover {
  transform: translateY(-4px);
  border-color: rgba(236, 28, 36, 0.3);
  box-shadow:
    0 24px 50px -26px rgba(12, 35, 64, 0.18),
    0 0 0 1px rgba(236, 28, 36, 0.06);
}
.ih-ts-card2.is-hidden {
  display: none;
}
.ih-ts2-mark {
  color: var(--ih-red, #ec1c24);
  opacity: 0.6;
}
.ih-ts2-quote {
  font-size: 16.5px;
  line-height: 1.5;
  color: var(--ih-navy, #0c2340);
  font-weight: 500;
  margin: 0;
  flex: 1;
}
.ih-ts2-divider {
  height: 1px;
  background: var(--ih-line, #e4e8f0);
  margin: 4px 0 6px;
}
.ih-ts2-foot {
  display: flex;
  align-items: center;
  gap: 12px;
}
.ih-ts2-avatar {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background-size: cover;
  background-position: center;
  background-color: #e8e5e0;
  flex-shrink: 0;
}
.ih-ts2-cite {
  flex: 1;
  min-width: 0;
}
.ih-ts2-name {
  font-size: 14.5px;
  font-weight: 600;
  color: var(--ih-navy, #0c2340);
  line-height: 1.2;
}
.ih-ts2-role {
  font-size: 12.5px;
  color: var(--ih-muted, #5a6478);
  margin-top: 2px;
}
.ih-ts2-role .industry {
  display: inline-block;
  margin-left: 6px;
  padding: 2px 8px;
  background: rgba(236, 28, 36, 0.08);
  color: var(--ih-red, #ec1c24);
  font-size: 10.5px;
  font-weight: 600;
  letter-spacing: 0.04em;
  border-radius: 999px;
  vertical-align: 1px;
}
.ih-ts2-platform {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 11.5px;
  font-weight: 600;
  color: var(--ih-muted, #5a6478);
}
.ih-ts2-platform .glyph {
  color: var(--ih-red, #ec1c24);
}
.ih-ts2-link {
  margin-top: 4px;
  align-self: flex-start;
  font-size: 12.5px;
  font-weight: 600;
  color: var(--ih-navy, #0c2340);
  display: inline-flex;
  align-items: center;
  gap: 6px;
  text-decoration: none;
  border-bottom: 1px solid var(--ih-navy, #0c2340);
  padding-bottom: 2px;
  transition:
    color 0.2s ease,
    border-color 0.2s ease,
    gap 0.2s ease;
}
/* Tap target 24 px (WCAG 2.2 AA, fix plan #73/#130/#132): the bottom border is the underline, so a
   transparent ::after adds 2 px above and below instead of padding. */
.ih-ts2-link { position: relative; }
.ih-ts2-link::after { content: ""; position: absolute; inset: -2px 0; }
.ih-ts2-link:hover {
  color: var(--ih-red, #ec1c24);
  border-color: var(--ih-red, #ec1c24);
  gap: 10px;
}
.ih-ts-card2.is-l,
.ih-ts-card2.is-r {
  filter: saturate(0.9);
  opacity: 0.7;
  transform: scale(0.96);
  pointer-events: none;
  transition:
    filter 0.4s ease,
    opacity 0.4s ease,
    transform 0.4s ease;
}
.ih-ts-card2.is-c {
  transform: scale(1);
  z-index: 2;
  box-shadow: 0 30px 60px -28px rgba(12, 35, 64, 0.22);
}
.ih-ts2-controls {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  margin-top: 40px;
}
.ih-ts2-arrow {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: 1px solid var(--ih-line, #e4e8f0);
  background: #ffffff;
  color: var(--ih-navy, #0c2340);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition:
    background 0.2s,
    color 0.2s,
    border-color 0.2s,
    transform 0.2s;
}
.ih-ts2-arrow:hover {
  background: var(--ih-red, #ec1c24);
  color: #ffffff;
  border-color: var(--ih-red, #ec1c24);
  transform: translateY(-1px);
}
/* Tap target 24 px (WCAG 2.2 AA, fix plan #73/#130/#132): each button is a 24 px hit area (28 px wide when
   active; negative margin keeps the row height); the visible 8 px dot / 28 px pill
   is drawn by ::before. The gap next to the active pill stays 8 px; between two
   inactive dots it grows from 8 to 16 px. */
.ih-ts2-dots {
  display: flex;
  gap: 0;
  align-items: center;
}
.ih-ts2-dot {
  position: relative;
  width: 24px;
  height: 24px;
  margin: -8px 0;
  border-radius: 0;
  background: transparent;
  border: 0;
  padding: 0;
  cursor: pointer;
  transition: width 0.2s;
}
.ih-ts2-dot::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 8px;
  height: 8px;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  background: rgba(12, 35, 64, 0.18);
  transition:
    background 0.2s,
    width 0.2s;
}
.ih-ts2-dot.is-active {
  width: 28px;
}
.ih-ts2-dot.is-active::before {
  background: var(--ih-red, #ec1c24);
  width: 28px;
  border-radius: 4px;
}
/* On tablet/mobile the track fills full width per card — side cards are off-screen
   via overflow:hidden, so reset their visual treatment so they don't peek dimmed */
@media (max-width: 1023px) {
  .ih-ts-card2.is-l,
  .ih-ts-card2.is-r {
    opacity: 1;
    transform: none;
    filter: none;
    pointer-events: auto;
  }
}
@media (max-width: 640px) {
  .ih-ts-row {
    overflow: hidden;
    margin-top: 30px;
    padding: 32px 0;
  }
}

/* ==========================================================================
   Hire Developer Page  (.hd-*)
   Sections: HDHero, HDAvailable, HDMetrics
   Dark theme — bg #000 / #0A0A0A / #111111
   Brand: red #EC1C24, navy #0C2340
   ========================================================================== */

/* ── Shared utilities ── */
.hd-container {
  max-width: 1440px;
  margin: 0 auto;
  position: relative;
  z-index: 2;
}

@keyframes hdPulse {
  0%,
  100% {
    opacity: 1;
    box-shadow: 0 0 0 0 rgba(236, 28, 36, 0.5);
  }
  50% {
    opacity: 0.4;
    box-shadow: 0 0 0 10px rgba(236, 28, 36, 0);
  }
}

@keyframes hdDevScroll {
  from {
    transform: translate3d(0, 0, 0);
  }
  to {
    transform: translate3d(-50%, 0, 0);
  }
}

@keyframes hdRecogScroll {
  from {
    transform: translate3d(0, 0, 0);
  }
  to {
    transform: translate3d(-50%, 0, 0);
  }
}

.hd-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: #ec1c24;
  margin-bottom: 22px;
}
.hd-eyebrow::before {
  content: "";
  width: 18px;
  height: 1px;
  background: #ec1c24;
}

.hd-h2 {
  font-family: "Outfit", system-ui, sans-serif;
  font-size: clamp(36px, 4.2vw, 60px);
  font-weight: 600;
  line-height: 1.05;
  letter-spacing: -0.025em;
  color: #ffffff;
  max-width: 900px;
}
.hd-h2 .hd-accent {
  color: #ffffff;
}

.hd-sub {
  margin-top: 20px;
  max-width: 760px;
  font-size: 18px;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.72);
  font-weight: 400;
}

.hd-section-head {
  margin-bottom: 72px;
}
.hd-section-head.center {
  text-align: center;
}
.hd-section-head.center .hd-eyebrow {
  justify-content: center;
}
.hd-section-head.center .hd-h2,
.hd-section-head.center .hd-sub {
  margin-left: auto;
  margin-right: auto;
}

/* Buttons */
.hd-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 15px 26px;
  border-radius: 10px;
  font-family: "Outfit", system-ui, sans-serif;
  font-size: 15px;
  font-weight: 500;
  letter-spacing: 0.005em;
  border: 1px solid transparent;
  text-decoration: none;
  transition: all 0.25s ease;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
}
.hd-btn-primary {
  background: #ec1c24;
  color: #fff;
  box-shadow: 0 8px 24px -10px rgba(236, 28, 36, 0.5);
}
.hd-btn-primary:hover {
  background: #ff2e36;
  transform: translateY(-2px);
  box-shadow: 0 14px 36px -10px rgba(236, 28, 36, 0.7);
  color: #fff;
  text-decoration: none;
  border:none;
}
.hd-btn-secondary {
  background: transparent;
  color: #fff;
  border-color: #fff;
}
.hd-btn-secondary:hover {
  background: #fff;
  color: #000;
  border-color: #fff;
  box-shadow: 0 10px 30px -14px rgba(255, 255, 255, 0.3);
  transform: translateY(-2px);
  text-decoration: none;
}

/* ── Hero ── */
.hd-hero {
  position: relative;
  background: #000000;
  min-height: 760px;
  padding: 0 48px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  overflow: hidden;
}
.hd-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(
      900px 600px at 78% 50%,
      rgba(236, 28, 36, 0.16),
      transparent 60%
    ),
    radial-gradient(
      700px 500px at 10% 0%,
      rgba(12, 35, 64, 0.45),
      transparent 70%
    );
  pointer-events: none;
  z-index: 0;
}

.hd-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
  gap: 60px;
  align-items: center;
  min-height: 760px;
  padding: 140px 0 80px;
  position: relative;
  z-index: 2;
}

.hd-hero-content {
  position: relative;
  z-index: 2;
}

.hd-hero-content h1 {
  font-family: "Outfit", system-ui, sans-serif;
  font-size: clamp(48px, 5.6vw, 75px);
  font-weight: 700;
  line-height: 1.02;
  letter-spacing: -0.035em;
  color: #fff;
  margin-bottom: 28px;
  max-width: 700px;
}
.hd-hero-content h1 .hd-hero-accent {
  color: #ec1c24;
}

.hd-hero-sub {
  font-size: 19px;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.72);
  max-width: 560px;
  margin-bottom: 40px;
  font-weight: 400;
}

.hd-hero-actions {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
}

/* Orbit canvas wrap */
.hd-orbit-wrap {
  position: relative;
  height: 640px;
  pointer-events: none;
  overflow: visible;
}
.hd-orbit-canvas {
  display: block;
  position: absolute;
  top: -120px;
  left: 0;
}

/* ── Available Devs ── */
.hd-devs {
  background: #0a0a0a;
  padding: 100px 48px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
.hd-devs .hd-section-head {
  margin-bottom: 0;
}

.hd-devs-rail {
  margin-top: 56px;
  position: relative;
  overflow: hidden;
  mask-image: linear-gradient(
    90deg,
    transparent 0,
    #000 5%,
    #000 95%,
    transparent 100%
  );
  -webkit-mask-image: linear-gradient(
    90deg,
    transparent 0,
    #000 5%,
    #000 95%,
    transparent 100%
  );
}
.hd-devs-track {
  display: flex;
  gap: 20px;
  width: max-content;
  animation: hdDevScroll 60s linear infinite;
}
.hd-devs-rail:hover .hd-devs-track {
  animation-play-state: paused;
}

.hd-dev-card {
  flex: 0 0 280px;
  background: #231f20;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 20px;
  padding: 20px;
  position: relative;
  transition: all 0.3s ease;
}
.hd-dev-card:hover {
  border-color: rgba(236, 28, 36, 0.4);
  transform: translateY(-4px);
  box-shadow: 0 20px 50px -20px rgba(236, 28, 36, 0.35);
}

.hd-dev-avail {
  position: absolute;
  top: 14px;
  right: 14px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  letter-spacing: 0.06em;
  font-weight: 600;
  color: #29d27d;
  background: rgba(41, 210, 125, 0.1);
  border: 1px solid rgba(41, 210, 125, 0.3);
  padding: 5px 9px;
  border-radius: 100px;
}
.hd-dev-avail::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #29d27d;
  box-shadow: 0 0 8px rgba(41, 210, 125, 0.8);
  animation: hdPulse 1.6s ease-in-out infinite;
}

.hd-dev-photo {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  overflow: hidden;
  margin-bottom: 16px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  background: #1a1718;
}
.hd-dev-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  filter: grayscale(0.2);
}
.hd-dev-photo-placeholder {
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, #2a2a2a, #1a1a1a);
}

.hd-dev-name {
  font-size: 17px;
  font-weight: 600;
  color: #fff;
  margin-bottom: 14px;
}

.hd-dev-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.hd-dev-tag {
  font-size: 12px;
  padding: 4px 9px;
  border-radius: 100px;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.08);
  color: rgba(255, 255, 255, 0.7);
}

.hd-dev-meta {
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  display: flex;
  justify-content: space-between;
  font-size: 12px;
  color: rgba(255, 255, 255, 0.5);
  letter-spacing: 0.02em;
}
.hd-dev-meta strong {
  color: #fff;
  font-weight: 600;
}

/* ── Metrics ── */
.hd-metrics {
  background: #111111;
  padding: 90px 48px;
  position: relative;
  overflow: hidden;
}

.hd-metrics-row {
  margin-top: 80px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  flex-wrap: wrap;
}

.hd-metrics-divider {
  width: 1px;
  height: 72px;
  background: linear-gradient(
    180deg,
    transparent,
    rgba(255, 255, 255, 0.14) 25%,
    rgba(255, 255, 255, 0.14) 75%,
    transparent
  );
  flex-shrink: 0;
}

.hd-metric-item {
  flex: 1;
  text-align: center;
  padding: 28px 24px;
  transition: transform 0.3s ease;
  min-width: 160px;
}
.hd-metric-item:hover {
  transform: translateY(-2px);
}

.hd-metric-num {
  font-family: "Outfit", system-ui, sans-serif;
  font-size: clamp(40px, 4vw, 60px);
  font-weight: 700;
  color: #fff;
  letter-spacing: -0.04em;
  line-height: 1;
  margin-bottom: 12px;
}
.hd-metric-num .suffix {
  color: #ec1c24;
  font-size: 0.42em;
  margin-left: 3px;
  font-weight: 700;
}

.hd-metric-item.is-featured .hd-metric-num {
  color: #fff;
  font-size: clamp(46px, 4.5vw, 68px);
}
.hd-metric-item.is-featured .hd-metric-num .suffix {
  color: #ec1c24;
}

.hd-metric-label {
  font-size: 14px;
  color: rgba(255, 255, 255, 0.65);
  line-height: 1.45;
}

/* Recognised By */
.hd-recog-strip {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 32px;
  align-items: center;
  margin-top: 72px;
  padding: 28px 0 0;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
}
.hd-recog-label {
  font-size: 13px;
  font-weight: 500;
  color: rgba(255, 255, 255, 0.45);
  letter-spacing: 0.01em;
  flex-shrink: 0;
  white-space: nowrap;
}
.hd-recog-marquee {
  position: relative;
  overflow: hidden;
  mask-image: linear-gradient(
    90deg,
    transparent 0,
    #000 60px,
    #000 calc(100% - 60px),
    transparent 100%
  );
  -webkit-mask-image: linear-gradient(
    90deg,
    transparent 0,
    #000 60px,
    #000 calc(100% - 60px),
    transparent 100%
  );
}
.hd-recog-track {
  display: flex;
  gap: 56px;
  width: max-content;
  animation: hdRecogScroll 30s linear infinite;
}
.hd-recog-marquee:hover .hd-recog-track {
  animation-play-state: paused;
}

.hd-recog-item {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 36px;
  opacity: 0.7;
  transition: opacity 0.2s ease;
}
.hd-recog-item:hover {
  opacity: 1;
}

.hd-recog-logo-img {
  max-height: 30px;
  width: auto;
  display: block;
  /* filter: invert(1) brightness(0.9); */
}

/* ── Responsive ── */
@media (max-width: 1200px) {
  .hd-hero {
    padding: 0 32px;
  }
  .hd-devs {
    padding: 80px 32px;
  }
  .hd-metrics {
    padding: 80px 32px;
  }
}

@media (max-width: 1024px) {
  .hd-hero-grid {
    grid-template-columns: 1fr;
    min-height: auto;
    padding: 120px 0 60px;
    gap: 40px;
  }
  .hd-orbit-wrap {
    height: 420px;
  }
}

@media (max-width: 768px) {
  .hd-hero {
    padding: 0 24px;
  }
  .hd-hero-content h1 {
    font-size: clamp(38px, 8vw, 56px);
  }
  .hd-devs {
    padding: 72px 24px;
  }
  .hd-metrics {
    padding: 72px 24px;
  }
  .hd-metrics-row {
    flex-direction: column;
    gap: 0;
  }
  .hd-metrics-divider {
    width: 80%;
    height: 1px;
  }
  .hd-metric-item {
    width: 100%;
  }
  .hd-recog-strip {
    grid-template-columns: 1fr;
    gap: 20px;
  }
}

@media (max-width: 640px) {
  .hd-hero {
    padding: 0 20px;
  }
  .hd-hero-content h1 {
    font-size: clamp(34px, 9vw, 48px);
  }
  .hd-hero-sub {
    font-size: 16px;
  }
  .hd-devs {
    padding: 60px 20px;
  }
  .hd-metrics {
    padding: 60px 20px;
  }
  .hd-section-head {
    margin-bottom: 48px;
  }
	  .hd-devs .hd-section-head {
    text-align: center;
  }
  .hd-devs .hd-section-head .hd-eyebrow {
    justify-content: center;
  }
  .hd-devs .hd-section-head .hd-h2,
  .hd-devs .hd-section-head .hd-sub {
    margin-left: auto;
    margin-right: auto;
  }
	
}

@media (max-width: 480px) {
  .hd-hero {
    padding: 0 16px;
  }
  .hd-devs {
    padding: 52px 16px;
  }
  .hd-metrics {
    padding: 52px 16px;
  }
  .hd-dev-card {
    flex: 0 0 240px;
  }
}

/* ============================================================
   HD. Services (hd_services)
   ============================================================ */
.hd-services {
  background: #111111;
 padding: 90px 48px;
}
.hd-services .hd-sub {
  color: rgba(255, 255, 255, 0.6);
}
.hd-services-shell {
  background: transparent;
  border: none;
  border-radius: 0;
  padding: 0;
  position: relative;
  overflow: visible;
}
.hd-services-grid {
  margin-top: 48px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  position: relative;
  z-index: 2;
}
.hd-svc-item {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 18px;
  padding: 32px 28px;
  text-decoration: none;
  color: inherit;
  text-align: left;
  border: none;
/*   cursor: pointer; */
  position: relative;
  transition: background 0.35s ease;
}
.hd-svc-item::after {
  content: "";
  position: absolute;
  inset: -1px;
  border: 1.5px solid transparent;
  border-radius: 16px;
  pointer-events: none;
  transition:
    border-color 0.35s ease,
    box-shadow 0.35s ease;
  z-index: 2;
}
.hd-svc-item:hover {
  background: rgba(236, 28, 36, 0.04);
}
.hd-svc-item:hover::after {
  border-color: rgba(236, 28, 36, 0.45);
  box-shadow: 0 0 24px -8px rgba(236, 28, 36, 0.2);
}
.hd-svc-icon {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
  display: grid;
  place-items: center;
  flex-shrink: 0;
  transition: all 0.35s ease;
}
.hd-svc-item:hover .hd-svc-icon {
  background: rgba(236, 28, 36, 0.1);
  border-color: rgba(236, 28, 36, 0.3);
}
.hd-svc-icon-img {
  width: 22px;
  height: 22px;
  object-fit: contain;
  opacity: 0.55;
  transition: opacity 0.3s ease;
}
.hd-svc-item:hover .hd-svc-icon-img {
  opacity: 1;
}
.hd-svc-text {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
}
.hd-svc-title, .hd-svc-title a {
  font-size: 18px;
  font-weight: 600;
  color: #ffffff;
  line-height: 1.3;
  letter-spacing: -0.01em;
  margin-bottom: 10px;
  transition: color 0.3s ease;
}
.hd-svc-item:hover .hd-svc-title , .hd-svc-item:hover .hd-svc-title a{
  color: #ec1c24;
}
.hd-svc-title a,
.hd-svc-title a:hover,
.hd-svc-title a:focus,
.hd-svc-title a:visited {
  color: inherit;
/*   text-decoration: underline !important; */
}
/* Tap target 24 px (WCAG 2.2 AA, fix plan #73/#130/#132): inline link, vertical padding adds hit area without moving text. */
.hd-svc-title a {
  padding-block: 1px;
}

.hd-svc-desc {
  font-size: 14px;
  color: rgba(255, 255, 255, 0.5);
  line-height: 1.6;
}
.hd-svc-desc a {
  color: rgba(255, 255, 255, 0.5);
  text-decoration: underline !important;
}
.hd-svc-desc a:hover {
  color: rgba(255, 255, 255, 0.8);
}
@media (max-width: 1280px) {
  .hd-svc-item {
    padding: 28px 22px;
  }
}

@media (max-width: 1024px) {
  .hd-services-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .hd-svc-item:nth-child(3n + 2) {
    border-left: 0;
    border-right: 0;
  }
  .hd-svc-item:nth-child(even) {
    border-left: 1px solid rgba(255, 255, 255, 0.06);
  }
  .hd-svc-item:nth-child(n + 3) {
    border-top: 1px solid rgba(255, 255, 255, 0.06);
  }
}
@media (max-width: 640px) {
  .hd-services-grid {
    grid-template-columns: 1fr;
  }
  .hd-svc-item {
    border: none !important;
  }
  .hd-services {
    padding: 60px 20px;
  }
}

/* ============================================================
   HD. Role Stack (hd_roles)
   ============================================================ */
.hd-roles {
  background: #000;
  padding: 80px 48px;
}
.hd-roles-filters {
  display: flex;
  gap: 10px;
  justify-content: center;
  flex-wrap: wrap;
  margin-bottom: 48px;
}
.hd-roles-filter {
  padding: 10px 22px;
  border-radius: 100px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  background: transparent;
  color: rgba(255, 255, 255, 0.6);
  font-size: 0.875rem;
  font-weight: 500;
  cursor: pointer;
  transition:
    background 0.2s,
    color 0.2s,
    border-color 0.2s;
}
.hd-roles-filter.active,
.hd-roles-filter:hover {
  background: #ec1c24;
  border-color: #ec1c24;
  color: #fff;
  box-shadow: 0 0 24px rgba(236, 28, 36, 0.45);
}
.hd-roles-shell {
  display: grid;
  grid-template-columns: 320px 1fr;
  gap: 40px;
  align-items: start;
}
.hd-roles-list-wrap {
  min-width: 0;
}
.hd-roles-list {
  display: flex;
  flex-direction: column;
  gap: 4px;
  max-height: 480px;
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: rgba(255, 255, 255, 0.15) transparent;
}
.hd-roles-list::-webkit-scrollbar {
  width: 4px;
}
.hd-roles-list::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.15);
  border-radius: 2px;
}
.hd-role-tab {
	position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  padding: 13px 18px 13px 12px;
  border-radius: 10px;
  border: 1px solid transparent;
  background: transparent;
  color: rgba(255, 255, 255, 0.55);
  font-size: 0.9rem;
  font-weight: 500;
  text-align: left;
  cursor: pointer;
  transition: all 0.2s;
}
.hd-role-tab span {
  flex: 1; padding-left : 2px
}
.hd-role-tab.active,
.hd-role-tab:hover {
  background: rgba(255, 255, 255, 0.05);
  border-color: rgba(255, 255, 255, 0.1);border-color: transparent;
  color: #ffffff;
}
.hd-role-tab.active {
  background: rgba(236, 28, 36, 0.15);
  color: #fff;
}
.hd-role-tab.active::before {
  content: "";
  position: absolute;
  left: 4px;
  top: 50%;
  transform: translateY(-50%);
  width: 3px;
  height: 1.6em;
  border-radius: 2px;
  background: #ec1c24;
}
.hd-roles-stage {
  position: relative;
  height: 440px;
  perspective: 1200px;
}
.hd-role-card {
  position: absolute;
  inset: 0;
  display: flex;
  border-radius: 16px;
  overflow: hidden;
  background: #111;
  border: 1px solid rgba(255, 255, 255, 0.08);
  transition:
    transform 0.45s cubic-bezier(0.4, 0, 0.2, 1),
    opacity 0.45s cubic-bezier(0.4, 0, 0.2, 1),
    z-index 0s 0.22s;
}
.hd-role-card.front {
  transform: translateZ(0) scale(1);
  opacity: 1;
  z-index: 10;
  pointer-events: all;
}
.hd-role-card.behind-1 {
  transform: translateY(18px) translateZ(-60px) scale(0.95);
  opacity: 0.65;
  z-index: 5;
  pointer-events: none;
}
.hd-role-card.behind-2 {
  transform: translateY(32px) translateZ(-120px) scale(0.9);
  opacity: 0.35;
  z-index: 2;
  pointer-events: none;
}
.hd-role-card.hidden {
  transform: translateY(48px) translateZ(-180px) scale(0.85);
  opacity: 0;
  z-index: 0;
  pointer-events: none;
}
.hd-role-card-img {
  width: 45%;
  flex-shrink: 0;
  background-size: cover;
  background-position: center top;
  background-color: #1a1a1a;
}
.hd-role-card-body {
  flex: 1;
  padding: 36px 32px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  min-width: 0;
  overflow-y: auto;
	justify-content: center;
}
.hd-role-card-title {
font-size: 2rem;
  font-weight: 700;
  color: #ffffff;
  line-height: 1.3;
}
.hd-role-card-desc {
  font-size: 0.9rem;
  color: rgba(255, 255, 255, 0.6);
  line-height: 1.7;
}
.hd-role-card-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.hd-role-card-tag {
  padding: 5px 12px;
  border-radius: 100px;
  font-size: 0.75rem;
  font-weight: 500;
  background: rgba(255, 255, 255, 0.06);
  color: rgba(255, 255, 255, 0.85);
  border: 1px solid rgba(255, 255, 255, 0.12);
}
a.hd-role-card-tag,
a.hd-role-card-tag:hover,
a.hd-role-card-tag:focus,
a.hd-role-card-tag:active,
a.hd-role-card-tag:visited {
  color: rgba(255, 255, 255, 0.85);
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.12);
  font-size: 0.75rem;
  font-weight: 500;
  text-decoration: none;
}
.hd-role-card-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #ffffff;
  font-size: 0.9rem;
  font-weight: 600;
  text-decoration: none;
  border: 1px solid rgba(255, 255, 255, 0.4);
  border-radius: 100px;
  background: transparent;
  cursor: pointer;
  padding: 12px 26px;
  margin-top: 10px;
  align-self: flex-end;
  transition:
    background 0.2s,
    border-color 0.2s,
    color 0.2s;
}
.hd-role-card-link:hover {
  background: #ffffff;
  border-color: #ffffff;
  color: #111111;
}
@media (max-width: 1440px) {
  .hd-role-card-title {
    font-size: 1.6rem;
  }
  .hd-role-card-body {
    padding: 28px 26px;
  }
}
@media (max-width: 1280px) {
  .hd-roles-shell {
    grid-template-columns: 280px 1fr;
    gap: 32px;
  }
  .hd-roles-stage {
    height: 420px;
  }
}
@media (max-width: 1024px) {
  .hd-roles-shell {
    grid-template-columns: 260px 1fr;
    gap: 28px;
  }
}
@media (max-width: 768px) {
  .hd-roles-shell {
    grid-template-columns: 1fr;
  }
	 .hd-roles {
    padding-left: 20px;
    padding-right: 20px;
  }
  .hd-roles-list {
    flex-direction: row;
    overflow-x: auto;
    overflow-y: hidden;
    max-height: none;
    padding-bottom: 4px;
    flex-wrap: nowrap;
  }
  .hd-role-tab {
    white-space: nowrap;
    flex-shrink: 0;
    width: auto;
  }
  .hd-roles-stage {
    height: 420px;
  }
  .hd-role-card-img {
    display: none;
  }
}
@media (max-width: 480px) {
  .hd-roles {
       padding: 56px 20px; 
  }
  .hd-roles-stage {
    height: 380px;
  }
  .hd-role-card-body {
    padding: 24px 20px;
  }
  .hd-role-card-title {
    font-size: 1.1rem;
  }
}

/* ============================================================
   HD. Vetting Pipeline (hd_vetting)
   ============================================================ */
.hd-vetting {
  background: #111111;
  padding: 90px 48px;
}
.hd-vetting-badge {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 13px;
  letter-spacing: 0.04em;
  font-weight: 600;
  color: #ec1c24;
  background: rgba(236, 28, 36, 0.1);
  border: 1px solid rgba(236, 28, 36, 0.3);
  padding: 8px 16px;
  border-radius: 100px;
  margin-top: 24px;
}
.hd-vetting-badge::before {
  content: "";
  width: 8px;
  height: 8px;
  background: #ec1c24;
  border-radius: 50%;
  box-shadow: 0 0 10px rgba(236, 28, 36, 0.8);
  animation: hdPulse 1.8s ease-in-out infinite;
}
@keyframes hdPulse {
  0%,
  100% {
    opacity: 1;
    transform: scale(1);
  }
  50% {
    opacity: 0.55;
    transform: scale(1.35);
  }
}
.vp-variant-area {
  margin-top: 40px;
}
@keyframes vpAreaIn {
  from {
    opacity: 0;
    transform: translateY(8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.vp-check {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-size: 12px;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.8);
  background: rgba(236, 28, 36, 0.08);
  border: 1px solid rgba(236, 28, 36, 0.22);
  padding: 6px 12px;
  border-radius: 100px;
}
.vp-check-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #ec1c24;
  box-shadow: 0 0 6px rgba(236, 28, 36, 0.6);
  flex-shrink: 0;
}
.vs-shell {
  display: flex;
  flex-direction: column;
  gap: 36px;
}
.vs-pipeline {
  position: relative;
  padding: 80px 20px 0;
}
.vs-track {
  position: absolute;
  top: 42px;
  left: 48px;
  right: 48px;
  height: 2px;
  background: rgba(255, 255, 255, 0.06);
  border-radius: 2px;
}
.vs-track-fill {
  height: 100%;
  background: #ec1c24;
  border-radius: 2px;
  box-shadow: 0 0 8px rgba(236, 28, 36, 0.5);
  transition: width 0.9s cubic-bezier(0.25, 0.9, 0.3, 1.05);
}

.vs-rider {
  position: absolute;
  top: -8px;
  z-index: 10;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 14px 8px 8px;
  background: linear-gradient(135deg, #1a1718 0%, #0f0d0e 100%);
  border: 1px solid rgba(236, 28, 36, 0.4);
  border-radius: 999px;
  box-shadow:
    0 0 0 1px rgba(236, 28, 36, 0.12),
    0 16px 32px -12px rgba(236, 28, 36, 0.45);
  white-space: nowrap;
  left: calc(var(--vs-step, 0) * (100% - 96px) / 5 + 20px);
  /* Progressive self-width shift: keeps the card's right edge inside the
     pipeline at the final steps (100% here = the card's own width). */
  transform: translateX(calc(var(--vs-step, 0) / 5 * (56px - 100%)));
  transition:
    left 0.9s cubic-bezier(0.25, 0.9, 0.3, 1.05),
    transform 0.9s cubic-bezier(0.25, 0.9, 0.3, 1.05);
}
.vs-rider-avatar {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  overflow: hidden;
  border: 2px solid #ec1c24;
  flex-shrink: 0;
}
.vs-rider-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.vs-rider-info {
  display: flex;
  flex-direction: column;
  gap: 1px;
}
.vs-rider-name {
  font-size: 11px;
  font-weight: 600;
  color: #fff;
}
.vs-rider-status {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #ec1c24;
  animation: vpFadeUp 0.35s ease;
}
@keyframes vpFadeUp {
  from {
    opacity: 0;
    transform: translateY(3px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.vs-scan-beam {
  position: absolute;
  inset: 0;
  border-radius: 999px;
  pointer-events: none;
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(236, 28, 36, 0.15) 40%,
    rgba(236, 28, 36, 0.3) 50%,
    rgba(236, 28, 36, 0.15) 60%,
    transparent 100%
  );
  background-size: 200% 100%;
  animation: vsScanBeam 1.4s ease-in-out infinite;
}
@keyframes vsScanBeam {
  from {
    background-position: -100% 0;
  }
  to {
    background-position: 200% 0;
  }
}
.vs-stations {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 0;
  position: relative;
  z-index: 5;
}
.vs-station {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  padding: 4px 0;
	 cursor: pointer;
}
.vs-station-post {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: #231f20;
  border: 2px solid rgba(255, 255, 255, 0.1);
  display: grid;
  place-items: center;
  color: rgba(255, 255, 255, 0.4);
  position: relative;
  transition: all 0.5s ease;
}
.vs-station-post svg {
  width: 26px;
  height: 26px;
}
.vs-station.is-past .vs-station-post {
  border-color: rgba(236, 28, 36, 0.45);
  color: #ec1c24;
  background: rgba(236, 28, 36, 0.06);
}
.vs-station.is-curr .vs-station-post {
  border-color: #ec1c24;
  color: #fff;
  background: rgba(236, 28, 36, 0.14);
  box-shadow:
    0 0 0 5px rgba(236, 28, 36, 0.12),
    0 0 20px rgba(236, 28, 36, 0.35);
}
.vs-station-seal {
  position: absolute;
  inset: -4px;
  border-radius: 50%;
  border: 2px solid #ec1c24;
  opacity: 0.4;
  animation: hdPulse 2.5s ease-in-out infinite;
}
.vs-station-label {
  font-size: 13px;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.6);
  text-align: center;
}
/* Phone-only inline copy of the step detail (shown ≤560px under the
   active station); desktop/tablet keep the bottom .vs-detail panel. */
.vs-station-inline-detail {
  display: none;
}

.vs-station.is-curr .vs-station-label {
  color: #fff;
  font-weight: 700;
}
.vs-station.is-past .vs-station-label {
  color: rgba(255, 255, 255, 0.75);
}
.vs-bottom {
  display: grid;
  grid-template-columns: 1fr 220px;
  gap: 32px;
  align-items: start;
}
.vs-detail {
  animation: vpAreaIn 0.35s ease;
}
.vs-detail-tag {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #ec1c24;
  margin-bottom: 14px;
}
.vs-detail-desc {
  font-size: 16px;
  line-height: 1.65;
  color: rgba(255, 255, 255, 0.78);
  margin-bottom: 20px;
}
.vs-detail-checks {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.vs-stamps {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 16px;
  padding: 24px 20px;
}
.vs-stamps-label {
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.65);
  margin-bottom: 14px;
}
.vs-stamps-row {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.vs-stamp {
  width: 42px;
  height: 42px;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  display: grid;
  place-items: center;
  color: rgba(255, 255, 255, 0.35);
  transition: all 0.4s ease;
}
.vs-stamp svg {
  width: 20px;
  height: 20px;
}
.vs-stamp.is-earned {
  background: rgba(236, 28, 36, 0.1);
  border-color: rgba(236, 28, 36, 0.35);
  color: #ec1c24;
  box-shadow: 0 0 8px rgba(236, 28, 36, 0.3);
}
.vs-approved-badge {
  margin-top: 14px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #ec1c24;
  background: rgba(236, 28, 36, 0.12);
  border: 1px solid rgba(236, 28, 36, 0.35);
  padding: 5px 10px;
  border-radius: 100px;
}
.vs-approved-badge svg {
  width: 12px;
  height: 12px;
}
@media (max-width: 900px) {
  .vs-bottom {
    grid-template-columns: 1fr;
  }
  .vs-rider {
    display: none;
  }
  .vs-pipeline {
    padding-top: 0;
  }
  .vs-stations {
    grid-template-columns: repeat(3, 1fr);
    row-gap: 16px;
  }
}
@media (max-width: 560px) {
  .vs-stations {
/*     grid-template-columns: repeat(2, 1fr); */
  }
  .hd-vetting {
    padding: 60px 20px;
  }
	/* Rider becomes a static pill at the top (hidden by the 900px rules).
     Stays position: relative so the absolute .vs-scan-beam anchors to the
     pill, not the pipeline. */
  .vs-rider {
    display: flex;
    position: relative;
    top: auto;
    left: auto;
    transform: none;
    width: fit-content;
    margin-bottom: 28px;
  }
  .vs-pipeline {
    padding: 0;
  }
  .vs-track {
    display: none;
  }
  /* Vertical timeline: icon circle left, title right. */
  .vs-stations {
    grid-template-columns: 1fr;
    row-gap: 32px;
    padding: 0 30px;
  }
  .vs-station {
    flex-direction: row;
    align-items: center;
    flex-wrap: wrap;
    gap: 20px;
    text-align: left;
    position: relative;
  }
  .vs-station.is-curr .vs-station-inline-detail {
    display: block;
    flex-basis: 100%;
    margin: 10px 0 0 0px;
    cursor: default;
  }
  .vs-bottom .vs-detail {
    display: none;
  }
  .vs-station-label {
    font-size: 15px;
    font-weight: 700;
    text-align: left;
  }
  /* Dotted connector between circles. */
  .vs-station:not(:last-child)::after {
    content: "";
    position: absolute;
    left: 27px;
    top: 64px;
    height: 24px;
    border-left: 2px dotted rgba(255, 255, 255, 0.18);
  }
}

/* ============================================================
   HD. Engagement Models (hd_engage)
   ============================================================ */
.hd-engage-v2 {
  background: #0a0a0a;
  padding: 90px 48px;
}
.hd-ev-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
  gap: 56px;
  margin-top: 64px;
  align-items: start;
}
.hd-ev-accordion {
  display: flex;
  flex-direction: column;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}
.hd-ev-row {
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}
.hd-ev-row-head {
  width: 100%;
  display: grid;
  grid-template-columns: 48px 1fr 36px;
  align-items: center;
  gap: 16px;
  padding: 24px 4px;
  background: none;
  border: 0;
  cursor: pointer;
  text-align: left;
  font-family: inherit;
  transition: padding 0.4s cubic-bezier(0.18, 1.2, 0.3, 1);
}
.hd-ev-row.is-open .hd-ev-row-head {
  padding-bottom: 18px;
}
/* WCAG AA contrast for this accordion's ordinals.
   Unlike the homepage equivalent (.engage-v3 .ev-row-num, 32px), this text is 13px —
   below the 18.66px-bold "large text" cutoff — so it needs 4.5:1, not 3:1. Both states
   were failing against the .hd-engage-v2 backdrop of #0a0a0a:
     inactive  rgba(255,255,255,.35) composites to #606060 = 3.15:1
     active    #ec1c24                                     = 4.49:1  (misses by 0.01)
   Raised to .50 (-> #848484, 5.29:1) and #ef2d34 (4.80:1). #ef2d34 is the smallest
   lift off the brand red that clears the threshold here, so the shift stays subtle.
   #ec1c24 is deliberately left untouched elsewhere: it only fails at this small size
   (it is 4.41:1 on white), and a global brand-red change is not warranted. */
.hd-ev-row-num {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.06em;
  color: rgba(255, 255, 255, 0.5);
  transition:
    color 0.45s ease,
    transform 0.45s ease;
}
.hd-ev-row.is-open .hd-ev-row-num {
  color: #ef2d34;
  transform: translateX(2px);
}
.hd-ev-row-head:hover .hd-ev-row-num {
  color: #ef2d34;
}
.hd-ev-row-title {
  font-size: 24px;
  line-height: 1.15;
  font-weight: 600;
  color: #fff;
  letter-spacing: -0.015em;
}
.hd-ev-row-chev {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.12);
  color: rgba(255, 255, 255, 0.5);
  transition:
    transform 0.5s cubic-bezier(0.34, 1.56, 0.64, 1),
    background 0.4s ease,
    color 0.4s ease,
    border-color 0.4s ease;
}
.hd-ev-row.is-open .hd-ev-row-chev {
  transform: rotate(180deg);
  background: #ec1c24;
  border-color: #ec1c24;
  color: #fff;
}
.hd-ev-row-body {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.55s cubic-bezier(0.18, 1.2, 0.3, 1);
}
.hd-ev-row.is-open .hd-ev-row-body {
  grid-template-rows: 1fr;
}
.hd-ev-row-body-inner {
  overflow: hidden;
  padding-left: 64px;
  padding-right: 4px;
}
.hd-ev-row.is-open .hd-ev-row-body-inner {
  padding-bottom: 28px;
}
.hd-ev-row-desc {
  color: rgba(255, 255, 255, 0.7);
  font-size: 15px;
  line-height: 1.6;
  margin-bottom: 18px;
  max-width: 480px;
}
.hd-ev-row-bullets {
  list-style: none;
  margin: 0 0 18px;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px 24px;
}
.hd-ev-row-bullets li {
  color: #fff;
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 13.5px;
  font-weight: 500;
}
.hd-ev-bullet-dot {
  flex: none;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #ec1c24;
}
.hd-ev-row-best {
  font-size: 13px;
  color: rgba(255, 255, 255, 0.55);
  margin-bottom: 18px;
  line-height: 1.5;
}
.hd-ev-row-best strong {
  color: rgba(255, 255, 255, 0.8);
}
.hd-ev-row-cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 18px;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 6px;
  color: #fff !important;
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
  cursor: pointer;
  font-family: inherit;
  transition:
    background 0.3s ease,
    transform 0.3s ease;
}
.hd-ev-row-cta:hover {
  background: #ec1c24;
  border-color: #ec1c24;
  transform: translateY(-1px);
}
.hd-ev-row-cta span {
  transition: transform 0.3s ease;
}
.hd-ev-row-cta:hover span {
  transform: translateX(3px);
}
.hd-ev-stage {
  position: sticky;
  top: 24px;
}
.hd-ev-stage-frame {
  position: relative;
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 20px;
  min-height: 400px;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  animation: hdEvFadeIn 0.5s ease;
}
@keyframes hdEvFadeIn {
  from {
    opacity: 0;
    transform: translateY(8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.hd-ev-stage-meta {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 16px 20px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}
.hd-ev-stage-num {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: #ec1c24;
}
.hd-ev-stage-title {
  color: #fff;
  font-size: 15px;
  font-weight: 600;
}
.hd-ev-svg {
  width: 100%;
  height: 100%;
  flex: 1;
  min-height: 320px;
  display: block;
}
.hd-ev-pop {
  animation: hdEvPop 0.5s ease forwards;
  animation-delay: var(--d, 0s);
}
@keyframes hdEvPop {
  from {
    opacity: 0;
    transform: scale(0.6);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}
.hd-ev-bar-fill {
  animation: hdEvBarGrow 1.2s ease forwards;
  animation-delay: 0.6s;
}
@keyframes hdEvBarGrow {
  from {
    width: 0;
  }
  to {
    width: 280px;
  }
}
@media (max-width: 1024px) {
  .hd-ev-layout {
    grid-template-columns: 1fr;
    gap: 32px;
  }
  .hd-ev-stage {
    position: static;
  }
}
@media (max-width: 640px) {
	
	/* Zoom the stage illustration — 480×320 viewBox renders too small on
     phone-width frames. Edge margins in the artwork absorb the crop. */
   
  .hd-ev-row-bullets {
    grid-template-columns: 1fr;
  }
  .hd-ev-row-body-inner {
    padding-left: 16px;
  }
  .hd-ev-row-head {
    grid-template-columns: 36px 1fr 32px;
    gap: 10px;
  }
  .hd-ev-row-title {
    font-size: 20px;
  }
  .hd-engage-v2 {
    padding: 60px 20px;
  }
}

/* ============================================================
   HD. Tech Stacks (hd_tech)
   ============================================================ */
.hd-tt2 {
  background: #111111;
  padding: 100px 48px;
}
.hd-tt2 .container {
  max-width: 1240px;
  margin: 0 auto;
}
.hd-tt2 .section-intro {
  margin-bottom: 0;
  flex: 1 1 480px;
  max-width: 620px;
  text-align: left;
}
.hd-tt2 .eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #ec1c24;
  margin-bottom: 16px;
}
.hd-tt2 .section-intro h2 {
  font-size: clamp(30px, 3.2vw, 44px);
  font-weight: 600;
  line-height: 1.1;
  letter-spacing: -0.02em;
  color: #fff;
  margin: 0;
}
.hd-tt2 .sv-tools-head > p {
  color: rgba(255, 255, 255, 0.6);
  font-size: 16px;
  line-height: 1.6;
  flex: 1 1 340px;
  max-width: 440px;
  text-align: left;
  margin: 0;
}
.hd-tt2 .sv-tools-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 40px;
  flex-wrap: wrap;
  margin-bottom: 36px;
}
.hd-tt2 .sv-tabs {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
  margin-bottom: 40px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  padding-bottom: 18px;
}
.hd-tt2 .sv-tab {
  font-family: inherit;
  font-size: 14px;
  font-weight: 500;
  color: rgba(255, 255, 255, 0.6);
  padding: 10px 18px;
  border-radius: 999px;
  border: 1px solid transparent;
  background: transparent;
  cursor: pointer;
  transition: all 0.2s ease;
}
.hd-tt2 .sv-tab:hover {
  color: #fff;
  border-color: rgba(255, 255, 255, 0.18);
}
.hd-tt2 .sv-tab.is-active {
  color: #fff;
  background: #ec1c24;
  border-color: #ec1c24;
}
.hd-tt2-cat-desc {
  color: rgba(255, 255, 255, 0.6);
  font-size: 15px;
  line-height: 1.6;
  max-width: 720px;
  margin: 0 0 28px;
  animation: svFade 0.4s ease both;
}
@keyframes svFade {
  from {
    opacity: 0;
    transform: translateY(8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.hd-tt2 .sv-tools-grid {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: 1fr;
  grid-template-columns: none;
  gap: 16px;
}
.hd-tt2 .sv-tool {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
  padding: 28px 14px 22px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.03);
  text-align: center;
  transition:
    transform 0.25s ease,
    border-color 0.25s ease,
    box-shadow 0.25s ease;
  animation: svFade 0.4s ease both;
}
.hd-tt2 .sv-tool:hover {
  transform: translateY(-4px);
  border-color: rgba(236, 28, 36, 0.4);
  box-shadow: 0 18px 40px -26px rgba(236, 28, 36, 0.55);
}

.hd-tt2 a.sv-tool,
.hd-tt2 a.sv-tool:hover {
  text-decoration: none;
  color: inherit;
}

.hd-tt2 .sv-tool-tile {
  width: 54px;
  height: 54px;
  border-radius: 14px;
  display: grid;
  place-items: center;
  font-weight: 700;
  font-size: 17px;
  letter-spacing: -0.02em;
}
.hd-tt2 .sv-tool-name {
  font-size: 13px;
  font-weight: 500;
  color: rgba(255, 255, 255, 0.85);
  line-height: 1.3;
}
@media (max-width: 1024px) {
  .hd-tt2 .sv-tools-grid {
    grid-auto-flow: row;
    grid-template-columns: repeat(4, 1fr);
    grid-auto-columns: auto;
  }
}
@media (max-width: 700px) {
  .hd-tt2 {
    padding: 72px 20px;
  }
}
@media (max-width: 640px) {
  .hd-tt2 .sv-tools-grid {
    grid-auto-flow: row;
    grid-template-columns: repeat(2, 1fr);
    grid-auto-columns: auto;
  }
}
.hd-tt2 .sv-tool-tile.has-icon {
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.12);
  padding: 6px;
}
.hd-tt2 .sv-tool-icon-img {
  width: 100%;
  height: 34px;
  object-fit: contain;
  border-radius: 0px;
  display: block;
}

/* ── HD. Why Hire With Us (hd_why) ─────────────────────────────── */
.hd-why {
  background: #0a0a0a;
  padding: 90px 48px;
}
.hd-why-stage {
  margin-top: 72px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr) minmax(0, 1fr);
  gap: 28px;
  align-items: center;
}
.hd-why-col {
  display: flex;
  flex-direction: column;
  gap: 18px;
}
.hd-why-card {
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 18px;
  padding: 26px 24px;
  transition: all 0.35s ease;
  cursor: pointer;
}
.hd-why-card:hover {
  border-color: rgba(236, 28, 36, 0.4);
  transform: translateY(-3px);
  box-shadow: 0 18px 40px -20px rgba(236, 28, 36, 0.35);
}
.hd-why-icon {
  width: 38px;
  height: 38px;
  border-radius: 10px;
  background: rgba(236, 28, 36, 0.1);
  border: 1px solid rgba(236, 28, 36, 0.25);
  display: grid;
  place-items: center;
  margin-bottom: 16px;
  transition: all 0.3s ease;
}
.hd-why-icon img {
  width: 18px;
  height: 18px;
  object-fit: contain;
  display: block;
  filter: brightness(0) invert(1);
  opacity: 0.85;
  transition: opacity 0.3s ease;
}
.hd-why-card:hover .hd-why-icon {
  background: rgba(236, 28, 36, 0.2);
  box-shadow: 0 0 12px rgba(236, 28, 36, 0.5);
}
.hd-why-card:hover .hd-why-icon img {
  opacity: 1;
}
.hd-why-card h4 {
  font-size: 17px;
  font-weight: 600;
  color: #fff;
  margin-bottom: 8px;
  letter-spacing: -0.01em;
  line-height: 1.3;
}
	 .hd-why-card h3 { 
  font-size: 17px;
  font-weight: 600;
  color: #fff;
  margin-bottom: 8px;
  letter-spacing: -0.01em;
  line-height: 1.3;
}
.hd-why-card p {
  font-size: 13.5px;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.6);
  margin: 0;
}
/* Center image column */
.hd-why-center {
  position: relative;
  aspect-ratio: 1 / 1.02;
  display: grid;
  place-items: center;
}
@keyframes hdWhySpin {
  to {
    transform: rotate(360deg);
  }
}
@keyframes hdWhySpinRev {
  to {
    transform: rotate(-360deg);
  }
}
.hd-why-ring {
  position: absolute;
  inset: 4%;
  border-radius: 50%;
  border: 1px dashed rgba(255, 255, 255, 0.1);
  animation: hdWhySpin 80s linear infinite;
  pointer-events: none;
}
.hd-why-ring.inner {
  inset: 14%;
  border-color: rgba(236, 28, 36, 0.15);
  animation: hdWhySpinRev 60s linear infinite;
}
.hd-why-mask {
  position: relative;
  width: 78%;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.12);
  box-shadow:
    0 0 80px rgba(236, 28, 36, 0.25),
    inset 0 0 60px rgba(236, 28, 36, 0.15);
}
.hd-why-mask > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  filter: grayscale(0.3) contrast(1.05) brightness(0.85);
}
.hd-why-mask::after {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle, transparent 40%, rgba(0, 0, 0, 0.5) 100%);
  pointer-events: none;
}
.hd-why-mask-logo {
  position: absolute;
  bottom: 16%;
  left: 50%;
  transform: translateX(-50%);
  background: rgba(0, 0, 0, 0.75);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  padding: 10px 20px;
  border-radius: 100px;
  border: 1px solid rgba(255, 255, 255, 0.15);
  z-index: 2;
  white-space: nowrap;
}
.hd-why-mask-logo img {
  height: 22px;
  width: auto;
  display: block;
}
/* Responsive */
@media (max-width: 1100px) {
  .hd-why {
    padding: 70px 32px;
  }
  .hd-why-stage {
    grid-template-columns: 1fr;
    gap: 48px;
  }
  .hd-why-col {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
  }
  .hd-why-center {
    order: -1;
    max-width: 360px;
    width: 100%;
    margin: 0 auto;
  }
}
@media (max-width: 640px) {
  .hd-why {
    padding: 60px 20px;
  }
  .hd-why-col {
    grid-template-columns: 1fr;
  }
  .hd-why-center {
    max-width: 300px;
  }
}

/* ── HD. Hiring Process (hd_process) ─────────────────────────── */
.hd-process {
  background: #111111;
  padding: 90px 48px;
}
/* Centered section header */
.hd-process-head {
  max-width: 720px;
  margin: 0 auto 64px;
  text-align: center;
}
.hd-process-head .hd-eyebrow {
  justify-content: center;
}
.hd-process-head .hd-h2,
.hd-process-head .hd-sub {
  margin-left: auto;
  margin-right: auto;
}
.hd-process-head .hd-sub {
  margin-top: 18px;
  color: rgba(255, 255, 255, 0.6);
}
/* Two-column layout */
.hd-process-ref-layout {
  display: grid;
  grid-template-columns: 420px 1fr;
  gap: 60px;
  align-items: center;
  max-width: 1200px;
  margin: 0 auto;
}
.hd-process-ref-left {
  display: flex;
  align-items: center;
  justify-content: center;
}
/* Orbit wrapper */
.hd-orbit-wrapper {
  position: relative;
  width: 420px;
  height: 420px;
  max-width: 100%;
}
.hd-orbit-svg {
  width: 100%;
  height: 100%;
  transition: transform 1.2s cubic-bezier(0.4, 0, 0.2, 1);
}
/* Orbit center circle */
.hd-orbit-center {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 175px;
  height: 175px;
  border-radius: 50%;
  background: #0a0a0a;
  border: 2px solid rgba(255, 255, 255, 0.1);
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow:
    0 0 0 14px rgba(17, 17, 17, 1),
    0 0 0 15px rgba(255, 255, 255, 0.04),
    0 0 60px 10px rgba(236, 28, 36, 0.06);
  z-index: 3;
}
.hd-orbit-center-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 0 18px;
  text-align: center;
}
.hd-orbit-center-step {
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #ec1c24;
}
.hd-orbit-center-title {
  font-size: 17px;
  font-weight: 700;
  color: #fff;
  letter-spacing: -0.01em;
  line-height: 1.2;
}
/* Steps list */
.hd-process-ref-right {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.hd-process-ref-step {
  display: grid;
  grid-template-columns: 70px 48px 1fr;
  gap: 0 16px;
  align-items: start;
  padding: 18px 16px;
  border-radius: 16px;
  cursor: pointer;
  transition: all 0.45s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
  opacity: 0.45;
}
.hd-process-ref-step.is-active {
  opacity: 1;
  background: rgba(255, 255, 255, 0.03);
  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.06);
}
.hd-process-ref-step.is-past {
  opacity: 0.6;
}
.hd-process-ref-step:not(.is-active):hover {
  opacity: 0.7;
}
/* Part label */
.hd-process-ref-part {
  font-size: 14px;
  font-weight: 500;
  color: rgba(255, 255, 255, 0.45);
  padding-top: 12px;
  transition: color 0.4s ease;
  white-space: nowrap;
}
.hd-process-ref-step.is-active .hd-process-ref-part {
  color: rgba(255, 255, 255, 0.7);
}
.hd-process-ref-step.is-past .hd-process-ref-part {
  color: #ec1c24;
}
/* Icon circle */
.hd-process-ref-icon {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: #1a1a1a;
  border: 1.5px solid rgba(255, 255, 255, 0.08);
  display: grid;
  place-items: center;
  margin-top: 4px;
  flex-shrink: 0;
  transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}
.hd-process-ref-icon img {
  width: 18px;
  height: 18px;
  object-fit: contain;
  display: block;
  filter: brightness(0) invert(1);
  opacity: 0.4;
  transition: opacity 0.5s ease;
}
.hd-process-ref-step.is-active .hd-process-ref-icon {
  background: #ec1c24;
  border-color: #ec1c24;
  transform: scale(1.15);
  box-shadow:
    0 0 0 5px rgba(236, 28, 36, 0.15),
    0 6px 20px -4px rgba(236, 28, 36, 0.5);
}
.hd-process-ref-step.is-active .hd-process-ref-icon img {
  opacity: 1;
}
.hd-process-ref-step.is-past .hd-process-ref-icon {
  background: #2a1518;
  border-color: rgba(236, 28, 36, 0.4);
}
.hd-process-ref-step.is-past .hd-process-ref-icon img {
  opacity: 0.7;
}
/* Content */
.hd-process-ref-content {
  padding-top: 2px;
  transition: transform 0.4s ease;
}
.hd-process-ref-step.is-active .hd-process-ref-content {
  transform: translateX(4px);
}
.hd-process-ref-title {
  font-size: 18px;
  font-weight: 700;
  color: rgba(255, 255, 255, 0.65);
  letter-spacing: -0.02em;
  line-height: 1.2;
  margin-bottom: 6px;
  transition:
    font-size 0.4s ease,
    color 0.4s ease;
}
.hd-process-ref-step.is-active .hd-process-ref-title {
  font-size: 20px;
  color: #fff;
}
.hd-process-ref-desc {
  font-size: 14px;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.5);
  max-width: 480px;
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  transition:
    max-height 0.5s cubic-bezier(0.4, 0, 0.2, 1),
    opacity 0.4s ease;
}
.hd-process-ref-step.is-active .hd-process-ref-desc {
  max-height: 120px;
  opacity: 1;
}
/* Responsive */
@media (max-width: 1100px) {
  .hd-process {
    padding: 70px 32px;
  }
  .hd-process-ref-layout {
    grid-template-columns: 1fr;
    gap: 48px;
  }
  .hd-orbit-wrapper {
    width: 320px;
    height: 320px;
  }
  .hd-process-ref-left {
    width: 100%;
  }
  .hd-orbit-center {
    width: 140px;
    height: 140px;
  }
  .hd-orbit-center-title {
    font-size: 14px;
  }
}
@media (max-width: 640px) {
  .hd-process {
    padding: 60px 20px;
  }
  .hd-orbit-wrapper {
    width: 260px;
    height: 260px;
  }
  .hd-orbit-center {
    width: 110px;
    height: 110px;
  }
  .hd-orbit-center-title {
    font-size: 12px;
  }
  .hd-process-ref-step {
    grid-template-columns: 48px 40px 1fr;
    gap: 0 10px;
  }
  .hd-process-ref-part {
    font-size: 12px;
  }
  .hd-process-head {
    margin-bottom: 40px;
  }
}

/* ── HD. Comparison (hd_compare) ──────────────────────────────────── */
.hd-compare {
  background: #0a0a0a;
  padding: 90px 48px;
}
.hd-compare-filters {
  margin-top: 36px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
}
.hd-chip {
  font-size: 13px;
  font-weight: 500;
  color: rgba(255, 255, 255, 0.65);
  background: #231f20;
  border: 1px solid rgba(255, 255, 255, 0.08);
  padding: 9px 16px;
  border-radius: 100px;
  cursor: pointer;
  transition: all 0.25s ease;
}
.hd-chip:hover {
  color: #fff;
  border-color: rgba(255, 255, 255, 0.14);
}
.hd-chip.active {
  background: #ec1c24;
  border-color: #ec1c24;
  color: #fff;
  box-shadow: 0 6px 20px -8px rgba(236, 28, 36, 0.6);
}
.hd-compare-table {
  margin-top: 36px;
  background: #231f20;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 22px;
  overflow: hidden;
  position: relative;
}
.hd-compare-row {
  display: grid;
  grid-template-columns: 1.1fr 1.4fr 1.2fr 1.2fr;
  align-items: stretch;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  transition: background 0.3s ease;
}
.hd-compare-row:last-child {
  border-bottom: 0;
}
.hd-compare-row.head {
  background: rgba(255, 255, 255, 0.02);
  font-size: 12px;
  letter-spacing: 0.02em;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.6);
}
.hd-compare-row:not(.head):hover {
  background: rgba(255, 255, 255, 0.03);
}
.hd-compare-cell {
  padding: 24px;
  font-size: 14.5px;
  line-height: 1.5;
  color: rgba(255, 255, 255, 0.78);
  border-right: 1px solid rgba(255, 255, 255, 0.08);
}
.hd-compare-cell:last-child {
  border-right: 0;
}
.hd-compare-cell.factor {
  font-weight: 600;
  color: #fff;
}
.hd-compare-cell.tb {
  background: linear-gradient(
    180deg,
    rgba(236, 28, 36, 0.06) 0%,
    rgba(236, 28, 36, 0.02) 100%
  );
  border-left: 1px solid rgba(236, 28, 36, 0.3);
  border-right: 1px solid rgba(236, 28, 36, 0.3);
  position: relative;
}
.hd-compare-row.head .hd-compare-cell.tb {
  background: linear-gradient(
    180deg,
    rgba(236, 28, 36, 0.12) 0%,
    rgba(236, 28, 36, 0.04) 100%
  );
  color: #fff;
}
.hd-mark {
  display: inline-block;
  width: 22px;
  text-align: center;
  font-weight: 700;
  margin-right: 6px;
}
.hd-mark.pos {
  color: #29d27d;
}
.hd-mark.neu {
  color: #ffb54d;
}
.hd-mark.neg {
  color: #ec1c24;
}
@media (max-width: 900px) {
  .hd-compare {
    padding: 70px 32px;
  }
  .hd-compare-row {
    grid-template-columns: 1fr;
  }
  .hd-compare-row.head {
    display: none;
  }
  .hd-compare-cell {
    border-right: 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    padding: 16px;
  }
  .hd-compare-cell::before {
    content: attr(data-col);
    display: block;
    font-size: 10px;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.45);
    margin-bottom: 6px;
    font-weight: 700;
  }
  .hd-compare-cell.factor::before {
    display: none;
  }
}
@media (max-width: 640px) {
  .hd-compare {
    padding: 60px 20px;
  }
}

/* ── HD. Industry Experts (hd_experts) ────────────────────────────── */
.hd-experts {
  background: #111111;
  padding: 90px 48px;
  position: relative;
  overflow: hidden;
}
.hd-experts-glow {
  position: absolute;
  pointer-events: none;
  width: 800px;
  height: 800px;
  left: 50%;
  top: 60%;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  background: radial-gradient(
    circle,
    rgba(236, 28, 36, 0.07) 0%,
    rgba(236, 28, 36, 0.02) 40%,
    transparent 65%
  );
}
.hd-strip {
  margin-top: 72px;
  display: flex;
  gap: 14px;
  height: 480px;
  align-items: stretch;
}
.hd-strip-card {
  flex: 0.55 1 0%;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 18px;
  overflow: hidden;
  cursor: pointer;
  transition:
    flex 0.6s cubic-bezier(0.4, 0, 0.2, 1),
    border-color 0.35s ease,
    box-shadow 0.35s ease,
    background 0.35s ease;
  display: flex;
  flex-direction: column;
  position: relative;
}
.hd-strip-card.is-active {
  flex: 2.2 1 0%;
  background: #0e1118;
  border-color: rgba(236, 28, 36, 0.35);
  flex-direction: row;
  box-shadow: 0 24px 64px -24px rgba(236, 28, 36, 0.2);
}
.hd-strip-card:not(.is-active):hover {
  border-color: rgba(255, 255, 255, 0.14);
  box-shadow: 0 16px 40px -20px rgba(0, 0, 0, 0.5);
}
.hd-strip-card-img {
  position: relative;
  overflow: hidden;
  background: #0a0d14;
  transition: all 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}
.hd-strip-card:not(.is-active) .hd-strip-card-img {
  height: 100%;
  flex: 1 1 0%;
  min-height: 0;
}
.hd-strip-card.is-active .hd-strip-card-img {
  width: 42%;
  flex-shrink: 0;
}
.hd-strip-card-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  display: block;
  transition:
    filter 0.6s ease,
    transform 0.8s ease;
}
.hd-strip-card:not(.is-active) .hd-strip-card-img img {
  filter: saturate(0.55) brightness(0.7);
}
.hd-strip-card.is-active .hd-strip-card-img img {
  filter: saturate(0.9) contrast(1.05);
}
.hd-strip-card:hover .hd-strip-card-img img {
  transform: scale(1.04);
}
.hd-strip-card-img-overlay {
  position: absolute;
  inset: 0;
  pointer-events: none;
  transition: opacity 0.4s ease;
}
.hd-strip-card.is-active .hd-strip-card-img-overlay {
  background:
    linear-gradient(180deg, transparent 40%, rgba(5, 7, 11, 0.45) 100%),
    linear-gradient(90deg, transparent 55%, rgba(14, 17, 24, 0.75) 100%);
}
.hd-strip-card:not(.is-active) .hd-strip-card-img-overlay {
  background: linear-gradient(
    180deg,
    transparent 30%,
    rgba(5, 7, 11, 0.7) 100%
  );
}
.hd-strip-card-indicator {
  position: absolute;
  top: 16px;
  left: 16px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #fff;
  background: rgba(0, 0, 0, 0.55);
  border: 1px solid rgba(236, 28, 36, 0.35);
  padding: 6px 12px;
  border-radius: 100px;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  z-index: 3;
  opacity: 0;
  transform: translateY(-6px);
  transition:
    opacity 0.35s ease 0.15s,
    transform 0.35s ease 0.15s;
}
.hd-strip-card.is-active .hd-strip-card-indicator {
  opacity: 1;
  transform: translateY(0);
}
.hd-strip-indicator-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #ec1c24;
  box-shadow: 0 0 10px rgba(236, 28, 36, 0.8);
  animation: hdExPulse 1.8s ease-in-out infinite;
}
@keyframes hdExPulse {
  0%,
  100% {
    opacity: 1;
    transform: scale(1);
  }
  50% {
    opacity: 0.6;
    transform: scale(1.3);
  }
}
.hd-strip-card-body {
  padding: 16px;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  gap: 0;
  transition: padding 0.6s cubic-bezier(0.4, 0, 0.2, 1);
  overflow: hidden;
  flex-shrink: 0;
}
.hd-strip-card.is-active .hd-strip-card-body {
  padding: 36px 32px;
  justify-content: center;
}
.hd-strip-card-reveal {
  display: flex;
  flex-direction: column;
  gap: 0;
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  transition:
    max-height 0.5s cubic-bezier(0.4, 0, 0.2, 1),
    opacity 0.4s ease;
}
.hd-strip-card.is-active .hd-strip-card-reveal {
  max-height: 400px;
  opacity: 1;
  transition:
    max-height 0.6s cubic-bezier(0.4, 0, 0.2, 1) 0.1s,
    opacity 0.45s ease 0.18s;
}
.hd-strip-card-title {
  font-weight: 600;
  color: #fff;
  letter-spacing: -0.01em;
  line-height: 1.2;
  transition: font-size 0.4s ease;
}
.hd-strip-card:not(.is-active) .hd-strip-card-title {
  font-size: 13px;
  color: rgba(255, 255, 255, 0.7);
  text-align: center;
}
.hd-strip-card.is-active .hd-strip-card-title {
  font-size: 24px;
  margin-bottom: 14px;
}
.hd-strip-card-divider {
  width: 40px;
  height: 2.5px;
  border-radius: 2px;
  background: #ec1c24;
  margin-bottom: 16px;
  box-shadow: 0 0 10px rgba(236, 28, 36, 0.4);
}
.hd-strip-card-desc {
  font-size: 14.5px;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.62);
  margin-bottom: 20px;
  max-width: 440px;
}
.hd-strip-card-contribs {
  list-style: none;
  padding: 0;
  margin: 0 0 22px 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.hd-strip-card-contribs li {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 13.5px;
  font-weight: 450;
  color: rgba(255, 255, 255, 0.78);
  line-height: 1.4;
}
.hd-strip-contrib-dot {
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: #ec1c24;
  flex-shrink: 0;
  box-shadow: 0 0 6px rgba(236, 28, 36, 0.45);
}
.hd-strip-card-cta {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 11px 20px;
  background: #ec1c24;
  color: #fff;
  border-radius: 10px;
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
  align-self: flex-start;
  transition: all 0.25s ease;
  box-shadow: 0 8px 24px -10px rgba(236, 28, 36, 0.5);
}
.hd-strip-card-cta:hover {
  background: #ff2e36;
  transform: translateY(-2px);
  box-shadow: 0 14px 36px -10px rgba(236, 28, 36, 0.7);
}
button.hd-strip-card-cta {
  border: none;
  font-family: inherit;
  cursor: pointer;
}
 .hd-strip-card.is-active .hd-strip-card-img {
    width: 38%;
  }
  .hd-strip-card.is-active .hd-strip-card-body {
    padding: 28px 24px;
	width: 62%;
  }
.hd-strip-card .hd-strip-card-body .hd-strip-card-reveal{
	transition: all ease-in-out 0.3s;
	opacity: 0
}
  .hd-strip-card.is-active .hd-strip-card-body .hd-strip-card-reveal {
	  opacity: 1;
  }
@media (min-width: 1025px) and (max-width: 1536px) {
  .hd-strip-card.is-active .hd-strip-card-img {
    width: 38%;
  }
  .hd-strip-card.is-active .hd-strip-card-body {
    padding: 28px 24px;
	width: 62%;
  }
  .hd-strip-card.is-active .hd-strip-card-title {
    font-size: 21px;
  }
  .hd-strip-card-desc {
    font-size: 14px;
  }
}

@media (max-width: 1100px) {
  .hd-experts {
    padding: 70px 32px;
  }
}
@media (max-width: 1024px) {
  .hd-strip {
    flex-direction: column;
    gap: 16px;
    height: auto;
  }
  .hd-strip-card {
    min-height: auto;
    flex-direction: column !important;
  }
  .hd-strip-card.is-active {
    flex: 1 1 auto;
  }
  .hd-strip-card.is-active .hd-strip-card-img {
    width: 100%;
    height: 280px;
  }
  .hd-strip-card:not(.is-active) .hd-strip-card-img {
    height: 38vh;
    flex: 0 0 auto;
  }
}
@media (max-width: 720px) {
  .hd-strip {
    gap: 12px;
    margin-top: 48px;
  }
  .hd-strip-card.is-active .hd-strip-card-img {
    height: 40vh;
  }
  .hd-strip-card.is-active .hd-strip-card-body {
    padding: 24px 20px;
  }
  .hd-strip-card.is-active .hd-strip-card-title {
    font-size: 20px;
  }
  .hd-strip-card-desc {
    font-size: 13.5px;
  }
}
@media (max-width: 640px) {
  .hd-experts {
    padding: 60px 20px;
  }
}

/* =========================================================
   Engineering Setup Advisor (.hd-advisor)
   ========================================================= */
.hd-advisor {
  background: #0a0a0a;
  padding: 100px 48px;
}
.hd-advisor-shell {
  margin-top: 64px;
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
  gap: 32px;
  align-items: stretch;
}
.hd-advisor-panel {
  background: #171717;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 22px;
  padding: 36px;
}
.hd-advisor-progress {
  display: flex;
  gap: 6px;
  margin-bottom: 28px;
}
.hd-advisor-progress span {
  flex: 1;
  height: 3px;
  border-radius: 2px;
  background: rgba(255, 255, 255, 0.1);
  transition: all 0.3s ease;
}
.hd-advisor-progress span.done {
  background: #ec1c24;
}
.hd-advisor-progress span.active {
  background: linear-gradient(90deg, #ec1c24, rgba(236, 28, 36, 0.3));
}

.hd-advisor-step-label {
  font-size: 12px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: #ec1c24;
  font-weight: 700;
  margin-bottom: 12px;
}
.hd-advisor-question {
  font-size: 26px;
  font-weight: 600;
  color: #fff;
  margin-bottom: 28px;
  letter-spacing: -0.015em;
  line-height: 1.2;
}
.hd-advisor-options {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.hd-advisor-option {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 20px;
  background: #1e1e1e;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 14px;
  font-size: 15px;
  font-weight: 500;
  color: rgba(255, 255, 255, 0.78);
  cursor: pointer;
  text-align: left;
  width: 100%;
  transition: all 0.25s ease;
}
.hd-advisor-option:hover {
  border-color: rgba(236, 28, 36, 0.4);
  color: #fff;
}
.hd-advisor-option.selected {
  background: linear-gradient(
    180deg,
    rgba(236, 28, 36, 0.12) 0%,
    rgba(236, 28, 36, 0.04) 100%
  );
  border-color: #ec1c24;
  color: #fff;
  box-shadow: 0 0 0 1px rgba(236, 28, 36, 0.25);
}
.hd-advisor-option-check {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  border: 1.5px solid rgba(255, 255, 255, 0.2);
  display: grid;
  place-items: center;
  flex-shrink: 0;
  transition: all 0.25s ease;
}
.hd-advisor-option.selected .hd-advisor-option-check {
  background: #ec1c24;
  border-color: #ec1c24;
}
.hd-advisor-option-check svg {
  width: 11px;
  height: 11px;
  color: #fff;
  opacity: 0;
}
.hd-advisor-option.selected .hd-advisor-option-check svg {
  opacity: 1;
}

.hd-advisor-other {
  margin-top: 8px;
  display: none;
}
.hd-advisor-other.is-visible {
  display: block;
}
.hd-advisor-other-label {
  display: block;
  font-size: 13px;
  color: rgba(255, 255, 255, 0.7);
  margin-bottom: 8px;
  font-weight: 500;
}
.hd-advisor-input {
  width: 100%;
  padding: 14px 16px;
  background: #1e1e1e;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 12px;
  color: #fff !important;
  font-family: inherit;
  font-size: 14.5px;
  transition: all 0.25s ease;
  resize: vertical;
  min-height: 70px;
  box-sizing: border-box;
}
.hd-advisor-input:focus {
  outline: none;
  border-color: #ec1c24;
  box-shadow: 0 0 0 3px rgba(236, 28, 36, 0.12);
}

.hd-advisor-nav {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 28px;
  padding-top: 24px;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}
.hd-advisor-back {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13.5px;
  color: rgba(255, 255, 255, 0.55);
  font-weight: 500;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
}
.hd-advisor-back:hover {
  color: #fff;
}
.hd-advisor-back:disabled {
  opacity: 0.3;
  cursor: default;
}
.hd-advisor-reset {
  font-size: 12.5px;
  color: rgba(255, 255, 255, 0.45);
  font-weight: 500;
  text-decoration: underline;
  text-underline-offset: 3px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
}
.hd-advisor-reset:hover {
  color: #ec1c24;
}
/* Tap target 24 px (WCAG 2.2 AA, fix plan #73/#130/#132): 6 px more hit area above and below; negative margin keeps the layout. */
.hd-advisor-back,
.hd-advisor-reset {
  padding-block: 6px;
  margin-block: -6px;
}

.hd-advisor-result {
  background: linear-gradient(180deg, #2c2425 0%, #15110f 100%);
  border: 1px solid rgba(236, 28, 36, 0.4);
  border-radius: 22px;
  padding: 44px 40px;
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  min-height: 480px;
}
.hd-advisor-result::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(
      60% 50% at 100% 0%,
      rgba(236, 28, 36, 0.2),
      transparent 60%
    ),
    radial-gradient(50% 40% at 0% 100%, rgba(12, 35, 64, 0.3), transparent 60%);
  pointer-events: none;
}
.hd-advisor-visual {
  position: absolute;
  inset: 0;
  border-radius: inherit;
  overflow: hidden;
  animation: hdAdvisorFadeIn 0.5s ease both;
}
@keyframes hdAdvisorFadeIn {
  from {
    opacity: 0;
    transform: scale(1.03);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}
.hd-advisor-visual-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  filter: saturate(0.75) brightness(0.6);
}
.hd-advisor-visual-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    180deg,
    transparent 0%,
    transparent 50%,
    rgba(10, 10, 10, 0.55) 72%,
    rgba(10, 10, 10, 0.92) 100%
  );
  pointer-events: none;
}
.hd-advisor-visual-content {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 32px;
  z-index: 2;
  text-align: left;
}
.hd-advisor-visual-caption {
  font-size: 22px;
  font-weight: 600;
  color: #fff;
  letter-spacing: -0.015em;
  line-height: 1.2;
  margin-bottom: 8px;
}
.hd-advisor-visual-sub {
  font-size: 14px;
  color: rgba(255, 255, 255, 0.65);
  line-height: 1.55;
  max-width: 340px;
}
.hd-advisor-result-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 11px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  font-weight: 700;
  color: #ec1c24;
  padding: 6px 12px;
  border-radius: 100px;
  background: rgba(236, 28, 36, 0.15);
  border: 1px solid rgba(236, 28, 36, 0.4);
  position: relative;
  z-index: 2;
  align-self: center;
  margin-bottom: 18px;
}
.hd-advisor-result-badge svg {
  width: 11px;
  height: 11px;
}
.hd-advisor-result-title {
  font-size: 30px;
  font-weight: 700;
  color: #fff;
  letter-spacing: -0.02em;
  margin-bottom: 14px;
  position: relative;
  z-index: 2;
}
.hd-advisor-result-desc {
  font-size: 15px;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.75);
  margin-bottom: 22px;
  max-width: 400px;
  position: relative;
  z-index: 2;
}
.hd-advisor-result-model {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  font-weight: 600;
  background: #ec1c24;
  color: #fff;
  padding: 8px 14px;
  border-radius: 100px;
  align-self: center;
  margin-bottom: 22px;
  position: relative;
  z-index: 2;
  box-shadow: 0 8px 24px -8px rgba(236, 28, 36, 0.6);
}
.hd-advisor-result-model svg {
  width: 13px;
  height: 13px;
}
.hd-advisor-result-fit-label {
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.55);
  margin-bottom: 12px;
  font-weight: 600;
  position: relative;
  z-index: 2;
}
.hd-advisor-result-fit {
  list-style: none;
  padding: 0;
  margin-bottom: 28px;
  position: relative;
  z-index: 2;
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
}
.hd-advisor-result-fit li {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 14px;
  color: rgba(255, 255, 255, 0.8);
  padding: 6px 0;
}
.hd-advisor-result-fit li svg {
  width: 14px;
  height: 14px;
  color: #29d27d;
  flex-shrink: 0;
}
.hd-advisor-result-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: center;
  position: relative;
  z-index: 2;
  margin-top: 8px;
}
.hd-advisor-result-actions .hd-btn {
  padding: 13px 22px;
  font-size: 14px;
}
@media (max-width: 1280px) {
  .hd-advisor-panel {
    padding: 30px;
  }
  .hd-advisor-question {
    font-size: 23px;
  }
  .hd-advisor-shell {
    gap: 24px;
  }
}

@media (max-width: 1024px) {
  .hd-advisor-shell {
    grid-template-columns: 1fr;
  }
  .hd-advisor-result {
    min-height: 340px;
    order: -1;
  }
}
@media (max-width: 640px) {
  .hd-advisor {
    padding: 60px 20px;
  }
  .hd-advisor-panel {
    padding: 24px 20px;
  }
  .hd-advisor-result {
    padding: 32px 24px;
  }
  .hd-advisor-question {
    font-size: 20px;
  }
  .hd-advisor-result-title {
    font-size: 24px;
  }
  .hd-advisor-shell {
    margin-top: 40px;
    gap: 20px;
  }
}

/* ==========================================================================
   Platform FAQs — dark theme variant (.platform-faqs.theme-dark)
   Background and text colors only; layout/spacing/animation unchanged.
   ========================================================================== */
.platform-faqs.theme-dark {
  background: #0a0a0a;
}
.platform-faqs.theme-dark .pfaq-h2 {
  color: #ffffff;
}
.platform-faqs.theme-dark .pfaq-desc {
  color: rgba(255, 255, 255, 0.7);
}
.platform-faqs.theme-dark .pfaq-item {
  background: #171717;
  border-color: rgba(255, 255, 255, 0.08);
}
.platform-faqs.theme-dark .pfaq-item:hover {
  border-color: rgba(255, 255, 255, 0.18);
}
.platform-faqs.theme-dark .pfaq-item.is-open {
  border-color: rgba(236, 28, 36, 0.45);
  box-shadow:
    0 0 0 1px rgba(236, 28, 36, 0.15),
    0 18px 40px -22px rgba(236, 28, 36, 0.35);
}
.platform-faqs.theme-dark .pfaq-q {
  color: #ffffff;
}
.platform-faqs.theme-dark .pfaq-q:hover {
  color: #ec1c24;
}
.platform-faqs.theme-dark .pfaq-icon {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.12);
  color: rgba(255, 255, 255, 0.7);
}
.platform-faqs.theme-dark .pfaq-item.is-open .pfaq-icon {
  background: #ec1c24;
  border-color: #ec1c24;
  color: #ffffff;
}
.platform-faqs.theme-dark .pfaq-a p,
.platform-faqs.theme-dark .pfaq-a ul,
.platform-faqs.theme-dark .pfaq-a ol {
  color: rgba(255, 255, 255, 0.7);
}
.platform-faqs.theme-dark .pfaq-a a {
  color: #ec1c24;
}

/* ==========================================================================
   Platform Blog — dark theme variant (.pblg-section.theme-dark)
   Background and text colors only; layout/spacing/hover effects unchanged.
   Matches HDBlog section in Claude Design (hire-developers).
   ========================================================================== */
.pblg-section.theme-dark {
  background: #000000;
}
.pblg-section.theme-dark .pblg-h2 {
  color: #ffffff;
}
.pblg-section.theme-dark .pblg-desc {
  color: rgba(255, 255, 255, 0.7);
}
.pblg-section.theme-dark .pblg-cta-btn {
  color: #ffffff;
  border-color: rgba(255, 255, 255, 0.4);
}
.pblg-section.theme-dark .pblg-cta-btn:hover {
  color: #ec1c24;
  border-color: #ec1c24;
}
.pblg-section.theme-dark .pblg-card {
  background: rgba(255, 255, 255, 0.03);
  border-color: rgba(255, 255, 255, 0.08);
}
.pblg-section.theme-dark .pblg-card:hover {
  border-color: rgba(236, 28, 36, 0.4);
  box-shadow: 0 30px 60px -34px rgba(236, 28, 36, 0.5);
}
.pblg-section.theme-dark .pblg-title {
  color: #ffffff;
}
.pblg-section.theme-dark .pblg-card:hover .pblg-title {
  color: #ec1c24;
}
.pblg-section.theme-dark .pblg-excerpt {
  color: rgba(255, 255, 255, 0.7);
}
.pblg-section.theme-dark .pblg-meta {
  color: rgba(255, 255, 255, 0.45);
}
.pblg-section.theme-dark .pblg-img-placeholder {
  background: rgba(255, 255, 255, 0.05);
}

/* ═══════════════════════════════════════════════════════════════════════════
   HD — Hire Developer Contact Form  (.hd-form)
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── Section ──────────────────────────────────────────────────────────────── */
.hd-form {
  position: relative;
  overflow: hidden;
  background: #111111;
  padding: 90px 48px;
}

.hd-form::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(
      800px 600px at 80% 50%,
      rgba(236, 28, 36, 0.15),
      transparent 65%
    ),
    radial-gradient(
      600px 400px at 0% 0%,
      rgba(12, 35, 64, 0.45),
      transparent 70%
    ),
    #111111;
  pointer-events: none;
}

/* ── Watermark ────────────────────────────────────────────────────────────── */
.hd-form-watermark {
  position: absolute;
  right: -50px;
  bottom: -100px;
  width: 720px;
  opacity: 1;
  pointer-events: none;
}

/* ── Shell (two-col grid) ─────────────────────────────────────────────────── */
.hd-form-shell {
  position: relative;
  z-index: 2;
  max-width: 1440px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
  gap: 64px;
  align-items: center;
}

/* ── Left panel ───────────────────────────────────────────────────────────── */
.hd-form-left .hd-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: #ec1c24;
  margin-bottom: 22px;
}

.hd-form-left .hd-eyebrow::before {
  content: "";
  width: 18px;
  height: 1px;
  background: #ec1c24;
  flex-shrink: 0;
}

.hd-form-left h2 {
  font-family: "Outfit", system-ui, sans-serif;
  font-size: clamp(36px, 4.2vw, 60px);
  font-weight: 700;
  letter-spacing: -0.025em;
  color: #fff;
  line-height: 1.05;
  margin-bottom: 20px;
}

.hd-form-left p {
  font-size: 18px;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.7);
  margin-bottom: 32px;
  max-width: 480px;
}

/* ── Trust items ──────────────────────────────────────────────────────────── */
.hd-form-trust {
  display: flex;
  flex-direction: column;
  gap: 14px;
  margin-bottom: 36px;
}

.hd-form-trust-item {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 14.5px;
  color: rgba(255, 255, 255, 0.85);
  font-weight: 500;
}

.hd-form-trust-item svg {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
}

/* ── CTA button (secondary) ───────────────────────────────────────────────── */
.hd-form-left .hd-btn-secondary {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 15px 26px;
  border-radius: 10px;
  font-size: 15px;
  font-weight: 500;
  letter-spacing: 0.005em;
  border: 1px solid #fff;
  background: transparent;
  color: #fff;
  text-decoration: none;
  cursor: pointer;
  transition: all 0.25s ease;
  font-family: inherit;
}

.hd-form-left .hd-btn-secondary:hover {
  background: #fff;
  color: #000;
  box-shadow: 0 10px 30px -14px rgba(255, 255, 255, 0.3);
  transform: translateY(-2px);
}

/* ── Form card (right) ────────────────────────────────────────────────────── */
.hd-form-card {
  background: linear-gradient(180deg, #1f1b1c 0%, #15110f 100%);
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 24px;
  padding: 40px;
  box-shadow:
    0 0 0 1px rgba(236, 28, 36, 0.1),
    0 40px 80px -40px rgba(236, 28, 36, 0.5);
}

/* ── Form inner ───────────────────────────────────────────────────────────── */
.hd-form-inner {
  display: block;
}

/* ── Rows ─────────────────────────────────────────────────────────────────── */
.hd-form-row {
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
  margin-bottom: 16px;
}

.hd-form-row.two {
  grid-template-columns: 1fr 1fr;
}

/* ── Field ────────────────────────────────────────────────────────────────── */
.hd-form-field {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.hd-form-field label {
  font-size: 13px;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.7);
  letter-spacing: 0.01em;
}

.hd-form-req {
  color: #ec1c24;
  margin-left: 2px;
}

.hd-form-field input,
.hd-form-field select,
.hd-form-field textarea {
  background: rgba(0, 0, 0, 0.4);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 12px;
  padding: 14px 16px;
  color: #fff !important;
  font-family: inherit;
  font-size: 14.5px;
  transition: all 0.25s ease;
  width: 100%;
  box-sizing: border-box;
}

.hd-form-field input::placeholder,
.hd-form-field textarea::placeholder {
  color: rgba(255, 255, 255, 0.35);
}

.hd-form-field input:focus,
.hd-form-field select:focus,
.hd-form-field textarea:focus {
  outline: none;
  border-color: #ec1c24;
  box-shadow: 0 0 0 3px rgba(236, 28, 36, 0.12);
}

.hd-form-field select {
  appearance: none;
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 14px center;
  padding-right: 40px;
  background-color: rgba(0, 0, 0, 0.4);
}

.hd-form-field select option {
  background: #1a1718;
  color: #fff;
}

.hd-form-field textarea {
  resize: vertical;
  min-height: 120px;
}

/* ── Phone wrapper (iti overrides) ───────────────────────────────────────── */
.hd-form-phone {
  position: relative;
}

.hd-form-phone .iti {
  width: 100%;
}

.hd-form-phone .iti__flag-container {
  border-right: 1px solid rgba(255, 255, 255, 0.12);
}

.hd-form-phone .iti__selected-flag {
  background: transparent;
  padding: 0 10px;
}

.hd-form-phone input[type="tel"] {
  padding-left: 90px;
}

/* ── Submit button ────────────────────────────────────────────────────────── */
.hd-form-submit {
  margin-top: 8px;
  width: 100%;
  padding: 16px;
  border-radius: 12px;
  background: #ec1c24;
  color: #fff;
  font-size: 15.5px;
  font-weight: 600;
  border: none;
  cursor: pointer;
  transition: all 0.25s ease;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  font-family: inherit;
}

.hd-form-submit:hover {
  background: #ff2e36;
  transform: translateY(-2px);
  box-shadow: 0 16px 36px -12px rgba(236, 28, 36, 0.6);
}

.hd-form-submit:disabled,
.hd-form-submit.is-loading {
  opacity: 0.6;
  cursor: not-allowed;
  transform: none;
  box-shadow: none;
}

/* ── Micro text ───────────────────────────────────────────────────────────── */
.hd-form-micro {
  margin-top: 14px;
  font-size: 12.5px;
  color: rgba(255, 255, 255, 0.5);
  text-align: center;
}

/* ── Message box ──────────────────────────────────────────────────────────── */
.hd-form-msg {
  font-size: 13px;
  padding: 10px 14px;
  border-radius: 8px;
  line-height: 1.5;
  margin-bottom: 8px;
}

.hd-form-msg--error {
  background: rgba(236, 28, 36, 0.12);
  border: 1px solid rgba(236, 28, 36, 0.3);
  color: #f87171;
}

.hd-form-msg--success {
  background: rgba(41, 210, 125, 0.1);
  border: 1px solid rgba(41, 210, 125, 0.3);
  color: #4ade80;
}

/* ── Success state ────────────────────────────────────────────────────────── */
.hd-form-success {
  background: rgba(41, 210, 125, 0.1);
  border: 1px solid rgba(41, 210, 125, 0.4);
  border-radius: 14px;
  padding: 36px 24px;
  text-align: center;
  color: #fff;
}

.hd-form-success-icon {
  width: 56px;
  height: 56px;
  margin: 0 auto 18px;
  border-radius: 50%;
  background: rgba(41, 210, 125, 0.18);
  border: 1px solid rgba(41, 210, 125, 0.5);
  display: grid;
  place-items: center;
}

.hd-form-success-icon svg {
  width: 28px;
  height: 28px;
  color: #29d27d;
}

.hd-form-success h4 {
  font-size: 20px;
  font-weight: 600;
  margin-bottom: 8px;
  color: #fff;
}

.hd-form-success p {
  font-size: 14.5px;
  color: rgba(255, 255, 255, 0.7);
  line-height: 1.55;
  margin: 0;
}

/* ── Responsive ───────────────────────────────────────────────────────────── */
@media (max-width: 1024px) {
  .hd-form-shell {
    grid-template-columns: 1fr;
    gap: 40px;
  }
}

@media (max-width: 720px) {
  .hd-form {
    padding: 80px 20px;
  }

  .hd-form-card {
     padding: 15px 15px;
  }

  .hd-form-row.two {
    grid-template-columns: 1fr;
  }
}

/* ═══════════════════════════════════════════════════════════════════════════
   Service Hero Banner  (.sv-hero)
   Pixel-perfect match of Claude Design SvHero + SvServiceCircleViz.
   2-column: LEFT (hero content) | RIGHT (circle disc + radial chip items)
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── Section ─────────────────────────────────────────────────────────────── */
.sv-hero {
  background: #0a0a0b;
  color: #ffffff;
  position: relative;
  overflow: hidden;
  min-height: 760px;
  padding: 0 48px;
  border-bottom: 1px solid #1a1a1d;
}

/* Radial gradient + pixel-dot particle overlay (matches .hero-network::before) */
.sv-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(
      900px 600px at 78% 50%,
      rgba(236, 28, 36, 0.1),
      transparent 60%
    ),
    radial-gradient(
      700px 500px at 20% 0%,
      rgba(24, 95, 165, 0.06),
      transparent 70%
    ),
    radial-gradient(
      2.5px 2.5px at 8% 18%,
      rgba(255, 90, 90, 0.85),
      transparent 60%
    ),
    radial-gradient(
      2px 2px at 22% 82%,
      rgba(255, 90, 90, 0.75),
      transparent 60%
    ),
    radial-gradient(
      3px 3px at 36% 12%,
      rgba(255, 110, 110, 0.7),
      transparent 60%
    ),
    radial-gradient(
      2px 2px at 48% 68%,
      rgba(255, 80, 80, 0.8),
      transparent 60%
    ),
    radial-gradient(
      2.5px 2.5px at 62% 26%,
      rgba(255, 100, 100, 0.7),
      transparent 60%
    ),
    radial-gradient(
      2px 2px at 74% 88%,
      rgba(255, 90, 90, 0.85),
      transparent 60%
    ),
    radial-gradient(
      3px 3px at 84% 38%,
      rgba(255, 110, 110, 0.75),
      transparent 60%
    ),
    radial-gradient(
      2px 2px at 92% 72%,
      rgba(255, 90, 90, 0.7),
      transparent 60%
    ),
    radial-gradient(
      2.5px 2.5px at 14% 56%,
      rgba(255, 100, 100, 0.65),
      transparent 60%
    ),
    radial-gradient(2px 2px at 56% 8%, rgba(255, 90, 90, 0.7), transparent 60%),
    radial-gradient(
      2px 2px at 68% 60%,
      rgba(255, 110, 110, 0.6),
      transparent 60%
    ),
    radial-gradient(
      2.5px 2.5px at 30% 40%,
      rgba(255, 90, 90, 0.55),
      transparent 60%
    );
  pointer-events: none;
  z-index: 1;
}

/* Left-side darkening overlay for text legibility over the visual */
.sv-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(
      90deg,
      rgba(10, 10, 11, 0.92) 0%,
      rgba(10, 10, 11, 0.78) 22%,
      rgba(10, 10, 11, 0.45) 42%,
      rgba(10, 10, 11, 0.1) 60%,
      rgba(10, 10, 11, 0) 75%
    ),
    linear-gradient(
      180deg,
      rgba(10, 10, 11, 0.55) 0%,
      rgba(10, 10, 11, 0) 22%,
      rgba(10, 10, 11, 0) 78%,
      rgba(10, 10, 11, 0.7) 100%
    );
  pointer-events: none;
  z-index: 2;
}

/* Optional decorative background image */
.sv-hero-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  opacity: 0.12;
  pointer-events: none;
  z-index: 0;
}

/* ── 2-column grid shell ──────────────────────────────────────────────────── */
.sv-hero-wrap {
  max-width: 1280px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
  gap: 60px;
  align-items: center;
  min-height: 760px;
  padding: 80px 0 60px;
  position: relative;
  z-index: 3;
}

/* ── LEFT column: hero content ───────────────────────────────────────────── */
.sv-hero-content {
  max-width: 620px;
  position: relative;
  z-index: 4;
}

/* Eyebrow */
.sv-hero-eyebrow {
  color: rgba(255, 255, 255, 0.6);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 32px;
}

.sv-hero-eyebrow-dot {
  width: 6px;
  height: 6px;
  background: #ec1c24;
  border-radius: 50%;
  display: inline-block;
  box-shadow: 0 0 12px rgba(236, 28, 36, 0.6);
  animation: svHeroDotPulse 1.6s ease-in-out infinite;
  flex-shrink: 0;
}

@keyframes svHeroDotPulse {
  0%,
  100% {
    opacity: 1;
  }
  50% {
    opacity: 0.4;
  }
}

/* H1 heading */
.sv-hero-h1 {
  font-family: "Outfit", system-ui, sans-serif;
  color: #ffffff;
  font-size: clamp(40px, 5vw, 76px);
  font-weight: 600;
  letter-spacing: -0.035em;
  line-height: 1.02;
  margin-bottom: 28px;
  max-width: 14ch;
  text-wrap: balance;
}

.sv-hero-accent {
  color: #ec1c24;
}

/* Sub-paragraph */
.sv-hero-sub {
  font-family: "Outfit", system-ui, sans-serif;
  font-size: 18px;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.72);
  max-width: 540px;
  margin-bottom: 36px;
}

/* Button row */
.sv-hero-actions {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  margin-bottom: 56px;
}

/* Button base — matches .btn from Claude Design styles.css */
.sv-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 172px;
  height: 56px;
  padding: 0 16px;
  border-radius: 5px;
  font-family: "Outfit", system-ui, sans-serif;
  font-weight: 500;
  font-size: 14px;
  letter-spacing: 0.01em;
  line-height: 1;
  transition: all 0.25s ease;
  cursor: pointer;
  border: 1.5px solid transparent;
  white-space: nowrap;
  text-decoration: none;
}

.sv-btn-primary {
  background: #ec1c24;
  color: #ffffff;
  border-color: #ec1c24;
}

.sv-btn-primary:hover {
  background: #ec1c24;
  transform: translateY(-2px);
  box-shadow:
    0 0 0 4px rgba(236, 28, 36, 0.18),
    0 16px 34px -10px rgba(236, 28, 36, 0.55);
  color: #ffffff;
  text-decoration: none;
}

.sv-btn-primary:hover,
.sv-btn-primary:focus,
.sv-btn-primary:active {
  border-color: #ec1c24;
  outline: none;
}

.sv-btn-primary:focus-visible {
  outline: none;
  box-shadow: 0 0 0 4px rgba(236, 28, 36, 0.35);
}

.sv-btn-ghost-light {
  background: transparent;
  color: #ffffff;
  border-color: #ffffff;
}

.sv-btn-ghost-light:hover {
  background: #ffffff;
  color: #0a0a0b;
  border-color: #ffffff;
  text-decoration: none;
}

/* ── RIGHT column: visual container ─────────────────────────────────────── */
.sv-hero-visual {
  position: relative;
  height: 560px;
  width: 100%;
  display: grid;
  place-items: center;
  pointer-events: none;
}

.sv-hero-visual.sv-anim-circle {
  pointer-events: auto;
  overflow: visible;
}

/* ══════════════════════════════════════════════════════════════════════════
   SvServiceCircleViz — exact port of Claude Design SvServiceCircleViz
   ══════════════════════════════════════════════════════════════════════════ */

/* Wrapper fills the .sv-hero-visual container */
.sv-svc {
  position: absolute;
  inset: 0;
  --svc-d: 520px;
  --svc-r: 290px;
}

/* Particle canvas fills background */
.sv-svc-particles {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  pointer-events: none;
}

/* Orbit wrapper — circle pushed to the right edge (partially off-viewport intentionally) */
.sv-svc-orbit {
  position: absolute;
  width: var(--svc-d);
  height: var(--svc-d);
  right: -190px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 1;
}

/* Central circular disc */
.sv-svc-disc {
  position: absolute;
  inset: 0;
  border-radius: 50%;
  overflow: hidden;
  background: radial-gradient(
    70% 70% at 50% 45%,
    #14070a 0%,
    #0a0506 60%,
    #060304 100%
  );
  box-shadow:
    0 30px 80px -30px rgba(0, 0, 0, 0.85),
    inset 0 0 0 1px rgba(255, 255, 255, 0.08);
  animation: svcDiscIn 1s cubic-bezier(0.2, 0.8, 0.2, 1) both;
}

/* Plexus network canvas — fills the disc */
.sv-svc-plexus {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
}

/* Optional hero image inside the disc */
.sv-svc-disc img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transform: scale(1.05);
}

/* Dark tint + left red glow overlay on disc */
.sv-svc-disc-tint {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(
      120% 100% at 78% 50%,
      rgba(10, 10, 11, 0) 45%,
      rgba(10, 10, 11, 0.55) 100%
    ),
    radial-gradient(
      60% 55% at 30% 32%,
      rgba(236, 28, 36, 0.16),
      transparent 72%
    );
}

/* Spinning conic sheen over the disc */
.sv-svc-disc-sheen {
  position: absolute;
  inset: -25%;
  background: conic-gradient(
    from 0deg,
    transparent 0 70%,
    rgba(255, 255, 255, 0.08) 82%,
    transparent 92%
  );
  animation: svcSpin 18s linear infinite;
}

/* Prominent outer red glow (animated pulse) */
.sv-svc-orbit::before {
  content: "";
  position: absolute;
  inset: -16%;
  border-radius: 50%;
  background: radial-gradient(
    circle,
    rgba(236, 28, 36, 0.55) 0%,
    rgba(236, 28, 36, 0.28) 42%,
    rgba(236, 28, 36, 0) 72%
  );
  filter: blur(26px);
  z-index: -1;
  pointer-events: none;
  animation: svcGlowPulse 5.5s ease-in-out infinite;
}

@keyframes svcGlowPulse {
  0%,
  100% {
    opacity: 0.7;
    transform: scale(1);
  }
  50% {
    opacity: 1;
    transform: scale(1.05);
  }
}

/* Rings */
.sv-svc-ring {
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
}
.sv-svc-ring.ring-solid {
  inset: -3px;
  border: 1px solid rgba(255, 255, 255, 0.16);
}
.sv-svc-ring.ring-dash {
  inset: -30px;
  border: 1px dashed rgba(236, 28, 36, 0.32);
  animation: svcSpin 70s linear infinite;
}

/* ── Radial chip positioning ─────────────────────────────────────────────
 * Each .sv-svc-chip-pos is centered at the orbit centre (top:50%;left:50%;w:0;h:0),
 * rotated by --chip-a, translated outward by --svc-r, then counter-rotated so the
 * chip stays upright. Mirrors React: `rotate(${s.a}deg) translateX(var(--svc-r)) rotate(${-s.a}deg)`
 */
.sv-svc-chip-pos {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0;
  height: 0;
  transform: rotate(var(--chip-a)) translateX(var(--svc-r))
    rotate(calc(-1 * var(--chip-a)));
}

/* Chip card — centred on the chip-pos anchor point */
.sv-svc-chip {
  position: absolute;
  top: 0;
  left: 0;
  transform: translate(-50%, -50%);
  animation: svcChipIn 0.6s ease both;
}

/* Per-chip fade-in stagger (chip-pos elements are children 4+ inside .sv-svc-orbit:
   child 1 = .sv-svc-disc, child 2 = .ring-solid, child 3 = .ring-dash) */
.sv-svc-orbit > .sv-svc-chip-pos:nth-child(4) .sv-svc-chip {
  animation-delay: 0.2s;
}
.sv-svc-orbit > .sv-svc-chip-pos:nth-child(5) .sv-svc-chip {
  animation-delay: 0.3s;
}
.sv-svc-orbit > .sv-svc-chip-pos:nth-child(6) .sv-svc-chip {
  animation-delay: 0.4s;
}
.sv-svc-orbit > .sv-svc-chip-pos:nth-child(7) .sv-svc-chip {
  animation-delay: 0.5s;
}
.sv-svc-orbit > .sv-svc-chip-pos:nth-child(8) .sv-svc-chip {
  animation-delay: 0.6s;
}
.sv-svc-orbit > .sv-svc-chip-pos:nth-child(9) .sv-svc-chip {
  animation-delay: 0.7s;
}
.sv-svc-orbit > .sv-svc-chip-pos:nth-child(10) .sv-svc-chip {
  animation-delay: 0.8s;
}

/* Circular icon button */
.sv-svc-chip-ic {
  display: grid;
  place-items: center;
  width: 68px;
  height: 68px;
  border-radius: 50%;
  background: rgba(18, 22, 30, 0.78);
  border: 1px solid rgba(255, 255, 255, 0.14);
  color: #ffffff;
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  box-shadow: 0 10px 26px -12px rgba(0, 0, 0, 0.8);
  animation: svcFloat 5s ease-in-out infinite;
  transition:
    transform 0.3s ease,
    border-color 0.3s ease,
    background 0.3s ease,
    box-shadow 0.3s ease;
  overflow: hidden;
}

.sv-svc-chip-ic svg {
  width: 30px;
  height: 30px;
  stroke-width: 1.7;
}
.sv-svc-chip-ic img {
  width: 30px;
  height: 30px;
  object-fit: contain;
}

/* Per-chip float stagger */
.sv-svc-orbit > .sv-svc-chip-pos:nth-child(4) .sv-svc-chip-ic {
  animation-delay: 0s;
}
.sv-svc-orbit > .sv-svc-chip-pos:nth-child(5) .sv-svc-chip-ic {
  animation-delay: 0.7s;
}
.sv-svc-orbit > .sv-svc-chip-pos:nth-child(6) .sv-svc-chip-ic {
  animation-delay: 1.4s;
}
.sv-svc-orbit > .sv-svc-chip-pos:nth-child(7) .sv-svc-chip-ic {
  animation-delay: 2.1s;
}
.sv-svc-orbit > .sv-svc-chip-pos:nth-child(8) .sv-svc-chip-ic {
  animation-delay: 2.8s;
}
.sv-svc-orbit > .sv-svc-chip-pos:nth-child(9) .sv-svc-chip-ic {
  animation-delay: 3.5s;
}
.sv-svc-orbit > .sv-svc-chip-pos:nth-child(10) .sv-svc-chip-ic {
  animation-delay: 4.2s;
}

/* Chip label — positioned to the LEFT of the icon (text points inward into viewport) */
.sv-svc-chip-label {
  position: absolute;
  right: calc(100% + 14px);
  top: 50%;
  transform: translateY(-50%);
  width: max-content;
  max-width: 168px;
  text-align: right;
  white-space: normal;
  line-height: 1.25;
  font-family: "Outfit", system-ui, sans-serif;
  font-size: 13.5px;
  font-weight: 600;
  letter-spacing: -0.01em;
  color: rgba(255, 255, 255, 0.92);
  text-shadow: 0 2px 12px rgba(0, 0, 0, 0.85);
}

/* Hover effects */
.sv-svc-chip:hover .sv-svc-chip-ic {
  transform: scale(1.12);
  border-color: rgba(236, 28, 36, 0.7);
  background: rgba(236, 28, 36, 0.16);
  box-shadow: 0 14px 30px -10px rgba(236, 28, 36, 0.5);
}
.sv-svc-chip:hover .sv-svc-chip-label {
  color: #ffffff;
}

/* Keyframes */
@keyframes svcSpin {
  to {
    transform: rotate(360deg);
  }
}
@keyframes svcFloat {
  0%,
  100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-7px);
  }
}
@keyframes svcChipIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes svcDiscIn {
  from {
    opacity: 0;
    transform: scale(0.92);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}

/* ── Responsive ──────────────────────────────────────────────────────────── */

@media (prefers-reduced-motion: reduce) {
  .sv-svc-disc-sheen,
  .sv-svc-ring.ring-dash,
  .sv-svc-chip-ic,
  .sv-hero-eyebrow-dot {
    animation: none;
  }
}

@media (max-width: 1100px) {
  .sv-hero-wrap {
    grid-template-columns: 1fr;
    gap: 24px;
    padding: 60px 0;
    min-height: auto;
  }

  .sv-hero {
    min-height: auto;
    padding-top: 60px;
    padding-bottom: 60px;
  }

  .sv-hero-visual {
    height: 380px;
  }
  .sv-svc {
    --svc-d: 420px;
    --svc-r: 232px;
  }
  .sv-svc-orbit {
    right: -120px;
  }
  .sv-svc-chip-ic {
    width: 56px;
    height: 56px;
  }
  .sv-svc-chip-ic svg {
    width: 24px;
    height: 24px;
  }
  .sv-svc-chip-label {
    max-width: 130px;
    font-size: 12.5px;
  }
}

@media (max-width: 760px) {
  .sv-hero {
    padding-left: 24px;
    padding-right: 24px;
  }
  .sv-hero-visual {
    display: none;
  }
  .sv-hero-h1 {
    font-size: clamp(36px, 8vw, 56px);
  }
}

@media (max-width: 480px) {
  .sv-btn {
    width: 100%;
  }
  .sv-hero-actions {
    flex-direction: column;
  }
}

/* ═══════════════════════════════════════════════════════════════════════════
   Service — Track Record  (.sv-results)
   Matches Claude Design TrackRecord + SvCounter exactly.
   ═══════════════════════════════════════════════════════════════════════════ */

.sv-results {
  background: #ffffff;
  padding: clamp(72px, 9vw, 130px) 0;
}

.sv-results-inner {
  text-align: center;
}

/* Eyebrow (component-specific — avoids global .eyebrow suppression) */
.sv-results-eyebrow {
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #ec1c24;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin-bottom: 20px;
}

.sv-results-eyebrow::before {
  content: "";
  width: 24px;
  height: 1px;
  background: #ec1c24;
  display: inline-block;
}

/* Section heading */
.sv-results-h2 {
  font-family: "Outfit", system-ui, sans-serif;
  font-size: clamp(32px, 4vw, 60px);
  font-weight: 600;
  letter-spacing: -0.025em;
  line-height: 1.06;
  color: #0c2340;
  margin: 16px auto 0;
}

/* Sub-paragraph */
.sv-results-sub {
  font-size: clamp(15px, 1.2vw, 18px);
  line-height: 1.6;
  color: #4a4845;
  max-width: 680px;
  margin: 18px auto 0;
}

/* Metrics row */
.sv-metrics {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  margin: 64px auto 0;
  max-width: 1080px;
}

.page-slug-hire-dedicated-team .sv-metrics{
    max-width : unset !important;
}


/* Individual metric cell */
.sv-metric {
  flex: 1;
  text-align: center;
  position: relative;
  padding: 0 36px;
}

/* Vertical separator line between cells */
.sv-metric + .sv-metric::before {
  content: "";
  position: absolute;
  left: 0;
  top: 6px;
  bottom: 6px;
  width: 1px;
  background: linear-gradient(
    180deg,
    transparent 0%,
    #e8e5e0 25%,
    #e8e5e0 75%,
    transparent 100%
  );
}

/* Animated number */
.sv-metric-value {
  font-family: "Outfit", system-ui, sans-serif;
  font-size: clamp(44px, 4.8vw, 64px);
  font-weight: 600;
  letter-spacing: -0.02em;
  color: #0c2340;
  line-height: 1;
}

/* Red suffix (+, %, ★) */
.sv-metric-suffix {
  color: #ec1c24;
}

/* Label beneath the number */
.sv-metric-label {
  font-size: 14px;
  color: #4a4845;
  line-height: 1.5;
  margin: 14px auto 0;
  max-width: 220px;
}

/* ── Responsive ──────────────────────────────────────────────────────────── */

@media (max-width: 640px) {
  /* Two metrics per row, centered */
  .sv-metrics {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    justify-items: center;
  }


  .sv-metric {
    padding: 0;
  }


  /* Separator lines don't fit a 2-col grid — hide on mobile */
  .sv-metric + .sv-metric::before {
    display: none;
	}
}

/* ═══════════════════════════════════════════════════════════════════════════
   Service — Recognition Slider  (.sv-recog)
   Matches Claude Design RecognitionSlider exactly.
   ═══════════════════════════════════════════════════════════════════════════ */

.sv-recog {
  background: #0a0a0b;
  padding: clamp(64px, 8vw, 104px) 0;
  overflow: hidden;
}

/* Header block */
.sv-recog-head {
  text-align: center;
  max-width: 760px;
  margin: 0 auto 48px;
}

/* Eyebrow (component-specific) */
.sv-recog-eyebrow {
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #ffffff;
  opacity: 0.9;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin-bottom: 14px;
}

.sv-recog-eyebrow::before {
  content: "";
  width: 24px;
  height: 1px;
  background: rgba(255, 255, 255, 0.6);
  display: inline-block;
}

/* Section heading */
.sv-recog-h2 {
  font-family: "Outfit", system-ui, sans-serif;
  font-size: clamp(28px, 3.2vw, 44px);
  font-weight: 600;
  letter-spacing: -0.02em;
  line-height: 1.1;
  color: #ffffff;
  margin: 14px 0 0;
}

/* Sub-paragraph */
.sv-recog-sub {
  margin: 16px auto 0;
  color: rgba(255, 255, 255, 0.62);
  font-size: 16px;
  line-height: 1.6;
  max-width: 560px;
}

/* Marquee wrapper — fades edges with mask */
.sv-recog-marquee {
  position: relative;
  width: 100%;
  -webkit-mask-image: linear-gradient(
    90deg,
    transparent,
    #000 8%,
    #000 92%,
    transparent
  );
  mask-image: linear-gradient(
    90deg,
    transparent,
    #000 8%,
    #000 92%,
    transparent
  );
}

/* Scrolling track */
.sv-recog-track {
  display: flex;
  gap: 20px;
  width: max-content;
  animation: svRecogScroll 38s linear infinite;
}

.sv-recog-marquee:hover .sv-recog-track {
  animation-play-state: paused;
}

@keyframes svRecogScroll {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-50%);
  }
}

/* Logo card */
.sv-recog-card {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  flex: 0 0 auto;
  min-width: 240px;
  padding: 30px 40px;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.12);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  transition:
    border-color 0.3s ease,
    background 0.3s ease,
    transform 0.3s ease;
  text-decoration: none;
}

.sv-recog-card:hover {
  border-color: rgba(236, 28, 36, 0.5);
  background: rgba(255, 255, 255, 0.08);
  transform: translateY(-3px);
}

/* Logo image inside card — inverted to white */
.sv-recog-card-logo {
  display: grid;
  place-items: center;
}

.sv-recog-card-logo svg,
.sv-recog-card-logo img {
  height: auto;
  max-width: 150px;
  width: auto;
  display: block;
  /* filter: brightness(0) invert(1); */
  opacity: 0.92;
}

/* Optional rating + sub-label */
.sv-recog-card-meta {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.sv-recog-card-rating {
  font-family: "Outfit", system-ui, sans-serif;
  font-size: 22px;
  font-weight: 700;
  color: #ffffff;
  letter-spacing: -0.02em;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

.sv-recog-card-sub {
  font-size: 13px;
  color: rgba(255, 255, 255, 0.58);
  white-space: nowrap;
}

/* ── Responsive ──────────────────────────────────────────────────────────── */

@media (prefers-reduced-motion: reduce) {
  .sv-recog-track {
    animation: none;
    flex-wrap: wrap;
    justify-content: center;
    width: auto;
  }
}

/* ==========================================================================
   Service — Service Stack (sv-stack)
   ========================================================================== */

.sv-stack {
  background: #ffffff;
  padding: clamp(72px, 9vw, 130px) 0;
}

.sv-stack-inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 48px;
  text-align: center;
}

.sv-stack-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: "Outfit", system-ui, sans-serif;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #ec1c24;
  background: rgba(236, 28, 36, 0.08);
  border: 1px solid rgba(236, 28, 36, 0.2);
  border-radius: 100px;
  padding: 6px 16px;
  margin-bottom: 20px;
}

.sv-stack-h2 {
  font-family: "Outfit", system-ui, sans-serif;
  font-size: clamp(32px, 4vw, 56px);
  font-weight: 600;
  letter-spacing: -0.025em;
  color: #0c2340;
  line-height: 1.1;
  max-width: 820px;
  margin: 0 auto 20px;
}

.sv-stack-h2 span {
  color: #ec1c24;
}

.sv-stack-sub {
  font-family: "Outfit", system-ui, sans-serif;
  font-size: clamp(15px, 1.5vw, 25px);
  font-weight: 500;
  color: #4a4845;
  line-height: 1.4;
  max-width: 750px;
  margin: 0 auto;
}

/* Card grid */
.sv-stack-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 28px;
  margin-top: 56px;
  text-align: left;
  align-items: stretch;
}

/* Individual card */
.sv-card {
  display: flex;
  flex-direction: column;
  background: #ffffff;
  border: 1px solid #e8e5e0;
  border-radius: 22px;
  padding: 20px 20px 8px;
  transition:
    transform 0.35s ease,
    box-shadow 0.35s ease,
    border-color 0.35s ease;
}

.sv-card:hover {
  transform: translateY(-4px);
  border-color: rgba(236, 28, 36, 0.18);
  box-shadow: 0 30px 70px -38px rgba(236, 28, 36, 0.38);
}

/* Card media */
.sv-card-media {
  height: 200px;
  border-radius: 14px;
  overflow: hidden;
  background: #f6f5f3;
}

.sv-card-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.6s cubic-bezier(0.2, 0.8, 0.2, 1) !important;
}

.sv-card:hover .sv-card-media img {
  transform: scale(1.04);
}

/* Card body */
.sv-card-body {
  padding: 20px 8px 10px;
  display: flex;
  flex-direction: column;
}

.sv-card-body h3 {
  font-family: "Outfit", system-ui, sans-serif;
  font-size: 20px;
  font-weight: 600;
  color: #0c2340;
  letter-spacing: -0.02em;
  margin-bottom: 12px;
}
.sv-card-body h3 a{
    color: #0c2340 !important;
}

.sv-card-desc {
  font-size: 15px;
  line-height: 1.65;
  color: #4a4845;
  margin-bottom: 16px;
}

.sv-card-desc:last-of-type {
  margin-bottom: 4px;
}

/* Sub-service rows (name + arrow + description, expand on individual hover) */
.sv-subs {
  margin-top: 10px;
  display: flex;
  flex-direction: column;
}

.sv-sub {
  display: block;
  padding: 14px 0;
  text-decoration: none;
  color: inherit;
}

.sv-sub + .sv-sub {
  border-top: 1px solid #e8e5e0;
}

.sv-sub-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.sv-sub-name {
  flex: 1;
  min-width: 0;
  font-family: "Outfit", system-ui, sans-serif;
  font-size: 16px;
  font-weight: 600;
  color: #0c2340;
  letter-spacing: -0.01em;
  transition: color 0.2s ease;
}

.sv-sub-arrow {
  color: #0c2340;
  opacity: 0.55;
  display: inline-flex;
  flex-shrink: 0;
  transition:
    color 0.25s ease,
    opacity 0.25s ease,
    transform 0.25s ease;
}

.sv-sub:hover .sv-sub-name {
  color: #ec1c24;
}

.sv-sub:hover .sv-sub-arrow {
  color: #ec1c24;
  opacity: 1;
  transform: translateX(4px);
}

.sv-sub-desc {
  font-size: 14px;
  line-height: 1.55;
  color: #4a4845;
  margin: 0;
  max-width: 92%;
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  transition:
    max-height 0.34s ease,
    opacity 0.28s ease,
    margin-top 0.34s ease;
}

.sv-sub-desc > span {
  display: block;
}

.sv-sub:hover .sv-sub-desc {
  max-height: 120px;
  opacity: 1;
  margin-top: 8px;
}

@media (max-width: 860px) {
  .sv-stack-grid {
    grid-template-columns: 1fr;
  }
  .sv-card-media {
    height: 260px;
  }
}

@media (max-width: 640px) {
  .sv-stack-inner {
    padding: 0 20px;
  }
}

/* ==========================================================================
   Service — Three Ways / Engagement Models (sv-models)
   ========================================================================== */

.sv-models {
  background: #ffffff;
  padding: 60px 0;
}

.sv-models-inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 48px;
  text-align: center;
}

.sv-models-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: "Outfit", system-ui, sans-serif;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #ec1c24;
  background: rgba(236, 28, 36, 0.08);
  border: 1px solid rgba(236, 28, 36, 0.2);
  border-radius: 100px;
  padding: 6px 16px;
  margin-bottom: 20px;
}

.sv-models-h2 {
  font-family: "Outfit", system-ui, sans-serif;
  font-size: clamp(32px, 4vw, 56px);
  font-weight: 600;
  letter-spacing: -0.025em;
  color: #0c2340;
  line-height: 1.1;
  max-width: 820px;
  margin: 0 auto 20px;
}

.sv-models-h2 span {
  color: #ec1c24;
}

.sv-models-sub {
  font-family: "Outfit", system-ui, sans-serif;
  font-size: clamp(15px, 1.5vw, 25px);
  color: #4a4845;
  line-height: 1.4;
  max-width: 750px;
  margin: 0 auto;
  font-weight: 500;
}

/* Models grid */
.sv-models-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-top: 56px;
  text-align: left;
}

/* Individual model card */
.sv-model {
  position: relative;
  background: #ffffff;
  border: 1px solid #e8e5e0;
  border-radius: 18px;
  padding: 38px 34px 34px;
  display: flex;
  flex-direction: column;
  transition:
    transform 0.3s ease,
    box-shadow 0.3s ease,
    border-color 0.3s ease;
}

.sv-model:hover {
  transform: translateY(-5px);
  border-color: rgba(236, 28, 36, 0.25);
  box-shadow: 0 30px 70px -38px rgba(236, 28, 36, 0.38);
}

/* Icon box */
.sv-model-ic {
  width: 56px;
  height: 56px;
  border-radius: 14px;
  border: 1px solid #e8e5e0;
  display: grid;
  place-items: center;
  background: #f4f4f6;
  color: #ec1c24;
  margin-bottom: 24px;
  transition:
    background 0.3s ease,
    border-color 0.3s ease;
}

.sv-model:hover .sv-model-ic {
  background: #ffffff;
  border-color: rgba(236, 28, 36, 0.3);
}

.sv-model-ic img {
  width: 26px;
  height: 26px;
  object-fit: contain;
  display: block;
}

.sv-model-title {
  font-family: "Outfit", system-ui, sans-serif;
  font-size: 22px;
  font-weight: 600;
  color: #0c2340;
  letter-spacing: -0.015em;
  margin: 0 0 14px;
}

.sv-model-title a{
      color: #0c2340 !important;
}

.sv-model-when {
  font-family: "Outfit", system-ui, sans-serif;
  font-size: 14.5px;
  line-height: 1.6;
  color: #0c2340;
  font-weight: 500;
  margin: 0 0 12px;
}

.sv-model-what {
  font-family: "Outfit", system-ui, sans-serif;
  font-size: 14.5px;
  line-height: 1.6;
  color: #4a4845;
  margin: 0 0 22px;
	  min-height: 6.4em;
}

/* Feature list */
.sv-model-list-h {
  font-family: "Outfit", system-ui, sans-serif;
  font-size: 12px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #4a4845;
  font-weight: 600;
  padding-top: 18px;
  margin-bottom: 16px;
  border-top: 1px solid #e8e5e0;
}

.sv-model-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.sv-model-list li {
  display: flex;
  align-items: flex-start;
  gap: 11px;
  font-family: "Outfit", system-ui, sans-serif;
  font-size: 14px;
  line-height: 1.45;
  color: #0c2340;
}

/* Checkmark circle with inline SVG */
.sv-model-check {
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  margin-top: 1px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: rgba(236, 28, 36, 0.1);
  color: #ec1c24;
}

.sv-model-check svg {
  width: 12px;
  height: 12px;
}

@media (max-width: 920px) {
  .sv-models-grid {
    grid-template-columns: 1fr;
  }
	  .sv-model-what {
    min-height: 0;
  }
}

@media (max-width: 640px) {
  .sv-models-inner {
    padding: 0 20px;
  }
  .sv-model {
    padding: 28px 24px 24px;
  }
}

/* ==========================================================================
   Service — Process (sv-process)
   ========================================================================== */

.sv-process {
  background: #ffffff;
  padding: clamp(72px, 9vw, 130px) 0;
}

.sv-process-wrap {
  /* inherits .container max-width & padding */
}

.sv-process-layout {
  display: grid;
  grid-template-columns: 0.85fr 1.15fr;
  gap: 72px;
  align-items: start;
}

.sv-process-head {
  position: sticky;
  top: 180px;
}

/* Eyebrow */
.sv-process-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: "Outfit", system-ui, sans-serif;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #ec1c24;
  background: rgba(236, 28, 36, 0.08);
  border: 1px solid rgba(236, 28, 36, 0.2);
  border-radius: 100px;
  padding: 6px 16px;
  margin-bottom: 18px;
}

/* Heading */
.sv-process-h2 {
  font-family: "Outfit", system-ui, sans-serif;
  font-size: clamp(32px, 3.4vw, 60px);
  font-weight: 600;
  line-height: 1.08;
  letter-spacing: -0.02em;
  color: #0c2340;
  margin: 0 0 20px;
}

/* Sub paragraph */
.sv-process-sub {
  font-family: "Outfit", system-ui, sans-serif;
  font-size: 16px;
  line-height: 1.65;
  color: #4a4845;
  max-width: 420px;
  margin: 0;
}

/* Steps ordered list */
.sv-steps {
  list-style: none;
  margin: 0;
  padding: 0;
  position: relative;
}

/* Gray track line */
.sv-steps::before {
  content: "";
  position: absolute;
  left: 27px;
  top: 14px;
  bottom: 14px;
  width: 2px;
  background: #e8e5e0;
}

/* Red animated fill line */
.sv-steps-progress {
  position: absolute;
  left: 27px;
  top: 14px;
  bottom: 14px;
  width: 2px;
  background: #ec1c24;
  transform-origin: top;
  transform: scaleY(0);
  transition: transform 0.25s ease-out;
  z-index: 0;
  box-shadow: 0 0 12px rgba(236, 28, 36, 0.55);
}

/* Step item */
.sv-step {
  position: relative;
  display: flex;
  gap: 26px;
  padding: 0 0 38px;
}

.sv-step:last-child {
  padding-bottom: 0;
}

/* Number circle */
.sv-step-num {
  position: relative;
  z-index: 1;
  flex-shrink: 0;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: #ffffff;
  border: 1px solid #e8e5e0;
  font-family: "Outfit", system-ui, sans-serif;
  font-size: 17px;
  font-weight: 600;
  color: #0c2340;
  transition:
    background 0.4s ease,
    border-color 0.4s ease,
    color 0.4s ease,
    box-shadow 0.4s ease,
    transform 0.4s ease;
}

.sv-step.is-active .sv-step-num {
  background: #ec1c24;
  border-color: #ec1c24;
  color: #ffffff;
  box-shadow: 0 14px 30px -14px rgba(236, 28, 36, 0.5);
  transform: scale(1.06);
}

/* Step body */
.sv-step-body {
  padding-top: 4px;
}

.sv-step-body h3 {
  font-family: "Outfit", system-ui, sans-serif;
  font-size: 26px;
  font-weight: 600;
  color: #0c2340;
  letter-spacing: -0.01em;
  margin-bottom: 9px;
  transition: color 0.3s ease;
}

.sv-step.is-active .sv-step-body h3 {
  color: #ec1c24;
}

.sv-step-body p {
  font-family: "Outfit", system-ui, sans-serif;
  font-size: 14.5px;
  line-height: 1.65;
  color: #4a4845;
  margin: 0;
}

@media (max-width: 920px) {
  .sv-process-layout {
    grid-template-columns: 1fr;
    gap: 44px;
  }
  .sv-process-head {
    position: static;
  }
}

@media (max-width: 520px) {
	  .sv-process-head {
    text-align: center;
  }
  .sv-process-sub {
    margin: 0 auto;
  }
  .sv-step {
    gap: 18px;
  }
  .sv-step-num {
    width: 48px;
    height: 48px;
    font-size: 15px;
  }
  .sv-steps::before {
    left: 23px;
  }
  .sv-steps-progress {
    left: 23px;
  }
}

/* ==========================================================================
   Service — Tools & Technologies (sv-tools)
   ========================================================================== */

.sv-tools {
  background: #ffffff;
  padding: clamp(72px, 9vw, 130px) 0;
}

/* Centered header block */
.sv-tools-head-center {
  display: block;
  text-align: center;
  margin-bottom: 36px;
}

/* Eyebrow */
.sv-tools-eyebrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-family: "Outfit", system-ui, sans-serif;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #ec1c24;
  background: rgba(236, 28, 36, 0.08);
  border: 1px solid rgba(236, 28, 36, 0.2);
  border-radius: 100px;
  padding: 6px 16px;
  margin-bottom: 20px;
}

/* Heading */
.sv-tools-h2 {
  font-family: "Outfit", system-ui, sans-serif;
  font-size: clamp(32px, 4vw, 56px);
  font-weight: 600;
  letter-spacing: -0.025em;
  color: #0c2340;
  line-height: 1.1;
  margin: 0 auto 0;
}

.sv-tools-h2 span {
  color: #ec1c24;
}

/* Sub paragraph */
.sv-tools-sub {
  font-family: "Outfit", system-ui, sans-serif;
  font-size: 25px;
  line-height: 1.4;
  color: #4a4845;
  font-weight: 500;
  max-width: 900px;
  margin: auto;
  padding-top: 20px;
}

/* Tab row */
.sv-tabs {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
  margin-bottom: 40px;
  border-bottom: 1px solid #e8e5e0;
  padding-bottom: 18px;
}

.sv-tab {
  font-family: "Outfit", system-ui, sans-serif;
  font-size: 14px;
  font-weight: 500;
  color: #4a4845;
  padding: 10px 18px;
  border-radius: 999px;
  border: 1px solid transparent;
  background: transparent;
  cursor: pointer;
  transition:
    color 0.2s ease,
    border-color 0.2s ease,
    background 0.2s ease;
}

.sv-tab:hover {
  color: #0c2340;
  border-color: #e8e5e0;
}

.sv-tab.is-active {
  color: #ffffff;
  background: #ec1c24;
  border-color: #ec1c24;
}

/* Tool grid */
.sv-tools-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 16px;
}

/* Tool card */
.sv-tool {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
  padding: 28px 14px 22px;
  border: 1px solid #e8e5e0;
  border-radius: 16px;
  background: #ffffff;
  text-align: center;
  transition:
    transform 0.25s ease,
    border-color 0.25s ease,
    box-shadow 0.25s ease;
  animation: svToolFade 0.4s ease both;
}

.sv-tool:hover {
  transform: translateY(-4px);
  border-color: rgba(236, 28, 36, 0.22);
  box-shadow: 0 18px 40px -26px rgba(236, 28, 36, 0.4);
}

@keyframes svToolFade {
  from {
    opacity: 0;
    transform: translateY(8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Color abbreviation tile */
.sv-tool-tile {
  width: 54px;
  height: 54px;
  border-radius: 14px;
  display: grid;
  place-items: center;
  font-family: "Outfit", system-ui, sans-serif;
  font-weight: 700;
  font-size: 17px;
  letter-spacing: -0.02em;
  flex-shrink: 0;
}

/* Logo tile variant */
.sv-tool-tile--logo {
  overflow: hidden;
}

.sv-tool-tile--logo img {
  width: 32px;
  height: 32px;
  object-fit: contain;
  display: block;
}

/* Tool name label */
.sv-tool-name {
  font-family: "Outfit", system-ui, sans-serif;
  font-size: 13px;
  font-weight: 500;
  color: #0c2340;
  line-height: 1.3;
}

/* Panel visibility (controlled by JS) */
.sv-tools-panel[hidden] {
  display: none;
}

@media (max-width: 1024px) {
  .sv-tools-grid {
    grid-template-columns: repeat(4, 1fr);
  }
}

@media (max-width: 640px) {
  .sv-tools-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .sv-tabs {
    gap: 6px;
  }
  .sv-tab {
    font-size: 13px;
    padding: 8px 14px;
  }
}

/* ============================================================
   TECHNOLOGY BANNER — tc-hero + tc-certs (Technology-banner.php, Tech-certifications.php)
   ============================================================ */

/* ── CSS Variables ── */
.tc-hero,
.tc-certs {
  --tc-red: #ec1c24;
  --tc-accent-subtle: rgba(236, 28, 36, 0.08);
  --tc-navy: #0c2340;
  --tc-muted: #555555;
  --tc-faint: #8a8f99;
  --tc-line: #e5e5e5;
  --tc-container: 1320px;
  --tc-hero-bg: #05070b;
  --tc-hero-grad:
    radial-gradient(
      1100px 620px at 72% 38%,
      rgba(11, 18, 32, 0.9) 0%,
      transparent 65%
    ),
    linear-gradient(180deg, #07111f 0%, #05070b 60%, #04060a 100%);
  --tc-hero-grid-op: 1;
  --tc-pad-x: 48px;
}

/* ── Buttons (tc-hero scoped) ── */
.tc-btn-primary,
.tc-btn-secondary,
.tc-btn-ghost-light {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 0 28px;
  height: 56px;
  border-radius: 8px;
  font-family: "Outfit", system-ui, sans-serif;
  font-size: 15px;
  font-weight: 600;
  text-decoration: none;
  cursor: pointer;
  transition: all 0.25s ease;
  white-space: nowrap;
  border: none;
}
.tc-btn-primary {
  background: #ec1c24;
  color: #ffffff;
  border: 1.5px solid #ec1c24;
}
.tc-btn-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 30px -8px rgba(236, 28, 36, 0.45);
}
.tc-btn-secondary {
  background: transparent;
  color: #0c2340;
  border: 1.5px solid #e5e5e5;
}
.tc-btn-secondary:hover {
  border-color: #ec1c24;
  color: #ec1c24;
  transform: translateY(-1px);
}
.tc-btn-ghost-light {
  background: transparent;
  color: #ffffff;
  border: 1.5px solid #ffffff;
}
.tc-btn-ghost-light:hover {
  background: #ffffff;
  color: #07111f;
  border-color: #ffffff;
}
.tc-btn-arrow svg {
  transition: transform 0.25s ease;
}
.tc-btn-primary:hover .tc-btn-arrow svg,
.tc-btn-secondary:hover .tc-btn-arrow svg {
  transform: translateX(4px);
}

/* ── Hero ── */
.tc-hero {
  background: var(--tc-hero-bg);
  background-image:
    radial-gradient(
      ellipse 55% 50% at 78% 32%,
      var(--tc-accent-subtle) 0%,
      transparent 60%
    ),
    var(--tc-hero-grad);
  position: relative;
  overflow: hidden;
  min-height: 760px;
  display: flex;
  align-items: center;
}
.tc-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image: radial-gradient(
    rgba(255, 255, 255, 0.05) 1px,
    transparent 1px
  );
  background-size: 30px 30px;
  opacity: calc(0.5 * var(--tc-hero-grid-op));
  pointer-events: none;
  mask-image: radial-gradient(
    ellipse 85% 75% at 60% 50%,
    #000 25%,
    transparent 82%
  );
  -webkit-mask-image: radial-gradient(
    ellipse 85% 75% at 60% 50%,
    #000 25%,
    transparent 82%
  );
}
.tc-hero-grid {
  max-width: var(--tc-container);
  margin: 0 auto;
  width: 100%;
  padding: 130px var(--tc-pad-x) 90px;
  display: grid;
  grid-template-columns: minmax(0, 1.02fr) minmax(0, 1fr);
  gap: 48px;
  align-items: center;
  position: relative;
  z-index: 3;
}
.tc-hero-content {
  max-width: 600px;
}
.tc-hero-h1 {
  font-family: "Outfit", system-ui, sans-serif;
  font-size: clamp(42px, 5vw, 75px);
  font-weight: 700;
  color: #ffffff;
  letter-spacing: -0.038em;
  line-height: 1.03;
  margin: 0 0 24px;
}
.tc-hero-h1 .accent {
  color: #ec1c24;
}
.tc-hero-sub {
  font-size: clamp(18px, 1.5vw, 22px);
  font-weight: 400;
  line-height: 1.55;
  color: rgba(255, 255, 255, 0.66);
  margin: 0 0 38px;
  max-width: 540px;
}
.tc-hero-actions {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  margin-bottom: 40px;
}

/* ── 3D Stack ── */
.tc-arch {
  position: relative;
  width: 100%;
  aspect-ratio: 1 / 1;
  max-width: 600px;
  margin-left: auto;
  justify-self: end;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  perspective: 1600px;
  overflow: visible;
}
.tc-hero-center-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  pointer-events: none;
}
.tc-stack3d {
  position: relative;
  width: 400px;
  margin-right: 10px;
  transform-style: preserve-3d;
  transform: rotateX(7deg) rotateY(-21deg) rotateZ(2deg);
  animation: tcStackFloat 7s ease-in-out infinite;
}
@keyframes tcStackFloat {
  0%,
  100% {
    transform: rotateX(7deg) rotateY(-21deg) rotateZ(2deg) translateY(0);
  }
  50% {
    transform: rotateX(7deg) rotateY(-21deg) rotateZ(2deg) translateY(-10px);
  }
}
.tc-stack-glow {
  position: absolute;
  left: -55%;
  right: -14%;
  top: 6%;
  bottom: 6%;
  background: radial-gradient(
    ellipse 58% 56% at 62% 50%,
    rgba(236, 28, 36, 0.2) 0%,
    transparent 70%
  );
  filter: blur(14px);
  transform: translateZ(-60px);
  pointer-events: none;
}
.tc-layer {
  position: relative;
  display: flex;
  align-items: center;
  gap: 14px;
  height: 66px;
  margin-bottom: 16px;
  padding: 0 22px 0 24px;
  border-radius: 16px;
  background: linear-gradient(
    135deg,
    rgba(22, 32, 54, 0.82) 0%,
    rgba(10, 18, 32, 0.82) 100%
  );
  border: 1px solid rgba(255, 255, 255, 0.12);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  box-shadow:
    0 22px 44px -26px rgba(0, 0, 0, 0.9),
    inset 0 1px 0 rgba(255, 255, 255, 0.05);
  transform: translateZ(calc(var(--i) * 26px));
  opacity: 0;
  animation: tcLayerIn 0.95s cubic-bezier(0.16, 0.84, 0.3, 1) forwards;
}
.tc-layer:last-child {
  margin-bottom: 0;
}
@keyframes tcLayerIn {
  0% {
    opacity: 0;
    transform: translateZ(calc(var(--i) * 26px)) translateX(-240px)
      translateY(var(--enterY));
  }
  60% {
    opacity: 1;
  }
  100% {
    opacity: 1;
    transform: translateZ(calc(var(--i) * 26px)) translateX(0) translateY(0);
  }
}
.tc-layer-guide {
  position: absolute;
  right: calc(100% - 8px);
  top: 50%;
  width: 230px;
  height: 1px;
  margin-top: -0.5px;
  background: linear-gradient(
    270deg,
    rgba(236, 28, 36, 0.45) 0%,
    rgba(236, 28, 36, 0.12) 38%,
    transparent 100%
  );
  pointer-events: none;
  overflow: visible;
}
.tc-layer-bead {
  position: absolute;
  top: 50%;
  left: 0;
  width: 5px;
  height: 5px;
  margin-top: -2.5px;
  border-radius: 50%;
  background: #ec1c24;
  box-shadow: 0 0 8px rgba(236, 28, 36, 0.9);
  opacity: 0;
  animation: tcBead 3.6s ease-in-out infinite;
}
@keyframes tcBead {
  0% {
    left: 0;
    opacity: 0;
  }
  12% {
    opacity: 1;
  }
  70% {
    left: 224px;
    opacity: 1;
  }
  85% {
    left: 224px;
    opacity: 0;
  }
  100% {
    left: 224px;
    opacity: 0;
  }
}
.tc-layer-bar {
  position: absolute;
  left: 0;
  top: 12px;
  bottom: 12px;
  width: 3px;
  border-radius: 3px;
  background: #ec1c24;
  box-shadow: 0 0 12px rgba(236, 28, 36, 0.7);
}
.tc-layer-idx {
  font-family: "Outfit", system-ui, sans-serif;
  font-size: 12px;
  font-weight: 700;
  color: rgba(255, 255, 255, 0.35);
  letter-spacing: 0.04em;
}
.tc-layer-ic {
  width: 34px;
  height: 34px;
  flex-shrink: 0;
  border-radius: 10px;
  background: rgba(236, 28, 36, 0.15);
  border: 1px solid rgba(236, 28, 36, 0.32);
  color: #ff8a8f;
  display: flex;
  align-items: center;
  justify-content: center;
}
.tc-layer-ic img {
  width: 28px;
  height: 28px;
  object-fit: contain;
  border-radius: 6px;
}
.tc-layer-ic svg {
  width: 18px;
  height: 18px;
}
.tc-layer-main {
  display: flex;
  flex-direction: column;
  gap: 2px;
  flex: 1;
  min-width: 0;
}
.tc-layer-name {
  font-size: 14px;
  font-weight: 600;
  color: #fff;
  letter-spacing: -0.01em;
  white-space: nowrap;
}
.tc-layer-sub {
  font-size: 11px;
  color: rgba(255, 255, 255, 0.45);
  white-space: nowrap;
}

.tc-layer-end {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
  margin-right: 10px;
}
.tc-layer-end img {
  width: 28px;
  height: 28px;
  object-fit: contain;
  display: block;
}

.tc-layer-port {
  position: absolute;
  right: 7px;
  top: 50%;
  width: 6px;
  height: 6px;
  margin-top: -3px;
  border-radius: 50%;
  background: #ec1c24;
  box-shadow: 0 0 8px rgba(236, 28, 36, 0.9);
  animation: tcDotPulse 2.2s ease-in-out infinite;
}
@keyframes tcDotPulse {
  0%,
  100% {
    opacity: 1;
    transform: scale(1);
  }
  50% {
    opacity: 0.3;
    transform: scale(0.65);
  }
}

@media (max-width: 1024px) {
  .tc-hero-grid {
    grid-template-columns: 1fr;
    gap: 15px;
    padding-top: 110px;
  }
  .tc-arch {
    margin: 0 auto;
    max-width: 460px;
  }
}
@media (max-width: 640px) {
  .tc-hero-grid {
    padding: 100px 24px 70px;
  }
  .tc-hero-actions {
    flex-direction: column;
  }
  .tc-hero-actions a {
    width: 100%;
  }
  .tc-arch {
    max-width: 320px; justify-content: center;
  }
   .tc-stack3d {
    width: 300px;
    margin-right: 0;
    transform-style: flat;
    transform: none;
    animation: none;
  }
  .tc-layer {
    height: 58px;
    gap: 10px;padding: 0 10px 0 15px;
  }
  .tc-layer-sub {
    display: none;
  }
}

/* ── Certifications Strip ── */
.tc-certs {
  background: #ffffff;
  padding: 56px var(--tc-pad-x);
  border-bottom: 1px solid #e5e5e5;
}
.tc-certs-inner {
  max-width: var(--tc-container);
  margin: 0 auto;
}
.tc-certs-subtitle {
  text-align: center;
  font-size: 16px;
  line-height: 1.5;
  color: #555555;
  margin: 0 0 8px;
}
.tc-certs-desc {
  text-align: center;
  font-size: 14px;
  line-height: 1.6;
  color: #8a8f99;
  margin: 0 0 20px;
}
.tc-certs-cta {
  text-align: center;
  margin-bottom: 28px;
}
.tc-certs-label {
  text-align: center;
  font-size: 13px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #8a8f99;
  font-weight: 600;
  margin-bottom: 36px;
}
.tc-logos-marquee {
  position: relative;
  overflow: hidden;
  width: 100%;
  -webkit-mask-image: linear-gradient(
    90deg,
    transparent 0,
    #000 9%,
    #000 91%,
    transparent 100%
  );
  mask-image: linear-gradient(
    90deg,
    transparent 0,
    #000 9%,
    #000 91%,
    transparent 100%
  );
}
.tc-logos-track {
  display: flex;
  width: max-content;
  gap: 22px;
  animation: tcLogoScroll 44s linear infinite;
}
.tc-logos-marquee:hover .tc-logos-track {
  animation-play-state: paused;
}
@keyframes tcLogoScroll {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-50%);
  }
}
.tc-badge {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  flex-shrink: 0;
  padding: 13px 16px;
  background: transparent;
  border: none;
  border-radius: 0;
  box-shadow: none;
  text-decoration: none;
  transition: transform 0.3s ease;
}
.tc-badge:hover {
  transform: translateY(-2px);
}
.tc-badge-mark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  flex-shrink: 0;
}
.tc-badge-mark img {
  width: 40px;
  height: 40px;
  object-fit: contain;
}
.tc-badge-name {
  font-family: "Outfit", system-ui, sans-serif;
  font-size: 15.5px;
  font-weight: 600;
  letter-spacing: -0.01em;
  color: #0c2340;
  white-space: nowrap;
}
@media (max-width: 900px) {
  .tc-certs {
    padding: 52px 24px;
  }
}
@media (max-width: 560px) {
  .tc-logos-track {
    gap: 16px;
    animation-duration: 30s;
  }
  .tc-badge-name {
    font-size: 14px;
  }
  .tc-badge {
    padding: 11px 18px;
  }
}

/* ============================================================
   TECH STACK — tc-stack (Technology-techstacks.php)
   ============================================================ */

/* ── Section base ── */
.tc-stack {
  padding: clamp(72px, 9vw, 90px) 48px;
  position: relative;
  background: #ffffff;
}
.tc-container {
  max-width: 1320px;
  margin: 0 auto;
}
.tc-head-center {
  text-align: center;
  max-width: 960px;
  margin: 0 auto 60px;
}
.tc-head-center .tc-sub {
  margin-left: auto;
  margin-right: auto;
  max-width: 900px;
}
.tst-head-cta {
  margin-top: 28px;
}

/* ── Typography ── */
.tc-h2 {
  font-family: "Outfit", system-ui, sans-serif;
  font-size: clamp(32px, 5vw, 60px);
  font-weight: 600;
  color: #0c2340;
  letter-spacing: -0.025em;
  line-height: 1.07;
  margin: 0;
  text-wrap: balance;
}
.tc-sub {
  font-size: clamp(17px, 1.35vw, 20px);
  line-height: 1.6;
  color: #555555;
  margin: 20px 0 0;
  max-width: 720px;
  font-weight: 400;
}

/* ── Tech monogram tile ── */
.tc-tile {
  width: 46px;
  height: 46px;
  flex-shrink: 0;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: "Outfit", system-ui, sans-serif;
  font-weight: 700;
  font-size: 16px;
  letter-spacing: -0.02em;
  background: var(--tile-tint, rgba(12, 35, 64, 0.05));
  color: var(--tile-fg, #0c2340);
  border: 1px solid var(--tile-line, rgba(12, 35, 64, 0.1));
  transition: transform 0.25s ease;
  overflow: hidden;
}
.tc-tile img {
  width: 32px;
  height: 32px;
  object-fit: contain;
}

/* ── Desktop: rail + panel layout ── */
.tc-stack-layout {
  display: grid;
  grid-template-columns: 320px 1fr;
  gap: 40px;
  margin-top: 56px;
  align-items: start;
}
.tc-panels-wrap {
  min-width: 0;
}
.tc-panel[hidden] {
  display: none;
}
.tc-panel {
  border: 1px solid #e5e5e5;
  border-radius: 24px;
  background: #ffffff;
  padding: 36px 36px 40px;
  min-height: 520px;
  position: relative;
  overflow: hidden;
}

/* Category rail */
.tc-cat-rail {
  display: flex;
  flex-direction: column;
  gap: 8px;
  position: sticky;
  top: 96px;
}
.tc-cat-btn {
  display: flex;
  align-items: center;
  gap: 16px;
  width: 100%;
  text-align: left;
  padding: 18px 20px;
  border-radius: 16px;
  border: 1px solid #e5e5e5;
  background: #ffffff;
  cursor: pointer;
  transition: all 0.25s ease;
  position: relative;
}
.tc-cat-btn:hover {
  border-color: rgba(236, 28, 36, 0.3);
  transform: translateX(2px);
}
.tc-cat-btn.is-active {
  border-color: transparent;
  background: #0c2340;
  box-shadow: 0 18px 40px -22px rgba(12, 35, 64, 0.5);
}
.tc-cat-btn-icon {
  width: 42px;
  height: 42px;
  flex-shrink: 0;
  border-radius: 12px;
  background: rgba(236, 28, 36, 0.08);
  color: #ec1c24;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.25s ease;
  overflow: hidden;
}
.tc-cat-btn-icon img {
  width: 24px;
  height: 24px;
  object-fit: contain;
}
.tc-cat-btn-icon svg {
  width: 22px;
  height: 22px;
}
.tc-cat-btn.is-active .tc-cat-btn-icon {
  background: #ec1c24;
  color: #ffffff;
}
.tc-cat-btn-text {
  min-width: 0;
  flex: 1;
}
.tc-cat-btn-title {
  font-family: "Outfit", system-ui, sans-serif;
  font-size: 16px;
  font-weight: 600;
  color: #0c2340;
  letter-spacing: -0.01em;
  transition: color 0.25s ease;
  display: block;
}
.tc-cat-btn.is-active .tc-cat-btn-title {
  color: #ffffff;
}
.tc-cat-btn-chev {
  display: flex;
  align-items: center;
  color: #8a8f99;
  opacity: 0;
  transform: translateX(-4px);
  transition: all 0.25s ease;
  flex-shrink: 0;
}
.tc-cat-btn.is-active .tc-cat-btn-chev {
  color: #ec1c24;
  opacity: 1;
  transform: translateX(0);
}

/* Right panel */
.tc-panel-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 28px;
}
.tc-panel-title {
  font-family: "Outfit", system-ui, sans-serif;
  font-size: clamp(24px, 2.2vw, 30px);
  font-weight: 600;
  color: #0c2340;
  letter-spacing: -0.02em;
  margin: 0 0 8px;
}
.tc-panel-desc {
  font-size: 15.5px;
  line-height: 1.55;
  color: #555555;
  margin: 0;
  max-width: 560px;
}

/* Tech card grid */
.tc-tech-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px;
}
.tc-tech-card {
  display: flex;
  gap: 16px;
  padding: 20px;
  border-radius: 16px;
  background: #ffffff;
  border: 1px solid #e5e5e5;
  text-decoration: none;
  color: inherit;
  transition:
    transform 0.25s ease,
    border-color 0.25s ease,
    box-shadow 0.25s ease;
  animation: tstFadeUp 0.5s cubic-bezier(0.18, 0.9, 0.3, 1.05) backwards;
}
.tc-tech-card:hover {
  transform: translateY(-3px);
  border-color: rgba(236, 28, 36, 0.28);
  box-shadow: 0 16px 36px -22px rgba(236, 28, 36, 0.3);
}
.tc-tech-card:hover .tc-tile {
  transform: scale(1.05);
}
.tc-tech-card-body {
  min-width: 0;
  flex: 1;
}
.tc-tech-name {
  font-family: "Outfit", system-ui, sans-serif;
  font-size: 17px;
  font-weight: 600;
  color: #0c2340;
  margin: 0 0 5px;
  letter-spacing: -0.01em;
}
.tc-tech-desc {
  font-size: 13.5px;
  line-height: 1.5;
  color: #555555;
  margin: 0;
}
.tc-tech-arrow-circle {
  flex-shrink: 0;
  align-self: center;
  width: 34px;
  height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  border: 1.5px solid #ec1c24;
  color: #ec1c24;
  background: transparent;
  transition:
    background 0.25s ease,
    color 0.25s ease,
    transform 0.25s ease;
}
.tc-tech-arrow-circle svg {
  width: 15px;
  height: 15px;
}
.tc-tech-card:hover .tc-tech-arrow-circle {
  background: #ec1c24;
  color: #ffffff;
  transform: translateX(2px);
}
@keyframes tstFadeUp {
  from {
    opacity: 0;
    transform: translateY(14px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* ── Mobile accordion ── */
.tc-acc {
  display: none;
  margin-top: 40px;
}
.tc-acc-item {
  border: 1px solid #e5e5e5;
  border-radius: 18px;
  background: #ffffff;
  margin-bottom: 12px;
  overflow: hidden;
}
.tc-acc-item.is-open {
  border-color: rgba(236, 28, 36, 0.25);
}
.tc-acc-q {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 20px;
  background: transparent;
  border: none;
  cursor: pointer;
  text-align: left;
}
.tc-acc-q .tc-cat-btn-icon {
  width: 40px;
  height: 40px;
}
.tc-acc-q-text {
  flex: 1;
}
.tc-acc-q-title {
  font-family: "Outfit", system-ui, sans-serif;
  font-size: 16px;
  font-weight: 600;
  color: #0c2340;
}
.tc-acc-plus {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: rgba(236, 28, 36, 0.08);
  color: #ec1c24;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: all 0.3s ease;
}
.tc-acc-item.is-open .tc-acc-plus {
  background: #ec1c24;
  color: #ffffff;
  transform: rotate(45deg);
}
.tc-acc-body {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}
.tc-acc-item.is-open .tc-acc-body {
  max-height: 2200px;
}
.tc-acc-body-inner {
  padding: 0 20px 20px;
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
}

/* ── Responsive ── */
@media (max-width: 1100px) {
  .tc-stack {
    padding: clamp(56px, 8vw, 90px) 32px;
  }
}
@media (max-width: 980px) {
  .tc-stack-layout {
    display: none;
  }
  .tc-acc {
    display: block;
  }
}
@media (max-width: 900px) {
  .tc-stack {
    padding: 56px 24px;
  }
  .tc-head-center {
    margin-bottom: 40px;
  }
}
@media (max-width: 640px) {
  .tc-tech-grid {
    grid-template-columns: 1fr;
  }
  .tc-panel {
    padding: 24px 20px 28px;
  }
}

/* ============================================================
   AI HUB — tc-ai (Technology-aihub.php)
   ============================================================ */

/* ── Section ── */
.tc-ai {
  background: #ffffff;
  position: relative;
  overflow: hidden;
  padding: 80px 0;
}
.tai-head-cta {
  margin-top: 28px;
}

/* ── Layout wrapper ── */
.tc-ai-layout {
  display: block;
  max-width: 1100px;
  margin: 0 auto;
}

/* ── Tab button bar ── */
.tc-ai-btnbar {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
  margin-bottom: 28px;
}
.tc-ai-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 9px 16px;
  border-radius: 999px;
  border: 1px solid #e5e5e5;
  background: #ffffff;
  color: #0c2340;
  font-family: "Outfit", system-ui, sans-serif;
  font-size: 13px;
  font-weight: 600;
  white-space: nowrap;
  cursor: pointer;
  transition: all 0.25s ease;
}
.tc-ai-btn:hover {
  border-color: rgba(236, 28, 36, 0.4);
  transform: translateY(-1px);
}
.tc-ai-btn.is-active {
  background: #ec1c24;
  border-color: #ec1c24;
  color: #ffffff;
  box-shadow: 0 14px 32px -18px rgba(236, 28, 36, 0.6);
}

/* ── Detail panel ── */
.tc-ai-detail {
  background: #ffffff;
  border: 1px solid #e5e5e5;
  border-radius: 24px;
  padding: 34px 34px 36px;
  box-shadow: 0 30px 70px -40px rgba(12, 35, 64, 0.3);
}
.tc-ai-detail[hidden] {
  display: none;
}
.tc-ai-detail-title {
  font-family: "Outfit", system-ui, sans-serif;
  font-size: 26px;
  font-weight: 600;
  color: #0c2340;
  margin: 0 0 10px;
  letter-spacing: -0.02em;
}
.tc-ai-detail-desc {
  font-size: 15px;
  line-height: 1.6;
  color: #555555;
  margin: 0 0 24px;
}

/* ── Tech list (2-col grid) ── */
.tc-ai-techlist {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
.tc-ai-techrow {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px 16px;
  border-radius: 13px;
  background: #ffffff;
  border: 1px solid #e5e5e5;
  transition: border-color 0.2s ease;
  animation: tcFadeUp 0.4s ease backwards;
}
.tc-ai-techrow:hover {
  border-color: rgba(236, 28, 36, 0.25);
}
.tc-ai-techrow-body {
  min-width: 0;
}
.tc-ai-techrow-name {
  font-size: 15.5px;
  font-weight: 600;
  color: #0c2340;
}
.tc-ai-techrow-role {
  font-size: 13px;
  color: #555555;
  margin-top: 2px;
  line-height: 1.4;
}

/* ── Tile small variant ── */
.tc-tile.is-sm {
  width: 38px;
  height: 38px;
  border-radius: 10px;
  font-size: 13px;
}
.tc-tile.is-sm img {
  width: 28px;
  height: 28px;
  object-fit: contain;
}

/* ── Shared tcFadeUp keyframe ── */
@keyframes tcFadeUp {
  from {
    opacity: 0;
    transform: translateY(14px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* ── Bottom note ── */
.tc-ai-note {
  margin: 40px auto 0;
  max-width: 760px;
  padding: 20px 28px;
  background: #ffffff;
  border: 1px solid #e5e5e5;
  border-radius: 16px;
  box-shadow: 0 18px 44px -30px rgba(12, 35, 64, 0.3);
  font-size: 15.5px;
  line-height: 1.55;
  color: #0c2340;
  font-weight: 500;
  display: flex;
  gap: 14px;
  align-items: center;
  text-align: center;
}
.tc-ai-note span {
  flex: 1;
}
.tc-ai-note::before {
  content: "";
  width: 8px;
  height: 8px;
  flex-shrink: 0;
  border-radius: 50%;
  background: #ec1c24;
  box-shadow: 0 0 0 4px rgba(236, 28, 36, 0.08);
}

/* ── Responsive ── */
@media (max-width: 900px) {
  .tc-ai {
    padding: 56px 24px;
  }
  .tc-ai-detail {
    padding: 24px 20px 28px;
  }
}
@media (max-width: 640px) {
  .tc-ai-techlist {
    grid-template-columns: 1fr;
  }
  .tc-ai-btnbar {
    flex-wrap: wrap;
  }
  .tc-ai-btn {
    font-size: 12px;
    padding: 8px 12px;
  }
}

/* ============================================================
   LOCATION BANNER / HERO — loc-hero (Location-banner.php)
   ============================================================ */

/* ── CSS variables (scoped to section) ── */
.loc-hero {
  --loc-red: #ec1c24;
  --loc-navy: #0c2340;
  --loc-muted: #555555;
  --loc-line: #e5e5e5;
  --loc-pad-y: 90px;
  --loc-pad-x: 48px;
  --loc-container: 1320px;
}

/* ── Base section ── */
.loc-hero {
  padding: 140px var(--loc-pad-x) var(--loc-pad-y);
  background: #ffffff;
  position: relative;
  overflow: hidden;
  min-height: 680px;
}
.loc-hero::before {
  content: "";
  position: absolute;
  right: -120px;
  top: -80px;
  width: 700px;
  height: 700px;
  border-radius: 50%;
  background: radial-gradient(
    circle,
    rgba(236, 28, 36, 0.06) 0%,
    transparent 65%
  );
  pointer-events: none;
}

/* ── Light + onblack variant (the rendered combo) ── */
.loc-hero.loc-hero-light {
  min-height: 760px;
  display: flex;
  align-items: center;
}
.loc-hero.loc-hero-light .loc-hero-grid {
  width: 100%;
  grid-template-columns: 1.02fr 0.98fr;
  gap: 56px;
  align-items: center;
}

.loc-hero.loc-hero-onblack {
  background: #0a0a0a;
  background-image:
    radial-gradient(
      900px 600px at 80% 38%,
      rgba(236, 28, 36, 0.13) 0%,
      transparent 60%
    ),
    radial-gradient(
      720px 520px at 12% 88%,
      rgba(40, 80, 180, 0.1) 0%,
      transparent 62%
    );
  overflow: hidden;
}
.loc-hero.loc-hero-onblack::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image: radial-gradient(
    rgba(255, 255, 255, 0.05) 1px,
    transparent 1px
  );
  background-size: 28px 28px;
  opacity: 0.32;
  pointer-events: none;
  -webkit-mask-image: radial-gradient(
    ellipse 80% 70% at 50% 50%,
    #000 30%,
    transparent 80%
  );
  mask-image: radial-gradient(
    ellipse 80% 70% at 50% 50%,
    #000 30%,
    transparent 80%
  );
}
.loc-hero.loc-hero-onblack .loc-hero-grid {
  position: relative;
  z-index: 2;
}
.loc-hero.loc-hero-onblack .loc-hero-h1 {
  color: #ffffff;
}
.loc-hero.loc-hero-onblack .loc-hero-sub {
  color: rgba(255, 255, 255, 0.66);
}
.loc-hero.loc-hero-onblack .loc-btn-secondary {
  color: #ffffff;
  border-color: #ffffff;
}
.loc-hero.loc-hero-onblack .loc-btn-secondary:hover {
  background: #ffffff;
  color: #000000;
  border-color: #ffffff;
}

/* ── Grid ── */
.loc-hero-grid {
  max-width: var(--loc-container);
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 40px;
  align-items: center;
}

/* ── Left content ── */
.loc-hero-content {
  max-width: 580px;
  position: relative;
  z-index: 3;
}
.loc-hero.loc-hero-light .loc-hero-content {
  max-width: 560px;
}

/* ── Heading ── */
.loc-hero-h1 {
  font-family: "Outfit", system-ui, sans-serif;
  font-size: clamp(44px, 5.2vw, 75px);
  font-weight: 700;
  color: var(--loc-navy);
  letter-spacing: -0.035em;
  line-height: 1.04;
  margin: 0 0 24px;
}
.lhb-accent {
  color: #ec1c24;
}

/* ── Sub-text ── */
.loc-hero-sub {
  font-size: clamp(18px, 1.5vw, 22px);
  font-weight: 500;
  line-height: 1.55;
  color: var(--loc-muted);
  margin: 0 0 36px;
  max-width: 540px;
}

/* ── CTA row ── */
.loc-hero-actions {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
}

/* ── Buttons ── */
.loc-btn-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 0 28px;
  height: 56px;
  background: #ec1c24;
  color: #ffffff;
  border: none;
  border-radius: 8px;
  font-family: "Outfit", system-ui, sans-serif;
  font-size: 15px;
  font-weight: 600;
  text-decoration: none;
  cursor: pointer;
  transition: all 0.25s ease;
  white-space: nowrap;
}
.loc-btn-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 32px -8px rgba(236, 28, 36, 0.45);
  color: #ffffff;
}
.loc-btn-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 0 28px;
  height: 56px;
  background: transparent;
  color: var(--loc-navy);
  border: 1.5px solid var(--loc-line);
  border-radius: 8px;
  font-family: "Outfit", system-ui, sans-serif;
  font-size: 15px;
  font-weight: 600;
  text-decoration: none;
  cursor: pointer;
  transition: all 0.25s ease;
  white-space: nowrap;
}
.loc-btn-secondary:hover {
  border-color: #ec1c24;
  color: #ec1c24;
  transform: translateY(-1px);
}

/* ── Right column: visual (image + items) ── */
.lhb-visual {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 20px;
  width: 100%;
  max-width: 580px;
  flex-shrink: 0;
}

/* ── Hero image ── */
.lhb-globe-img {
  width: 100%;
  border-radius: 20px;
  overflow: hidden;
}
.lhb-globe-img img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
  border-radius: 20px;
}

/* ── Items grid ── */
.lhb-items {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
}
.lhb-item {
  display: flex;
  gap: 12px;
  padding: 16px;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 14px;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  transition:
    border-color 0.25s ease,
    background 0.25s ease;
}
.lhb-item:hover {
  background: rgba(255, 255, 255, 0.09);
  border-color: rgba(236, 28, 36, 0.35);
}
.lhb-item-ic {
  width: 40px;
  height: 40px;
  flex-shrink: 0;
  border-radius: 10px;
  background: rgba(236, 28, 36, 0.15);
  border: 1px solid rgba(236, 28, 36, 0.3);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #ff8a8f;
  overflow: hidden;
}
.lhb-item-ic img {
  width: 28px;
  height: 28px;
  object-fit: contain;
}
.lhb-item-ic svg {
  width: 18px;
  height: 18px;
}
.lhb-item-body {
  min-width: 0;
}
.lhb-item-title {
  display: block;
  font-family: "Outfit", system-ui, sans-serif;
  font-size: 14px;
  font-weight: 600;
  color: #ffffff;
  letter-spacing: -0.01em;
  margin-bottom: 4px;
}
.lhb-item-desc {
  font-size: 12.5px;
  line-height: 1.5;
  color: rgba(255, 255, 255, 0.58);
  margin: 0;
}

/* ── Responsive ── */
@media (max-width: 1600px) {
  .loc-hero {
    padding-top: 50px;
    padding-bottom: 30px;
    min-height: 620px;
  }
  .loc-hero.loc-hero-light {
    min-height: 640px;
  }
}
@media (max-width: 1440px) {
  .loc-hero {
    padding-top: 0px;
    padding-bottom: 00px;
    min-height: 80vh;
  }
  .loc-hero.loc-hero-light {
    min-height: 80vh;
  }
}

/* ── Responsive ── */
@media (max-width: 1100px) {
  .loc-hero {
    padding-top: 100px;
    min-height: auto;
  }
  .loc-hero.loc-hero-light {
    min-height: auto;
  }
  .loc-hero-grid,
  .loc-hero.loc-hero-light .loc-hero-grid {
    grid-template-columns: 1fr;
    gap: 48px;
  }
  .lhb-visual {
    max-width: 560px;
    margin: 0 auto;
  }
}
@media (max-width: 768px) {
  .lhb-items {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 640px) {
  .loc-hero {
    padding: 90px 24px 60px;
  }
  .loc-hero.loc-hero-light {
    min-height: auto;
  }
  .loc-hero-actions {
    flex-direction: column;
  }
  .loc-btn-primary,
  .loc-btn-secondary {
    width: 100%;
  }
  .lhb-visual {
    max-width: 100%;
  }
}

/* ============================================================
   Location Hero — Canvas Globe
   ============================================================ */

/* ── Globe container ──────────────────────────────────────── */
.loc-hero-globe {
  position: relative;
  width: 100%;
  height: 560px;
  max-width: 660px;
  margin-left: auto;
  flex-shrink: 0;
}

@media (max-width: 1600px) {
  .loc-hero-globe {
    height: 480px;
    max-width: 580px;
  }
}
@media (max-width: 1440px) {
  .loc-hero-globe {
    height: 420px;
    max-width: 520px;
  }
}

.lhb-globe-canvas {
  display: block;
  width: 100%;
  height: 100%;
}

/* ── Dot-grid overlay (decorative) ───────────────────────── */
.loc-hero-globe::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: radial-gradient(
    circle,
    rgba(255, 255, 255, 0.07) 1px,
    transparent 1px
  );
  background-size: 32px 32px;
  pointer-events: none;
  z-index: 0;
}

.loc-hero-globe canvas {
  position: relative;
  z-index: 1;
}

/* ── Radial glow behind globe ─────────────────────────────── */
.loc-hero-globe::after {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(
    ellipse 60% 60% at 50% 50%,
    rgba(236, 28, 36, 0.06) 0%,
    transparent 70%
  );
  pointer-events: none;
  z-index: 0;
}

/* ── Responsive ───────────────────────────────────────────── */
@media (max-width: 1100px) {
  .loc-hero-globe {
    height: 420px;
    max-width: 560px;
    margin: 0 auto;
  }
}

@media (max-width: 768px) {
  .loc-hero-globe {
    height: 340px;
    max-width: 100%;
  }
}

@media (max-width: 480px) {
  .loc-hero-globe {
    height: 280px;
  }
}

/* ── Location Hero — image override wrapper ──────────────────────────────── */
.lhb-hero-img-wrap {
  width: 100%;
  max-width: 660px;
  margin-left: auto;
  display: flex;
  align-items: center;
  justify-content: center;
}

.lhb-hero-img-wrap img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 12px;
  object-fit: contain;
}

@media (max-width: 1100px) {
  .lhb-hero-img-wrap {
    max-width: 560px;
    margin: 0 auto;
  }
}

@media (max-width: 768px) {
  .lhb-hero-img-wrap {
    max-width: 100%;
  }
}

/* ── Location Hero Globe — exact match to Claude Design (overrides previous) ── */
.loc-hero-globe {
  position: relative;
  width: 660px;
  height: 560px;
  flex-shrink: 0;
}

.loc-hero-globe canvas,
.lhb-globe-canvas {
  display: block;
  width: 660px;
  height: 560px;
  position: static;
  z-index: auto;
}

/* Remove decorative overlays — not in Claude Design */
.loc-hero-globe::before,
.loc-hero-globe::after {
  display: none;
}

@media (max-width: 1100px) {
  .loc-hero-globe {
    width: 100%;
    height: auto;
    aspect-ratio: 660 / 560;
    margin: 0 auto;
    max-width: 560px;
  }
  .loc-hero-globe canvas,
  .lhb-globe-canvas {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 660 / 560;
  }
}

@media (max-width: 640px) {
  .loc-hero-globe {
    max-width: 100%;
  }
}

/* ============================================================
   LOCATION CARDS — 3D Carousel  (Location-cards.php)
   ============================================================ */

.loc-markets {
  --loc-red: #ec1c24;
  --loc-navy: #0c2340;
  --loc-muted: #555555;
  --loc-line: #e5e5e5;
  --loc-container: 1320px;
  background: #ffffff;
  padding: 90px 48px;
  position: relative;
  font-family: "Outfit", system-ui, sans-serif;
}

.loc-markets-inner {
  max-width: var(--loc-container);
  margin: 0 auto;
}

/* ── Head ── */
.loc-markets-head {
  text-align: center;
  max-width: 1000px;
  margin: 0 auto 64px;
}

.loc-markets-subtitle {
  font-family: "Outfit", system-ui, sans-serif;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--loc-red);
  margin: 0 0 14px;
}

.loc-markets-h2 {
  font-family: "Outfit", system-ui, sans-serif;
  font-size: clamp(32px, 4.2vw, 56px);
  font-weight: 600;
  color: var(--loc-navy);
  letter-spacing: -0.025em;
  line-height: 1.08;
  margin: 0;
}

.loc-markets-sub {
  font-size: clamp(16px, 1.4vw, 19px);
  line-height: 1.65;
  color: var(--loc-muted);
  margin: 20px auto 0;
  max-width: 720px;
}

/* ── 3D Carousel ── */
.loc-carousel {
  position: relative;
  max-width: 1100px;
  margin: 0 auto;
  height: 520px;
  perspective: 1800px;
  transform-style: preserve-3d;
}

.loc-card {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 400px;
  height: 450px;
  margin-left: -190px;
  margin-top: -220px;
  background: #ffffff;
  border: 1px solid var(--loc-line);
  border-radius: 24px;
  overflow: hidden;
  cursor: pointer;
  transition: all 0.6s cubic-bezier(0.18, 0.9, 0.3, 1.05);
  box-shadow: 0 20px 50px -25px rgba(12, 35, 64, 0.18);
  display: flex;
  flex-direction: column;
  text-decoration: none;
  color: inherit;
}

.loc-card.is-active {
  transform: translate3d(0, 0, 0) scale(1);
  opacity: 1;
  z-index: 10;
  box-shadow: 0 32px 64px -20px rgba(12, 35, 64, 0.28);
  border-color: rgba(236, 28, 36, 0.2);
}

.loc-card.is-left {
  transform: translate3d(-320px, 20px, -200px) scale(0.82) rotateY(12deg);
  opacity: 0.85;
  z-index: 5;
}

.loc-card.is-right {
  transform: translate3d(320px, 20px, -200px) scale(0.82) rotateY(-12deg);
  opacity: 0.85;
  z-index: 5;
}

.loc-card.is-far-left {
  transform: translate3d(-540px, 40px, -400px) scale(0.65) rotateY(18deg);
  opacity: 0.5;
  z-index: 2;
}

.loc-card.is-far-right {
  transform: translate3d(540px, 40px, -400px) scale(0.65) rotateY(-18deg);
  opacity: 0.5;
  z-index: 2;
}

.loc-card:hover.is-active {
  transform: translate3d(0, -6px, 0);
  box-shadow: 0 36px 72px -18px rgba(12, 35, 64, 0.32);
}

.loc-card:hover.is-left {
  transform: translate3d(-310px, 14px, -180px) scale(0.84) rotateY(10deg);
}
.loc-card:hover.is-right {
  transform: translate3d(310px, 14px, -180px) scale(0.84) rotateY(-10deg);
}

/* ── Card inner ── */
.loc-card-img {
  width: 100%;
  height: 200px;
  object-fit: cover;
  display: block;
  flex-shrink: 0;
}

.loc-card-body {
  flex: 1;
  padding: 24px 28px 28px;
  display: flex;
  flex-direction: column;
}

.loc-card-city {
  font-family: "Outfit", system-ui, sans-serif;
  font-size: 24px;
  font-weight: 600;
  color: var(--loc-navy);
  margin: 0 0 10px;
  display: flex;
  align-items: center;
  gap: 10px;
}

.loc-card-city-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--loc-red);
  flex-shrink: 0;
}

.loc-card-desc {
  font-size: 15px;
  line-height: 1.6;
  color: var(--loc-muted);
  margin: 0;
  flex: 1;
}

.loc-card-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  font-weight: 600;
  color: var(--loc-red);
  margin-top: 16px;
  text-decoration: none;
  transition: gap 0.25s ease;
}

.loc-card:hover .loc-card-link {
  gap: 12px;
}

/* ── Carousel navigation ── */
.loc-carousel-nav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  margin-top: 36px;
}

.loc-carousel-btn {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  border: 1px solid var(--loc-line);
  background: #ffffff;
  color: var(--loc-navy);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s ease;
  padding: 0;
  font-size: 0;
  line-height: 0;
}

.loc-carousel-btn:hover {
  background: var(--loc-red);
  color: #ffffff;
  border-color: var(--loc-red);
}

/* Tap target 24 px (WCAG 2.2 AA, fix plan #73/#130/#132): each button is a 24 px hit area (negative margin
   keeps the row height); the visible 8 px dot / 24 px pill is drawn by ::before.
   The gap next to the active pill stays 8 px; between two inactive dots it grows
   from 8 to 16 px. */
.loc-carousel-dots {
  display: flex;
  gap: 0;
  align-items: center;
}

.loc-carousel-dot {
  position: relative;
  width: 24px;
  height: 24px;
  margin: -8px 0;
  border-radius: 0;
  background: transparent;
  border: none;
  cursor: pointer;
  padding: 0;
}

.loc-carousel-dot::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 8px;
  height: 8px;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  background: var(--loc-line);
  transition: all 0.25s ease;
}

.loc-carousel-dot.is-active::before {
  background: var(--loc-red);
  width: 24px;
  border-radius: 4px;
}

/* ── CTA ── */
.loc-markets-cta {
  text-align: center;
  margin-top: 56px;
}

/* ── Responsive ── */
@media (max-width: 900px) {
  .loc-carousel {
    height: auto;
    perspective: none;
  }

  .loc-card {
    position: relative;
    left: auto;
    top: auto;
    margin: 0 auto 20px;
    width: 100%;
    max-width: 380px;
    height: auto;
    transform: none !important;
    opacity: 1 !important;
  }

  .loc-card:not(.is-active) {
    display: none;
  }
  .loc-card.is-active {
    display: flex;
  }
}

@media (max-width: 768px) {
  .loc-markets {
    padding: 60px 24px;
  }
  .loc-markets-head {
    margin-bottom: 48px;
  }
}

@media (max-width: 640px) {
  .loc-markets {
    padding: 48px 16px;
  }
  .loc-markets-head {
    max-width: 100%;
  }
}

/* ============================================================
   LOCATION RESULTS & RECOGNITION  (Location-results-recognition.php)
   ============================================================ */

.loc-results {
  --loc-red: #ec1c24;
  background: #050810;
  color: #ffffff;
  position: relative;
  overflow: hidden;
  padding: 0;
}

.loc-results-comp {
  position: relative;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 100px 40px 0;
}

/* ── Dome background ── */
.loc-dome-wrap {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  min-width: 1400px;
  pointer-events: none;
  z-index: 0;
}

.loc-dome-svg {
  display: block;
  width: 100%;
  height: auto;
}

.loc-dome-glow {
  position: absolute;
  bottom: -20px;
  left: 50%;
  transform: translateX(-50%);
  width: 1500px;
  height: 500px;
  background: radial-gradient(
    ellipse 52% 60% at 50% 68%,
    rgba(236, 28, 36, 0.28) 0%,
    rgba(236, 28, 36, 0.1) 35%,
    rgba(236, 28, 36, 0.03) 55%,
    transparent 72%
  );
  pointer-events: none;
  z-index: 0;
}

.loc-dome-glow-ambient {
  position: absolute;
  bottom: -60px;
  left: 50%;
  transform: translateX(-50%);
  width: 2200px;
  height: 700px;
  background: radial-gradient(
    ellipse 45% 45% at 50% 55%,
    rgba(236, 28, 36, 0.05) 0%,
    transparent 65%
  );
  pointer-events: none;
  z-index: 0;
}

.loc-dome-body {
  fill: url(#locDomeGrad);
}
.loc-dome-edge {
  fill: none;
  stroke: rgba(236, 28, 36, 0.5);
  stroke-width: 2.5;
}
.loc-dome-edge-outer {
  fill: none;
  stroke: rgba(236, 28, 36, 0.18);
  stroke-width: 1.5;
}
.loc-dome-edge-bloom {
  fill: none;
  stroke: rgba(236, 28, 36, 0.08);
  stroke-width: 6;
}

/* ── Content ── */
.loc-results-content {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  width: 100%;
  padding-bottom: 100px;
}

.loc-results-eyebrow {
  font-family: "Outfit", system-ui, sans-serif;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--loc-red);
  margin: 0 0 14px;
}

.loc-results-h2 {
  font-family: "Outfit", system-ui, sans-serif;
  font-size: clamp(36px, 4.2vw, 56px);
  font-weight: 600;
  color: #ffffff;
  letter-spacing: -0.025em;
  line-height: 1.08;
  margin: 0 auto;
  text-align: center;
}

.loc-results-sub {
  font-family: "Outfit", system-ui, sans-serif;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.55;
  color: rgba(255, 255, 255, 0.5);
  margin: 16px auto 0;
  max-width: 540px;
  text-align: center;
}

/* ── Metrics ── */
.loc-metrics {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: 0;
  margin: 56px auto 0;
  max-width: 820px;
  position: relative;
  z-index: 3;
}

.loc-metric {
  flex: 1;
  text-align: center;
  position: relative;
  padding: 0 36px;
}

.loc-metric + .loc-metric::before {
  content: "";
  position: absolute;
  left: 0;
  top: 6px;
  width: 1px;
  height: 68px;
  background: linear-gradient(
    180deg,
    transparent 0%,
    rgba(255, 255, 255, 0.14) 25%,
    rgba(255, 255, 255, 0.14) 75%,
    transparent 100%
  );
}

.loc-metric-value {
  font-family: "Outfit", system-ui, sans-serif;
  font-size: clamp(44px, 4.8vw, 64px);
  font-weight: 700;
  color: #ffffff;
  letter-spacing: -0.03em;
  line-height: 1;
}

.loc-metric-suffix {
  color: var(--loc-red);
}

.loc-metric-label {
  font-size: 14px;
  font-weight: 500;
  line-height: 1.4;
  color: rgba(255, 255, 255, 0.4);
  margin-top: 12px;
  max-width: 200px;
  margin-left: auto;
  margin-right: auto;
}

/* ── Logos ── */
.loc-logos {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 42px;
  margin-top: 52px;
  position: relative;
  z-index: 3;
}

.loc-logo-item {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
  /* Tap target 24 px (WCAG 2.2 AA, fix plan #73/#130/#132): negative margin keeps the layout */
  padding-block: 3px;
  margin-block: -3px;
}

.loc-logo-img {
  height: 22px;
  width: auto;
  display: block;
  /* filter: brightness(0) invert(1); */
  opacity: 0.35;
  transition: opacity 0.3s ease;
}

.loc-logo-item:hover .loc-logo-img,
.loc-logo-item:focus .loc-logo-img {
  opacity: 0.75;
}

/* ── CTA ── */
.loc-results-cta {
  margin-top: 48px;
  position: relative;
  z-index: 3;
}

section.appServicesSec.hosutonBottom .list {
    max-height: 490px !important;
    overflow-y: auto !important;
    padding-right: 10px;

    /* Firefox */
    scrollbar-width: thin;
    scrollbar-color: #e60000 #f1f1f1;
}

/* Chrome, Edge, Safari */
section.appServicesSec.hosutonBottom .list::-webkit-scrollbar {
    width: 8px;
}

section.appServicesSec.hosutonBottom .list::-webkit-scrollbar-track {
    background: #f1f1f1;
    border-radius: 10px;
}

section.appServicesSec.hosutonBottom .list::-webkit-scrollbar-thumb {
    background: #e60000;
    border-radius: 10px;
}

section.appServicesSec.hosutonBottom .list::-webkit-scrollbar-thumb:hover {
    background: #b30000;
}
/* NYC page only (.nycProblems modifier): "Service Area" line renders without a bullet. */
.benefitsOfWork.nycProblems .grid-stats-content .content-box ul li{
  list-style: none;
  margin-left: -20px;
}

/* Portfolio slider arrows: hidden everywhere, shown bottom-center on NYC (.nycPortfolio).
   Styled to match the homepage case-deck-nav buttons. */
.portfolioSec .ap-arrows {
  display: none;
}
.portfolioSec.nycPortfolio .ap-arrows {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  margin-top: 36px;
}
.portfolioSec.nycPortfolio .ap-btn {
  width: 48px;
  height: 48px;
  border-radius: 999px;
  border: 1px solid #e8e5e0;
  background: #fff;
  color: #0c2340;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition:
    background 0.2s,
    color 0.2s,
    border-color 0.2s;
}
.portfolioSec.nycPortfolio .ap-btn:hover {
  background: #B21818;
  color: #fff;
  border-color: #B21818;
}
.portfolioSec.nycPortfolio .ap-btn .ap-icon-flip {
  transform: scaleX(-1);
}


/* ── Responsive ── */
@media (max-width: 900px) {
  .loc-results-comp {
    padding: 80px 24px 0;
  }
  .loc-dome-wrap {
    min-width: 1000px;
  }
  .loc-dome-glow {
    width: 1000px;
    height: 380px;
  }
}

@media (max-width: 640px) {
	 .loc-dome-wrap {
    display: none;
  }
  .loc-metrics {
    flex-direction: column;
    gap: 32px;
    padding: 0;
  }

  .loc-metric {
    padding: 0;
  }

  .loc-metric + .loc-metric::before {
    width: 60px;
    height: 1px;
    left: 50%;
    margin-left: -30px;
    top: -16px;
    background: rgba(255, 255, 255, 0.12);
  }

  .loc-results-content {
    padding-bottom: 60px;
  }
  .loc-dome-wrap {
    min-width: 700px;
  }
  .loc-logos {
    gap: 24px;
  }
  .loc-logo-img {
    height: 18px;
  }
}

.parent-pageid-85 div#ap-1 .wedding-app::before{
    background-image : unset
}

/* ==========================================================================
   Staff Augmentation  (.sa-*)
   Sections: SAHero
   Dark theme — bg #0A0A0B / #141213
   Brand: red #EC1C24
   Layout note: the orbit visual is sized in `em` against a single font-size on
   .sa-hero-team, so each breakpoint retunes that one value (plus max-width)
   instead of every child.
   ========================================================================== */

.sa-hero {
  position: relative;
  overflow: hidden;
  background: #0a0a0b;
  padding: 90px 0 100px;
}

.sa-hero-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background:
    radial-gradient(
      42em 32em at 78% 42%,
      rgba(236, 28, 36, 0.16) 0%,
      rgba(236, 28, 36, 0) 70%
    ),
    radial-gradient(
      36em 26em at 8% 0%,
      rgba(255, 255, 255, 0.06) 0%,
      rgba(255, 255, 255, 0) 68%
    ),
    linear-gradient(180deg, #0a0a0b 0%, #101011 55%, #0a0a0b 100%);
}

.sa-hero-grid {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 1.05fr 1fr;
  align-items: center;
  gap: 56px;
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 24px;
}

/* ── Content ── */

.sa-hero-h1 {
  font-family: "Outfit", system-ui, sans-serif;
  font-size: clamp(36px, 4.2vw, 58px);
  font-weight: 700;
  line-height: 1.08;
  letter-spacing: -0.03em;
  color: #fff;
  margin: 0;
  max-width: 15em;
}
.sa-hero-h1 .accent {
  color: #ec1c24;
}

.sa-hero-sub {
  font-family: "Outfit", system-ui, sans-serif;
  font-size: 17px;
  line-height: 1.7;
  color: rgba(255, 255, 255, 0.72);
  margin: 20px 0 0;
  max-width: 34em;
}

.sa-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 34px;
}

.sa-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 15px 26px;
  border-radius: 10px;
  font-family: "Outfit", system-ui, sans-serif;
  font-size: 15px;
  font-weight: 500;
  letter-spacing: 0.005em;
  border: 1px solid transparent;
  text-decoration: none;
  transition: all 0.25s ease;
  cursor: pointer;
}
.sa-btn-primary {
  background: #ec1c24;
  color: #fff;
  box-shadow: 0 8px 24px -10px rgba(236, 28, 36, 0.5);
}
.sa-btn-primary:focus-visible {
  background: #ff2e36;
  color: #fff;
  text-decoration: none;
  transform: translateY(-2px);
  box-shadow: 0 14px 36px -10px rgba(236, 28, 36, 0.7);
}
/* Hover effects only on devices with a real pointer — a tap on touch screens
   otherwise latches :hover and the button stays stuck in its hover state. */
@media (hover: hover) {
  .sa-btn-primary:hover {
    background: #ff2e36;
    color: #fff;
    text-decoration: none;
    transform: translateY(-2px);
    box-shadow: 0 14px 36px -10px rgba(236, 28, 36, 0.7);
  }
}
.sa-btn-ghost-light {
  background: transparent;
  color: #fff;
  border-color: rgba(255, 255, 255, 0.55);
}
.sa-btn-ghost-light:focus-visible {
  background: #fff;
  color: #000;
  border-color: #fff;
  text-decoration: none;
  transform: translateY(-2px);
  box-shadow: 0 10px 30px -14px rgba(255, 255, 255, 0.3);
}
@media (hover: hover) {
  .sa-btn-ghost-light:hover {
    background: #fff;
    color: #000;
    border-color: #fff;
    text-decoration: none;
    transform: translateY(-2px);
    box-shadow: 0 10px 30px -14px rgba(255, 255, 255, 0.3);
  }
}
.sa-btn:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 3px;
}

/* ── Visual ── */

/* Ported 1:1 from the approved prototype (staff-augmentation.css). Sizes are the
   prototype's fixed px inside a 460x460 .sa-orbit box; the prototype scales the
   whole thing with a single transform per breakpoint rather than retuning each
   child, so that is what the RESPONSIVE section below does. An earlier port
   rebuilt this in `em` and drifted: the core went warm-brown instead of navy,
   the core avatars lost their grayscale, the gauge caption became a bordered red
   card off to the right instead of plain centred text, and the two background
   orbs swapped corners. Keep this block in px and in prototype order. */

.sa-hero-visual {
  position: relative;
  height: 580px;
  align-self: stretch;
}

.sa-hero-team {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.sa-hero-orb {
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
}
.sa-hero-orb-1 {
  width: 360px;
  height: 360px;
  top: 12%;
  left: 28%;
  background: radial-gradient(circle, rgba(236, 28, 36, 0.18) 0%, transparent 70%);
}
.sa-hero-orb-2 {
  width: 300px;
  height: 300px;
  bottom: 4%;
  right: 4%;
  background: radial-gradient(circle, rgba(40, 90, 180, 0.2) 0%, transparent 70%);
}

.sa-orbit {
  position: relative;
  z-index: 2;
  width: 460px;
  height: 460px;
  flex-shrink: 0;
}

.sa-orbit-ring {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 334px;
  height: 334px;
  margin: -167px 0 0 -167px;
  border-radius: 50%;
  border: 1px dashed rgba(255, 255, 255, 0.16);
  animation: saOrbitSpin 64s linear infinite;
}
.sa-orbit-ring-2 {
  width: 404px;
  height: 404px;
  margin: -202px 0 0 -202px;
  border-style: solid;
  border-color: rgba(255, 255, 255, 0.06);
  animation-direction: reverse;
  animation-duration: 96s;
}

.sa-orbit-links,
.sa-orbit-gauge {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: visible;
}

.sa-orbit-link {
  fill: none;
  stroke: #ec1c24;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-dasharray: 5 6;
  opacity: 0;
  animation: saLinkIn 0.5s ease forwards, saLinkFlow 1.1s linear infinite;
}
/* Connector reveal is staggered in the same order the pods dock. */
.sa-orbit-link--top {
  animation-delay: 1.15s, 0s;
}
.sa-orbit-link--right {
  animation-delay: 1.35s, 0s;
}
.sa-orbit-link--left {
  animation-delay: 1.55s, 0s;
}

.sa-gauge-track {
  fill: none;
  stroke: rgba(255, 255, 255, 0.09);
  stroke-width: 6;
}
.sa-gauge-fill {
  fill: none;
  stroke: #ec1c24;
  stroke-width: 6;
  stroke-linecap: round;
  transform: rotate(-90deg);
  transform-origin: 230px 230px;
  /* 2*PI*r(104) = 653.45. A 405 dash over a 654 gap is the prototype's ~62% arc. */
  stroke-dasharray: 405 654;
  stroke-dashoffset: 405;
  animation: saGaugeDraw 1.5s cubic-bezier(0.3, 0.7, 0.3, 1) 0.7s forwards;
  filter: drop-shadow(0 0 12px rgba(236, 28, 36, 0.45));
}

.sa-core {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 240px;
  height: 240px;
  margin: -120px 0 0 -120px;
  border-radius: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 9px;
  text-align: center;
  padding: 0 18px;
  background: radial-gradient(
    120% 120% at 50% 0%,
    rgba(30, 40, 56, 0.98) 0%,
    rgba(12, 17, 26, 0.98) 100%
  );
  border: 1px solid rgba(255, 255, 255, 0.13);
  box-shadow:
    0 40px 80px -30px rgba(0, 0, 0, 0.9),
    inset 0 1px 0 rgba(255, 255, 255, 0.07);
  animation: saCandIn 0.8s cubic-bezier(0.2, 0.8, 0.2, 1) backwards;
}
.sa-core-label {
  font-size: 12px;
  letter-spacing: 0.13em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.5);
  font-weight: 600;
}
.sa-core-avs {
  display: flex;
}
.sa-core-avs img {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  object-fit: cover;
  filter: grayscale(1) brightness(0.95);
  border: 2px solid #131b28;
  margin-left: -12px;
}
.sa-core-avs img:first-child {
  margin-left: 0;
}
.sa-core-state {
  font-size: 13px;
  color: rgba(255, 255, 255, 0.62);
}

.sa-gauge-cap {
  position: absolute;
  left: 50%;
  top: 352px;
  transform: translateX(-50%);
  display: flex;
  align-items: baseline;
  gap: 7px;
  white-space: nowrap;
  animation: saCandIn 0.7s ease 1.7s backwards;
}
.sa-gauge-cap b {
  font-family: "Outfit", system-ui, sans-serif;
/*   font-size: 36px; */
  font-weight: 700;
  color: #fff;
  letter-spacing: -0.02em;
}
.sa-gauge-cap span {
  font-size: 13px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.5);
}

.sa-pod {
  position: absolute;
  transform: translate(-50%, -50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 9px;
  width: 156px;
  animation:
    saPodIn 0.7s cubic-bezier(0.2, 0.9, 0.25, 1) both,
    saPodFloat 8s ease-in-out infinite;
}
/* Coordinates are the prototype's SA_PODS x/y inside the 460x460 orbit. The
   modifier — not the repeater row number — decides where a card sits, so
   reordering engineers in the editor can no longer rearrange the visual. */
.sa-pod--top {
  left: 300px;
  top: 78px;
  animation-delay: 0.55s, 7s;
}
.sa-pod--right {
  left: 372px;
  top: 316px;
  animation-delay: 0.77s, 8s;
}
.sa-pod--left {
  left: 96px;
  top: 330px;
  animation-delay: 0.99s, 9s;
}
.sa-pod-av {
  position: relative;
  width: 56px;
  height: 56px;
  flex-shrink: 0;
}
.sa-pod-av img {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid rgba(236, 28, 36, 0.75);
  box-shadow:
    0 0 0 5px rgba(236, 28, 36, 0.13),
    0 22px 44px -18px rgba(0, 0, 0, 0.9);
  display: block;
}
.sa-pod-av .dot {
  position: absolute;
  right: 1px;
  bottom: 1px;
  width: 11px;
  height: 11px;
  border-radius: 50%;
  background: #22c55e;
  border: 2px solid #0d121b;
  animation: saPulse 2s ease-out infinite;
}
.sa-pod-cap {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  padding: 8px 12px;
  border-radius: 12px;
  background: rgba(16, 22, 32, 0.82);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, 0.1);
}
.sa-pod-cap i {
  font-style: normal;
  font-size: 13px;
  font-weight: 600;
  color: #fff;
  white-space: nowrap;
}
.sa-pod-cap em {
  font-style: normal;
  margin-top: 8px;
  font-size: 9.5px;
  font-weight: 700;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: #fff;
  background: rgba(236, 28, 36, 0.85);
  padding: 3px 7px;
  border-radius: 5px;
  white-space: nowrap;
}

.sa-orbit-pill {
  position: absolute;
  z-index: 4;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 14px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.07);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border: 1px solid rgba(255, 255, 255, 0.14);
  box-shadow: 0 26px 52px -26px rgba(0, 0, 0, 0.85);
  color: #fff;
  font-size: 13px;
  font-weight: 600;
  font-family: "Outfit", system-ui, sans-serif;
  animation:
    saCandIn 0.85s cubic-bezier(0.2, 0.8, 0.2, 1) 0.95s backwards,
    saCandFloat 11s ease-in-out infinite;
}
.sa-orbit-pill svg {
  width: 17px;
  height: 17px;
  color: #ff6b6b;
}
.sa-orbit-pill-tl {
  left: -6px;
  top: 4px;
  background: rgba(236, 28, 36, 0.14);
  border-color: rgba(236, 28, 36, 0.35);
}

/* ── Motion ── */

@keyframes saOrbitSpin {
  to {
    transform: rotate(360deg);
  }
}

@keyframes saLinkIn {
  to {
    opacity: 1;
  }
}

@keyframes saLinkFlow {
  to {
    stroke-dashoffset: -22;
  }
}

@keyframes saGaugeDraw {
  to {
    stroke-dashoffset: 0;
  }
}

@keyframes saCandIn {
  from {
    opacity: 0;
    transform: translateY(24px) scale(0.95);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@keyframes saCandFloat {
  0%,
  100% {
    translate: 0 0;
  }
  50% {
    translate: 0 -12px;
  }
}

/* The pod keyframes carry the translate(-50%, -50%) centring, because animating
   `transform` would otherwise drop it and shift every card by half its size. */
@keyframes saPodIn {
  from {
    opacity: 0;
    transform: translate(-50%, -50%) scale(0.82);
  }
  to {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
  }
}

@keyframes saPodFloat {
  0%,
  100% {
    translate: 0 0;
  }
  50% {
    translate: 0 -9px;
  }
}

@keyframes saPulse {
  0% {
    box-shadow: 0 0 0 0 rgba(34, 197, 94, 0.5);
  }
  70%,
  100% {
    box-shadow: 0 0 0 7px rgba(34, 197, 94, 0);
  }
}

/* ── Responsive ── */

@media (max-width: 1200px) {
  .sa-hero-grid {
    gap: 40px;
  }
  /* The orbit is fixed at 460px and scales as one unit, exactly as the prototype
     does. Each factor reproduces the width this breakpoint rendered before, so
     only the design changed here, not the responsive sizing. Height tracks it at
     580 * scale, 580px being the prototype's box for a 460px orbit plus the room
     its pods and pill need outside the rings. */
  .sa-orbit {
    transform: scale(0.87);
  }
  .sa-hero-visual {
    height: 505px;
  }
  .sa-hero-sub {
    font-size: 16px;
  }
}

@media (max-width: 991px) {
  .sa-hero {
    padding: 70px 0 80px;
  }
  .sa-hero-grid {
    grid-template-columns: 1fr;
    gap: 56px;
  }
  .sa-hero-h1,
  .sa-hero-sub {
    max-width: none;
  }
  .sa-orbit {
    transform: scale(0.91);
  }
  .sa-hero-visual {
    height: 528px;
  }
}

@media (max-width: 767px) {
  .sa-hero-sub {
    font-size: 15px;
  }
  .sa-orbit {
    transform: scale(0.72);
  }
  .sa-hero-visual {
    height: 418px;
  }
}

@media (max-width: 575px) {
  .sa-hero {
    padding: 56px 0 64px;
  }
  .sa-hero-actions .sa-btn {
    flex: 1 1 100%;
  }
  .sa-orbit {
    transform: scale(0.62);
  }
  .sa-hero-visual {
    height: 360px;
  }
}

@media (max-width: 400px) {
  .sa-orbit {
    transform: scale(0.54);
  }
  .sa-hero-visual {
    height: 313px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .sa-orbit-ring,
  .sa-orbit-link,
  .sa-pod,
  .sa-pod-av .dot,
  .sa-core,
  .sa-orbit-pill,
  .sa-gauge-cap,
  .sa-gauge-fill {
    animation: none;
    opacity: 1;
  }
  /* Every element above animates in from opacity 0, so cancelling the animation
     without this would leave the whole orbit invisible. The gauge needs its dash
     offset zeroed for the same reason — its arc is drawn by the keyframe. */
  .sa-gauge-fill {
    stroke-dashoffset: 0;
  }
  /* saPodIn carries the centring transform; without the animation the pods need
     it back explicitly or they sit half a card off-position. */
  .sa-pod {
    transform: translate(-50%, -50%);
  }
  .sa-btn:hover,
  .sa-btn:focus-visible {
    transform: none;
  }
}

/* ============================================================
   Landing sections — Staff Augmentation, Software Outsourcing, Dedicated Teams

   One sheet for all twelve sections of the three pages, loaded only on pages that
   place at least one of those layouts (tnb_landing_sections_enqueue_assets in
   functions.php).

   ORDER IS LOAD-BEARING. The approved build layers Software Outsourcing on top of
   Dedicated Teams — software-outsourcing.html loads dedicated-teams.css first and
   then refines .dt-hero rather than redefining it. So the parts appear here in the
   same order the approved pages load them:

     1. Staff Augmentation   (self-contained)
     2. Dedicated Teams      (base layer, also used by the SO hero)
     3. Software Outsourcing (refines the DT hero, adds the board and tables)

   Everything is ported verbatim from the approved CSS except the .so-pr-* pricing
   block, which the approved build never styled — that section is marked where it
   starts and still needs design sign-off.
   ============================================================ */


/* ############################################################
   STAFF AUGMENTATION
   ############################################################ */

/* ── Scope: every root this sheet owns ── */
:where(.sa-brands, .sa-results, .sa-roles, .sa-fit, .sa-process2) {
  --sa-ink: #0C2340;
  --sa-muted: #5A6478;
  --sa-line: #E7E8EC;
  --sa-red: #EC1C24;
  --sa-dark: #05070B;
  --sa-pad-y: 110px;
  --sa-bg-alt: #FAFAFA;
  --sa-card-radius: 22px;
  --sa-card-pad: 32px;
  --sa-head-gap: 56px;
  --sa-h-weight: 600;
  --container: 1280px;
}

/* Base rules from the approved build's styles.css, scoped so they cannot leak
   into other sections on the same page or be overridden by the theme's own. */
:where(.sa-brands, .sa-results, .sa-roles, .sa-fit, .sa-process2) .container {
  max-width: var(--container);
  margin: 0 auto;
}
:where(.sa-brands, .sa-results, .sa-roles, .sa-fit, .sa-process2) .eyebrow {
  display: none;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--sa-red);
  align-items: center;
  gap: 10px;
  margin-bottom: 20px;
}
/* No .btn or .btn-primary rules here on purpose.
   The approved sheet carries its own copy of the base button — same geometry as
   the theme's (172x56, 5px radius, 14px/500), but a brighter red and
   font-family: inherit. Porting it scoped to .sa-roles restated a rule the theme
   already owns in header-footer.css, and because components.css is enqueued after
   that sheet the copy won on source order: this one CTA came out a different red
   from every other CTA on the site, in a different typeface, and long labels
   overflowed the box that inherit-ed font no longer fitted.
   Deleted rather than corrected, so the section's CTA is the site's CTA. */

/* The process section carries the approved build's generic .section class for its
   padding. The theme defines no bare .section rule (only .section.cases), so the
   value is ported here rather than left to chance. */
:where(.sa-process2).section { padding: 90px 48px; position: relative; }

/* ── Section padding retunes (from the approved RESPONSIVE block) ── */
@media (max-width: 1024px) {
  :where(.sa-brands, .sa-results, .sa-roles, .sa-fit, .sa-process2) { --sa-pad-y: 84px; }
}

/* Shared headings / section scaffolding */
.sa-section { padding: var(--sa-pad-y) 0; background: #FFFFFF; }
.sa-h2 {
  font-family: 'Outfit', system-ui, sans-serif;
  font-size: var(--fs-h2, 60px);
  font-weight: var(--sa-h-weight);
  line-height: 1.06;
  letter-spacing: -0.025em;
  color: var(--sa-ink);
  margin: 14px 0 0;
}
/* .sa-h2-light removed: used by no template. */
.sa-section-sub {
  font-size: 19px;
  line-height: 1.6;
  color: var(--sa-muted);
  margin: 18px 0 0;
}
.sa-section-head { max-width: 760px; }
.sa-center { margin-left: auto; margin-right: auto; text-align: center; }
.sa-center .eyebrow { justify-content: center; }
/* A bare `.eyebrow, .sa-eyebrow-light { display: none !important }` used to sit
   here, ported from the approved styles.css. Unscoped, it hid EVERY eyebrow on the
   site — Blog.php's "Tech Insights" and Hire-tech-stacks.php's label both
   disappeared on pages that have nothing to do with Staff Augmentation. Deleted
   rather than scoped, because the scoped rule further up already sets
   display: none on .eyebrow inside every SA root that emits one, so it was
   redundant here as well as harmful elsewhere. `.sa-eyebrow-light` appears in no
   template at all. */
.sa-center .sa-section-sub { margin-left: auto; margin-right: auto; }

/* ============================================================
   SECTION 2 — TRUSTED BRANDS
   ============================================================ */
.sa-brands { background: #FFFFFF; padding: 96px 0; }
/* Redesigned: animated marquee rows */
.sa-marq { margin-top: 56px; display: flex; flex-direction: column; gap: 20px; -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
.sa-marq-row { overflow: hidden; }
.sa-marq-track { display: flex; gap: 20px; width: max-content; animation: saMarq 42s linear infinite; }
.sa-marq-track-rev { animation-direction: reverse; animation-duration: 48s; }
.sa-marq:hover .sa-marq-track { animation-play-state: paused; }
.sa-marq-chip { flex-shrink: 0; display: flex; align-items: center; justify-content: center; padding: 22px 40px; border: 1px solid var(--sa-line); border-radius: 14px; background: #FBFBFC; font-family: 'Outfit', system-ui, sans-serif; font-size: 20px; font-weight: 600; letter-spacing: -0.01em; color: #9AA1AE; white-space: nowrap; transition: color 0.25s ease, border-color 0.25s ease, background 0.25s ease, transform 0.25s ease; }
.sa-marq-chip:hover { color: var(--sa-ink); border-color: rgba(12,35,64,0.22); background: #fff; transform: translateY(-2px); }
/* The chip holds a logo, not a word. 27px is the line box the 20px Outfit label
   occupied, measured, so swapping text for artwork leaves the chip and both rows
   exactly as tall as before. max-width caps a wide wordmark; object-fit keeps
   every logo's own aspect ratio inside it. */
.sa-marq-chip img { display: block; height: 27px; width: auto; max-width: 150px; object-fit: contain; }
@keyframes saMarq { from { transform: translateX(0); } to { transform: translateX(calc(-100% / 3)); } }
@media (prefers-reduced-motion: reduce) { .sa-marq-track { animation: none; } }

/* ============================================================
   SECTION 5 — HIRE VETTED TALENT
   ============================================================ */
.sa-roles { background: #FFFFFF; padding: var(--sa-pad-y) 0; }
.sa-roles-head { text-align: left; max-width: none; margin: 0; }
.sa-roles-head .eyebrow-light { color: var(--sa-red); justify-content: flex-start; }
.sa-roles-h2 {
  font-family: 'Outfit', system-ui, sans-serif;
  /* !important dropped — nothing declares .sa-roles-h2's size anywhere else. It was
     needed in the approved sheet only to beat that sheet's global `h2 { 60px
     !important }`, which was never ported. */
  font-size: clamp(34px, 4.4vw, 60px);
  font-weight: 600;
  line-height: 1.06;
  letter-spacing: -0.025em;
  color: var(--sa-ink);
  margin: 14px 0 0;
  white-space: normal;
  text-align: left;
}
/* 19px, not the approved sheet's 25px. That sheet sets 25px here and on .sa-fit's
   sub while leaving its own .sa-section-sub base — and every DT/SO section — at
   19px, so subtext stepped 19 -> 25 -> 19 down the page. Two outliers pulled to
   the base rather than the base raised to them, so no other section moves. */
.sa-roles-sub { font-size: 19px; line-height: 1.6; color: var(--sa-muted); margin: 18px 0 0; max-width: none; text-align: left; }
.sa-roles-cta { display: flex; justify-content: center; margin-top: 44px; }
.sa-roles-head-row { display: flex; align-items: center; justify-content: space-between; gap: 48px; }
.sa-roles-head-row .sa-roles-head-text { flex: 1; min-width: 0; }
/* Only what the site button does not already do: hold its width in the head row.
   The two .arr rules that were here are gone — the approved build hides every
   trailing button arrow, so nothing emits one to style. */
.sa-roles-head-cta { flex-shrink: 0; }
@media (max-width: 760px) { .sa-roles-head-row { flex-direction: column; align-items: flex-start; gap: 24px; } }
.sa-roles-cta .arr { display: inline-flex; margin-left: 8px; }
.sa-roles-cta .arr svg { width: 17px; height: 17px; }
/* The card column fills the container. The approved sheet caps it at
   minmax(0, 620px) and centres the pair with justify-content, which left roughly
   340px of empty gutter either side inside the 1280px container. 1fr takes the
   space the tab rail does not, so the stack spans the full width; the centring is
   dropped with it because it has no effect once the tracks fill the row.
   The cards are position: absolute / inset: 0 on .sa-roles-stage, so they follow
   the new width with nothing else to change. */
.sa-roles-shell {
  margin-top: 48px;
  display: grid;
  grid-template-columns: 280px minmax(0, 1fr);
  gap: 40px;
  align-items: stretch;
  min-height: 380px;
}
.sa-roles-list {
  border: 1px solid var(--sa-line);
  border-radius: 22px;
  padding: 14px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  align-self: center;
}
.sa-role-tab {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 13px 16px;
  border-radius: 12px;
  font-family: inherit;
  font-size: 14.5px;
  font-weight: 500;
  color: var(--sa-muted);
  cursor: pointer;
  border: none;
  background: none;
  transition: all 0.25s ease;
  position: relative;
  text-align: left;
  width: 100%;
  white-space: nowrap;
}
.sa-role-tab:hover { background: rgba(12,35,64,0.04); color: var(--sa-ink); }
.sa-role-tab.active { background: rgba(236,28,36,0.08); color: var(--sa-ink); }
.sa-role-tab.active::before {
  content: "";
  position: absolute;
  left: 4px; top: 50%;
  transform: translateY(-50%);
  width: 3px; height: 22px;
  border-radius: 2px;
  background: var(--sa-red);
  box-shadow: 0 0 10px rgba(236,28,36,0.6);
}
.sa-role-tab .dot {
  width: 6px; height: 6px; border-radius: 50%;
  background: rgba(12,35,64,0.2);
  transition: all 0.25s ease;
  flex-shrink: 0;
}
.sa-role-tab.active .dot { background: var(--sa-red); box-shadow: 0 0 8px var(--sa-red); }
.sa-roles-stage { position: relative; perspective: 1400px; }
.sa-role-card {
  position: absolute;
  inset: 0;
  background: #FFFFFF;
  border: 1px solid var(--sa-line);
  border-radius: 24px;
  overflow: hidden;
  display: block;
  box-shadow: 0 30px 70px -44px rgba(12,35,64,0.5);
  transition: transform 0.55s cubic-bezier(.2,.8,.2,1), opacity 0.4s ease, filter 0.4s ease;
  will-change: transform;
}
.sa-role-card.front { transform: translate3d(0,0,0) scale(1); z-index: 5; opacity: 1; }
.sa-role-card.behind-1 { transform: translate3d(40px, 30px, -100px) scale(0.94); z-index: 3; opacity: 0.55; filter: blur(1px); }
.sa-role-card.behind-2 { transform: translate3d(80px, 60px, -180px) scale(0.88); z-index: 2; opacity: 0.28; filter: blur(2px); }
.sa-role-card.hidden { transform: translate3d(120px, 80px, -260px) scale(0.82); opacity: 0; pointer-events: none; }
.sa-role-card-img {
  position: relative;
  background-size: cover;
  background-position: center;
  overflow: hidden;
}
.sa-role-card-img::after {
  content: "";
  position: absolute; inset: 0;
  background: linear-gradient(90deg, transparent 50%, rgba(255,255,255,0.95) 100%);
}
.sa-role-card-body { padding: 48px 52px; display: flex; flex-direction: column; justify-content: center; height: 100%; box-sizing: border-box; }
.sa-role-card-title { font-size: 30px; font-weight: 600; color: var(--sa-ink); margin-bottom: 16px; letter-spacing: -0.02em; line-height: 1.15; }
.sa-role-card-desc { font-size: 15.5px; line-height: 1.65; color: var(--sa-muted); margin-bottom: 24px; }
.sa-role-card-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 28px; }
.sa-role-card-tags { display: flex; flex-wrap: wrap; gap: 24px 30px; margin-bottom: 28px; }
.sa-role-tech { display: flex; flex-direction: column; align-items: center; gap: 11px; width: 72px; text-align: center; }
.sa-role-tech-tile {
  width: 62px; height: 62px;
  display: grid; place-items: center;
}
/* The tile holds the brand's own logo, so it carries no chrome of its own — the
   background, border and radius the initials version needed would fight the
   artwork. The explicit box matters: WordPress stores no intrinsic width or
   height for an SVG attachment, so without one the mark would lay out at 0. */
.sa-role-tech-tile img { max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; }
.sa-role-tech-name { font-size: 12px; font-weight: 500; color: var(--sa-ink); line-height: 1.25; }
.sa-role-card-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #fff;
  background: var(--sa-red);
  padding: 13px 26px;
  border-radius: 100px;
  font-size: 14.5px;
  font-weight: 600;
  letter-spacing: 0.01em;
  text-decoration: none;
  align-self: flex-end;
  transition: background 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease;
  box-shadow: 0 14px 30px -16px rgba(236,28,36,0.6);
}
.sa-role-card-link:hover { transform: translateY(-2px); box-shadow: 0 18px 36px -16px rgba(236,28,36,0.7); }
.sa-role-card-link svg { transition: transform 0.25s ease; }
.sa-role-card-link:hover svg { transform: translateX(5px); }
@media (max-width: 1080px) {
  .sa-roles-shell { grid-template-columns: 1fr; }
  .sa-roles-list { flex-direction: row; flex-wrap: wrap; }
  .sa-role-tab { width: auto; }
  /* Fix plan #23: every role card stays rendered on tablet/phone, as a swipeable
     row (one card plus a peek of the next) instead of one card behind tabs. The
     tab rail only switches the front card, so it is not shown in this layout;
     each card carries the same role name as its title. */
  .sa-roles-list { display: none; }
  .sa-roles-stage { min-height: 440px; display: flex; gap: 16px; overflow-x: auto; scroll-snap-type: x mandatory; overscroll-behavior-x: contain; perspective: none; padding-bottom: 24px; }
  .sa-role-card,
  .sa-role-card.front,
  .sa-role-card.behind-1,
  .sa-role-card.behind-2,
  .sa-role-card.hidden { position: relative; inset: auto; flex: 0 0 88%; scroll-snap-align: start; transform: none; opacity: 1; filter: none; pointer-events: auto; z-index: auto; }
}
@media (max-width: 600px) {
  .sa-role-card { grid-template-columns: 1fr; }
  .sa-role-card-img { display: none; }
  .sa-role-card-body { padding: 32px 26px; }
}

/* ============================================================

/* ============================================================
   SECTION 6b — IS IT RIGHT FOR YOU? (problem / solution slider)
   ============================================================ */
.sa-fit .sa-section-head { max-width: none; width: 100%; text-align: left; margin-left: 0; margin-right: 0; }
.sa-fit .sa-section-head .eyebrow { justify-content: flex-start; }
.sa-fit .sa-section-head .sa-h2 { text-align: left; }
.sa-roles-h2 .accent { color: var(--sa-ink); }
/* font-size dropped from the approved sheet's 25px for the same reason as
   .sa-roles-sub above: it inherits the 19px base every other section uses. */
.sa-fit .sa-section-head .sa-section-sub { max-width: 900px; margin-left: 0; margin-right: 0; text-align: left; }
/* .sa-cases-intro p removed: the class appears in no template, and the rule it
   carried was a liability if it ever were used — white-space: nowrap on a
   paragraph cannot wrap and would have scrolled the page sideways, and the
   font-size was !important for no competing declaration. */

/* ---- Variant: PROBLEM & SOLUTION ---- */
.sa-fit-ps { display: flex; flex-direction: column; gap: 40px; margin-top: 40px; }
.sa-ps-header { display: flex; align-items: flex-start; justify-content: space-between; }
.sa-ps-title { margin: 0; font-size: 44px; font-weight: 700; color: var(--sa-ink); letter-spacing: -0.02em; line-height: 1.05; }
.sa-ps-counter { display: inline-block; background: #b7e948; color: #2c3a12; padding: 6px 12px; border-radius: 8px; font-size: 12px; font-weight: 600; white-space: nowrap; margin-top: 8px; }
.sa-ps-stage { position: relative; display: grid; grid-template-columns: minmax(0,1fr) 160px minmax(0,1fr); align-items: start; }
.sa-ps-col { display: flex; flex-direction: column; gap: 18px; }
.sa-ps-col-left { grid-column: 1; }
.sa-ps-col-right { grid-column: 3; }
.sa-ps-col-right { grid-column: 3; margin-top: 150px; }
.sa-ps-pill { display: flex; align-items: center; justify-content: space-between; padding: 12px 14px 12px 24px; border-radius: 16px; }
.sa-ps-pill span:first-child { font-size: 17px; font-weight: 500; }
.sa-ps-pill-problem { background: var(--sa-red); color: #fff; }
.sa-ps-pill-solution { background: linear-gradient(100deg, #7c93b8 0%, #3f6fa3 45%, #2f7fb0 100%); color: #fff; }
.sa-ps-badge { width: 34px; height: 34px; border-radius: 9px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.sa-ps-badge svg { width: 17px; height: 17px; }
.sa-ps-badge-warn { background: #ffd21f; color: #1a1a1a; }
.sa-ps-badge-ok { background: #b7e948; color: #1a1a1a; }
.sa-ps-card { position: relative; background: #ececed; border-radius: 22px; padding: 36px 32px; display: flex; flex-direction: column; gap: 14px; }
.sa-ps-card-problem { min-height: 300px; justify-content: center; background: #fff; border: 1px solid var(--sa-line); }
.sa-ps-card-solution { min-height: 300px; justify-content: center; background: #fff; border: 1px solid var(--sa-line); }
.sa-ps-card h3 { margin: 0; font-size: 32px; font-weight: 600; color: var(--sa-ink); letter-spacing: -0.01em; line-height: 1.15; }
.sa-ps-card p { margin: 0; font-size: 17px; color: rgba(12,35,64,0.55); line-height: 1.5; }
.sa-ps-node { position: absolute; width: 12px; height: 12px; border-radius: 50%; background: #fff; border: 2px solid var(--sa-ink); top: 50%; transform: translateY(-50%); z-index: 3; }
.sa-ps-node-out { right: -6px; }
.sa-ps-node-in { left: -6px; }
.sa-ps-connector { position: absolute; left: 0; top: 0; width: 100%; height: 100%; overflow: visible; pointer-events: none; z-index: 2; }
.sa-ps-arrow { stroke: var(--sa-ink); stroke-width: 1.5; fill: none; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 1 7; opacity: 0; animation: saArrowFade 0.8s ease 0.3s forwards; }
.sa-ps-nav { display: flex; align-items: center; justify-content: center; gap: 20px; margin-top: 8px; }
.sa-ps-nav-prev, .sa-ps-nav-next { all: unset; width: 40px; height: 40px; border-radius: 10px; display: flex; align-items: center; justify-content: center; cursor: pointer; font-size: 18px; background: rgba(12,35,64,0.08); color: var(--sa-ink); transition: all 0.3s ease; }
.sa-ps-nav-prev:hover:not(:disabled), .sa-ps-nav-next:hover:not(:disabled) { background: var(--sa-red); color: #fff; }
.sa-ps-nav-prev:disabled, .sa-ps-nav-next:disabled { opacity: 0.3; cursor: not-allowed; }
/* Tap target 24 px (WCAG 2.2 AA, fix plan #73/#130/#132): the button is a 24 px hit area (negative margin keeps the row height),
   the visible 10 px dot is drawn by ::before. Dot centres move from 20 to 24 px apart. */
.sa-ps-dots { display: flex; gap: 0; }
.sa-ps-dot { all: unset; width: 24px; height: 24px; margin: -7px 0; display: grid; place-items: center; cursor: pointer; }
.sa-ps-dot::before { content: ""; width: 10px; height: 10px; border-radius: 50%; background: rgba(12,35,64,0.15); transition: all 0.3s ease; }
.sa-ps-dot.is-active::before { background: var(--sa-red); }
@keyframes saArrowFade { to { opacity: 1; } }

/* ============================================================
   SECTION 9 — PROCESS
   ============================================================ */
   ============================================================ */
.sa-process2 { background: #FFFFFF; }
.sa-process2 .sa-process2-head h2 { color: var(--sa-ink); }
.sa-process2-layout {
  display: grid;
  grid-template-columns: 0.85fr 1.15fr;
  gap: 64px;
  align-items: start;
}
.sa-process2-head { position: sticky; top: 100px; }
.sa-process2-head h2 {
  font-family: 'Outfit', system-ui, sans-serif;
  /* Clamp minimum raised from the approved sheet's 32px so this heading matches
     the other new-section h2s on phone and tablet. The 46px maximum is left as
     approved, so desktop is unchanged. */
  font-size: clamp(34px, 3.4vw, 46px);
  font-weight: 600;
  line-height: 1.08;
  letter-spacing: -0.025em;
  color: var(--sa-ink);
  margin: 16px 0 0;
}
.sa-steps2 {
  list-style: none;
  margin: 0;
  padding: 0;
  position: relative;
}
.sa-steps2-rail {
  position: absolute;
  left: 31px;
  top: 32px;
  bottom: 32px;
  width: 2px;
  background: var(--sa-line);
  border-radius: 2px;
}
.sa-steps2-fill {
  position: absolute;
  left: 0; top: 0;
  width: 100%;
  height: calc(var(--sa-rail-p, 0) * 100%);
  background: var(--sa-red);
  border-radius: 2px;
  transition: height 0.25s linear;
}
.sa-steps2-runner {
  position: absolute;
  left: 50%;
  top: calc(var(--sa-rail-p, 0) * 100%);
  width: 14px; height: 14px;
  border-radius: 50%;
  background: var(--sa-red);
  transform: translate(-50%, -50%);
  box-shadow: 0 0 0 6px rgba(236,28,36,0.18);
  opacity: var(--sa-rail-p, 0);
  transition: top 0.25s linear, opacity 0.3s ease;
}
.sa-step2 {
  position: relative;
  display: flex;
  gap: 26px;
  padding: 0 0 38px;
}
.sa-step2:last-child { padding-bottom: 0; }
.sa-step2-num {
  position: relative;
  z-index: 1;
  flex-shrink: 0;
  width: 64px; height: 64px;
  border-radius: 50%;
  background: #FFFFFF;
  border: 1.5px solid var(--sa-line);
  color: var(--sa-ink);
  display: inline-flex; align-items: center; justify-content: center;
  font-family: 'Outfit', system-ui, sans-serif;
  font-size: 20px; font-weight: 700;
  box-shadow: 0 0 0 8px #FFFFFF;
  transition: all 0.3s ease;
}
.sa-step2:hover .sa-step2-num,
.sa-step2.is-reached .sa-step2-num {
  background: var(--sa-red);
  border-color: var(--sa-red);
  color: #FFFFFF;
  box-shadow: 0 0 0 8px #FFFFFF, 0 14px 30px -14px rgba(236,28,36,0.5);
}
.sa-step2-body { padding-top: 8px; }
.sa-step2-body h3 {
  font-family: 'Outfit', system-ui, sans-serif;
  font-size: 22px;
  font-weight: 600;
  color: var(--sa-ink);
  letter-spacing: -0.01em;
  margin: 0 0 10px;
  transition: color 0.3s ease;
}
.sa-step2:hover .sa-step2-body h3 { color: var(--sa-red); }
.sa-step2-body p { font-size: 16px; line-height: 1.65; color: var(--sa-muted); margin: 0; }
@media (max-width: 920px) {
  .sa-process2-layout { grid-template-columns: 1fr; gap: 44px; }
  .sa-process2-head { position: static; }
}
@media (max-width: 520px) {
  .sa-step2 { gap: 18px; }
  .sa-step2-num { width: 48px; height: 48px; font-size: 15px; }
  .sa-steps2-rail { left: 23px; }
  :where(.sa-process2).section {
    padding: 30px 20px;
    position: relative;
  }
}

/* ############################################################
   DEDICATED TEAMS — base layer for the SO hero too
   ############################################################ */

/* ── Scope ── */
:where(.dt-hero, .dt-section) { --container: 1280px; }
:where(.dt-hero, .dt-section) .container { max-width: var(--container); margin: 0 auto; }
:where(.dt-hero, .dt-section) .eyebrow {
  display: none;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--dt-red);
  align-items: center;
  gap: 10px;
  margin-bottom: 20px;
}

:root {
  --dt-ink: #0C2340;
  --dt-muted: #5A6478;
  --dt-line: #E7E8EC;
  --dt-red: #EC1C24;
  --dt-dark: #05070B;
  --dt-gray: #F7F7F8;
  --dt-pad-y: 104px;
}

.dt-section { padding: var(--dt-pad-y) 0; background: #FFFFFF; }
.dt-section.gray { background: var(--dt-gray); }
.dt-h2 {
  font-family: 'Outfit', system-ui, sans-serif;
  /* Clamp minimum raised from the approved sheet's 32px, matching the other new
     sections on phone and tablet. The 54px maximum is left as approved. This is
     the shared h2 for every Dedicated Teams and Software Outsourcing section. */
  font-size: clamp(34px, 4vw, 54px); font-weight: 600; line-height: 1.08;
  letter-spacing: -0.025em; color: var(--dt-ink); margin: 14px 0 0; text-wrap: balance;
}
.dt-sub { font-size: 19px; line-height: 1.6; color: var(--dt-muted); margin: 18px 0 0; }
.dt-head { max-width: 820px; }
.dt-center { margin-left: auto; margin-right: auto; text-align: center; }
.dt-center .eyebrow { justify-content: center; }
.dt-center .dt-sub { margin-left: auto; margin-right: auto; }
.dt-head-left { max-width: 820px; margin-left: 0; margin-right: auto; text-align: left; }
.dt-head-left .eyebrow { justify-content: flex-start; }
.dt-head-left.dt-head-left { max-width: none; }
.dt-h2-2l { white-space: nowrap; }
.dt-h2-1l { white-space: nowrap; }
@media (max-width: 1200px) {
  .dt-h2-1l, .dt-h2-2l { white-space: normal; }
  .dt-center .dt-h2-1l, .dt-cta .dt-h2-2l { width: 100%; }
}



/* ---------- HERO ---------- */
.dt-hero { position: relative; background: var(--dt-dark); color: #fff; overflow: hidden; }
.dt-hero-bg { position: absolute; inset: 0; pointer-events: none;
  background:
    radial-gradient(820px 500px at 26% 28%, rgba(236,28,36,0.18) 0%, transparent 60%),
    radial-gradient(900px 560px at 86% 72%, rgba(20,44,84,0.5) 0%, transparent 64%),
    linear-gradient(180deg,#0A0F18 0%, #05070B 72%);
}
.dt-hero-grid-layout { position: relative; z-index: 2; max-width: var(--container,1280px); margin: 0 auto; padding: 100px 0px 100px; display: grid; grid-template-columns: 1.08fr 0.92fr; gap: 56px; align-items: center; }
.dt-hero-content { max-width: 600px; }
.dt-hero h1 { font-family: 'Outfit', system-ui, sans-serif; font-size: clamp(38px, 4.6vw, 60px); font-weight: 600; line-height: 1.05; letter-spacing: -0.03em; color: #fff; margin: 22px 0 0; text-wrap: balance; }
.dt-hero h1 .accent { color: var(--dt-red); }
.dt-hero-lead { font-size: 19px; line-height: 1.62; color: rgba(255,255,255,0.7); margin: 24px 0 0; max-width: 540px; }
.dt-hero-points { margin: 30px 0 0; display: flex; flex-direction: column; gap: 13px; }
.dt-hero-point { display: flex; align-items: center; gap: 12px; font-size: 16px; font-weight: 500; color: rgba(255,255,255,0.9); }
.dt-hero-point .ck { flex-shrink: 0; width: 22px; height: 22px; border-radius: 50%; display: grid; place-items: center; background: rgba(236,28,36,0.16); color: #FF6168; }
.dt-hero-point .ck svg { width: 13px; height: 13px; }
.dt-hero-actions { margin-top: 38px; display: flex; gap: 14px; flex-wrap: wrap; }
.dt-hero-visual { position: relative; min-height: 500px; display: flex; align-items: center; justify-content: center; }

/* hero floating cards with depth */
.dt-hero-orb { position: absolute; border-radius: 50%; pointer-events: none; }
.dt-hero-orb-a { width: 340px; height: 340px; top: 6%; left: 24%; background: radial-gradient(circle, rgba(236,28,36,0.2) 0%, transparent 70%); }
.dt-hero-orb-b { width: 300px; height: 300px; bottom: 2%; right: 6%; background: radial-gradient(circle, rgba(40,90,180,0.24) 0%, transparent 70%); }

/* ---------- HERO VISUAL — live team assembly (.dt-hire) ---------- */
/* These two live with the abandoned .dt-plex variant in the approved sheet, but
   .dt-hire-core and its halo are the only remaining consumers, so they travel
   with the orbit rather than with the variant that was dropped. */
@keyframes dtCoreBob { 0%,100% { transform: translate(-50%,-50%) translateY(0); } 50% { transform: translate(-50%,-50%) translateY(-4%); } }
@keyframes dtHalo { 0%,100% { transform: scale(1); opacity: .8; } 50% { transform: scale(1.06); opacity: 1; } }
.dt-hire { position: relative; z-index: 2; width: 100%; max-width: 500px; margin: 0 auto; aspect-ratio: 1; }
.dt-hire-spokes { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; z-index: 1; }
.dt-hire-spoke { fill: none; stroke: rgba(236,28,36,0.55); stroke-width: 2; stroke-linecap: round; vector-effect: non-scaling-stroke; stroke-dasharray: 60; stroke-dashoffset: 60; animation: dtSpokeDraw .6s ease forwards; }
.dt-hire-slot { position: absolute; aspect-ratio: 1; transform: translate(-50%,-50%); z-index: 2; }
.dt-hire-empty { display: grid; place-items: center; width: 100%; height: 100%; border-radius: 50%; color: rgba(255,255,255,0.28); border: 2px dashed rgba(255,255,255,0.22); background: rgba(255,255,255,0.03); }
.dt-hire-empty svg { width: 34%; height: 34%; }
.dt-hire-node { position: relative; display: block; width: 100%; height: 100%; border-radius: 50%; animation: dtHirePop .5s cubic-bezier(.34,1.56,.64,1); }
.dt-hire-node img { width: 100%; height: 100%; border-radius: 50%; object-fit: cover; display: block; border: 4px solid #fff; background: #0d121b; box-shadow: 0 18px 40px -18px rgba(0,0,0,0.85); }
.dt-hire-node.fresh img { border-color: #37C96B; box-shadow: 0 0 0 4px rgba(55,201,107,0.28), 0 18px 40px -18px rgba(0,0,0,0.85); animation: dtHireGlow 1s ease; }
.dt-hire-badge { position: absolute; top: -12%; left: 50%; transform: translateX(-50%); display: inline-flex; align-items: center; gap: 3px; white-space: nowrap; font-size: 10px; font-weight: 700; color: #fff; background: #37C96B; padding: 3px 8px; border-radius: 100px; box-shadow: 0 6px 14px -4px rgba(55,201,107,0.6); animation: dtBadgePop .45s cubic-bezier(.34,1.56,.64,1); }
.dt-hire-badge svg { width: 11px; height: 11px; }
.dt-hire-role { position: absolute; left: 50%; top: 100%; margin-top: 8px; transform: translateX(-50%) translateY(4px); white-space: nowrap; font-family: 'Outfit', system-ui, sans-serif; font-size: 12px; font-weight: 600; letter-spacing: 0.01em; color: #fff; background: rgba(12,35,64,0.82); border: 1px solid rgba(255,255,255,0.16); padding: 3px 9px; border-radius: 999px; backdrop-filter: blur(4px); opacity: 0; pointer-events: none; transition: opacity .4s ease, transform .4s cubic-bezier(.34,1.56,.64,1); z-index: 4; }
.dt-hire-role.on { opacity: 1; transform: translateX(-50%) translateY(0); }
.dt-hire-core { position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); aspect-ratio: 1; z-index: 3; display: grid; place-items: center; animation: dtCoreBob 6s ease-in-out infinite; }
.dt-hire-prog { position: absolute; inset: 0; width: 100%; height: 100%; transform: rotate(-90deg); }
.dt-hire-track { fill: none; stroke: rgba(255,255,255,0.14); stroke-width: 2; }
.dt-hire-fill { fill: none; stroke: #EC1C24; stroke-width: 2.4; stroke-linecap: round; transition: stroke-dashoffset .7s cubic-bezier(.22,1,.36,1); filter: drop-shadow(0 0 4px rgba(236,28,36,0.6)); }
.dt-hire-core-inner { width: 74%; height: 74%; border-radius: 50%; display: grid; place-items: center; background: linear-gradient(155deg, #23262E, #0A0C11); border: 1px solid rgba(255,255,255,0.12); box-shadow: inset 0 1px 0 rgba(255,255,255,0.08), 0 20px 46px -20px rgba(0,0,0,0.85); }
.dt-hire-core-inner svg { width: 50%; height: 50%; }
.dt-hire-status { position: absolute; left: 50%; bottom: -19%; transform: translateX(-50%); display: flex; align-items: center; gap: 10px; padding: 8px 14px; border-radius: 100px; background: rgba(13,17,26,0.9); border: 1px solid rgba(255,255,255,0.12); box-shadow: 0 16px 34px -18px rgba(0,0,0,0.8); white-space: nowrap; z-index: 4; }
.dt-hire-status-tx { font-size: 12.5px; font-weight: 600; color: #fff; }
.dt-hire-status-tx::before { content: ""; display: inline-block; width: 7px; height: 7px; border-radius: 50%; background: #37C96B; margin-right: 7px; vertical-align: middle; animation: dtHalo 1.4s ease-in-out infinite; }
.dt-hire-count { font-size: 12px; color: rgba(255,255,255,0.6); }
.dt-hire-count b { color: #EC1C24; font-family: 'Outfit', sans-serif; font-weight: 700; font-size: 14px; }
.dt-hire-count::before { content: "·"; margin-right: 8px; color: rgba(255,255,255,0.4); }
@keyframes dtSpokeDraw { to { stroke-dashoffset: 0; } }
@keyframes dtHirePop { from { opacity: 0; transform: scale(0.3); } to { opacity: 1; transform: scale(1); } }
@keyframes dtBadgePop { from { opacity: 0; transform: translateX(-50%) translateY(6px) scale(0.6); } to { opacity: 1; transform: translateX(-50%) translateY(0) scale(1); } }
@keyframes dtHireGlow { 0% { box-shadow: 0 0 0 12px rgba(55,201,107,0); } 40% { box-shadow: 0 0 0 8px rgba(55,201,107,0.4); } 100% { box-shadow: 0 0 0 4px rgba(55,201,107,0.28); } }
@media (prefers-reduced-motion: reduce) { .dt-hire-spoke { animation: none; stroke-dashoffset: 0; } .dt-hire-node, .dt-hire-badge, .dt-hire-core { animation: none; } .dt-hire-status-tx::before { animation: none; } }
@media (max-width: 640px) { .dt-hire { max-width: 100%; } }

/* ---------- WHEN IT FITS ---------- */
.dt-fit3-grid { margin-top: 56px; display: grid; grid-template-columns: 1fr 1fr; gap: 28px; align-items: stretch; }
.dt-fit3-card { border-radius: 24px; padding: 38px 36px; border: 1px solid var(--dt-line); background: #fff; display: flex; flex-direction: column; transition: transform .3s ease, box-shadow .3s ease; }
.dt-fit3-card.yes { border-color: rgba(31,138,91,0.3); box-shadow: 0 30px 60px -42px rgba(31,138,91,0.28); }
.dt-fit3-card.no { box-shadow: 0 30px 60px -46px rgba(12,35,64,0.3); }
.dt-fit3-card:hover { transform: translateY(-4px); }
.dt-fit3-top { display: flex; align-items: center; justify-content: space-between; }
.dt-fit3-ic { width: 42px; height: 42px; border-radius: 12px; display: grid; place-items: center; color: #fff; }
.dt-fit3-ic svg { width: 20px; height: 20px; }
.dt-fit3-card.yes .dt-fit3-ic { background: #1F8A5B; box-shadow: 0 8px 18px -8px rgba(31,138,91,0.6); }
.dt-fit3-card.no .dt-fit3-ic { background: var(--dt-red); color: #fff; box-shadow: 0 8px 18px -8px rgba(236,28,36,0.6); }
.dt-fit3-tag { font-size: 11.5px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; padding: 7px 13px; border-radius: 999px; }
.dt-fit3-card.yes .dt-fit3-tag { background: rgba(31,138,91,0.12); color: #1F8A5B; }
.dt-fit3-card.no .dt-fit3-tag { background: rgba(90,100,120,0.1); color: var(--dt-muted); }
.dt-fit3-t { font-family: 'Outfit', system-ui, sans-serif; font-size: 24px; font-weight: 600; letter-spacing: -0.015em; color: var(--dt-ink); margin: 22px 0 0; }
.dt-fit3-sub { font-size: 14.5px; line-height: 1.55; color: var(--dt-muted); margin: 10px 0 0; }
.dt-fit3-div { height: 1px; background: var(--dt-line); margin: 26px 0 22px; }
.dt-fit3-eyebrow { font-size: 12px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--dt-muted); }
.dt-fit3-list { display: flex; flex-direction: column; gap: 0; margin-top: 16px; }
.dt-fit3-item { display: flex; gap: 12px; align-items: flex-start; font-size: 15px; line-height: 1.5; padding: 12px 0; border-bottom: 1px solid var(--dt-line); color: var(--dt-ink); }
.dt-fit3-item:last-child { border-bottom: none; }
.dt-fit3-item .mk { flex-shrink: 0; width: 20px; height: 20px; border-radius: 50%; display: grid; place-items: center; margin-top: 1px; }
.dt-fit3-item .mk svg { width: 11px; height: 11px; }
.dt-fit3-card.yes .dt-fit3-item .mk { background: rgba(31,138,91,0.15); color: #1F8A5B; }
.dt-fit3-card.no .dt-fit3-item .mk { background: rgba(236,28,36,0.13); color: var(--dt-red); }
.dt-fit3-cta { width: 100%; margin-top: 28px; }
@media (max-width: 760px) { .dt-fit3-grid { grid-template-columns: 1fr; } }

/* ---------- TEAM MODELS ---------- */
.dt-tiers { margin-top: 56px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; align-items: stretch; }
.dt-tier { background: #fff; border: 1px solid var(--dt-line); border-radius: 24px; padding: 34px 32px; display: flex; flex-direction: column; transition: transform .35s ease, box-shadow .35s ease; }
.dt-tier.feat { background: var(--dt-ink); border-color: var(--dt-ink); color: #fff; box-shadow: 0 30px 64px -34px rgba(12,35,64,0.6); }
.dt-tier:hover { transform: translateY(-5px); box-shadow: 0 30px 64px -36px rgba(12,35,64,0.45); }
.dt-tier-name { font-family: 'Outfit', system-ui, sans-serif; font-size: 23px; font-weight: 600; letter-spacing: -0.02em; color: var(--dt-ink); }
.dt-tier.feat .dt-tier-name { color: #fff; }
.dt-tier-best { font-size: 13px; font-weight: 600; color: var(--dt-red); margin-top: 8px; }
.dt-tier.feat .dt-tier-best { color: #FF6168; }
.dt-tier-desc { font-size: 15px; line-height: 1.6; color: var(--dt-muted); margin: 16px 0 22px; }
.dt-tier.feat .dt-tier-desc { color: rgba(255,255,255,0.72); }
.dt-tier-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 13px; margin-top: auto; }
.dt-tier-list li { display: flex; gap: 11px; align-items: flex-start; font-size: 14.5px; line-height: 1.45; color: var(--dt-ink); }
.dt-tier.feat .dt-tier-list li { color: rgba(255,255,255,0.9); }
.dt-tier-list .ck { flex-shrink: 0; width: 20px; height: 20px; border-radius: 50%; background: rgba(236,28,36,0.1); color: var(--dt-red); display: grid; place-items: center; margin-top: 1px; }
.dt-tier.feat .dt-tier-list .ck { background: rgba(236,28,36,0.9); color: #fff; }
.dt-tier-list .ck svg { width: 11px; height: 11px; }

/* ---------- BUTTONS ---------- */
.dt-btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; height: 54px; padding: 0 28px; border-radius: 8px; font-family: inherit; font-size: 16px; font-weight: 600; border: 1.5px solid transparent; cursor: pointer; text-decoration: none; transition: transform .25s ease, box-shadow .25s ease, background .25s ease, color .25s ease, border-color .25s ease; white-space: nowrap; }
.dt-btn-primary { background: var(--dt-red); color: #fff; }
.dt-btn-ghost { background: transparent; color: #fff; border-color: rgba(255,255,255,0.3); }
/* Hover only on real-pointer devices — prevents the ghost button's white fill
   from sticking after a tap on touch screens. */
@media (hover: hover) {
  .dt-btn-primary:hover { transform: translateY(-2px); box-shadow: 0 16px 34px -10px rgba(236,28,36,0.55); }
  .dt-btn-ghost:hover { background: #fff; border-color: #fff; color: var(--dt-ink); }
}
.dt-btn-secondary { background: transparent; color: var(--dt-ink); border-color: #C9CBD1; }

/* ---------- WHY TEAMS FAIL — risk / prevention slider ---------- */
.dt-ps { display: flex; flex-direction: column; gap: 40px; margin-top: 56px; }
.dt-ps-stage { position: relative; display: grid; grid-template-columns: minmax(0,1fr) 160px minmax(0,1fr); align-items: start; }
.dt-ps-col { display: flex; flex-direction: column; gap: 18px; }
.dt-ps-col-left { grid-column: 1; }
.dt-ps-col-right { grid-column: 3; margin-top: 150px; }
.dt-ps-pill { display: flex; align-items: center; justify-content: space-between; padding: 12px 14px 12px 24px; border-radius: 16px; }
.dt-ps-pill span { font-size: 17px; font-weight: 500; }
.dt-ps-pill-problem { background: var(--dt-red); color: #fff; }
.dt-ps-pill-solution { background: linear-gradient(100deg, #1a3a5c 0%, #24547f 45%, #2f7fb0 100%); color: #fff; }
.dt-ps-card { position: relative; background: #fff; border: 1px solid var(--dt-line); border-radius: 22px; padding: 36px 32px; display: flex; flex-direction: column; gap: 14px; min-height: 300px; justify-content: center; box-shadow: 0 24px 54px -44px rgba(12,35,64,0.4); }
.dt-ps-card h3 { margin: 0; font-size: 28px; font-weight: 600; color: var(--dt-ink); letter-spacing: -0.01em; line-height: 1.15; }
.dt-ps-card p { margin: 0; font-size: 16px; color: var(--dt-muted); line-height: 1.55; }
.dt-ps-node { position: absolute; width: 12px; height: 12px; border-radius: 50%; background: #fff; border: 2px solid var(--dt-ink); top: 50%; transform: translateY(-50%); z-index: 3; }
.dt-ps-node-out { right: -6px; }
.dt-ps-node-in { left: -6px; }
.dt-ps-connector { position: absolute; left: 0; top: 0; width: 100%; height: 100%; overflow: visible; pointer-events: none; z-index: 2; }
.dt-ps-arrow { stroke: var(--dt-ink); stroke-width: 1.5; fill: none; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 1 7; opacity: 0; animation: dtArrowFade 0.8s ease 0.3s forwards; }
.dt-ps-nav { display: flex; align-items: center; justify-content: center; gap: 20px; }
.dt-ps-nav-prev, .dt-ps-nav-next { all: unset; width: 40px; height: 40px; border-radius: 10px; display: flex; align-items: center; justify-content: center; cursor: pointer; font-size: 18px; background: var(--dt-gray); border: 1px solid var(--dt-line); color: var(--dt-ink); transition: background .2s ease, color .2s ease; }
.dt-ps-nav-prev:hover:not(:disabled), .dt-ps-nav-next:hover:not(:disabled) { background: var(--dt-red); color: #fff; border-color: var(--dt-red); }
.dt-ps-nav-prev:disabled, .dt-ps-nav-next:disabled { opacity: 0.3; cursor: not-allowed; }
/* Tap target 24 px (WCAG 2.2 AA, fix plan #73/#130/#132): the button is a 24 px hit area (negative margin keeps the row height),
   the visible 10 px dot is drawn by ::before. Dot centres move from 20 to 24 px apart. */
.dt-ps-dots { display: flex; gap: 0; }
.dt-ps-dot { all: unset; width: 24px; height: 24px; margin: -7px 0; display: grid; place-items: center; cursor: pointer; }
.dt-ps-dot::before { content: ""; width: 10px; height: 10px; border-radius: 50%; background: rgba(12,35,64,0.15); transition: all 0.3s ease; }
.dt-ps-dot.is-active::before { background: var(--dt-red); }
@keyframes dtArrowFade { to { opacity: 1; } }

/* ############################################################
   SOFTWARE OUTSOURCING — refines the DT hero
   ############################################################ */

/* ---------- HERO refinements (page-scoped, per brief) ---------- */
.dt-hero { min-height: 95vh; display: flex; align-items: center; }
.dt-hero-grid-layout { width: 100%; padding-top: 90px; padding-bottom: 80px; }
.dt-hero h1 { font-size: clamp(46px, 5.4vw, 76px); line-height: 1.03; margin-top: 26px; }
.dt-hero-lead { font-size: 20px; margin-top: 26px; }
.dt-hero-points { margin-top: 34px; gap: 15px; }
.dt-hero-actions { margin-top: 42px; }
.dt-hero .dt-btn-primary { height: 56px; border-radius: 12px; padding: 0 30px; }
.dt-hero .dt-btn-ghost { height: 56px; border-radius: 12px; }

/* These color declarations were unscoped despite the section header above saying "page-scoped,
   per brief" — that let this page's red bleed into every other .dt-hero page (e.g. Construction).
   Scoped here to actually match the stated intent; dimensions above are left unscoped/unchanged. */
.page-slug-software-outsourcing .dt-hero h1 .accent { color: #FF3B3B; }
.page-slug-software-outsourcing .dt-hero .dt-btn-primary { background: #FF3B3B; }
@media (hover: hover) {
  .page-slug-software-outsourcing .dt-hero .dt-btn-primary:hover { box-shadow: 0 18px 40px -12px rgba(255,59,59,0.6); }
}
/* fade-up on load */
.dt-hero-content > * { opacity: 0; transform: translateY(22px); animation: soFadeUp .7s cubic-bezier(.22,1,.36,1) forwards; }
.dt-hero-content > .eyebrow { animation-delay: .05s; }
.dt-hero-content > h1 { animation-delay: .14s; }
.dt-hero-content > .dt-hero-lead { animation-delay: .24s; }
.dt-hero-content > .dt-hero-points { animation-delay: .34s; }
.dt-hero-content > .dt-hero-actions { animation-delay: .44s; }
.dt-hero-visual { opacity: 0; transform: translateY(28px) scale(.98); animation: soFadeUp .9s cubic-bezier(.22,1,.36,1) .3s forwards; }
@keyframes soFadeUp { to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) {
  .dt-hero-content > *, .dt-hero-visual { opacity: 1; transform: none; animation: none; }
}


/* ---------- HERO delivery board visual ---------- */
.so-hero-board {
  position: relative; z-index: 2; width: 100%; max-width: 540px; margin-left: auto;
  animation: soBoardFloat 8s ease-in-out infinite;
}
.so-odb {
  position: relative; z-index: 2; width: 100%; max-width: 470px; margin-left: auto;
  background: linear-gradient(180deg, rgba(20,26,38,0.94), rgba(9,13,20,0.96));
  border: 1px solid rgba(255,255,255,0.1); border-radius: 24px; padding: 26px 26px 22px;
  box-shadow: 0 50px 100px -50px rgba(0,0,0,0.9); backdrop-filter: blur(8px);
  animation: soBoardFloat 8s ease-in-out infinite;
}
.so-odb-head { display: flex; align-items: center; justify-content: space-between; }
.so-odb-live { display: inline-flex; align-items: center; gap: 9px; font-family: 'Outfit', system-ui, sans-serif; font-size: 12px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: rgba(255,255,255,0.72); }
.so-odb-live .dot { width: 8px; height: 8px; border-radius: 50%; background: #29D27D; box-shadow: 0 0 0 0 rgba(41,210,125,0.5); animation: soCkPulse 2s ease-out infinite; }
.so-odb-logo { width: 26px; height: 26px; object-fit: contain; opacity: 0.9; }
.so-odb-project { margin: 20px 0 22px; }
.so-odb-project .so-odb-title { font-family: 'Outfit', system-ui, sans-serif; font-size: 21px; font-weight: 600; letter-spacing: -0.02em; color: #fff; margin: 0; }
.so-odb-sub { font-size: 12.5px; color: rgba(255,255,255,0.5); }
.so-odb-team { display: flex; align-items: center; justify-content: space-between; gap: 14px; background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.07); border-radius: 14px; padding: 13px 16px; margin-bottom: 22px; }
.so-odb-team-l { font-size: 12.5px; font-weight: 500; color: rgba(255,255,255,0.6); }
.so-odb-avatars { display: flex; }
.so-odb-av { width: 30px; height: 30px; border-radius: 50%; margin-left: -8px; overflow: hidden; display: grid; place-items: center; font-family: 'Outfit', system-ui, sans-serif; font-size: 10.5px; font-weight: 700; color: #fff; border: 2px solid #0F1420; transform: scale(0); animation: soAvPop .5s cubic-bezier(.3,1.4,.5,1) forwards; }
.so-odb-av img { width: 100%; height: 100%; object-fit: cover; }
.so-odb-av:first-child { margin-left: 0; }
.so-odb-av-more { background: rgba(255,255,255,0.12); color: rgba(255,255,255,0.75); }
.so-odb-pipe { position: relative; display: grid; grid-template-columns: repeat(4, 1fr); margin: 0 6px 24px; }
.so-odb-pipe-line { position: absolute; left: 12.5%; right: 12.5%; top: 15px; height: 3px; background: rgba(255,255,255,0.12); border-radius: 3px; }
.so-odb-pipe-fill { position: absolute; left: 0; top: 0; height: 100%; background: linear-gradient(90deg, #FF6168, #EC1C24); border-radius: 3px; width: 0; transition: width .9s cubic-bezier(.4,0,.2,1); }
.so-odb-pipe-rider { position: absolute; top: 50%; left: 0; transform: translate(-50%,-50%); width: 22px; height: 22px; border-radius: 50%; background: #fff; color: var(--dt-red, #EC1C24); display: grid; place-items: center; box-shadow: 0 4px 12px -2px rgba(236,28,36,0.7), 0 0 0 4px rgba(236,28,36,0.18); transition: left .9s cubic-bezier(.4,0,.2,1); z-index: 2; }
.so-odb-pipe-rider svg { width: 12px; height: 12px; }
.so-odb-stage { display: flex; flex-direction: column; align-items: center; gap: 9px; }
.so-odb-stage-dot { position: relative; z-index: 1; width: 32px; height: 32px; border-radius: 50%; background: #131a26; border: 2px solid rgba(255,255,255,0.14); display: grid; place-items: center; }
.so-odb-stage-dot .n { font-family: 'Outfit', system-ui, sans-serif; font-size: 12px; font-weight: 700; color: rgba(255,255,255,0.55); }
.so-odb-stage-dot .ck { position: absolute; inset: 0; display: grid; place-items: center; opacity: 0; color: #fff; }
.so-odb-stage-dot .ck svg { width: 15px; height: 15px; }
.so-odb-stage-l { font-size: 11.5px; font-weight: 500; color: rgba(255,255,255,0.5); }
.so-odb-stage.is-done .so-odb-stage-dot { background: var(--dt-red, #EC1C24); border-color: var(--dt-red, #EC1C24); transition: background .4s ease, border-color .4s ease; }
.so-odb-stage.is-done .so-odb-stage-dot .n { opacity: 0; }
.so-odb-stage.is-done .so-odb-stage-dot .ck { opacity: 1; }
.so-odb-stage.is-active .so-odb-stage-dot { border-color: #FF6168; background: #131a26; box-shadow: 0 0 0 5px rgba(236,28,36,0.16); animation: soStagePulse 2.2s ease-in-out infinite; }
.so-odb-stage.is-active .so-odb-stage-dot .n { color: #FF6168; }
.so-odb-stage.is-active .so-odb-stage-l { color: #fff; font-weight: 600; }
.so-odb-kpis { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-bottom: 18px; }
.so-odb-kpi { background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.07); border-radius: 12px; padding: 13px 14px; }
.so-odb-kpi b { display: block; font-family: 'Outfit', system-ui, sans-serif; font-size: 21px; font-weight: 700; color: #FF6168; letter-spacing: -0.02em; line-height: 1; }
.so-odb-kpi span { display: block; font-size: 10.5px; color: rgba(255,255,255,0.5); margin-top: 5px; }
.so-odb-activity { display: flex; align-items: center; gap: 10px; background: rgba(255,90,96,0.08); border: 1px solid rgba(255,90,96,0.2); border-radius: 12px; padding: 12px 14px; }
.so-odb-activity-dot { flex-shrink: 0; width: 7px; height: 7px; border-radius: 50%; background: #FF6168; box-shadow: 0 0 0 0 rgba(255,97,104,0.5); animation: soCkPulse 2s ease-out infinite; }
.so-odb-activity-tx { font-size: 12.5px; color: rgba(255,255,255,0.82); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; animation: soActFade .5s ease; }
@keyframes soAvPop { to { transform: scale(1); } }
@keyframes soPipeFill { to { width: 100%; } }
@keyframes soStagePulse { 0%,100% { box-shadow: 0 0 0 5px rgba(236,28,36,0.16); } 50% { box-shadow: 0 0 0 9px rgba(236,28,36,0.05); } }
@keyframes soActFade { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
@keyframes soCkPulse { 0% { box-shadow: 0 0 0 0 rgba(41,210,125,0.5); } 70%, 100% { box-shadow: 0 0 0 7px rgba(41,210,125,0); } }
@media (prefers-reduced-motion: reduce) {
  .so-odb, .so-odb-av, .so-odb-pipe-fill, .so-odb-pipe-rider, .so-odb-stage.is-active .so-odb-stage-dot, .so-odb-live .dot, .so-odb-activity-dot, .so-odb-activity-tx { animation: none; transition: none; }
  .so-odb-av { transform: scale(1); }
  .so-odb-pipe-fill { width: 100%; }
  .so-odb-pipe-rider { display: none; }
}
/* floating chips */
.so-chip { position: absolute; z-index: 3; display: flex; align-items: center; gap: 11px; background: rgba(255,255,255,0.97); border-radius: 14px; padding: 13px 16px; box-shadow: 0 22px 46px -24px rgba(0,0,0,0.7); }
.so-chip .ico { width: 34px; height: 34px; border-radius: 10px; display: grid; place-items: center; color: #fff; flex-shrink: 0; }
.so-chip .ico svg { width: 17px; height: 17px; }
.so-chip .tx b { display: block; font-family: 'Outfit', system-ui, sans-serif; font-size: 17px; font-weight: 700; letter-spacing: -0.02em; color: #0C2340; line-height: 1; }
.so-chip .tx span { display: block; font-size: 11px; color: #5A6478; margin-top: 3px; }
.so-chip-a { top: -26px; right: -26px; animation: soChipFloat 6s ease-in-out infinite; }
.so-chip-a .ico { background: linear-gradient(135deg,#5BC9A2,#1D9E75); }
.so-chip-b { bottom: -24px; right: -20px; left: auto; animation: soChipFloat 7s ease-in-out 0.6s infinite; }
.so-chip-b .ico { background: linear-gradient(135deg,#4A88C9,#185FA5); }
.so-chip-top { top: -30px; left: 50%; animation: soChipFloatCenter 6.5s ease-in-out infinite; }
.so-chip-top .ico { background: linear-gradient(135deg,#FF8A66,#EC1C24); }
@keyframes soChipFloatCenter { 0%,100% { transform: translateX(-50%) translateY(0); } 50% { transform: translateX(-50%) translateY(-12px); } }
@keyframes soBoardFloat { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-10px); } }
@keyframes soChipFloat { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-12px); } }
@keyframes soBarFill { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@keyframes soPulse { 0%,100% { box-shadow: 0 0 0 5px rgba(236,28,36,0.18); } 50% { box-shadow: 0 0 0 9px rgba(236,28,36,0.05); } }
@media (prefers-reduced-motion: reduce) {
  .so-hero-board, .so-chip { animation: none; }
  .so-board-bar span { animation: none; }
}

/* ---------- COMPARISON — pricing-table style matrix ---------- */
.so-cmp2 { --cmp-cols: 1.35fr 1fr 1fr 1fr; margin-top: 52px; }
.so-cmp2-heads { display: grid; grid-template-columns: var(--cmp-cols); gap: 12px; margin-bottom: 12px; }
.so-cmp2-head { border-radius: 14px; padding: 18px 20px; min-height: 74px; display: flex; flex-direction: column; justify-content: center; color: #fff; box-shadow: 0 18px 34px -22px rgba(12,35,64,0.45); }
.so-cmp2-head b { font-family: 'Outfit', system-ui, sans-serif; font-size: 19px; font-weight: 700; letter-spacing: -0.01em; line-height: 1.1; }
.so-cmp2-head b span { font-size: inherit; font-weight: inherit; opacity: 1; margin: 0; }
.so-cmp2-head b a { padding-block: 2px; } /* Tap target 24 px (WCAG 2.2 AA, fix plan #73/#130/#132): inline link, text does not move */
.so-cmp2-head span { font-size: 14px; font-weight: 500; opacity: 0.9; margin-top: 2px; }
.so-cmp2-head.lbl { background: linear-gradient(135deg,#3FC5CB,#2AA1A8); color: #fff; }
.so-cmp2-head.lbl b { font-size: 28px; font-weight: 700; letter-spacing: -0.01em; line-height: 1.1; }
.so-cmp2-head.lbl span { font-size: 14px; font-weight: 500; color: #fff; opacity: 0.9; margin-top: 2px; }
.so-cmp2-head.tone-blue { background: linear-gradient(135deg,#4A88C9,#185FA5); }
.so-cmp2-head.tone-orange { background: linear-gradient(135deg,#F7A93A,#F57C00); }
.so-cmp2-head.tone-red { background: linear-gradient(135deg,#FF5A60,#EC1C24); box-shadow: 0 20px 40px -20px rgba(236,28,36,0.6); }

.so-cmp2-body { border: 1px solid var(--dt-line); border-radius: 16px; overflow: hidden; box-shadow: 0 24px 54px -40px rgba(12,35,64,0.4); }
.so-cmp2-row { display: grid; grid-template-columns: var(--cmp-cols); align-items: stretch; background: #fff; transition: background .2s ease; }
.so-cmp2-row.alt { background: #F4F5F7; }
@media (hover: hover) {
  .so-cmp2-row:hover { background: #FBEDED; }
}
.so-cmp2-cell { padding: 20px 22px; display: flex; align-items: center; min-height: 66px; border-left: 1px solid var(--dt-line); min-width: 0; }
/* A cell is a flex container, so its children default to min-width: auto and
   cannot shrink below their longest word. With a narrow authored column width that
   made the text spill out of the cell and off the page rather than wrap.

   `anywhere`, not `break-word`: only `anywhere` reduces the box's min-content
   contribution, which is exactly what has to give here — `break-word` breaks a
   long word visually but still reports the unbroken word as the minimum size, so
   the overflow survived it. break-word is kept first as the fallback for engines
   that do not know `anywhere`. Neither has any effect until a word genuinely does
   not fit, so normal columns render unchanged. */
.so-cmp2-cell > span {
  min-width: 0;
  overflow-wrap: break-word;
  overflow-wrap: anywhere;
}
.so-cmp2-cell.cap { border-left: none; font-size: 15.5px; font-weight: 600; color: var(--dt-ink); letter-spacing: -0.01em; }
.so-cmp2-cell.txt { align-items: flex-start; gap: 10px; font-size: 14px; line-height: 1.5; color: var(--dt-muted); }
.so-cmp2-cell.feat { background: rgba(236,28,36,0.05); color: var(--dt-ink); font-weight: 500; }
.so-cmp2-row.alt .so-cmp2-cell.feat { background: rgba(236,28,36,0.08); }
.so-cmp2-tick { width: 22px; height: 22px; border-radius: 50%; flex-shrink: 0; margin-top: 1px; display: grid; place-items: center; color: #fff; background: linear-gradient(135deg,#FF5A60,#EC1C24); }
.so-cmp2-tick svg { width: 13px; height: 13px; }

.so-cmp2-notes { margin-top: 30px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.so-cmp2-note { display: flex; align-items: flex-start; gap: 14px; }
.so-cmp2-note-ic { width: 38px; height: 38px; border-radius: 50%; display: grid; place-items: center; color: #fff; flex-shrink: 0; box-shadow: 0 10px 20px -10px rgba(12,35,64,0.5); }
.so-cmp2-note-ic svg { width: 18px; height: 18px; }
.so-cmp2-note-ic.tone-blue { background: linear-gradient(135deg,#4A88C9,#185FA5); }
.so-cmp2-note-ic.tone-red { background: linear-gradient(135deg,#FF5A60,#EC1C24); }
.so-cmp2-note-ic.tone-gray { background: linear-gradient(135deg,#7C8698,#59627450); background: linear-gradient(135deg,#7C8698,#4A5260); }
.so-cmp2-note b { display: block; font-size: 15px; font-weight: 600; color: var(--dt-ink); letter-spacing: -0.01em; margin-bottom: 4px; }
.so-cmp2-note p { font-size: 13.5px; line-height: 1.55; color: var(--dt-muted); margin: 0; }

/* Any viewport narrower than the container's own 1280px max-width can cramp four
   or five comparison columns, so the table becomes a horizontal scrollbox rather
   than crushing. Same treatment the blog detail tables get (.det .responsive-table
   in responsive.css): overflow-x on the wrapper, a min-width floor on the grid so
   it keeps its shape, touch momentum, and a visible scrollbar so the affordance is
   obvious rather than discovered.

   The breakpoint is the container width, not a device guess: at 1280 and above the
   grid always has its full width and every column fits, so nothing scrolls and the
   card shadows are never clipped. The approved sheet only did this below 760px,
   which left 761-1279px — every tablet and small laptop — squeezing the columns.

   .so-cmp2-notes is reset to min-width: 0 because it sits inside the same
   wrapper and must wrap normally rather than joining the scroll. */
@media (max-width: 1279px) {
  .so-cmp2 {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
    padding-bottom: 4px;
    scrollbar-width: thin;
    scrollbar-color: var(--dt-red) transparent;
  }
  .so-cmp2-heads,
  .so-cmp2-body { min-width: 720px; }
  .so-cmp2-notes { grid-template-columns: 1fr; min-width: 0; }

  /* Matches the blog tables' scrollbar so the two read as one pattern. */
  .so-cmp2::-webkit-scrollbar { height: 10px; }
  .so-cmp2::-webkit-scrollbar-track { box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3); }
  .so-cmp2::-webkit-scrollbar-thumb { background-color: var(--dt-red); border-radius: 999px; }
}

/* The approved sheet also re-declared --cmp-cols here as `1.4fr 1fr 1fr 1fr`.
   Dropped: the value is set inline on the element from the authored widths, and an
   inline custom property beats a stylesheet one, so that rule never applied — and
   now that widths are authored it would fight them, and its hardcoded four tracks
   would break a table with three or five columns. */
/* Table typography on phones — 768px to match the theme's typography breakpoint.
   `.so-cmp2-head.lbl b` is repeated at equal-or-higher specificity so the teal
   first-column header actually scales (base rule at 0,2,1 beat the old 0,1,1). */
@media (max-width: 768px) {
  .so-cmp2-head b,
  .so-cmp2-head.lbl b { font-size: 16px; }
  .so-cmp2-head span,
  .so-cmp2-head.lbl span { font-size: 12px; }
  .so-cmp2-cell.cap { font-size: 14px; }
  .so-cmp2-cell.txt { font-size: 13px; }
}

/* ---------- PRICING — numbered tier rows ----------
   NOT a port. The approved build uses these classes in so-3.jsx but defines them
   in no stylesheet, so there is nothing to copy. Built here from the page's own
   tokens and the .dt-tier.feat treatment so it belongs to the same page. Needs a
   design pass; replace wholesale if the approved CSS surfaces. */
.so-pr-head { margin-bottom: 46px; }
.so-pr-head-text { margin: 0 auto; }
/* A grid, not a flex column, so grid-auto-rows can give every row the height of
   the tallest one — a flex column sizes each row to its own content, and
   align-items only controls width there. */
.so-pr-list-wrap { display: grid; grid-auto-rows: 1fr; }
.so-pr-row {
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr);
  align-items: start;
  gap: 22px;
  padding: 28px 30px;
  border: 1px solid var(--dt-line);
  background: #fff;
}
/* The rows now touch, so they are one block: corners are rounded on the outside of
   the list only, and each row after the first drops its top border so adjacent
   hairlines do not stack into a 2px seam. */
.so-pr-row:first-child { border-radius: 20px 20px 0 0; }
.so-pr-row:last-child { border-radius: 0 0 20px 20px; }
.so-pr-row:only-child { border-radius: 20px; }
.so-pr-row + .so-pr-row { border-top: 0; }
/* The featured row is marked by a red left edge instead of a rounded outline. Its
   left padding drops by the 2px the thicker border adds, so its content stays on
   the same vertical line as every other row's. */
.so-pr-row.featured {
  border-color: rgba(236,28,36,0.28);
  background: rgba(236,28,36,0.04);
  border-left: 3px solid var(--dt-red);
  border-radius: 0;
  padding-left: 28px;
}
.so-pr-num {
  font-family: 'Outfit', system-ui, sans-serif;
  font-size: 30px;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1;
  color: rgba(12,35,64,0.22);
}
.so-pr-row.featured .so-pr-num { color: var(--dt-red); }
.so-pr-row-head { display: flex; align-items: baseline; justify-content: space-between; gap: 24px; flex-wrap: wrap; }
.so-pr-row-head h3 {
  margin: 0;
  font-family: 'Outfit', system-ui, sans-serif;
  font-size: 23px;
  font-weight: 600;
  letter-spacing: -0.02em;
  color: var(--dt-ink);
}
.so-pr-price .cur {
  font-family: 'Outfit', system-ui, sans-serif;
  font-size: 21px;
  font-weight: 700;
  letter-spacing: -0.01em;
  color: var(--dt-red);
  white-space: nowrap;
}
.so-pr-desc { margin: 12px 0 0; font-size: 15px; line-height: 1.6; color: var(--dt-muted); }
.so-pr-cta { display: flex; justify-content: center; margin-top: 40px; }

@media (max-width: 760px) {
  .so-pr-row { grid-template-columns: 1fr; gap: 10px; padding: 24px 22px; }
  /* Same 2px compensation as the base rule, against the narrower mobile padding. */
  .so-pr-row.featured { padding-left: 20px; }
  .so-pr-num { font-size: 24px; }
  .so-pr-row-head { gap: 8px; }
  .so-pr-row-head h3 { font-size: 20px; }
}
/* The reduced-motion block that sat here only neutralised the row's hover lift.
   The rows no longer respond to hover at all, so there is nothing left to disable. */

/* ---------- responsive (ported from the approved dedicated-teams.css) ----------
   Only the rules for the sections that shipped; the approved block also retunes
   dt-stats / dt-exp / dt-why / dt-inds / dt-faq / dt-cmp / dt-fail, which are
   iterations that were not built. Without the hero rule the two-column grid never
   stacks and a 390px viewport scrolls sideways. */
@media (max-width: 1024px) {
  :where(.dt-hero, .dt-section) { --dt-pad-y: 80px; }
  .dt-hero-grid-layout { grid-template-columns: 1fr; gap: 44px; padding: 110px 32px 72px; }
  /* No `order` override — DOM is content-first, so on mobile the animation
     stacks BELOW headline, copy and CTAs by default. */
  .dt-hero-visual { min-height: 380px; }
  .dt-tiers { grid-template-columns: repeat(2, 1fr); }
}

/* The slider hides its inactive slides with the `hidden` attribute. .sa-ps-stage
   and .dt-ps-stage both set display:grid, which outranks the UA rule for [hidden],
   so the attribute has to be re-asserted at class specificity or every slide shows
   at once. */
.sa-ps-stage[hidden],
.dt-ps-stage[hidden] { display: none; }



/* ############################################################
   DEDICATED TEAMS — scaling panels, vetting timeline, dev grid
   ############################################################

   Ported verbatim from the approved dedicated-teams.css, in source order.
   Appended rather than spliced into the DT layer above because every
   selector below is new to this sheet — cascade position cannot change the
   result, and an append cannot land mid-rule. */

/* ---------- SCALING (unified sprint-bar panel) ---------- */
.dt-scale2 { margin-top: 56px; display: grid; grid-template-columns: 1fr 1fr; gap: 28px; align-items: stretch; }
.dt-scale2-col { padding: 40px 44px; display: flex; flex-direction: column; background: #fff; border: 1px solid var(--dt-line); border-radius: 24px; box-shadow: 0 34px 70px -46px rgba(12,35,64,0.4); }
.dt-scale2-head { display: flex; align-items: center; gap: 12px; font-family: 'Outfit', system-ui, sans-serif; font-size: 21px; font-weight: 700; color: var(--dt-ink); margin-bottom: 26px; }
.dt-scale2-ic { width: 38px; height: 38px; border-radius: 11px; display: grid; place-items: center; color: #fff; flex-shrink: 0; }
.dt-scale2-ic svg { width: 19px; height: 19px; }
.dt-scale2-ic.up { background: var(--dt-red); }
.dt-scale2-ic.down { background: var(--dt-ink); }
.dt-scale2-chart { display: flex; align-items: flex-end; gap: 14px; height: 110px; margin-bottom: 30px; }
.dt-scale2-bar-wrap { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: flex-end; height: 100%; gap: 8px; }
.dt-scale2-bar { width: 100%; border-radius: 6px 6px 3px 3px; }
.dt-scale2-bar.up { background: linear-gradient(180deg, #FF5A60, var(--dt-red)); }
.dt-scale2-bar.down { background: linear-gradient(180deg, #3E5A82, var(--dt-ink)); }
.dt-scale2-bar-wrap span { font-size: 11px; color: var(--dt-muted); white-space: nowrap; }
.dt-scale2-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 22px; }
.dt-scale2-list li { position: relative; padding-left: 22px; font-size: 15px; line-height: 1.55; color: var(--dt-muted); }
.dt-scale2-list li b { color: var(--dt-ink); font-weight: 600; }
.dt-scale2-list li::before { content: ""; position: absolute; left: 0; top: 8px; width: 7px; height: 7px; border-radius: 50%; }
.dt-scale2-list.up li::before { background: var(--dt-red); }
.dt-scale2-list.down li::before { background: var(--dt-ink); }
@media (max-width: 760px) {
  .dt-scale2 { grid-template-columns: 1fr; }
}

/* .dt-vt-dur is dropped from this slice: the approved build styles it but
   never renders it, so there is no field and no markup for a duration pill. */
/* ---------- VETTING staggered flow ---------- */
.dt-vt { position: relative; margin-top: 60px; display: flex; flex-direction: column; gap: 4px; }
.dt-vt-spine { position: absolute; top: 8px; bottom: 8px; left: 50%; width: 2px; transform: translateX(-50%); background: linear-gradient(180deg, rgba(236,28,36,0.15), var(--dt-red) 12%, var(--dt-red) 88%, rgba(236,28,36,0.15)); }
.dt-vt-item { position: relative; display: flex; width: 50%; padding: 14px 0; }
.dt-vt-item.is-left { justify-content: flex-end; padding-right: 46px; }
.dt-vt-item.is-right { margin-left: 50%; padding-left: 46px; }
.dt-vt-node { position: absolute; top: 30px; width: 18px; height: 18px; border-radius: 50%; background: var(--dt-red); box-shadow: 0 8px 18px -6px rgba(236,28,36,0.6), 0 0 0 5px #fff; z-index: 2; }
.dt-vt-item.is-left .dt-vt-node { right: -9px; }
.dt-vt-item.is-right .dt-vt-node { left: -9px; }
.dt-vt-card { width: 100%; max-width: 480px; background: #fff; border: 1px solid var(--dt-line); border-radius: 20px; padding: 26px 28px; box-shadow: 0 1px 2px rgba(12,35,64,0.04); transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease; }
.dt-vt-card:hover { transform: translateY(-4px); border-color: rgba(236,28,36,0.25); box-shadow: 0 26px 54px -34px rgba(12,35,64,0.4); }
.dt-vt-head { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 16px; }
.dt-vt-ic { width: 44px; height: 44px; border-radius: 13px; display: grid; place-items: center; color: var(--dt-red); background: rgba(236,28,36,0.08); }
.dt-vt-ic svg { width: 21px; height: 21px; }
.dt-vt-t { font-family: 'Outfit', system-ui, sans-serif; font-size: 19px; font-weight: 600; letter-spacing: -0.015em; color: var(--dt-ink); margin: 0 0 10px; line-height: 1.2; }
.dt-vt-d { font-size: 15px; line-height: 1.62; color: var(--dt-muted); margin: 0; }
.dt-vt-item.dt-rev { opacity: 0; transform: translateY(38px) scale(0.96); transition: opacity .6s cubic-bezier(.16,1,.3,1), transform .6s cubic-bezier(.16,1,.3,1); }
@media (prefers-reduced-motion: reduce) { .dt-vt-item.dt-rev { transition: none; } }
@media (max-width: 820px) {
  .dt-vt-spine { left: 19px; }
  .dt-vt-item, .dt-vt-item.is-left, .dt-vt-item.is-right { width: 100%; margin-left: 0; justify-content: flex-start; padding: 12px 0 12px 52px; }
  .dt-vt-item.is-left .dt-vt-node, .dt-vt-item.is-right .dt-vt-node { left: 1px; right: auto; }
  .dt-vt-card { max-width: none; }
}

/* Three section[data-screen-label="12 Why Choose"] rules are dropped from this
   slice. They were mis-filed into the DEVS block, belong to a different
   section, and target a design-canvas attribute WordPress never emits. */
/* ---------- DEVS (static, mirrors Hire Developers §2) ---------- */
.dt-devs { background: #0A0A0A; }
.dt-devs .eyebrow { color: #FF6168; }
.dt-devs .dt-h2 { color: #fff; }
.dt-devs .dt-sub { color: rgba(255,255,255,0.62); }
.dt-devs-grid { margin-top: 52px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.dt-dev-card { position: relative; background: #141416; border: 1px solid rgba(255,255,255,0.08); border-radius: 18px; padding: 26px 24px; transition: transform .3s ease, border-color .3s ease, box-shadow .3s ease; }
.dt-dev-card:hover { border-color: rgba(236,28,36,0.4); transform: translateY(-4px); box-shadow: 0 20px 50px -20px rgba(236,28,36,0.35); }
.dt-dev-avail { position: absolute; top: 14px; right: 14px; display: inline-flex; align-items: center; gap: 6px; font-size: 12px; font-weight: 500; color: rgba(255,255,255,0.7); background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.1); padding: 5px 10px; border-radius: 100px; }
.dt-dev-avail::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: #29D27D; box-shadow: 0 0 0 3px rgba(41,210,125,0.2); }
.dt-dev-photo { width: 72px; height: 72px; border-radius: 50%; overflow: hidden; margin-bottom: 16px; border: 1px solid rgba(255,255,255,0.14); }
.dt-dev-photo img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(0.2); }
.dt-dev-name { font-size: 17px; font-weight: 600; color: #fff; margin-bottom: 12px; }
.dt-dev-tags { display: flex; flex-wrap: wrap; gap: 6px; }
.dt-dev-tag { font-size: 12px; padding: 4px 9px; border-radius: 100px; background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.1); color: rgba(255,255,255,0.7); }
.dt-dev-tag:hover { background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.1); color: rgba(255,255,255,0.7);}
.dt-dev-meta { margin-top: 16px; padding-top: 14px; border-top: 1px solid rgba(255,255,255,0.08); display: flex; justify-content: space-between; font-size: 12px; color: rgba(255,255,255,0.5); letter-spacing: 0.02em; }
.dt-dev-meta strong { color: #fff; font-weight: 600; }
@media (max-width: 1024px) { .dt-devs-grid { grid-template-columns: repeat(2, 1fr); } }

/* ---------- reveal ---------- */
.dt-rev { opacity: 0; transform: translateY(24px); transition: opacity .7s cubic-bezier(.22,1,.36,1), transform .7s cubic-bezier(.22,1,.36,1); }
.dt-rev.in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { .dt-rev { opacity: 1; transform: none; transition: none; } }

/* Addition to the approved sheet, not a port. .dt-rev starts at opacity 0 and
   is revealed by components.js, so with scripting disabled these sections
   would never become visible — content has to survive without JS. Inert in
   browsers that do not support the query, where the reveal's own timed
   failsafe still covers the JS-on path. */
@media (scripting: none) {
  .dt-rev, .dt-vt-item.dt-rev { opacity: 1; transform: none; }
}

/* ---------- RESULTS & RECOGNITION ---------- */

/* Ported verbatim from the approved staff-augmentation.css, with three
   deliberate departures:

   1. .sa-logos svg -> .sa-logos img. The approved build draws the five review
      marks as inline <svg> with <text> in Outfit — approximations, not the real
      artwork — so the port takes uploaded logos and the greyscale treatment has
      to follow the element that actually renders.
   2. Its @media (max-width: 1024px) rule for .sa-metrics is dropped: it sets
      grid-template-columns on a flex container, so it never applied. The 680px
      block is what actually stacks the row, and that is ported.
   3. Its [data-vibe="crisp"] letter-spacing override is dropped — a
      design-canvas control, like data-screen-label, not part of the design. */
.sa-results { background: #FFFFFF; padding: var(--sa-pad-y) 0; }
.sa-results-inner { text-align: center; }
.sa-results-h2 {
  font-family: 'Outfit', system-ui, sans-serif;
  font-size: var(--fs-h2, 60px);
  font-weight: 600;
  letter-spacing: -0.025em;
  line-height: 1.06;
  color: var(--sa-ink);
  margin: 16px auto 0;
}
.sa-results-sub {
  /* 19px, not the approved sheet's clamp(15px, 1.2vw, 18px). That clamp made this
     the one section whose body copy was smaller than every other section's at
     every width; 19px is what .sa-section-sub, .sa-roles-sub and .dt-sub use. The
     ≤768px step at the end of this file takes all four down together. */
  font-size: 19px;
  line-height: 1.6;
  color: var(--sa-muted);
  max-width: 680px;
  margin: 18px auto 0;
}
.sa-metrics {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  margin: 64px auto 0;
  max-width: 920px;
}
.sa-metric {
  flex: 1;
  text-align: center;
  position: relative;
  padding: 0 36px;
}
.sa-metric + .sa-metric::before {
  content: "";
  position: absolute;
  left: 0;
  top: 6px;
  bottom: 6px;
  width: 1px;
  background: linear-gradient(180deg, transparent 0%, var(--sa-line) 25%, var(--sa-line) 75%, transparent 100%);
}
.sa-metric-value {
  font-family: 'Outfit', system-ui, sans-serif;
  font-size: clamp(44px, 4.8vw, 64px);
  font-weight: 600;
  letter-spacing: -0.02em;
  color: #0C2340;
  line-height: 1;
}
.sa-metric-suffix { color: var(--sa-red); }
.sa-metric-label {
  font-size: 14px;
  color: var(--sa-muted);
  line-height: 1.5;
  margin: 14px auto 0;
  max-width: 220px;
}
.sa-logos {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 40px;
  margin-top: 64px;
  padding-top: 48px;
  border-top: 1px solid var(--sa-line);
}
.sa-logos img {
/*   filter: grayscale(1); */
  opacity: 1;
  height: 26px;
  width: auto;
  transition: opacity 0.25s ease, filter 0.25s ease;
}
.sa-logos img:hover { opacity: 1;  }

a.dt-btn.dt-btn-primary:hover {
	background: var(--dt-red);
    color: #fff;
}

@media (max-width: 680px) {
  /* One block per breakpoint — see the 900px block for why the merge target is the
     last occurrence rather than the first. */
  :where(.sa-brands, .sa-results, .sa-roles, .sa-fit, .sa-process2) { --sa-pad-y: 64px; }
  .dt-fit3-grid, .dt-tiers { grid-template-columns: 1fr; }
  /* align-items is not in the approved block. .sa-metrics is align-items:
     flex-start for the desktop row, where that only controls vertical placement;
     once flex-direction turns to column the same value becomes horizontal, so
     each stacked metric shrank to its text width and sat against the left edge
     while the design centres them. Corrected here rather than by changing the
     base rule, so the desktop row is untouched. */
  .sa-metrics { flex-direction: column; align-items: center; gap: 36px; }
  .sa-metric { padding: 0; }
  .sa-metric + .sa-metric::before {
    width: 60px; height: 1px;
    left: 50%; margin-left: -30px;
    top: -18px; bottom: auto;
  }
  .sa-logos { gap: 19px; flex-direction:column }
}

/* ############################################################
   Landing sections — tablet / mobile corrections
   ############################################################ */

/* ── Headings that never stepped down ──
   The approved sheets read their h2 size from --fs-h2, a variable they never
   define, because a global `h2 { font-size: 60px !important }` at the bottom of
   each sheet was doing the work. That block is not ported — applying it would
   restyle every heading on the site — so these two fell back to a flat 60px at
   every width, alone among the section headings.

   The clamp is .sa-roles-h2's, which is already correct here and is the closest
   match to the theme's own .hd-h2 (clamp(36px, 4.2vw, 60px)). Desktop stays at
   the approved 60px; tablet and phone now step down like every other page. */
.sa-h2,
.sa-results-h2 { font-size: clamp(34px, 4.4vw, 60px); }



/* Body subtext used to step down to 16px here. The rule moved to the very end of
   this file: it overrides base declarations of equal specificity, so source order
   decides, and .so-hire-lead and .so-riskx-sub are declared further down the sheet
   than this point — while the block sat here those two were silently unaffected.
   See the closing block for the reasoning. */

/* ############################################################
   SOFTWARE OUTSOURCING — Hire an Outsourced Team (.so-hire-*)
   ############################################################

   Authored, not ported. The approved build names these classes in so-2.jsx but
   defines them in no stylesheet — grep so-hire across its CSS returns nothing — so
   the section renders as unstyled divs there and no screenshot of it exists. Every
   value below is taken from a section already on this page rather than invented:
   the card is .dt-tier's treatment, the grid is .dt-devs-grid's, the lead is
   .dt-sub's copy size. Same situation, and same approach, as .so-pr-* above. */

.so-hire-top { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 32px; align-items: center; }
.so-hire-lead { font-size: 19px; line-height: 1.6; color: var(--dt-muted); margin: 18px 0 0; max-width: 780px; }
.so-hire-aside { flex-shrink: 0; }

/* The "your team includes" label — a small caps lead-in to the cards, not a
   heading: it names the list rather than starting a new section. */
.so-hire-h {
  font-family: 'Outfit', system-ui, sans-serif;
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--dt-ink);
  margin-top: 56px;
}

.so-hire-roles { margin-top: 24px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.so-hire-role {
  background: #fff;
  border: 1px solid var(--dt-line);
  border-radius: 18px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}
.so-hire-role:hover {
  transform: translateY(-5px);
  border-color: rgba(236,28,36,0.22);
  box-shadow: 0 30px 64px -36px rgba(12,35,64,0.45);
}
/* A fixed ratio, so uploads of different sizes cannot make the row ragged. */
.so-hire-img { aspect-ratio: 4 / 3; overflow: hidden; }
.so-hire-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.so-hire-body { padding: 20px 22px 24px; display: flex; flex-direction: column; gap: 7px; }
.so-hire-body b { font-family: 'Outfit', system-ui, sans-serif; font-size: 17px; font-weight: 600; letter-spacing: -0.01em; color: var(--dt-ink); }
.so-hire-rd { display: block; font-size: 14.5px; line-height: 1.5; color: var(--dt-muted); }

@media (prefers-reduced-motion: reduce) {
  .so-hire-role:hover { transform: none; }
}
@media (max-width: 1024px) {
  .so-hire-roles { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 900px) {
  /* One block per breakpoint — see the 900px block for why the merge target is the
     last occurrence rather than the first. */
 .sa-ps-stage { grid-template-columns: 1fr; gap: 20px; } .sa-ps-col-right { margin-top: 0; } .sa-ps-connector { display: none; } .sa-ps-title { font-size: 30px; } .sa-ps-card-problem, .sa-ps-card-solution { min-height: 0; padding: 32px 28px; } 
  .dt-ps-stage { grid-template-columns: 1fr; gap: 20px; }
  .dt-ps-col-right { grid-column: 1; margin-top: 0; }
  .dt-ps-connector { display: none; }
  .dt-ps-card { min-height: 0; }
  .sa-ps-col-right { grid-column: 1; }
  .sa-ps-node, .dt-ps-node { display: none; }
  .sa-ps-col-right,
  .dt-ps-col-right { flex-direction: column-reverse; }
  .so-hire-top { grid-template-columns: 1fr; gap: 24px; align-items: start; }
  .so-hire-h { margin-top: 44px; }
}
/* .so-hire-lead's 768px step is not here — it is in the shared subtext rule with
   every other section's lead, so the four of them can never drift apart. */
@media (max-width: 560px) {
  /* One block per breakpoint — see the 900px block for why the merge target is the
     last occurrence rather than the first. */
 .dt-devs-grid { grid-template-columns: 1fr; } 
  .so-hire-roles { grid-template-columns: 1fr; }
}

/* ############################################################
   SOFTWARE OUTSOURCING — Risk Mitigation (.so-riskx-*)
   ############################################################

   Ported from the approved software-outsourcing.css (284-329). Six families are
   dropped: .so-riskx-track*, .so-riskx-stop*, .so-riskx-watermark,
   .so-riskx-detail-kicker, .so-riskx-fnav and .so-riskx-feature-count belong to
   an earlier numbered-progress-rail design that the final markup never emits —
   dead, like .dt-vt-dur was. Dropping .so-riskx-stop-label also empties one line
   of the 860px breakpoint.

   The nav is not here: it reuses the theme's own .case-deck-nav / .case-btn /
   .case-deck-dot, as the approved markup does. Only the positioning override
   below belongs to this section. */

.so-riskx-section { position: relative; overflow: hidden; background: #fff; color: var(--dt-ink); padding: var(--dt-pad-y,110px) 0; }
.so-riskx-section .container { position: relative; z-index: 2; }
.so-riskx-head { text-align: center; max-width: 900px; margin: 0 auto 56px; }
/* display: none is added to the ported rule. The approved sheet hides eyebrows with
   a global !important in its styles.css, which this theme deliberately does not
   port — so this one has to state it locally, the way the SA and DT scopes do.
   Without it the riskx eyebrow was the only one on the page that showed. */
.so-riskx-head .eyebrow { display: none; justify-content: center; color: var(--dt-red); }
/* Two departures from the approved sheet, both for consistency with the sections
   this one sits between. Weight 600 not 700: every other section heading in the SA,
   SO and DT families is 600, so 700 read as a different typeface mid-page. And
   -0.025em not -0.03em, which is the tracking those same headings use. The clamp is
   untouched — it already matches .sa-h2 and .sa-results-h2 exactly. */
.so-riskx-h2 { font-family: 'Outfit', system-ui, sans-serif; font-size: clamp(34px, 4.4vw, 60px); font-weight: 600; line-height: 1.06; letter-spacing: -0.025em; color: var(--dt-ink); margin: 16px 0 0; text-wrap: balance; }
/* 19px / 1.6, not the approved 17px / 1.66 — the size and leading every other
   section's subtext uses, and it joins their ≤768px step to 16px further down. */
.so-riskx-sub { font-size: 19px; line-height: 1.6; color: var(--dt-muted); margin: 20px auto 0; max-width: 720px; }

.so-riskx-flow { max-width: 1180px; margin: 56px auto 0; }
.so-riskx-feature { display: grid; grid-template-columns: 1.05fr 1fr; align-items: stretch; gap: 28px; animation: soRiskFade .5s ease; }
.so-riskx-feature-media { position: relative; min-height: 520px; overflow: hidden; border-radius: 26px; box-shadow: 0 44px 100px -56px rgba(12,35,64,0.5); }
.so-riskx-detail-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transform: scale(1.08); transition: opacity .7s ease, transform 6s ease; }
.so-riskx-detail-img.is-active { opacity: 1; transform: scale(1); }
.so-riskx-feature-media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(7,21,40,0) 62%, rgba(7,21,40,0.28) 100%); pointer-events: none; }
.so-riskx-feature-body { padding: 56px 52px; color: var(--dt-ink); display: flex; flex-direction: column; justify-content: center; background: #fff; border: 1px solid var(--dt-line); border-radius: 26px; box-shadow: 0 44px 100px -56px rgba(12,35,64,0.4); }
/* Weight 600, not the approved 700: the other slider panel titles
   (.sa-ps-card h3, .dt-ps-card h3) and every card title in these families are 600. */
.so-riskx-feature-body h3 { font-family: 'Outfit', system-ui, sans-serif; font-size: 34px; font-weight: 600; letter-spacing: -0.02em; line-height: 1.1; margin: 14px 0 0; color: var(--dt-ink); }
.so-riskx-feature-body p { font-size: 17px; line-height: 1.6; color: var(--dt-muted); margin: 18px 0 0; }
.so-riskx-casenav { justify-content: center; margin-top: 36px; }

@keyframes soRiskFade { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .so-riskx-feature, .so-riskx-detail-img { animation: none; transition: opacity .3s ease; } }

/* Additions to the ported sheet, not part of it. React remounts the feature on
   every slide change, which is what replayed soRiskFade there; this port keeps
   one DOM and cross-fades the panels instead, so they need a stacking context
   and a transition of their own. The wrapper is the grid's second column, so
   the approved 1.05fr / 1fr proportion holds for any number of safeguards. */
.so-riskx-feature-bodies { position: relative; display: grid; }
.so-riskx-feature-bodies .so-riskx-feature-body {
  grid-area: 1 / 1;
  opacity: 0;
  transform: translateY(10px);
  pointer-events: none;
  transition: opacity .5s ease, transform .5s ease;
}
.so-riskx-feature-bodies .so-riskx-feature-body.is-active {
  opacity: 1;
  transform: none;
  pointer-events: auto;
}
@media (prefers-reduced-motion: reduce) {
  .so-riskx-feature-bodies .so-riskx-feature-body { transition: opacity .3s ease; transform: none; }
}

/* The arrow SVG carries no width or height attribute, and .case-btn sizes none —
   the Cases deck it is borrowed from puts width="16" height="16" on its own markup
   instead. Unsized, the next arrow rendered at 34px in a 48px button and the prev
   one, wrapped in an inline-flex span to be flipped, collapsed to 0x0 and vanished.
   Sized here so the attribute cannot be stripped by kses, and the flip is applied
   to the SVG itself so no wrapper exists to collapse it. */
.so-riskx-casenav .case-btn svg { width: 16px; height: 16px; display: block; }
.so-riskx-casenav [data-riskx-prev] svg { transform: rotate(180deg); }

/* Borrowing .case-deck-nav means borrowing its tokens, and --cs-red / --cs-navy /
   --cs-line are declared on .section.cases only — undefined here. A var() with no
   fallback and no definition makes the whole declaration invalid at computed-value
   time, so three things silently broke: the hover background fell back to
   transparent while the colour still went white, leaving an invisible arrow on a
   white section; the active dot's background did the same and disappeared; and the
   resting border fell back to currentColor instead of a hairline.

   Mapped to this page's own tokens rather than redefining the control, which is
   what about-v2.css already does where it reuses the same nav. */
.so-riskx-casenav {
  --cs-red: var(--dt-red);
  --cs-navy: var(--dt-ink);
  --cs-line: var(--dt-line);
}

@media (max-width: 860px) {
  .so-riskx-feature { grid-template-columns: 1fr; gap: 20px; }
  .so-riskx-feature-media { min-height: 300px; }
  .so-riskx-feature-body { padding: 36px 30px 40px; }
}

/* The risk panel's own title and prose had no breakpoint at all — 34px and 17px at
   every width. Stepped at 768px alongside the sibling slider panels
   (.sa-ps-card h3 -> 24px, .dt-ps-card h3 -> 22px) so the three read alike on a
   phone. The 860px breakpoint above only changes the panel's padding. */

/* ── Body subtext: 16px on phones and small tablets ──
   Deliberately the last rule in this file. It overrides base declarations of equal
   specificity, so source order is what makes it win — several of the subs it names
   are declared later in the sheet than the comment that explains it, and placing
   this block anywhere but the end left those silently unaffected.

   16px is what the established sections do: .ih-sub is 19px stepping to 16px at
   this exact breakpoint, .pcta-sub walks 18 -> 17 -> 16. Base sizes are untouched,
   so desktop keeps the approved 19px.

   Hero subs are absent on purpose — .sa-hero-sub and .dt-hero-lead are banner copy
   with their own per-page sizing, and .sa-hero-sub already steps at 991 and 767. */
@media (max-width: 768px) {
  /* One block per breakpoint — see the 900px block for why the merge target is the
     last occurrence rather than the first.

     Card and slide titles: fixed px in the approved sheets with no breakpoint of
     their own, so a 30px card title stayed 30px on a 390px screen. 768px is the
     breakpoint the theme's own responsive typography uses (see .ih-h2 / .ih-sub).
     .sa-ps-title is absent because it already steps at 900px. */
  .sa-ps-card h3 { font-size: 24px; }
  .dt-ps-card h3 { font-size: 22px; }
  .sa-role-card-title { font-size: 24px; }
  .so-riskx-feature-body h3 { font-size: 24px; }
  .so-riskx-feature-body p { font-size: 16px; }
  .sa-section-sub,
  .sa-roles-sub,
  .sa-results-sub,
  .so-hire-lead,
  .so-riskx-sub,
  .dt-sub { font-size: 16px; }
}

/* ── Focus rings for the ported slider controls ──
   .sa-ps-dot, .dt-ps-dot and the four .sa-ps-nav-* / .dt-ps-nav-* buttons are
   declared with `all: unset` in the approved sheets, and `all` resets `outline`
   along with everything else — so those controls had no visible focus indicator at
   all. Tabbing to them showed outline-style: none, while every other control in
   these sections showed the UA ring.

   Restored with :focus-visible, matching the outline the theme already uses on
   .plt-banner__btn-primary, so it appears for keyboard users only and nothing about
   the resting or hover appearance changes. */
.sa-ps-dot:focus-visible,
.dt-ps-dot:focus-visible,
.sa-ps-nav-prev:focus-visible,
.sa-ps-nav-next:focus-visible,
.dt-ps-nav-prev:focus-visible,
.dt-ps-nav-next:focus-visible {
  outline: 2px solid rgba(236, 28, 36, 0.6);
  outline-offset: 3px;
}

/* ══════════════════════════════════════════════════════════════════════════
   Typography consistency — client scale (2026-08):
     H1 75px · H2 60px · H3 24-28px · Body-L 25px · Body-M 20px · Body-S 16-18px
   Scoped to the new-design section families (sa-/dt-/so-/ih-/hd-/sv-/tc-/plt-/loc-)
   only; legacy pages untouched. Weights intentionally unchanged (client call:
   keep current 600). Appended last so equal-specificity rules win on source
   order. Breakpoints unified on 1024/768/480 via clamp().
   ══════════════════════════════════════════════════════════════════════════ */
.sa-hero-h1,
.dt-hero h1,
.sv-hero-h1,
.tc-hero-h1,
.loc-hero-h1,
.hd-hero-content h1,
.plt-banner__h1 {
  font-size: clamp(38px, 5vw, 75px);
}
.ih-h2,
.hd-h2,
.sa-h2,
.sa-results-h2,
.so-riskx-h2,
.dt-h2 {
  font-size: clamp(32px, 4vw, 60px);
}
.sa-hero-sub,
.dt-hero-lead,
.sv-hero-sub,
.tc-hero-sub,
.loc-hero-sub,
.hd-hero-sub,
.plt-banner__sub {
  font-size: clamp(18px, 1.7vw, 25px);
}

.so-cmp2-head b a { color: inherit; text-decoration: none; }
@media (hover: hover) { .so-cmp2-head b a:hover { text-decoration: underline; text-underline-offset: 3px; } }

/* H3 / Body-M inside cards are stepped by each family's own 768px block above
   (24px/22px card titles, 16px subs) — kept there to preserve approved layouts. */

/* ── Outfit body copy on the listed marketing pages only ──
   The body class is set in functions.php (tnb-outfit-page, slug allowlist).
   Scoped to #main so header/footer keep the site font; elements that already
   declare a font-family explicitly are unaffected — only inherited body text
   flips to Outfit. */
body.tnb-outfit-page #main {
  font-family: "Outfit", system-ui, sans-serif;
}
/* Parent theme pins form controls to its own stack — bring them along. */
body.tnb-outfit-page #main button,
body.tnb-outfit-page #main input,
body.tnb-outfit-page #main select,
body.tnb-outfit-page #main textarea {
  font-family: inherit;
}

/* ── Industries grid — centered header variant ──
   Applies on Software Outsourcing V2 (page-scoped via slug body class) and on
   any section given Custom CSS Class = ihi-centered in the editor. */
.page-slug-software-outsourcing .ih-industry-specific .ih-h2,
.ih-industry-specific.ihi-centered .ih-h2 {
  text-align: center;
	margin : auto;
	width : 60%;
	padding-bottom :30px
}
.page-slug-software-outsourcing .ih-industry-specific .ih-sub,
.ih-industry-specific.ihi-centered .ih-sub {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}

/* ── 19px section-description normalization — slug-scoped, listed pages only ── */
body:is(.page-slug-staff-augmentation, .page-slug-software-outsourcing,
        .page-slug-hire-dedicated-team,
        .page-slug-about-us, .page-slug-services,
        .page-slug-hire-software-developers, .page-slug-platforms,
        .page-slug-technologies, .page-slug-locations, .page-slug-industries)
  :is(.sa-hero-sub, .dt-hero-lead, .sv-hero-sub, .tc-hero-sub, .loc-hero-sub,
      .hd-hero-sub, .plt-banner__sub,
      .ih-sub, .ih-oh-sub, .ihcs-desc,
      .sa-section-sub, .sa-roles-sub, .sa-results-sub,
      .dt-sub, .so-hire-lead, .so-riskx-sub,
      .pcta-sub, .pfaq-desc, .pblg-desc, .ps-sub, .pls-sub, .pe-sub,
      .hd-sub,
      .sv-results-sub, .sv-recog-sub, .sv-stack-sub, .sv-models-sub,
      .sv-process-sub, .sv-tools-sub,
      .tc-sub, .tc-certs-subtitle,
      .loc-markets-sub, .loc-results-sub,
      .abs-lead, .abs-since-sub) {
  font-size: 19px;
}
/* Hero leads shrink from the 25px scale — pin leading that suits 19px text. */
body:is(.page-slug-staff-augmentation, .page-slug-software-outsourcing,
        .page-slug-hire-dedicated-team,
        .page-slug-about-us, .page-slug-services,
        .page-slug-hire-software-developers, .page-slug-platforms,
        .page-slug-technologies, .page-slug-locations, .page-slug-industries)
  :is(.sa-hero-sub, .dt-hero-lead, .sv-hero-sub, .tc-hero-sub, .loc-hero-sub,
      .hd-hero-sub, .plt-banner__sub) {
  line-height: 1.6;
}
/* Mobile step — the 19px rule above outweighs the earlier per-family
   max-width:768px steps (0,2,1 vs 0,1,0), so restate the mobile size here. */
@media (max-width: 768px) {
  body:is(.page-slug-staff-augmentation, .page-slug-software-outsourcing,
          .page-slug-hire-dedicated-team,
          .page-slug-about-us, .page-slug-services,
          .page-slug-hire-software-developers, .page-slug-platforms,
          .page-slug-technologies, .page-slug-locations, .page-slug-industries)
    :is(.sa-hero-sub, .dt-hero-lead, .sv-hero-sub, .tc-hero-sub, .loc-hero-sub,
        .hd-hero-sub, .plt-banner__sub,
        .ih-sub, .ih-oh-sub, .ihcs-desc,
        .sa-section-sub, .sa-roles-sub, .sa-results-sub,
        .dt-sub, .so-hire-lead, .so-riskx-sub,
        .pcta-sub, .pfaq-desc, .pblg-desc, .ps-sub, .pls-sub, .pe-sub,
        .hd-sub,
        .sv-results-sub, .sv-recog-sub, .sv-stack-sub, .sv-models-sub,
        .sv-process-sub, .sv-tools-sub,
        .tc-sub, .tc-certs-subtitle,
        .loc-markets-sub, .loc-results-sub,
        .abs-lead, .abs-since-sub) {
    font-size: 16px;
  }
}
/* .abs-since-row.solo variant (0,3,0) outranks the group rule above — restate. */
body.page-slug-about-us .abs-since-row.solo .abs-since-sub { font-size: 19px; }
@media (max-width: 768px) {
  body.page-slug-about-us .abs-since-row.solo .abs-since-sub { font-size: 16px; }
}

/* ── Dedicated Teams — center + widen the ih section headers ── */
body:is(.page-slug-hire-dedicated-team) .ih-why-head {
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}
body:is(.page-slug-hire-dedicated-team) .ih-why-head .ih-sub,
body:is(.page-slug-hire-dedicated-team) .ih-industry-specific .ih-sub {
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}
body:is(.page-slug-hire-dedicated-team) .ih-industry-specific .ih-h2 {
  text-align: center;
  margin: auto;
  padding-top :20px;
}

/* ── SO V2 — "Why You Need…" header: full-width, centered ── */
.page-slug-software-outsourcing .ih-why-clean .ih-why-head {
  max-width: unset;          /* was 640px */
  margin-left: auto;
  margin-right: auto;
  padding-bottom: 24px;      /* extra space below head */
  text-align: center;
}
.page-slug-software-outsourcing .ih-why-clean .ih-why-head .ih-sub , .page-slug-software-outsourcing .ih-why-head .ih-h2{
  max-width: unset;          /* was 760px */
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

.page-slug-software-outsourcing .sv-metric-value , .page-slug-hire-dedicated-team .sv-metric-value {
    display: flex; 
    text-align: center;
    justify-content: center;
}

/* ── SO hero @ mobile: static, smaller chips that never cover the board head ── */
@media (max-width: 768px) {
  /* room above the board — chips live in this strip instead of on the board */
  .dt-hero-visual { padding-top: 52px; }
  .so-odb, .so-hero-board, .so-chip { animation: none; }
  .so-chip { padding: 8px 10px; gap: 8px; border-radius: 10px; }
  .so-chip .ico { width: 24px; height: 24px; border-radius: 7px; }
  .so-chip .ico svg { width: 12px; height: 12px; }
  .so-chip .tx b { font-size: 12px; }
  .so-chip .tx span { font-size: 9px; margin-top: 2px; }
  .so-chip-top { top: 0; left: 8px; transform: none; }
  .so-chip-a { top: 0; right: 8px; }
  .so-chip-b { bottom: -10px; right: 8px; }
}
.page-slug-software-outsourcing section.dt-section .dt-head.dt-center{
        max-width: unset !important
}

.page-slug-software-outsourcing .so-riskx-detail-img:not(.is-active) { opacity: 0 !important; }

/* ── Riskx nav: .case-deck-nav is display:none ≤1280 for the homepage deck —
   the borrowed riskx nav must stay visible at every width. ── */
@media (max-width: 1280px) {
 .page-slug-software-outsourcing .case-deck-nav.so-riskx-casenav { display: flex; }
}

/* ── Role-card tech chips as links — same look as the plain chip ── */
a.sa-role-tech { color: inherit; text-decoration: none; }
@media (hover: hover) {
  a.sa-role-tech:hover .sa-role-tech-name { color: var(--sa-ink, #0C2340); text-decoration: underline; text-underline-offset: 3px; }
}


/* ── Staff Aug — "Why Teams Choose…" header centered ── */
.page-slug-staff-augmentation .ih-why-clean .ih-why-head {
  margin-left: auto;
  margin-right: auto;
  text-align: center;
	max-width : 750px
}
.page-slug-staff-augmentation .ih-why-clean .ih-why-head .ih-sub {
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

 /* ── Staff Aug — Industries header centered ── */
.page-slug-staff-augmentation .ih-industry-specific .ih-h2 {
  text-align: center;
	 margin-left: auto;
  margin-right: auto;
}
.page-slug-staff-augmentation .ih-industry-specific .ih-sub {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}

a.btn.btn-primary.sa-roles-head-cta {
    background: #EC1C24;
}

/* ── Linked skill tags on the Dedicated Teams dev cards ──
   Stage carries the dtd_tag_link ACF field but never got these rules, so a linked tag
   renders underlined there with no hover or focus affordance. Appended, not merged in
   place, so the plain-pill rule above keeps its position. */
/* Linked variant of the same pill. Hover feedback only where a tag actually goes
   somewhere, so a plain tag does not read as interactive. */
a.dt-dev-tag { text-decoration: none; transition: background .25s ease, border-color .25s ease, color .25s ease; }
a.dt-dev-tag:hover { background: rgba(255,255,255,0.12); border-color: rgba(255,255,255,0.28); color: #fff; }
a.dt-dev-tag:focus-visible { outline: 2px solid rgba(255,255,255,0.6); outline-offset: 2px; }

.page-slug-staff-augmentation section.sa-results {
    padding-top : 0px
}

.page-slug-software-outsourcing .so-hire-aside {
    padding-bottom: 110px;
}

.page-slug-software-outsourcing p.so-hire-lead {
    max-width: unset;
}

/* ############################################################
   LANDING PAGE — HERO (.lp-hero)
   Built on the shared .dt-hero shell (see "---------- HERO ----------" above)
   and reuses .hd-form-row/.hd-form-field/.hd-form-submit/.hd-form-success for
   the embedded lead form, same pattern as Construction-hero.php / Hire-dev-form.php.
   ############################################################ */

/* .dt-hero is display:flex (single row, one child) in the shared shell above.
   This hero has TWO normal-flow rows — the content+form grid, then the
   recognition strip below it — so it needs block stacking instead: as a flex
   row, .lp-hero-grid and .lp-hero-recog become competing flex siblings side by
   side (breaking both their own auto-margin centering and the intended
   content-row / logo-row layout). */
.lp-hero { display: block; min-height: unset; padding: 0; }

/* No synthetic dark gradient here on purpose: the uploaded background photo is
   expected to already carry its own gradient/dark treatment (pre-edited), so a
   second CSS gradient on top would double up and wash it out. */
.lp-hero-photo { position: absolute; inset: 0; z-index: 1; width: 100%; height: 100%; overflow: hidden; }
.lp-hero-photo-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
.lp-hero-photo-scrim { display: none; }

.dt-hero-grid-layout.lp-hero-grid { max-width: 80%; grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr); align-items: start; gap: 56px; padding-top: 90px; padding-bottom: 64px; }
.lp-hero .dt-hero-content { max-width: unset; }
.lp-hero .dt-hero h1 { margin-top: 0; }
/* .dt-hero-lead's own font-size rule is an unscoped clamp(18px,1.7vw,25px) shared
   across every *-hero-sub variant; the fixed 19-20px "other pages" actually show
   comes from a second rule scoped to a hardcoded page-slug allowlist LP pages
   (arbitrary slugs) can't join. Match it directly here instead, plus Outfit —
   #main only flips to Outfit on that same slug allowlist, so this hero was
   inheriting the old site default font otherwise; Outfit is now the default. */
.lp-hero p.dt-hero-lead {
  max-width: unset;
  font-family: 'Outfit', system-ui, sans-serif;
  font-size: 19px;
}
@media (min-width: 1200px) {
  .lp-hero p.dt-hero-lead { font-size: 20px; }
}

.lp-hero-points { margin-top: 32px; }
.lp-hero-point-ck { background: var(--dt-red); color: #fff; }

/* ── Form card (glassmorphic, floats over the photo) ─────────────────────── */
.lp-hero-form-card {
  position: relative;
  z-index: 2;
  background: rgba(255, 248, 248, 0.05);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.5);
  border-radius: 16px;
  padding: 32px;
  align-self: start;
}

.lp-hero-form-head { text-align: center; margin-bottom: 24px; }
.lp-hero-form-head h2 { font-family: 'Outfit', system-ui, sans-serif; font-size: 24px; font-weight: 600; color: #fff; margin: 0; letter-spacing: -0.02em; text-transform: capitalize; }
.lp-hero-form-head p { font-size: 14px; color: rgba(255, 255, 255, 0.75); margin: 8px 0 0; text-transform: capitalize; }

/* Simple static label above the field, outside the border — no floating
   animation, no notch. This is the form's original design (the "outlined
   text field" screenshot this card's inputs were built from); the
   fieldset/legend and animated-floating-label variants tried since were
   reverted back to this. */
.lp-hero-form-card .lp-field {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin: 0 0 16px;
}
.lp-hero-form-card .lp-field:last-of-type { margin-bottom: 0; }

.lp-hero-form-card .lp-field label {
  font-size: 13px;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.7);
}

.lp-hero-form-card .lp-field input,
.lp-hero-form-card .lp-field textarea {
  display: block;
  width: 100%;
  box-sizing: border-box;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.35);
  border-radius: 10px;
  padding: 14px;
  color: #fff;
  font-family: inherit;
  font-size: 14.5px;
  transition: border-color 0.15s ease, background 0.15s ease;
}
.lp-hero-form-card .lp-field-textarea textarea {
  min-height: 90px;
  resize: vertical;
}

.lp-hero-form-card .lp-field input::placeholder,
.lp-hero-form-card .lp-field textarea::placeholder {
  color: rgba(255, 255, 255, 0.4);
}

.lp-hero-form-card .lp-field input:focus,
.lp-hero-form-card .lp-field textarea:focus {
  outline: none;
  border-color: #ec1c24;
  background: rgba(255, 255, 255, 0.05);
}

.lp-hero-form-submit {
  background: transparent;
  border: 1px solid rgba(255, 255, 255, 0.6);
}
.lp-hero-form-submit:hover { background: rgba(255, 255, 255, 0.08); box-shadow: none; transform: none; }
.lp-hero-form-trust {
  margin: 12px 0 0;
  font-size: 12px;
  line-height: 1.5;
  color: rgba(255, 255, 255, 0.55);
  text-align: center;
}
.lp-hero-form-trust a {
  color: rgba(255, 255, 255, 0.85);
  text-decoration: underline;
}
.lp-hero-form-trust a:hover { color: #fff; }
/* ── Recognition strip ────────────────────────────────────────────────────── */
.lp-hero-recog {
  position: relative;
  z-index: 2;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
  max-width: 80%;
  margin: 0 auto;
  padding: 0 0 56px;
}
.lp-hero-recog-label { font-size: 14px; font-weight: 500; color: rgba(255, 255, 255, 0.75); white-space: nowrap; }
.lp-hero-recog-logos { display: flex; flex-wrap: wrap; align-items: center; gap: 64px; }
.lp-hero-recog-logo { display: flex; align-items: center; }
.lp-hero-recog-logo img { max-height: 36px; width: auto; display: block; filter: grayscale(1) brightness(2.2); opacity: 0.85; }

@media (max-width: 1100px) {
  .dt-hero-grid-layout.lp-hero-grid { max-width: 100%; grid-template-columns: minmax(0, 1fr); gap: 30px; padding-top: 45px; }
  .lp-hero .dt-hero-content { max-width: unset; }
  .lp-hero-form-card { max-width: 560px; margin-left: auto; margin-right: auto; }
  .lp-hero-recog { max-width: 90%; }
}

@media (max-width: 640px) {
  .dt-hero-grid-layout.lp-hero-grid { padding-top: 48px; padding-bottom: 40px; }
  .lp-hero-form-card { padding: 24px; }
  .lp-hero-recog { flex-direction: column; align-items: flex-start; gap: 16px; padding-bottom: 40px; }

  /* Heading + lead + CTA centered on mobile; bullet list stays left (it's a
     flex row, not plain text, so centering the ancestor's text-align doesn't
     move it — text-align:left below is just an explicit guarantee). */
  .lp-hero .dt-hero-content { text-align: center; }
  .lp-hero .dt-hero-lead { margin-left: auto; margin-right: auto; }
  .lp-hero .dt-hero-points,
  .lp-hero .dt-hero-point { text-align: left; }
  .lp-hero .dt-hero-actions { justify-content: center; }

  .lp-hero-form-card h2 { font-size: 20px; line-height: 1.3; }
}

/* ── Header V2 — Landing Page nav (template-parts/header/nav-header-lp.php) ──
   Stripped nav for lp_hero pages: logo + phone + email, no menu. Deliberately
   self-contained (no shared classes with #hp-nav) so it doesn't inherit or
   fight the site's mega-menu CSS. */
.lp-nav {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 900;
  background: transparent;
  border-bottom: 1px solid transparent;
  transition: background 0.25s ease, border-color 0.25s ease, backdrop-filter 0.25s ease;
}
/* Transparent + overlaying the hero photo at the top of the page (lp-hero-grid's
   own top padding clears it); lp-nav.js adds .is-scrolled once the user scrolls
   past the hero, switching it to the solid sticky bar. */
.lp-nav.is-scrolled {
  background: #05070b;
  border-bottom-color: rgba(236, 28, 36, 0.25);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}
.lp-nav-inner {
  max-width: 80%;
  margin: 0 auto;
  padding: 18px 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}
.lp-nav-logo { display: flex; align-items: center; flex-shrink: 0; padding-block: 2px; margin-block: -2px; } /* padding: Tap target 24 px (WCAG 2.2 AA, fix plan #73/#130/#132): negative margin keeps the layout */
.lp-nav-logo img { display: block; width: 171px; height: 32px; }

.lp-nav-contact { display: flex; align-items: center; gap: 40px; }
.lp-nav-contact-item {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #fff;
  text-decoration: none;
}
.lp-nav-contact-ic {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  border: 1px solid rgba(236, 28, 36, 0.5);
  color: var(--dt-red);
  flex-shrink: 0;
}
.lp-nav-contact-text { display: flex; flex-direction: column; line-height: 1.3; }
.lp-nav-contact-label { font-size: 12px; color: rgba(255, 255, 255, 0.6); }
.lp-nav-contact-value { font-size: 14px; font-weight: 600; color: #fff; }

@media (max-width: 900px) {
  .lp-nav-contact-label { display: none; }
  .lp-nav-contact { gap: 20px; }
}
@media (max-width: 640px) {
  .lp-nav-inner { max-width: 90%; padding: 14px 0; }
  .lp-nav-contact-value { font-size: 12px; }
  .lp-nav-contact-ic { width: 28px; height: 28px; }
}
@media (max-width: 480px) {
  /* Phone + email together no longer fit next to the logo at this width;
     keep phone (the primary tap-to-call CTA) and drop email. */
  .lp-nav-logo img { width: 130px; height: auto; }
  .lp-nav-contact-item[href^="mailto:"] { display: none; }
}

/* ── Landing Page — Stat Cards (.lp-stats) ────────────────────────────────
   Reuses the site's --dt-ink/--dt-muted/--dt-line/--dt-red tokens (defined
   under the shared HERO section above) rather than inventing new ones. */
.lp-stats {
  background: #fff;
  padding: 90px 0;
}
.lp-stats-inner {
  max-width: var(--container, 1280px);
  margin: 0 auto;
  padding: 0 24px;
}
.lp-stats-h2 {
  font-family: 'Outfit', system-ui, sans-serif;
  font-size: 50px;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: -0.02em;
  color: var(--dt-ink, #0C2340);
  text-align: center;
  max-width: 780px;
  margin: 0 auto 48px;
}

.lp-stats-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 22px;
}

.lp-stats-card {
  position: relative;
  overflow: hidden;
  text-align: center;
  background: #fff;
  border: 1px solid var(--dt-line, #E7E8EC);
  border-radius: 14px;
  padding: 28px 22px;
  box-shadow: 0 6px 24px -8px rgba(12, 35, 64, 0.08);
  transition: box-shadow 0.2s ease, transform 0.2s ease;
}
.lp-stats-card::before {
  content: '';
  position: absolute;
  top: -20%;
  right: -20%;
  width: 65%;
  height: 55%;
  background: radial-gradient(circle, rgba(236, 28, 36, 0.1) 0%, rgba(236, 28, 36, 0) 70%);
  pointer-events: none;
}
.lp-stats-card:hover {
  box-shadow: 0 10px 32px -8px rgba(12, 35, 64, 0.14);
  transform: translateY(-2px);
}

.lp-stats-num {
  position: relative;
  z-index: 1;
  font-family: 'Outfit', system-ui, sans-serif;
  font-weight: 700;
  font-size: clamp(34px, 3vw, 44px);
  line-height: 1;
  color: var(--dt-ink, #0C2340);
  margin-bottom: 16px;
}
.lp-stats-count { font-size: clamp(42px, 3.8vw, 56px); }
.lp-stats-suffix { color: var(--dt-red, #EC1C24); }

.lp-stats-title {
  position: relative;
  z-index: 1;
  font-family: 'Outfit', system-ui, sans-serif;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.35;
  color: var(--dt-ink, #0C2340);
  min-height: 40px;
}

.lp-stats-hr {
  border-top: 1px solid var(--dt-line, #E7E8EC);
  margin: 16px 0 14px;
}

.lp-stats-desc {
  position: relative;
  z-index: 1;
  font-size: 12.5px;
  line-height: 1.6;
  color: var(--dt-muted, #5A6478);
  margin: 0;
}

@media (max-width: 1024px) {
  .lp-stats-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px) {
  .lp-stats { padding: 64px 0; }
  .lp-stats-grid { grid-template-columns: 1fr; }
}

/* ── Landing Page — Card Groups ("LP cards", .lp-cards) ───────────────────
   Container width matches .lp-stats-inner (var(--container,1280px)) rather
   than the hero's 80% — that width was a hero-specific request, not the
   family default. */
.lp-cards {
  background: #fff;
  padding: 90px 0;
}
.lp-cards-inner {
  max-width: var(--container, 1280px);
  margin: 0 auto;
  padding: 0 24px;
}

.lp-cards-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 48px;
}
.lp-cards-h2 {
  font-family: 'Outfit', system-ui, sans-serif;
  font-size: 50px;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: -0.02em;
  color: var(--dt-ink, #0C2340);
  margin: 0;
}
.lp-cards-sub {
  font-size: 17px;
  line-height: 1.55;
  color: var(--dt-muted, #5A6478);
  max-width: 80%;
  margin: 10px 0 0;
}
.lp-cards-cta { flex-shrink: 0; white-space: nowrap; }

.lp-cards-group { margin-top: 40px; }
.lp-cards-group:first-of-type { margin-top: 0; }
.lp-cards-group-title {
  font-family: 'Outfit', system-ui, sans-serif;
  font-size: 2rem;
  font-weight: 600;
  color: var(--dt-muted, #5A6478);
  padding-bottom: 14px;
  margin: 0 0 20px;
  border-bottom: 1px solid var(--dt-line, #E7E8EC);
}
@media (max-width: 640px) {
  .lp-cards-group-title {
    font-family: 'Outfit', system-ui, sans-serif;
    font-size: 20px;
  }
}

.lp-cards-grid {
  display: grid;
  grid-template-columns: repeat(var(--lpc-cols, 3), 1fr);
  gap: 20px;
}

.lp-cards-card {
  --lpc-accent: var(--dt-red, #EC1C24);
  position: relative;
  background: #fff;
  border: 1px solid var(--dt-line, #E7E8EC);
  border-radius: 12px;
  padding: 20px;
  box-shadow: 0 4px 18px -10px rgba(12, 35, 64, 0.1);
  transition: box-shadow 0.2s ease, transform 0.2s ease;
}
.lp-cards-card:hover {
  box-shadow: 0 8px 26px -10px rgba(12, 35, 64, 0.16);
  transform: translateY(-2px);
  border-color: var(--lpc-accent);
}

/* Position-based accent cycle (red / blue / dark), matching the reference
   design's 3-card groups — no separate color field, keeps authoring simple. */
.lp-cards-grid .lp-cards-card:nth-child(3n+2) { --lpc-accent: #2456C9; }
.lp-cards-grid .lp-cards-card:nth-child(3n) { --lpc-accent: #0C1220; }

.lp-cards-card-icon {
  width: 60px;
  height: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 14px;
}
.lp-cards-card-icon img { width: 100%; height: 100%; object-fit: contain; }

.lp-cards-card-title {
  font-family: 'Outfit', system-ui, sans-serif;
  font-size: 18px;
  font-weight: 700;
  color: var(--dt-ink, #0C2340);
  margin-bottom: 6px;
}
.lp-cards-card-desc {
  font-size: 14px;
  line-height: 1.6;
  color: var(--dt-muted, #5A6478);
  margin: 0 0 14px;
}

.lp-cards-card-tags { display: flex; flex-wrap: wrap; gap: 6px; }
.lp-cards-tag {
  font-size: 11px;
  font-weight: 600;
  color: var(--lpc-accent);
  background: transparent;
  border: 1px solid var(--lpc-accent);
  border-radius: 999px;
  padding: 5px 15px;
  white-space: nowrap;
  transition: background 0.15s ease, color 0.15s ease;
}
.lp-cards-tag:hover {
  background: var(--lpc-accent);
  color: #fff;
}

@media (max-width: 900px) {
  .lp-cards-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
  .lp-cards { padding: 64px 0; }
  .lp-cards-head { flex-direction: column; }
  .lp-cards-grid { grid-template-columns: 1fr; }
}

/* ── Landing Page — Workflow Slider (.lp-flow) ─────────────────────────────
   Structurally a copy of .so-riskx-* (Software-outsourcing-risks.php) — same
   crossfade-via-grid-stacking trick, same borrowed .case-deck-nav — under its
   own class names rather than reusing .so-riskx-* directly, since those carry
   .page-slug-software-outsourcing-scoped overrides (crossfade opacity, nav
   breakpoint) this page doesn't have and shouldn't need to acquire. */
.lp-flow {
  position: relative;
  overflow: hidden;
  background: #fff;
  padding: 90px 0;
}
.lp-flow-inner {
  max-width: var(--container, 1280px);
  margin: 0 auto;
  padding: 0 24px;
}
.lp-flow-head { text-align: center; max-width: 780px; margin: 0 auto 48px; }
.lp-flow-h2 {
  font-family: 'Outfit', system-ui, sans-serif;
  font-size: 50px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -0.02em;
  color: var(--dt-ink, #0C2340);
  margin: 0;
}
.lp-flow-sub { font-size: 17px; line-height: 1.6; color: var(--dt-muted, #5A6478); margin: 16px 0 0; }

.lp-flow-slider { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 28px; }

.lp-flow-feature { grid-column: 1; display: grid; grid-template-columns: 1.05fr 1fr; align-items: stretch; gap: 28px; }
.lp-flow-feature-media { position: relative; min-height: 480px; overflow: hidden; border-radius: 26px; box-shadow: 0 44px 100px -56px rgba(12, 35, 64, 0.5); }
.lp-flow-detail-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transform: scale(1.06); transition: opacity 0.7s ease, transform 6s ease; }
.lp-flow-detail-img.is-active { opacity: 1; transform: scale(1); }

.lp-flow-feature-bodies { position: relative; display: grid; }
.lp-flow-feature-body {
  grid-area: 1 / 1;
  padding: 48px 44px;
  color: var(--dt-ink, #0C2340);
  display: flex;
  flex-direction: column;
  justify-content: center;
  background: #fff;
  border: 1px solid var(--dt-line, #E7E8EC);
  border-radius: 26px;
  box-shadow: 0 44px 100px -56px rgba(12, 35, 64, 0.4);
  opacity: 0;
  transform: translateY(10px);
  pointer-events: none;
  transition: opacity 0.5s ease, transform 0.5s ease;
}
.lp-flow-feature-body.is-active { opacity: 1; transform: none; pointer-events: auto; }
.lp-flow-feature-body h3 {
  font-family: 'Outfit', system-ui, sans-serif;
  font-size: 28px;
  font-weight: 600;
  letter-spacing: -0.02em;
  line-height: 1.15;
  margin: 0;
  color: var(--dt-ink, #0C2340);
}
.lp-flow-feature-body p { font-size: 16px; line-height: 1.6; color: var(--dt-muted, #5A6478); margin: 16px 0 0; }

.lp-flow-highlight {
  margin-top: 20px;
  background: #fcf2f2;
  border: 1px solid rgba(236, 28, 36, 0.22);
  border-radius: 12px;
  padding: 14px 16px;
  font-size: 13.5px;
  line-height: 1.5;
}
.lp-flow-highlight-label { color: var(--dt-red, #EC1C24); font-weight: 600; margin-right: 4px; }
.lp-flow-highlight-text { color: var(--dt-muted, #5A6478); }

@media (prefers-reduced-motion: reduce) {
  .lp-flow-detail-img, .lp-flow-feature-body { transition: opacity 0.3s ease; transform: none; }
}

/* Borrowing .case-deck-nav means borrowing its tokens (--cs-red/--cs-navy/--cs-line,
   declared on .section.cases only) — same mapping so_riskx already does. */
.lp-flow-casenav {
  grid-column: 2;
  --cs-red: var(--dt-red);
  --cs-navy: var(--dt-ink);
  --cs-line: var(--dt-line);
  flex-direction: column;
  margin-top: 0;
}
.lp-flow-casenav .case-deck-dots { flex-direction: column; }
.lp-flow-casenav .case-btn svg { width: 16px; height: 16px; display: block; }
.lp-flow-casenav [data-riskx-prev] svg { transform: rotate(-90deg); }
.lp-flow-casenav [data-riskx-next] svg { transform: rotate(90deg); }
/* .case-deck-dot::before is a horizontal 8x24 pill when .is-active (see the shared
   rule) — rotate the whole dot track item so the pill reads vertical, matching the
   Figma slide indicator, instead of overriding the shared pill's own dimensions. */
.lp-flow-casenav .case-deck-dot { transform: rotate(90deg); }

.lp-flow-cta-wrap { text-align: center; margin-top: 48px; }

@media (max-width: 860px) {
  .lp-flow-feature { grid-template-columns: 1fr; gap: 20px; }
  .lp-flow-feature-media { min-height: 300px; }
  .lp-flow-feature-body { padding: 32px 28px; }
  .lp-flow-slider { grid-template-columns: 1fr; }
  /* .case-deck-nav (base class) is display:none ≤1280px — re-enable here so
     the arrow/dots nav stays visible on mobile, ahead of .lp-flow-cta-wrap
     (same opt-in pattern .so-riskx-casenav uses on the homepage deck). */
  .lp-flow-casenav { display: flex; grid-column: 1; flex-direction: row; justify-content: center; margin-top: 28px; }
  .lp-flow-casenav .case-deck-dots { flex-direction: row; }
  .lp-flow-casenav [data-riskx-prev] svg { transform: rotate(180deg); }
  .lp-flow-casenav [data-riskx-next] svg { transform: none; }
  .lp-flow-casenav .case-deck-dot { transform: none; }
}
/* Real-estate landing page only (section id set via the Workflow Slider's Anchor
   field = wl-real-estate): arrows + dots sit in a horizontal row under the slide at
   every width, instead of the vertical column beside it. Same row treatment the
   ≤860px rules above give every other .lp-flow. */
#wl-real-estate .lp-flow-slider { grid-template-columns: 1fr; }
#wl-real-estate .lp-flow-casenav {
  display: flex;
  grid-column: 1;
  flex-direction: row;
  justify-content: center;
  margin-top: 28px;
}
#wl-real-estate .lp-flow-casenav .case-deck-dots { flex-direction: row; }
#wl-real-estate .lp-flow-casenav [data-riskx-prev] svg { transform: rotate(180deg); }
#wl-real-estate .lp-flow-casenav [data-riskx-next] svg { transform: none; }
#wl-real-estate .lp-flow-casenav .case-deck-dot { transform: none; }
/* Wider copy column; min-width keeps the ≤860px single-column stack intact (an id
   selector would otherwise beat the .lp-flow-feature collapse rule above). */
@media (min-width: 861px) {
  #wl-real-estate .lp-flow-feature { grid-template-columns: 1.2fr 0.8fr; }
}
@media (max-width: 640px) {
  .lp-flow { padding: 64px 0; }
}

/* ── Landing Page — Case Studies (.lp-cs) ──────────────────────────────────
   Reuses .case-deck / .case-card verbatim (case-studies-slider.php's 3D
   perspective deck — front/side-l/side-r/far, defined once, unscoped, in the
   "IH Case Studies" block above) and components.js's generic
   [data-ih-cases-deck] slider with zero JS changes. Only the card CONTENT is
   this family's own (.lp-cs-*) instead of .case-art-frame/.case-body. */
.lp-cs {
  background: #fff;
  padding: 90px 0;
  overflow-x: clip;
  --cs-red: var(--dt-red, #EC1C24);
  --cs-navy: var(--dt-ink, #0C2340);
  --cs-warmgray: var(--dt-muted, #5A6478);
  --cs-line: var(--dt-line, #E7E8EC);
  --cs-white: #fff;
}
.lp-cs-inner { max-width: var(--container, 1280px); margin: 0 auto; padding: 0 24px; }

.lp-cs-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; margin-bottom: 8px; }
.lp-cs-h2 {
  font-family: 'Outfit', system-ui, sans-serif;
  font-size: 50px;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: -0.02em;
  color: var(--cs-navy);
  margin: 0;
}
.lp-cs-sub { font-size: 16px; line-height: 1.6; color: var(--cs-warmgray); max-width: 620px; margin: 10px 0 0; }
.lp-cs-cta { flex-shrink: 0; white-space: nowrap; }

/* .case-deck / .case-card give the 420px-art / 1fr-body grid, the 3D states,
   and the responsive stack — only the panel + body content is new here. */
.lp-cs-art { position: relative; width: 100%; height: 100%; border-radius: 22px; overflow: hidden; background: #f4f2ee; min-height: 480px; }
.lp-cs-art-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; object-position: top; }

.lp-cs-body { padding: 28px 36px 28px 44px; display: flex; flex-direction: column; min-width: 0; gap: 14px; }
.lp-cs-company { font-family: 'Outfit', system-ui, sans-serif; font-size: 26px; font-weight: 600; color: var(--cs-navy); }

.lp-cs-stats { display: flex; gap: 0; padding: 12px 0; border-top: 1px solid var(--cs-line); border-bottom: 1px solid var(--cs-line); }
.lp-cs-stat { flex: 1; padding: 0 16px; text-align: center; border-left: 1px solid var(--cs-line); }
.lp-cs-stat:first-child { border-left: none; padding-left: 0; }
.lp-cs-stat-v { font-family: 'Outfit', system-ui, sans-serif; font-size: 22px; font-weight: 600; color: var(--cs-red); letter-spacing: -0.02em; }
.lp-cs-stat-l { font-size: 12px; color: var(--cs-warmgray); margin-top: 4px; line-height: 1.3; text-transform: capitalize; }

.lp-cs-headline { font-family: 'Outfit', system-ui, sans-serif; font-size: 18px; font-weight: 600; line-height: 1.25; letter-spacing: -0.015em; color: var(--cs-navy); margin: 0; }
.lp-cs-desc { font-size: 15px; line-height: 1.6; color: var(--cs-warmgray); margin: 0; }

.lp-cs-foot { display: flex; align-items: center; margin-top: auto; padding-top: 4px; }
.lp-cs-link {
  color: var(--cs-navy);
  font-weight: 600;
  font-size: 14px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border-bottom: 1px solid var(--cs-navy);
  padding-bottom: 2px;
  transition: color 0.2s, border-color 0.2s, gap 0.2s;
}
.case-card.is-front .lp-cs-link:hover { color: var(--cs-red); border-color: var(--cs-red); gap: 12px; }

@media (max-width: 1280px) {
  .lp-cs-art { min-height: 320px; }
  .lp-cs-headline { font-size: 22px; }
  .lp-cs-stat-v { font-size: 19px; }
}
@media (max-width: 720px) {
  .lp-cs-head { flex-direction: column; }
  .lp-cs-art { min-height: 220px; }
  .lp-cs-stats { flex-wrap: wrap; }
}
@media (max-width: 640px) {
  .lp-cs { padding: 64px 0; }
  .lp-cs-body { padding: 10px 5px; }
}

/* ── Landing Page — Why Choose (4 Cards), .lp-why-cards ────────────────────
   Clone of .ih-why-cards (Why-choose-industry.php) — same card markup/CSS
   (.ih-why-card/-icon, global :root tokens), just a 4-column desktop grid
   instead of that component's 3. Scoped to min-width:1025px specifically so
   it can't out-cascade the unscoped .ih-why-cards ≤1024px/≤640px collapse
   rules above (those come earlier in the file with equal specificity — an
   unconditional override here would have beaten them at every width). */
@media (min-width: 1025px) {
  .lp-why-cards { grid-template-columns: repeat(4, 1fr); }
}

.lp-why-test-class .ih-why-card {
  align-items: center;
  text-align: center;
}
.lp-why-test-class .ih-why-card-icon {
  margin-left: auto;
  margin-right: auto;
}
.lp-why-test-class .ih-why-head {
  max-width: 820px;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

.page-slug-software-outsourcing .ihcs-desc{
    max-width : unset;
}

/* ── Landing Page — Compliance Badges (7 Cards), .lp-compliance ────────────
   Bordered logo card row: each card is a bordered box holding one
   user-supplied image plus its label, both inside the box.
   Reuses .ih-container/.ih-h2/.ih-sub and the :root-scoped --ih-line/--ih-navy
   tokens (see Why Choose block above) — no re-pointing needed. */
.ih-section.lp-compliance {
  padding: 0;
}

.lp-compliance-head {
  max-width: 640px;
  margin-bottom: 40px;
}

.lp-compliance-head .ih-h2 {
  margin-top: 12px;
  margin-bottom: 16px;
}

.lp-compliance-head .ih-sub {
  margin: 0;
}

.lp-compliance-row {
  display: grid;
  grid-template-columns: repeat(5,1fr);
  gap: 16px;
}

.lp-compliance-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
  border: 1px solid var(--ih-line);
  border-radius: 6px;
  background: #ffffff;
  padding: 18px;
  transition: border-color 0.3s ease;
}
.lp-compliance-card:hover {
  border-color: var(--ih-red);
}

.lp-compliance-badge {
  width: 100%;
  aspect-ratio: 1 / 1;
  display: flex;
  align-items: center;
  justify-content: center;
}

.lp-compliance-badge img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

.lp-compliance-label {
  font-family: 'Outfit', sans-serif;
  font-weight: 600;
  font-size: 15px;
  line-height: 1.3;
  color: var(--ih-navy, #0c2340);
  text-transform: capitalize;
  text-align: center;
}

@media (max-width: 1024px) {
  .lp-compliance-row {
    grid-template-columns: repeat(4, 1fr);
    row-gap: 28px;
  }
}

@media (max-width: 640px) {
  .ih-section.lp-compliance {
    padding: 25px;
  }
  .lp-compliance-row {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* ── Footer V2 — Landing Page footer, .lp-footer ────────────────────────────
   Stripped-down footer for lp_hero pages (logo + description, socials,
   phone/email, copyright) — same build approach as .lp-nav (header v2):
   self-contained markup + own scoped CSS, reusing the site's existing social
   icon assets and the .lp-nav-contact-ic red-circle badge pattern. */
.lp-footer {
  position: relative;
  background-image: url('../images/revamp/footer-bg.jpg');
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  color: #fff;
  overflow: hidden;
}
/* Same right-corner network-glow overlay as the production footer (.footer::after) */
.lp-footer::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 30%;
  height: 100%;
  background-image: url("/wp-content/uploads/2026/06/footer-after-bg.webp");
  background-size: cover;
  background-position: left center;
  background-repeat: no-repeat;
  pointer-events: none;
  z-index: 0;
}

.dt-hero-grid-layout.lp-hero-grid .dt-hero-actions {
    display: none;
}
@media (max-width: 1200px) {
  .lp-footer::after { width: 35%; }
}
@media (max-width: 991px) {
  .lp-footer::after { width: 50%; opacity: 0.4; }
}
@media (max-width: 575px) {
  .lp-footer::after { display: none; }
}

.lp-footer-inner {
  position: relative;
  z-index: 1;
  max-width: 80%;
  margin: 0 auto;
  padding: 64px 24px 48px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.lp-footer-brand img {
  display: block;
  width: 200px;
  height: auto;
  margin: 0 auto;
}
.lp-footer-brand p {
  width: 60%;
  margin: 20px auto;
  font-size: 15px;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.72);
}

.lp-footer-social {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  list-style: none;
  margin: 32px 0 0;
  padding: 0;
}
.lp-footer-social-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.18);
  transition: border-color 0.25s ease, background 0.25s ease;
}
.lp-footer-social-icon:hover {
  border-color: var(--dt-red);
  background: rgba(236, 28, 36, 0.08);
}
.lp-footer-social-icon img {
  display: block;
  filter: brightness(0) invert(1);
}

.lp-footer-divider {
  width: 100%;
  height: 1px;
  background: rgba(255, 255, 255, 0.14);
  margin: 24px 0;
}

.lp-footer-contact {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 40px;
  width: 100%;
  margin: 32px auto 0;
}
.lp-footer-contact-item {
  display: flex;
  align-items: center;
  gap: 12px;
  color: #fff;
  text-decoration: none;
}
.lp-footer-contact-ic {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  border: 1px solid rgba(236, 28, 36, 0.5);
  color: var(--dt-red);
  flex-shrink: 0;
}
.lp-footer-contact-text { display: flex; flex-direction: column; line-height: 1.3; text-align: left; }
.lp-footer-contact-label { font-size: 13px; color: rgba(255, 255, 255, 0.6); }
.lp-footer-contact-value { font-size: 15px; font-weight: 600; color: #fff; }

.lp-footer-copy {
  margin: 0px 0 0;
  font-size: 14px;
  color: rgba(255, 255, 255, 0.6);
}
.lp-compliance-row {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 16px;
    margin: auto;
    width: 70%;
}
.page-slug-logistics-software-development
	.sa-brands {
    padding: 0 0 30px 0;
}

.lp-hero-photo-bg .dt-hero-point .ck{
	background: transparent !important;
}

h2.cs-h2 {
    white-space: wrap !important;
    max-width: 100% !important;
}

@media (max-width: 900px) {
  /* .lp-footer-brand p's 60% width (fine on desktop) wraps to too many skinny
     lines once the .lp-footer-inner column itself has shrunk — widen it back
     out as the viewport narrows. */
  .lp-footer-brand p { width: 85%; }
}

@media (max-width: 640px) {
  .lp-footer-inner { padding: 48px 20px 36px; }
  .lp-footer-contact { gap: 24px; width: 100%; justify-content: center; }
  .lp-footer-brand p { width: 100%; }
}

/* ── LP section headings — responsive font-size ─────────────────────────────
   .lp-stats-h2/.lp-cards-h2/.lp-flow-h2/.lp-cs-h2 were all fixed at 50px with
   no mobile scale-down (unlike .ih-h2, which already clamps at this same
   breakpoint — see IHIndustries responsive typography above). Matching that
   existing clamp here for consistency, and because the fixed 50px was wide
   enough to overflow the viewport on some headings at ≤320px. Placed at the
   file's tail deliberately: an earlier position was beaten by the base
   .lp-cs-h2 (etc.) rule declared further down, since both have equal
   specificity and CSS resolves ties by source order, not media-query nesting. */
@media (max-width: 768px) {
  .lp-stats-h2,
  .lp-cards-h2,
  .lp-flow-h2,
  .lp-cs-h2 {
    font-size: clamp(25px, 5.5vw, 38px);
  }
}


/* -- Flexible Engagement -- optional per-card accent + featured state -- */
.ih-engage-icon[style*="--ife-accent"] {
  background: linear-gradient(135deg, var(--ife-accent), color-mix(in srgb, var(--ife-accent) 55%, #fff));
}

.ih-engage-card.is-featured {
  border-color: rgba(236, 28, 36, 0.32);
  box-shadow:
    0 30px 50px -22px rgba(236, 28, 36, 0.4),
    0 24px 50px -26px rgba(12, 35, 64, 0.2),
    0 0 0 1px rgba(236, 28, 36, 0.05);
}

/* -- Reasons Compare (reasons_compare layout) --------------------------
   pill + curved-arrow + text-box rows. Heading/CTA reuse
   dt-head/dt-h2/dt-sub/dt-btn (defined elsewhere); only the .rc-* row
   layout is new. */
.dt-head.rc-head {
  max-width: unset !important;
}

.rc-head {
  display: flex;
  align-items: flex-start;
  align-content: center;
  justify-content: space-between;
  gap: 24px;
  flex-wrap: nowrap;
}

.rc-head-text {
  flex: 1 1 auto;
  min-width: 260px;
}

.rc-head-cta {
  flex: 0 0 auto;
  padding-top: 4px;
}

.rc-rows {
  margin-top: 48px;
  display: flex;
  flex-direction: column;
  gap: 0;
}

.rc-row {
  display: flex;
  align-items: center;
  align-content: flex-start;
  gap: 24px;
}

.rc-row-left {
  display: flex;
  flex-direction: column;
  align-content: flex-end;
  align-items: flex-end;
}

.rc-pill {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  min-width: 260px;
  background: var(--r, #eb0000);
  color: #fff;
  font-weight: 600;
  font-size: 20px;
  text-align: center;
  border-radius: 999px;
  padding: 16px 34px;
  white-space: nowrap;
}

.rc-arrow {
  flex: 0 0 auto;
  width: 112px;
  height: 112px;
  background-color: var(--r, #eb0000);
  -webkit-mask: url("../images/reasons-compare-arrow.png") no-repeat center / contain;
  mask: url("../images/reasons-compare-arrow.png") no-repeat center / contain;
  transform: scaleY(-1) rotate(-50deg);
}

.rc-box {
  flex: 1 1 auto;
  min-width: 0;
  margin-top: 6rem;
  border: 1px solid var(--r, #eb0000);
  border-radius: 18px;
  padding: 22px 26px;
  color: var(--ink, #0c2340);
  font-size: 17px;
  line-height: 1.6;
}

@media (max-width: 640px) {
  .rc-head {
    flex-direction: column;
    align-items: flex-start;
    flex-wrap: wrap;
  }
}

@media (max-width: 768px) {
  .rc-row {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
  }

  .rc-pill {
    width: 100%;
  }

  .rc-box {
    width: 100%;
  }
}

/* -- so_compare: navy pill tone + empty label header + CTA button ------ */
.so-cmp2-head.tone-navy {
  background: linear-gradient(157.8deg, #24405F 14.6%, #0C2340 85.4%);
  border-radius: 58px;
  box-shadow: 0 9px 17px -8px rgba(12, 35, 64, 0.5);
  align-items: center;
  text-align: center;
}
.so-cmp2-head.tone-navy b { text-align: center; }
.so-cmp2-head.lbl.is-empty { background: transparent; box-shadow: none; min-height: 0; padding: 0; }

.so-cmp2-cta { margin-top: 36px; display: flex; justify-content: center; }

/* -- Consultation Steps (consult_steps layout) -------------------------
   Three numbered step cards; the featured one renders taller and shows
   its description. Background art is a procedural blurred blob (layered
   radial-gradients on ::before, animated via transform) rather than a
   raster image, so it can drift continuously without a static crop.
   Sizing matches the approved Figma reference: 39px card corners, 69x73
   icon box with a 36px glyph, 75px numbers, 28/33px titles, 19px desc. */
.cst-head {
  display: flex;
  align-items: center;
  align-content: center;
  justify-content: space-between;
  gap: 24px;
  flex-wrap: nowrap;
  flex-direction: row;
  width: 100% !important;
  max-width: 100%;
}

.cst-head-cta {
  flex: 0 0 auto;
  padding-top: 4px;
}

.cst-cards {
  margin-top: 48px;
  display: flex;
  align-items: center;
  gap: 24px;
	height : 600px
}

.cst-card {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 1.5px solid rgba(168, 164, 164, 0.5);
  border-radius: 39px;
  overflow: hidden;
  min-height: 380px;
  padding: 10px;
}

.cst-card.is-featured {
  min-height: 480px;
  z-index: 1;
}


@keyframes cstBlobMove {
  0%   { transform: translate(0, 0) scale(1); filter: blur(55px) saturate(1.15) hue-rotate(0deg); }
  50%  { transform: translate(6%, -8%) scale(1.18); filter: blur(55px) saturate(1.35) hue-rotate(20deg); }
  100% { transform: translate(0, 0) scale(1); filter: blur(55px) saturate(1.15) hue-rotate(0deg); }
}

/* Second, independent motion layered on top of cstBlobMove (different period,
   so the two never sync up) — drifts each radial-gradient layer's own
   position separately, so the blobs read as two overlapping shapes moving
   through each other rather than one shape moving as a rigid block. */
@keyframes cstBlobDrift {
  0%   { background-position: 0% 0%, 0% 0%, 0% 0%; }
  33%  { background-position: 18% -14%, -16% 10%, 10% 14%; }
  66%  { background-position: -10% 12%, 14% -10%, -14% -8%; }
  100% { background-position: 0% 0%, 0% 0%, 0% 0%; }
}

.cst-card-art {
  position: relative;
  height: 380px;
  flex: 0 0 auto;
  overflow: hidden;
  border-radius: 29px 29px 0 0;
  background: #fff;
}

.cst-card-body {
  flex: 1 1 auto;
  border-radius: 0 0 29px 29px;
  background: #fff;
}

.cst-card-art::before {
  content: "";
  position: absolute;
  inset: -45%;
  background-image:
    /* Purple */
    radial-gradient(
      ellipse 65% 60% at 52% 30%,
      rgba(150, 60, 220, 0.45) 0%,
      #963cdc 30%,
      rgba(255, 255, 255, 0) 68%
    ),

    /* Pink */
    radial-gradient(
      ellipse 55% 55% at 26% 58%,
      rgba(255, 80, 170, 0.4) 0%,
      rgba(255, 140, 200, 0.2) 35%,
      rgba(255, 255, 255, 0) 65%
    ),

    /* Red */
    radial-gradient(
      ellipse 50% 45% at 70% 75%,
      rgba(236, 28, 36, 0.5) 0%,
      rgba(220, 30, 70, 0.3) 35%,
      rgba(255, 255, 255, 0) 70%
    );
  background-position: 0% 0%, 0% 0%, 0% 0%;
  filter: blur(55px) saturate(1.1);
  will-change: transform, background-position;
}

.cst-card:nth-child(2) .cst-card-art::before {
  background-image:
    /* Purple */
    radial-gradient(
      ellipse 65% 60% at 52% 30%,
      rgba(150, 60, 220, 0.45) 0%,
      #963cdc 30%,
      rgba(255, 255, 255, 0) 68%
    ),

    /* Pink */
    radial-gradient(
      ellipse 55% 55% at 26% 58%,
      rgba(255, 80, 170, 0.4) 0%,
      rgba(255, 140, 200, 0.2) 35%,
      rgba(255, 255, 255, 0) 65%
    ),

    /* Red */
    radial-gradient(
      ellipse 50% 45% at 70% 75%,
      rgba(236, 28, 36, 0.5) 0%,
      rgba(220, 30, 70, 0.3) 35%,
      rgba(255, 255, 255, 0) 70%
    );
}

.cst-card:nth-child(3) .cst-card-art::before {
background-image:
    /* Purple */
    radial-gradient(
      ellipse 65% 60% at 52% 30%,
      rgba(150, 60, 220, 0.45) 0%,
      #963cdc 30%,
      rgba(255, 255, 255, 0) 68%
    ),

    /* Pink */
    radial-gradient(
      ellipse 55% 55% at 26% 58%,
      rgba(255, 80, 170, 0.4) 0%,
      rgba(255, 140, 200, 0.2) 35%,
      rgba(255, 255, 255, 0) 65%
    ),

    /* Red */
    radial-gradient(
      ellipse 50% 45% at 70% 75%,
      rgba(236, 28, 36, 0.5) 0%,
      rgba(220, 30, 70, 0.3) 35%,
      rgba(255, 255, 255, 0) 70%
    );
}

@media (prefers-reduced-motion: no-preference) {
  .cst-card-art::before {
    animation: cstBlobMove 3s ease-in-out infinite, cstBlobDrift 7s ease-in-out infinite;
  }
}

.cst-card-art::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(to top, #fff 0%, rgba(255, 255, 255, 0) 20%),
    radial-gradient(circle at 0% 0%, #fff 0%, rgba(255, 255, 255, 0) 45%),
    radial-gradient(circle at 100% 0%, #fff 0%, rgba(255, 255, 255, 0) 45%),
    radial-gradient(circle at 0% 100%, #fff 0%, rgba(255, 255, 255, 0) 45%),
    radial-gradient(circle at 100% 100%, #fff 0%, rgba(255, 255, 255, 0) 50%);
  pointer-events: none;
}

.cst-card-num {
  position: absolute;
  z-index: 1;
  right: 20px;
  bottom: 10px;
  font-family: 'Outfit', system-ui, sans-serif;
  font-size: 75px;
  font-weight: 500;
  line-height: 1;
  color: rgba(255, 194, 196, 0.63);
  background: linear-gradient(135deg, rgba(255, 20, 147, 0.5), rgba(255, 182, 193, 0.4));
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.cst-card-icon {
 
}

.cst-card-icon img {
  width: 60px;
  height: 60px;
	margin-left: 23px
}

.cst-card-icon-mask {
  display: block;
  width: 36px;
  height: 36px;
  background-color: var(--r, #ec1c24);
  -webkit-mask: no-repeat center / contain;
  mask: no-repeat center / contain;
}

.cst-card-title {
  margin: 18px 26px 30px;
  font-family: 'Outfit', system-ui, sans-serif;
  font-size: 24px;
  font-weight: 600;
  color: var(--dt-ink, #0c2340);
  line-height: 1.3;
}

.cst-card.is-featured .cst-card-title {
  font-size: 33px;
}

.cst-card-desc {
  margin: 14px 26px 0;
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  font-size: 14px;
  line-height: 1.6;
  color: var(--dt-muted, #5a6478);
  transition: max-height 0.3s ease, opacity 0.3s ease, margin 0.3s ease;
}

.cst-card:hover .cst-card-desc,
.cst-card:focus-within .cst-card-desc {
  max-height: 200px;
  opacity: 1;
  margin: 14px 26px 26px;
}





.transportation-cards-lp   .lp-cards-tag {
    border-radius: 10px;
    white-space: unset;
    padding: 10px;
    border: 1px solid red;
    background: #ffe6e68a;
    color: #717171;
}
   section.ih-section.lp-why-clean.whychose5-lp  .ih-why-head .ih-h2 {
    max-width: 80%;
    text-align: center;
    margin: auto;
    margin-bottom: 30px;
}

section.ih-section.lp-why-clean.whychose5-lp .ih-why-head .ih-sub{
	max-width : unset;
	text-align: center
}

section.ih-section.lp-why-clean.whychose5-lp .ih-why-head{
	max-width : unset
}

.lp-why5-cta
 
 {
    display: flex;
    align-content: center;
    align-items: center;
    flex-direction: row;
    justify-content: center;
    margin-top: 50px;
}

.page-slug-transportation-software-development-company  .lbl.is-empty {
    background: transparent !important;
    box-shadow: none;
    min-height: 0;
    padding: 0;
}

.page-slug-transportation-software-development-company  .dt-head.dt-center {
	max-width :unset
}

#secondgroupcards {
	
}

@media (max-width: 900px) {
  .cst-cards {
    flex-direction: column;
    align-items: stretch;
  }

  .cst-card,
  .cst-card.is-featured {
    flex: none;
    min-height: 0;
  }
}

@media (max-width: 640px) {
  .cst-head {
    flex-direction: column;
    align-items: flex-start;
    flex-wrap: wrap;
  }
}

/* -- cn_engineer: optional heading description + CTA, left/right -------
   Only applied via .cne-head (added alongside .dt-head only when
   cne_desc or cne_head_cta is set) so every other .dt-head consumer on
   the site is unaffected. */
.dt-head.cne-head {
  max-width: none;
}

.cne-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  flex-wrap: nowrap;
  text-align: left;
}

.cne-head-text {
  flex: 1 1 auto;
  min-width: 260px;
}

.cne-head-text .dt-h2 {
  text-align: left;
}

.cne-head-cta {
  flex: 0 0 auto;
}
section.ih-section.lp-why-clean.whychose5-lp , section.dt-section.rc-section h2 {
    font-size : 50px
}

.lp-flow-head{
	max-width: unset;
}

.page-slug-transportation-software-development-company h3.lp-cs-headline {
    font-size: 27px !important
}
section.pcta-section.pcta-section--has-bg.transportation-cta-lp .pcta-inner {
    max-width :80%
}

.page-slug-transportation-software-development-company .rc-head-cta {
    margin-top: 2rem;
}
.lp-hero .dt-hero-content {
    max-width: unset;
    align-self: center;
}
 
.page-slug-transportation-software-development-company
.dt-hero-content 
a.dt-btn.dt-btn-primary {
    display :none
}

.transportation-cards-lp  .lp-cards-card {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.transportation-cards-lp .lp-cards-card-tags {
    margin-top: auto;
}
#secondgroupcards .lp-cards-sub{
	max-width : 100%
}

p.dt-hero-lead.cn-hero-lead-2 a {
    text-decoration: underline !important;
    color: inherit;
  
}
button.hd-form-submit.lp-hero-form-submit {
    background: #B21818;
}

.featuredSec .mainGrid .leftInfo .featuredInfo::before{
	display : none
}
@media (max-width: 640px) {
  .cne-head {
    flex-direction: column;
    align-items: flex-start;
    flex-wrap: wrap;
  }
}

/* ---------- 404 PAGE (404.php) ---------- */
.tnb-404 {
  padding: 90px 0 110px;
  text-align: center;
}
.tnb-404 .tnb-404-inner {
  max-width: 720px;
  margin: 0 auto;
}
.tnb-404 .tnb-404-code {
  font-family: "Outfit", "Outfit Fallback", "Outfit Fallback Android", sans-serif;
  font-weight: 800;
  font-size: 120px;
  line-height: 1;
  letter-spacing: -0.03em;
  color: #ec1c24;
  margin: 0 0 10px;
}
.tnb-404 h1 {
  font-family: "Outfit", "Outfit Fallback", "Outfit Fallback Android", sans-serif;
  font-weight: 600;
  font-size: 42px;
  line-height: 1.2;
  color: #000;
  margin: 0 0 16px;
}
.tnb-404 .tnb-404-lead {
  font-size: 18px;
  line-height: 1.6;
  color: #333;
  margin: 0 auto;
}
.tnb-404 .cus--search {
  max-width: 620px;
  margin: 36px auto 10px;
}
.tnb-404 .tnb-404-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 14px 28px;
  margin-top: 30px;
}
.tnb-404 .tnb-404-links a:not(.tnb-btn) {
  font-weight: 600;
  font-size: 16px;
  color: #000;
  text-decoration: underline !important; /* header.css resets a { text-decoration: none !important } */
  text-underline-offset: 4px;
}
.tnb-404 .tnb-404-links a:not(.tnb-btn):hover {
  color: #ec1c24;
}


/* ############################################################
   LANDING PAGE — HERO 2 (.lph2) — standalone component, no shared hero classes.
   Figma: TECHNBRAINS node 1924:4270 (Real Estate App Development LP hero).
   ############################################################ */
.lph2 {
  position: relative;
  overflow: hidden;
  background: #000;
  color: #fff;
  font-family: 'Outfit', system-ui, sans-serif;
  padding: 80px 0 0;
}
.lph2 *, .lph2 *::before, .lph2 *::after { box-sizing: border-box; }
.lph2-bg { position: absolute; inset: 0; z-index: 0; }
.lph2-bg-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover;   display: block; }
 

.lph2-wrap {
  position: relative; z-index: 2;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 630px);
  gap: clamp(32px, 4vw, 70px);
  align-items: start;
  width: 80%;
  max-width: 1640px;
  margin: 0 auto;
  padding-bottom: 64px;
}

.lph2-title {
  margin: 0;
  font-family: inherit;
  font-weight: 700;
  font-size: clamp(36px, 3.9vw, 75px);
  line-height: 1.04;
  color: #fff;
}
.lph2-lead {
  margin: 0 0 1.1em;
  font-family: inherit;
  font-weight: 500;
  font-size: clamp(16px, 1.3vw, 25px);
  line-height: 1.6;
  color: rgba(255,255,255,.92);
  max-width: 921px;
}
.lph2-title + .lph2-lead { margin-top: clamp(20px, 2.2vw, 40px); }

.lph2-points { list-style: none; margin: 8px 0 0; padding: 0; display: grid; gap: 16px; }
.lph2-points li {
  display: flex; align-items: center; gap: 22px;
  font-weight: 500; font-size: clamp(16px, 1.3vw, 25px); line-height: 1.5; color: rgba(255,255,255,.92);
}
.lph2-point-ico {
  flex: 0 0 32px; width: 32px; height: 32px; border-radius: 50%;
  background: #ec1c24 url('../images/lp-hero2-bullet.svg') center / 14px 14px no-repeat;
  transform: rotate(-90deg);
}

.lph2-actions { margin-top: clamp(28px, 3vw, 54px); }
.lph2-btn {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 49px; padding: 0 28px;
  background: #ec1c24; color: #fff;
  border: 1px solid transparent; border-radius: 5px;
  font-family: inherit; font-weight: 500; font-size: 18px; letter-spacing: .14px; line-height: 1;
  text-decoration: none; cursor: pointer;
  transition: background .2s ease, transform .2s ease;
}
.lph2-btn:hover { background: #c9161d; color: #fff; }

/* ── Form card ── */
.lph2-card {
  background: rgba(0,0,0,.64);
  -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
  border: 1px solid rgba(255,255,255,.75);
  border-radius: 16px;
  padding: 40px;
}
.lph2-card-title {
  margin: 0; font-family: inherit; font-weight: 600; font-size: 30px; line-height: 1.3;
  letter-spacing: -.03em; text-transform: capitalize; color: #fff;
	text-align : center;
	
}

p.lph2-card-sub{
	text-align : center
}
.lph2-card-sub { margin: 16px 0 0; font-size: 16px; line-height: 22px; color: #fff; }
.lph2-form { margin-top: 28px; }

.lph2-field { position: relative; margin: 0 0 15px; }
.lph2-field label {
  position: absolute; z-index: 1; top: -9px; left: 16px;
  padding: 0 6px; font-size: 13px; font-weight: 500; line-height: 18px; letter-spacing: -.03em; color: #fff;
  background: linear-gradient(to bottom, transparent 50%, #0c0c0c 50%);
}
.lph2-field input,
.lph2-field textarea {
  display: block; width: 100%; height: 46px;
  background: transparent; color: #fff;
  border: 1px solid rgba(255,255,255,.75); border-radius: 5px;
  padding: 0 18px; font-family: inherit; font-size: 15px;
  transition: border-color .15s ease;
}
.lph2-field textarea { height: 105px; padding: 14px 18px; resize: vertical; }
.lph2-field input:focus,
.lph2-field textarea:focus { outline: none; border-color: #ec1c24; }
.lph2-field input:-webkit-autofill { -webkit-text-fill-color: #fff; transition: background-color 9999s; }

.lph2-recaptcha { margin: 0px; display: flex; justify-content: center; }
#tnb-lph2-form-msg { white-space: pre-line; }
#tnb-lph2-form-msg:not(:empty) { margin-bottom: 14px; }
.lph2-submit { display: flex; margin: 3px auto 0; min-height: 46px; padding: 0 34px; }
.lph2-submit.is-loading { opacity: .6; pointer-events: none; }
.lph2-note { margin: 22px 0 0; text-align: center; font-size: 16px; line-height: 22px; color: rgba(255,255,255,.68); }
p.lph2-note a:hover {
    color: red
}
/* ── Recognition strip ── */
.lph2-recog {
  position: relative; z-index: 2;
  display: flex; flex-wrap: wrap; align-items: center; gap: 40px 72px;
  width: 80%; max-width: 1640px; margin: 0 auto; padding: 0 0 48px;
}
.lph2-recog-label { font-size: 16px; font-weight: 500; letter-spacing: .13px; color: rgba(255,255,255,.87); white-space: nowrap; }
 
.lph2-recog-logos {
  display: flex; flex-wrap: nowrap; align-items: center; flex: 1; min-width: 0; overflow: hidden;
  mask-image: linear-gradient(to right, transparent, #000 48px, #000 calc(100% - 48px), transparent);
}
.lph2-recog-track {
  display: flex; flex-shrink: 0; align-items: center; justify-content: space-around;
  min-width: 100%; gap: 64px; padding-right: 64px;
  animation: lph2-marquee 32s linear infinite;
}
.lph2-recog-logos:hover .lph2-recog-track { animation-play-state: paused; }
.lph2-recog-logo { flex-shrink: 0; }
.lph2-recog-logo img { display: block; max-height: 34px; width: auto;   }

@media (max-width: 1100px) {
  .lph2 { padding-top: 120px; }
  .lph2-wrap { grid-template-columns: minmax(0, 1fr); width: 90%; }
  .lph2-card { max-width: 630px; width: 100%; margin: 0 auto; }
  .lph2-recog { width: 90%; }
}
@media (max-width: 640px) {
  .lph2 { padding-top: 60px; }
	  .lph2-bg-img { object-position: 10%; }
  .lph2-card { padding: 28px 22px; }
  .lph2-card-title { font-size: 24px; }
  .lph2-points li { gap: 14px; }
  .lph2-recog { flex-direction: column; align-items: flex-start; gap: 16px; }
  .lph2-recog-logos {
    display: flex; flex-wrap: nowrap; width: 100%; gap: 0;
    mask-image: linear-gradient(to right, transparent, #000 24px, #000 calc(100% - 24px), transparent);
  }
  .lph2-recog-track {
    display: flex; flex-shrink: 0; align-items: center;
    gap: 32px; padding-right: 32px;
    animation: lph2-marquee 18s linear infinite;
  }
  .lph2-recog-track[aria-hidden="true"] { display: flex; }
  .lph2-recog-logo { flex-shrink: 0; }
}
@keyframes lph2-marquee {
  from { transform: translateX(0); }
  to   { transform: translateX(-100%); }
}
@media (max-width: 640px) and (prefers-reduced-motion: reduce) {
  .lph2-recog-track { animation: none; }
}

/* Card Groups — optional "Section class" lp-cards--center: centred heading + intro */
.lp-cards--center .lp-cards-head { justify-content: center; text-align: center; }
.lp-cards--center .lp-cards-sub { margin-left: auto; margin-right: auto; max-width: 760px; }


/* ############################################################
   LANDING PAGE — IMAGE ACCORDION (.lpa) — standalone component.
   Figma: TECHNBRAINS (Copy) node 1953:3971.
   ############################################################ */
.lpa { background: #fff; padding: 90px 0; font-family: 'Outfit', system-ui, sans-serif; }
.lpa *, .lpa *::before, .lpa *::after { box-sizing: border-box; }
/* Same container as .lp-cards-inner / .lp-stats-inner. */
.lpa-inner { max-width: var(--container, 1280px); margin: 0 auto; padding: 0 24px; }

.lpa-head { text-align: center; margin: 0 auto 56px; }
.lpa-h2 {
  margin: 0 auto;
  max-width: 1200px;
  font-family: inherit;
  font-weight: 600;
  font-size: clamp(32px, 4.2vw, 60px);
  line-height: 1.15;
  letter-spacing: -0.02em;
  text-transform: capitalize;
  color: #0c2340;
}
.lpa-sub {
  margin: 10px auto 0;
  max-width: 800px;
  /* Same as .lp-cards-sub, the intro paragraph of the other LP sections. */
  font-size: 17px;
  line-height: 1.55;
  color: var(--dt-muted, #5A6478);
}

.lpa-body { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(32px, 4.5vw, 84px); align-items: stretch; }
.lpa-body--noimg { grid-template-columns: minmax(0, 1fr); max-width: 900px; margin: 0 auto; }
.lpa-media { position: relative; min-height: 460px; border-radius: 26px; overflow: hidden; }
.lpa-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }

.lpa-list { display: flex; flex-direction: column; justify-content: center; }
.lpa-item { border-bottom: 1px solid #e5e5e5; }
.lpa-item:last-child { border-bottom: 0; }
.lpa-summary {
  display: flex; align-items: center; justify-content: space-between; gap: 24px;
  padding: 30px 0; cursor: pointer; list-style: none;
}
.lpa-summary::-webkit-details-marker { display: none; }
.lpa-item-title {
  font-size: clamp(20px, 1.6vw, 30px);
  font-weight: 500;
  line-height: 1.2;
  color: #0c2340;
  transition: color .2s ease;
}
.lpa-item[open] .lpa-item-title,
.lpa-summary:hover .lpa-item-title { color: #ec1c24; }
.lpa-toggle {
  flex: 0 0 32px; width: 32px; height: 32px; border-radius: 50%;
  background: #ff898e url('../images/lp-hero2-bullet.svg') center / 14px 14px no-repeat;
  transition: background-color .2s ease, transform .25s ease;
}
.lpa-item[open] .lpa-toggle { background-color: #c51e06; transform: rotate(180deg); }
.lpa-summary:focus-visible { outline: 2px solid #c51e06; outline-offset: 4px; border-radius: 6px; }

.lpa-panel { padding: 0 64px 32px 0; }
.lpa-item-desc { margin: 0; font-size: 18px; line-height: 1.3; color: #4a4845; max-width: 640px; }
.lpa-tags { display: flex; flex-wrap: wrap; gap: 10px 12px; margin-top: 22px; }
.lpa-tag {
  display: inline-flex; align-items: center;
  padding: 4px 24px; min-height: 31px;
  border: 1px solid #ec1c24; border-radius: 31px;
  font-size: 16px; line-height: 1.2; color: #ec1c24;
}

@media (max-width: 960px) {
  .lpa { padding: 60px 0; }
  .lpa-body { grid-template-columns: minmax(0, 1fr); }
  .lpa-media { min-height: 320px; }
  .lpa-summary { padding: 22px 0; }
  .lpa-panel { padding-right: 0; }
}

@media (max-width: 767px) {
  .tnb-404 {
    padding: 60px 0 70px;
  }
  .tnb-404 .tnb-404-code {
    font-size: 84px;
  }
  .tnb-404 h1 {
    font-size: 28px;
  }
  .tnb-404 .tnb-404-lead {
    font-size: 15px;
  }
  .tnb-404 .tnb-404-links {
    flex-direction: column;
    gap: 14px;
  }
  .tnb-404 .tnb-404-links .tnb-btn {
    width: 100%;
  }
}

/* ============================================================
   Heading outline (no level skips): elements whose tag changed keep
   the look of the tag they had. tb-hlook = the heading defaults a
   former heading (now a div) inherited; tb-fs-hN = the Bootstrap
   size of hN. Specificity is one element (0,0,1), like the Bootstrap
   heading rules they replace, so every component rule still wins.
   ============================================================ */
div:where(.tb-hlook) {
  margin-top: 0;
  margin-bottom: .5rem;
  font-weight: 500;
  line-height: 1.2;
  color: var(--bs-heading-color);
  clear: both;
}
:is(h2, h3, h4, div):where(.tb-fs-h2) { font-size: calc(1.325rem + .9vw); }
:is(h2, h3, h4, div):where(.tb-fs-h3) { font-size: calc(1.3rem + .6vw); }
:is(h2, h3, h4, div):where(.tb-fs-h4) { font-size: calc(1.275rem + .3vw); }
:is(h2, h3, h4, div):where(.tb-fs-h5) { font-size: 1.25rem; }
:is(h2, h3, h4, div):where(.tb-fs-h6) { font-size: 1rem; }
@media (min-width: 1200px) {
  :is(h2, h3, h4, div):where(.tb-fs-h2) { font-size: 2rem; }
  :is(h2, h3, h4, div):where(.tb-fs-h3) { font-size: 1.75rem; }
  :is(h2, h3, h4, div):where(.tb-fs-h4) { font-size: 1.5rem; }
}


.cn-stack--card .cn-stack-logo {
	border : 0px !important
		padding: 0px
}
.cn-stack--card .cn-stack-logo{
	background :transparent !important;
	border : unset !important
}

.cn-stack--card .cn-stack-chip .cn-stack-logo{
	background :unset !important
}

button.lph2-btn.lph2-submit {
    width: 100%;
}

.page-slug-real-estate-app-development-company form#tnb-lph2-form input:focus,
.page-slug-real-estate-app-development-company form#tnb-lph2-form textarea:focus {
    color: white;
}
.lph2-field input,
.lph2-field textarea { caret-color: #fff; }
.lph2-field input::selection,
.lph2-field textarea::selection { background: rgba(236,28,36,.55); color: #fff; }
/* browser autofill / suggestion pick: Chrome paints its own light background + dark text */
.lph2-field input:-webkit-autofill,
.lph2-field input:-webkit-autofill:hover,
.lph2-field input:-webkit-autofill:focus,
.lph2-field input:-webkit-autofill:active,
.lph2-field textarea:-webkit-autofill,
.lph2-field textarea:-webkit-autofill:focus {
  -webkit-text-fill-color: #fff;
  caret-color: #fff;
  -webkit-box-shadow: 0 0 0 1000px #0c0c0c inset;
  transition: background-color 9999s ease-in-out 0s;
}
@media (min-width: 1025px) and (max-width: 1599px) {
   .lph2-wrap {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns:1fr 1fr;
    gap: clamp(32px, 4vw, 70px);
    align-items: start;
    width: 90%;
    max-width: 1640px;
    margin: 0 auto;
    padding-bottom: 64px;
}
	.lph2-recog-logo img { max-height : 25px !important }
	.lph2-recog-logos{ gap : 30px }
	.lph2-recog { width: 90%;}
}

@media (max-width: 960px) {
  .lpa { padding: 60px 0; }
  .lpa-body { grid-template-columns: minmax(0, 1fr); }
  .lpa-media { min-height: 320px; }
  .lpa-summary { padding: 22px 0; }
  .lpa-panel { padding-right: 0; }
	p.lp-cards-sub {
    width : 90%;
    
}

h2.lp-cards-h2 {
    text-align : center
}

p.lp-cards-sub {
    width: 100%;
    text-align: center;
    margin: 10px auto;
max-width: 90%;
}
button.dt-btn.dt-btn-primary.lp-cards-cta.tnb-popup-trigger {
    margin: auto;
}

}