@font-face {
   font-family: "AlibabaPuHuiTi";
   src: url("../fonts/SourceHanSans-Normal.otf") format("opentype");
   font-weight: 400;
   font-style: normal;
}

/* 导航栏整体背景 */
html {
   overflow-x: hidden;
}

body {
   font-family: "AlibabaPuHuiTi", "Microsoft Yahei", "Hiragino Sans GB";
   overflow-x: hidden;
   color: #686a6f;
   font-size: 16px;
   line-height: 1.8;
   margin: 0;
   padding: 0;
}

/* Ensure all elements use unified font */
div,
p,
span,
h1,
h2,
h3,
h4,
h5,
h6,
a,
li,
td,
th,
label,
input,
textarea,
select {
   font-family: inherit;
}

button {
   font-family: inherit;
}

input[type="button"],
input[type="submit"],
input[type="reset"] {
   font-family: inherit;
}

img {
   max-width: 100%;
}

ul {
   padding: 0;
   margin: 0;
   list-style-type: none;
}

.container {
   padding-right: 15px;
   padding-left: 15px;
   margin-right: auto;
   margin-left: auto
}

.banner-slider {
   background-image: url('../img/home/日本金融行业网络风险管理.png');
   width: 100%;
   height: 560px;
   background-size: cover;
   background-position: center;
   position: relative;
   margin-top: 80px;
   padding-top: 10px;
}

.integrated {
   font-size: 48px;
   width: 100%;
   text-align: center;
   color: rgba(41, 41, 41, 1);
   font-weight: bold;
   margin-top: 20px;
}

.integrated span {
   color: rgba(0, 195, 255, 1);
}

.text-content {
   padding-top: 50px;
   text-align: left;
}

.desc-group {
   font-size: 20px;
   color: rgba(41, 41, 41, 1);
   line-height: 1.8;
}

.desc-group span {
   color: rgba(0, 195, 255, 1);
}

header h1 {
   margin: 0;
   font-size: 2.5rem;
   text-align: center;
}

.what-we-do {
   position: relative;
   padding: 30px 20px;
   overflow: hidden;
}

/* 左右矩形背景 */
.slanted-rect {
   position: absolute;
   top: 50%;
   width: 140px;
   height: 200px;
   background: rgba(0, 195, 255, 1);
   transform: translateY(-50%);
   clip-path: polygon(0 0, 100% 25%, 100% 75%, 0 100%);
}

.slanted-rect.left {
   left: -40px;
}

.slanted-rect.right {
   right: -40px;
   transform: translateY(-50%) scaleX(-1);
   /* 镜像 */
}

/* 中间内容 */
.content {
   max-width: 900px;
   margin: 0 auto;
   text-align: center;
   position: relative;
   z-index: 2;
}

/* 标题结构 */
.title-box {
   display: flex;
   align-items: center;
   justify-content: center;
   gap: 16px;
}

.title-box h2 {
   font-size: 56px;
   font-weight: bold;
   color: rgba(0, 195, 255, 1);
   margin: 0;
}

/* 标题下划线 */
.title-line {
   width: 220px;
   height: 4px;
   background: rgba(0, 195, 255, 1);
   margin: 14px auto 40px;
   border-radius: 2px;
}

/* 文案 */
.descs {
   font-size: 24px;
   color: rgba(41, 41, 41, 1);
}

.solve-problem {
   background: #f3fbff;
   padding: 30px 20px;
   text-align: center;
}

.solve-problem-img {
   margin: 0 auto;
}

.sub-text {
   font-size: 24px;
   color: rgba(41, 41, 41, 1);
}


.core-service {
   padding: 30px 20px;
   background: #fff;
   text-align: center;
}

/* ===== 卡片布局 ===== */
.service-grid {
   margin: 0 auto;
   display: grid;
   grid-template-columns: repeat(2, 1fr);
   column-gap: 20px;
   /* 左右间距 */
   row-gap: 60px;
   /* 上下间距（拉远一点） */
}

/* ===== 卡片 ===== */
.service-card {
   border: 2px solid rgba(0, 195, 255, 1);
   padding: 0;
   /* 关键要求 */
   text-align: left;
}

/* 头部 */
.card-header {
   background: rgba(0, 195, 255, 1);
   height: 56px;
   display: flex;
   align-items: center;
   gap: 14px;
}

/* 数字 */
.card-index {
   font-size: 90px;
   margin-top: -30px;
   font-weight: 700;
   color: rgba(0, 195, 255, 1);

   /* 白色描边 + 立体阴影 */
   text-shadow:
      -1px -1px 0 #fff,
      1px -1px 0 #fff,
      -1px 1px 0 #fff,
      1px 1px 0 #fff,
      0 3px 0 rgba(255, 255, 255, 0.8);
}

/* 标题文字 */
.card-header h3 {
   color: #fff;
   font-size: 32px;
   font-weight: bold;
}

/* 内容区 */
.card-body {
   padding: 18px 22px 22px;
}

.card-desc {
   font-size: 24px;
   color: rgba(41, 41, 41, 1);
   margin-bottom: 12px;
}

/* 列表 */
.service-card ul {
   list-style: none;
}

.service-card li {
   font-size: 24px;
   color: rgba(41, 41, 41, 1);
   line-height: 1.8;
   padding-left: 22px;
   position: relative;
   padding-left: 36px;
   /* 给“框框”让位 */
}

.service-card li::before {
   content: "✔";
   position: absolute;
   left: 0;
   top: 4px;

   width: 30px;
   height: 30px;

   display: flex;
   align-items: center;
   justify-content: center;

   background: #fff;
   /* 白色框 */
   border: 1.5px solid rgba(0, 195, 255, 1);
   /* 蓝色边框 */
   border-radius: 3px;
   /* 微圆角（可选） */

   color: rgba(0, 195, 255, 1);
   /* ✔ 颜色 */
   font-size: 28px;
   font-weight: bold;
}

.sigma_footer-copyright {
   text-align: center;
}

/* ===== 响应式 ===== */
@media (max-width: 768px) {
   .service-grid {
      grid-template-columns: 1fr;
   }
}

.advantages {
   padding: 30px 20px;
   text-align: center;
   background: rgba(242, 244, 247, 1);
}

/* ===== 中间下垂竖线 ===== */
.connector {
   position: relative;
   height: 30px;
   margin-bottom: 30px;
}

.connector::before {
   content: "";
   position: absolute;
   top: 0;
   left: 50%;
   transform: translateX(-50%);
   width: 2px;
   height: 30px;
   background-color: rgba(0, 195, 255, 1);
}

/* ===== cards 容器 ===== */
.cards {
   position: relative;
   display: flex;
   justify-content: center;
   gap: 30px;
}

/* 横线：只连接第一个和最后一个 card 的中心 */
.cards::before {
   content: "";
   position: absolute;
   top: -30px;
   left: 50%;
   transform: translateX(-50%);
   height: 2px;
   background-color: rgba(0, 195, 255, 1);

   /* 3 个 card：从第一个中心到最后一个中心 */
   width: 658px;
}

.card {
   width: 300px;
   background: rgba(0, 195, 255, 1);
   color: #ffffff;
   padding: 0px 20px;
   border-radius: 6px;
   text-align: left;
   position: relative;
}

/* 顶部竖线 */
.card_line {
   position: absolute;
   top: -30px;
   left: 50%;
   transform: translateX(-50%);
   width: 2px;
   height: 30px;
   background-color: rgba(0, 195, 255, 1);
}

/* 左上角 L 形 */
.card::before {
   content: "";
   position: absolute;
   top: 10px;
   left: 10px;
   width: 14px;
   height: 14px;
   border-top: 3px solid #fff;
   border-left: 3px solid #fff;
}

/* 右下角 L 形 */
.card::after {
   content: "";
   position: absolute;
   bottom: 10px;
   right: 10px;
   width: 14px;
   height: 14px;
   border-bottom: 3px solid #fff;
   border-right: 3px solid #fff;
}

/* 标题 */
.card_title {
   font-size: 30px;
   /* font-weight: 600; */
   line-height: normal;
   text-align: center;
   align-content: center;
   height: 82px;
}

/* 标题下白线 */
.card_h3 {
   background: #fff;
   margin: 20px auto;
   width: 250px;
   height: 3px;
   background: #fff;
}

/* 正文 */
.card p {
   margin: 0;
   line-height: 1.6;
   font-size: 24px;
   color: rgba(255, 255, 255, 1);
}

.contact-section {
   width: 100%;
   padding: 60px 0 60px 0;
   margin-top: 100px;
}


.contact-header {
   display: flex;
   flex-direction: column;
   width: 100%;
   text-align: center;
   align-items: center;
   margin-bottom: 20px;
   background-color: rgb(20 19 19 / 89%);
}

.contact-header .en {
   font-size: 48px;
   color: rgba(255, 255, 255, 0.1);
}

.contact-header .cn {
   font-size: 48px;
   color: rgba(255, 255, 255, 1);
   margin-top: -50px;
}

.contact-content {
   display: flex;
   gap: 50px;
   align-items: center;
   /* 垂直居中 */
}

.contact-image {
   flex: 1;
   text-align: center;
   /* background-color: white; */
   padding: 20px;
   display: flex;
   justify-content: center;
   align-items: center;
}

.contact-image img {
   width: 400px;
}

.contact-info-list {
   gap: 20px;
   display: flex;
   margin-top: 0;
   flex-direction: column;
   margin-left: 0;
   align-items: stretch;
}

.info-item {
   background-color: white;
   display: flex;
   padding: 10px;
   align-items: center;
   border: 1px solid #e1e1e1;
   cursor: pointer;
   text-decoration: none;
}

.info-item-h5 {
   font-weight: bold;
   padding: 0;
   margin: 0;
   color: rgba(0, 195, 255, 1);
}

.info-item-p {
   padding: 0;
   margin: 0;
   color: rgba(102, 102, 102, 1);
}

.info-item_log {
   color: rgba(0, 195, 255, 1);
   padding: 20px;
   font-size: 24px
}

.info-item .text {
   font-size: 20px;
}

.text h5 {
   margin: 0 0 10px 0;
   flex: 1;
   font-size: 22px;
   color: #000;
}

.text p {
   margin: 0;
   font-size: 18px;
   color: #000;
}

/* 整体 */
.process {
   width: 100%;
   padding: 30px 20px;
   box-sizing: border-box;
}

/* step 容器 */
.process-steps {
   display: flex;
   justify-content: space-between;
   gap: 20px;
}

/* 单个 step */
.step {
   flex: 1;
   min-width: 200px;
}

/* Step x */
.step-num {
   margin-bottom: 6px;
   font-size: 26px;
   color: rgba(41, 41, 41, 1);
}

/* step 横线 */
.step-divider {
   width: 100%;
   height: 1px;
   background: rgba(41, 41, 41, 1);
   margin-bottom: 12px;
}

/* step 标题 */
.step_h3 {
   margin: 10px 0;
   font-weight: bold;
   font-size: 26px;
   color: rgba(41, 41, 41, 1);
}

/* 描述 */
.step p {
   margin: 0;
   font-size: 22px;
   line-height: 1.6;
   color: rgba(41, 41, 41, 1);
}

.industry-section {
   margin: 0 auto;
   padding: 60px 20px;
   text-align: center;
   color: #fff;
   background: rgba(0, 195, 255, 1);
}

.industry-section .title-box .icon img {
   filter: brightness(0) invert(1);
}



.industry-list {
   margin: 0 auto;
   display: grid;
   grid-template-columns: repeat(2, 1fr);
   gap: 24px 30px;
}

.industry-item {
   border: 2px solid rgba(255, 255, 255, 0.85);
   padding: 22px 28px;
   display: flex;
   align-items: center;
   gap: 18px;
   border-radius: 4px;
}

.item_p {
   font-size: 28px;
   font-weight: bold;
   text-align: left;
}

.cta {
   padding: 20px 0;
   text-align: center;
}

.cta h1 {
   font-size: 48px;
   font-weight: 700;
   letter-spacing: 1px;
   margin-bottom: 24px;
   color: rgba(41, 41, 41, 1);
}

.cta p {
   font-size: 36px;
   line-height: 1.6;
   color: rgba(41, 41, 41, 1);
}


@media (max-width: 768px) {
   .industry-list {
      grid-template-columns: 1fr;
   }
}

@media screen and (min-width: 991px) and (max-width: 1200px) {
   .card-index {
      font-size: 65px;
   }

   .card-header h3 {
      font-size: 17px;
   }

   .cards::before {
      width: calc(100% - 30.3333%);
   }

   .card_title {
      font-size: 22px;
   }

   .card_h3 {
      width: 160px;
      margin: 10px auto;
   }

   .card p {
      font-size: 20px;
      margin-bottom: 10px;
   }

   .step_h3 {
      font-size: 24px;
   }

   .step p {
      font-size: 20px;
   }

   .industry-list {
      gap: 24px 15px;
   }

   .item_p {
      font-size: 16px;
   }
}

@media screen and (min-width: 991px) and (max-width: 1200px) {

   /* Reduce font sizes for medium screens */
   .integrated {
      font-size: 40px;
   }

   .desc {
      font-size: 16px;
   }

   .title-box h2 {
      font-size: 48px;
   }

   .descs {
      font-size: 20px;
   }

   .sub-text {
      font-size: 20px;
   }

   .card-header h3 {
      font-size: 22px;
   }

   .card-desc {
      font-size: 20px;
   }

   .service-card li {
      font-size: 20px;
   }

   .card_title {
      font-size: 26px;
   }

   .card p {
      font-size: 20px;
   }

   .step_h3 {
      font-size: 22px;
   }

   .step p {
      font-size: 18px;
   }

   .item_p {
      font-size: 20px;
   }

   .cta h1 {
      font-size: 42px;
   }

   .cta p {
      font-size: 30px;
   }
}

@media (max-width: 1200px) {
   .header-container {
      max-width: 1000px;
   }
}

@media (max-width: 1024px) {
   .header-container {
      max-width: 960px;
   }

   .integrated {
      font-size: 36px;
   }

   .desc {
      font-size: 15px;
   }

   .title-box h2 {
      font-size: 42px;
   }

   .descs {
      font-size: 18px;
   }

   .sub-text {
      font-size: 18px;
   }

   .card-header h3 {
      font-size: 20px;
   }

   .card-desc {
      font-size: 18px;
   }

   .service-card li {
      font-size: 18px;
   }

   .card_title {
      font-size: 24px;
   }

   .card p {
      font-size: 18px;
   }

   .step_h3 {
      font-size: 20px;
   }

   .step p {
      font-size: 16px;
   }

   .item_p {
      font-size: 18px;
   }

   .cta h1 {
      font-size: 36px;
   }

   .cta p {
      font-size: 26px;
   }
}

@media (max-width: 768px) {
   .contact-content {
      flex-direction: column;
   }

   .contact-header .cn {
      margin-top: -40px;
   }

   .contact-header .en {
      font-size: 36px;
   }

   .contact-header .cn {
      font-size: 36px;
   }

   .header-container {
      max-width: 100%;
      padding: 0 15px;
   }

   .integrated {
      font-size: 28px;
   }

   .desc {
      font-size: 14px;
   }

   .title-box h2 {
      font-size: 32px;
   }

   .descs {
      font-size: 16px;
   }

   .sub-text {
      font-size: 16px;
   }

   .card-header h3 {
      font-size: 18px;
   }

   .card-desc {
      font-size: 16px;
   }

   .service-card li {
      font-size: 16px;
   }

   .card_title {
      font-size: 20px;
   }

   .card p {
      font-size: 16px;
      margin-bottom: 10px;
   }

   .step_h3 {
      font-size: 18px;
   }

   .step p {
      font-size: 14px;
   }

   .item_p {
      font-size: 16px;
   }

   .cta h1 {
      font-size: 28px;
   }

   .cta p {
      font-size: 20px;
   }
}

@media (min-width: 576px) {
   .container {
      max-width: 540px;
   }
}

@media (min-width: 768px) {
   .container {
      max-width: 720px;
   }
}

@media (min-width: 992px) {
   .container {
      max-width: 960px;
   }
}

@media (min-width: 1200px) {
   .container {
      max-width: 1140px;
   }
}

@media (min-width: 1400px) {
   .container {
      max-width: 1320px;
   }
}

.isSp {
   display: none;
}

.isPc {
   display: block;
}

@media (max-width: 991px) {
   .isPc {
      display: none;
   }

   .isSp {
      display: block;
   }

   .sp-contact {
      background: #000;
      padding: 10px 16px;
      text-align: center;
      color: #fff;
      padding-top: 0px;
   }

   /* 顶部形象 */
   .sp-contact-avatar img {
      height: auto;
      margin: 0 auto 16px;
      display: block;
      width: 40%;
      margin-top: 20px;
   }

   /* 标题 */
   .sp-contact-title-en {
      font-size: 50px;
      font-weight: bold;
      letter-spacing: 2px;
      opacity: 0.15;
   }

   .sp-contact-title-cn {
      font-size: 48px;
      font-weight: bold;
      margin-top: -45px;
      margin-bottom: 24px;
   }

   .contact-list {
      max-width: 480px;
      font-size: 16px;
      color: rgba(41, 41, 41, 1);
      background: #fff;
      padding: 24px;
      margin: 0 auto;
   }

   .contact-item {
      display: flex;
      align-items: anchor-center;
      padding: 12px 0;
      text-decoration: none;
      cursor: pointer;
   }

   .icon {
      width: 30px;
      height: 30px;
      flex-shrink: 0;
      display: flex;
      align-items: center;
   }

   .text {
      display: flex;
      align-items: flex-start;
      line-height: 1.6;
   }

   .label {
      width: 40px;
      font-weight: bold;
      flex-shrink: 0;
      margin-right: 5px;
      margin-left: 5px;
      color: rgba(41, 41, 41, 1);
   }

   .value {
      color: rgba(41, 41, 41, 1);
      text-align: left;
   }

   .line {
      height: 2px;
      background: #ddd;
   }

   .sp-slider {
      position: relative;
      width: 100%;
      height: 860px;
      overflow: hidden;
      margin-top: 65px;
   }

   .sp-slide {
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      background-size: cover;
      background-position: center;
      opacity: 1;
      transition: opacity 0.6s ease;
      pointer-events: none;
      display: flex;
      height: 800px;
      justify-content: center;
   }

   .sp-hero-content {
      margin-top: 70px;
      text-align: center;
      color: rgba(42, 42, 42, 1);
   }

   .sp-title {
      font-size: 36px;
      font-weight: bold;
      line-height: 1.3;
      margin-bottom: 16px;
   }

   .sp-title span {
      color: rgba(0, 195, 255, 1);
   }

   .sp-desc {
      font-size: 28px;
      margin-bottom: 28px;
      line-height: 1.5;
      color: rgba(42, 42, 42, 1);
      margin-top: 10px;
   }


   /* 标题结构 */
   .title-box {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 10px;
   }

   .title-box h2 {
      font-size: 36px;
   }

   .descs {
      font-size: 24px;
   }

   .what-we-do {
      padding: 30px 20px;
   }

   .what-we-do .content {
      text-align: left;
   }

   .sp-service {
      padding: 30px 20px;
   }

   .solve-problem {
      padding: 30px 20px;
   }



   .sp-service-item {
      margin-bottom: 30px;
      background: #fff;
      color: rgba(41, 41, 41, 1);
      border: 2px solid rgba(0, 195, 255, 1);
   }

   .sp-item-title {
      font-size: 30px;
      font-weight: bold;
      color: #fff;
      text-align: center;
      margin-bottom: 12px;
      background: rgba(0, 195, 255, 1);
      margin-bottom: 0px;
      margin-top: 0px;
      padding-top: 10px;
      padding-bottom: 10px;
      font-weight: bold;
   }

   .sp-item-desc {
      font-size: 26px;
      background: #fff;
      /* color: #fff; */
      color: rgba(41, 41, 41, 1);
      /* margin-bottom: 16px; */
      margin-bottom: 0;
      padding-left: 15px;
      padding-right: 15px;
      padding-bottom: 0px;
      margin-top: 0px;
   }

   .sp-checklist {
      list-style: none;
      padding: 0;
      margin: 0;
      background: #fff;
      color: 333;
      padding-top: 0px;
      margin-top: 0px;
      padding-left: 15px;
      padding-right: 15px;
   }

   .sp-checklist li {
      font-size: 22px;
      color: rgba(41, 41, 41, 1);
      margin-bottom: 10px;
      display: flex;
      align-items: center;
   }

   .sp-check-icon {
      width: 36px;
      height: 36px;
      text-align: center;
      line-height: 30px;
      font-size: 26px;
      font-weight: bold;
      color: rgba(0, 195, 255, 1);
      margin-right: 12px;
      border: 1px solid;
   }

   .advantages {
      padding: 30px 0;
   }

   .sp-container {
      max-width: 900px;
      margin: 0px auto;
      padding: 30px 20px;
   }

   .sp-header {
      display: flex;
      align-items: center;
      justify-content: center;
      margin-bottom: 30px;
   }

   .sp-shield {
      font-size: 20px;
   }

   .sp-steps {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 20px;
   }

   .sp-step {
      border: 1px solid rgba(41, 41, 41, 1);
      border-radius: 8px;
      padding: 5px;
      background: #fff;
   }

   .sp-step-title {
      font-size: 24px;
      font-weight: bold;
      color: rgba(41, 41, 41, 1);
      border-bottom: 1px solid rgba(41, 41, 41, 1);
      padding-bottom: 10px;
      text-align: center;
   }

   .sp-step-content h3 {
      font-size: 24px;
      margin-bottom: 6px;
      color: rgba(41, 41, 41, 1);
      font-weight: bolder;
      text-align: center;
      margin-top: 6px;
   }

   .sp-step-content p {
      font-size: 20px;
      line-height: 1.6;
      color: rgba(41, 41, 41, 1);
      text-align: center;
      margin-top: 0px;
   }

   .sp-crowd {
      background: rgba(0, 195, 255, 1);
      padding: 30px 20px;
      color: #fff;
   }

   .sp-crowd-list {
      list-style: none;
      padding: 0;
      margin: 0;
   }

   .sp-crowd-item {
      border: 2px solid rgba(255, 255, 255, 0.9);
      border-radius: 6px;
      padding: 18px;
      margin-bottom: 20px;
      display: flex;
      align-items: center;
      font-weight: bold;
   }

   .sp-crowd-item:last-child {
      margin-bottom: 0;
   }

   .sp-crowd-icon {
      width: 28px;
      height: 28px;
      margin-right: 12px;
      margin-top: 2px;
      flex-shrink: 0;
   }

   .sp-crowd-desc {
      font-size: 24px;
      font-weight: bold;
   }

   .cta h1 {
      font-size: 32px;
      margin-bottom: 0;
   }

   .cta p {
      font-size: 26px;
      margin-top: 0;
   }

   .sp-contact-title-en {
      font-size: 36px;
   }

   .sp-contact-title-cn {
      font-size: 32px;
   }

   .sp-crowd .title-box .icon img {
      filter: brightness(0) invert(1);
   }

   .cards {
      gap: 15px;
   }

   .cards::before {
      width: 412px;
   }

   .card {
      width: 192px;
   }

   .title-line {
      margin: 14px auto 20px;
      width: 180px;
   }
}

@media (min-width: 768px) and (max-width: 991px) {}

@media (max-width: 768px) {
   .title-box h2 {
      font-size: 26px;
   }

   .sp-slider {
      height: 650px;
   }

   .sp-slide {
      height: 650px;
   }

   .sp-hero-content {
      margin-top: 30px;
   }

   .sp-title {
      font-size: 40px;
   }

   .sp-desc {
      font-size: 22px;
   }

   .sp-crowd-item {
      padding: 12px 16px;
   }

   .sp-crowd-desc {
      font-size: 18px;
      font-weight: bold;
   }

   .sp-flow-step {
      font-size: 16px;
   }

   .sp-flow-text {
      font-size: 18px;
   }

   .sp-item-title {
      font-size: 26px;
   }

   .sp-item-desc {
      font-size: 24px;
   }

   .sp-checklist li {
      font-size: 18px;
   }

   .sp-check-icon {
      width: 26px;
      height: 26px;
      line-height: 20px;
      font-size: 26px;
   }

   .sp-step-title {
      font-size: 20px;
   }

   .sp-step-content h3 {
      font-size: 18px;
   }

   .sp-step-content p {
      font-size: 16px;
   }

   .card {
      width: 130px;
   }

   .card_title {
      font-size: 17px;
      height: 60px;
      margin-top: 10px;
   }

   .card_h3 {
      width: 120px;
      margin: 10px auto;
   }

   .descs {
      font-size: 16px;
   }

   .card {
      width: 192px;
   }

   .cards::before {
      width: 412px;
   }
}

@media (max-width: 576px) {
   .title-box h2 {
      font-size: 24px;
   }

   .sp-hero-content {
      margin-top: 20px;
   }

   .sp-slide {
      height: 358px;
   }

   .sp-slider {
      height: 358px;
   }

   .sp-title {
      font-size: 22px !important;
      margin-bottom: 2px;
   }

   .sp-desc {
      font-size: 14px !important;
      margin-bottom: 10px;
   }

   .cards {
      gap: 15px;
   }

   .card {
      width: 120px;
      padding: 0px 8px;
      padding-bottom: 10px;
   }

   .cards::before {
      width: 268px;
   }

   .card::before {
      top: 5px;
      left: 5px;
      border-top: 2px solid #fff;
      border-left: 2px solid #fff;
   }

   .card::after {
      bottom: 5px;
      right: 5px;
      border-bottom: 2px solid #fff;
      border-right: 2px solid #fff;
   }

   .card_title {
      font-size: 14px;
      margin-top: 5px;
   }

   .card_h3 {
      width: 90px;
      margin: 0px auto;
   }

   .card p {
      font-size: 12px;
   }

   .sp-step-content p {
      font-size: 13px;
   }

   .sp-flow-step {
      font-size: 12px;
   }

   .sp-flow-text {
      font-size: 16px;
   }

   .sp-flow-arrow {
      width: 28px;
      height: 28px;
   }

   .sp-crowd-desc {
      font-size: 16px;
      font-weight: bold;
   }

   .cta h1 {
      font-size: 22px;
   }

   .cta p {
      font-size: 18px;
   }

   .sp-checklist li {
      font-size: 16px;
   }

   .sp-item-title {
      font-size: 20px;
   }

   .sp-item-desc {
      font-size: 18px;
   }

   .what-we-do {
      padding: 30px 20px;
   }
}

@media (max-width: 430px) {
   .cards::before {
      width: 268px;
   }

   .contact-list {
      padding: 20px;
   }
}

@media (max-width: 390px) {
   .cards::before {
      width: 228px;
   }

   .card {
      width: 100px;
   }

   .sp-contact-icon {
      width: 44px;
      height: 44px;
   }

   .sp-contact-icon img {
      width: 26px;
      height: 26px;
   }

   .label {
      width: 34px;
      font-weight: bold;
      flex-shrink: 0;
      margin-right: 3px;
      margin-left: 3px;
      color: rgba(41, 41, 41, 1);
   }

   .contact-item {
      display: flex;
      align-items: center;
   }

   .card_title {
      font-size: 12px;
   }

}