/* Reset & base */
* { box-sizing: border-box; }
html,body { height: 100%; }
body {
  margin: 0;
  font-family: "Helvetica Neue", Arial, sans-serif;
  color: #223;
  -webkit-font-smoothing:antialiased;
}

/* layout helpers */
.container { max-width: 77.50rem; margin: 0 auto; padding: 0 1.25rem; }

/* header */
.site-header {
  padding: 1.13rem 0;
  top: 0;
}
.site-header {
  position: relative;
  width: 100%;
  transition: all 0.3s ease;
}
.site-header.fixed {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1000;
  background: url('../assets/header.png');
  background-size: 100% 100%;
  background-repeat: no-repeat;
  /* background: linear-gradient(92deg, #0056BC 9.75%, #207BE8 79.07%); */
  box-shadow: 0 0.13rem 0.38rem rgba(0,0,0,0.15);
}

.header-inner { display:flex; align-items:center; justify-content:flex-start; }
.logo { width: 11.75rem; display:inline-block; object-fit: contain; }
.logo-fallback { color:#4a90e2; font-weight:700; padding:0.38rem 0.63rem; background:#eaf4ff; border-radius:0.50rem; display:inline-block; }

/* hero */
.hero { padding: 0 0 2.50rem; position:relative; overflow: hidden; }
.hero .bg {
  background: url('../assets/bg1.png');
  position: absolute;
  background-size: 100% 100%;
  background-repeat: no-repeat;
  width: 100%;
  height: 100%;
  z-index: -1;
  opacity: 0.2;
  top: 0;
}
.hero .bg2 {
  background: url('../assets/hero_bg.png');
  position: absolute;
  background-size: 100% auto;
  background-position: bottom;
  background-repeat: no-repeat;
  width: 100%;
  height: 100%;
  z-index: -1;
  opacity: 0.2;
  bottom: 0;
}
.hero-inner {  gap:1.50rem; align-items:flex-start; flex-wrap:wrap; }
.hero-media { flex:1 1 35.00rem;  padding-top: 5.00rem;}
.hero-img {
  width:100%;
  height: 37.50rem;
  border-radius:0.50rem;
  box-shadow: 0 0.38rem 1.13rem rgba(40,60,80,0.08);
  display:block;
  object-fit:contain;
}
.hero-text { flex:1 1 26.25rem; margin-top: 1.88rem }
.intro { color:#425; line-height:1.8; margin-top:0.75rem; font-size:1.50rem; }

/* decorative band */
/* .decor-band {
  height:2.50rem;
  background: linear-gradient(90deg, rgba(93,215,255,0.12), rgba(122,120,255,0.06));
  margin:1.13rem 0;
  border-radius:0.50rem;
} */

/* stats cards */
.stats-wrap {  padding-bottom: 2.25rem; }
.stats-grid {
  display:grid;
  grid-template-columns: repeat(4, 1fr);
  gap:1.13rem;
}
.stat-card {
  background: linear-gradient(180deg, rgba(255,255,255,0.9), rgba(245,255,255,0.85));
  width: 17.50rem;
  height: 17.50rem;
  border-radius: 0.94rem 0.94rem 0.94rem 0;
  background-color: #ffffff60;
  border: 0.13rem solid #fff;
  text-align:center;
  padding-top: 2.63rem;
  box-shadow: 0 0.38rem 1.25rem rgba(60,90,120,0.06);
}
.stat-card .tag { font-size:1.63rem; background: linear-gradient(90deg, #87CEEB 0%, rgba(135, 206, 235, 0.00) 100%); color:#003DA1; margin-bottom:0.50rem; font-weight:700; width: 11.88rem; height: 2.50rem; display: flex; align-items: center; justify-content: center; }
.stat-card .value { font-size:4.50rem; font-weight:800; color:#161C22; }
.stat-card .currency { font-size:3.75rem; margin-right:0.38rem; color:#444C54; }
.stat-card .unit { font-size:2.5rem; color:#444C54; margin-left:0.38rem; }

/* sections */
.section-title { text-align:center; font-size:1.25rem; color:#12344f; margin:1.13rem 0 0.75rem; position:relative; }
.wrap {
  max-width: 100%;
  min-height: 56.25rem;
  background-color: #F2F8FF;
}
.details {
  overflow: hidden;
  width: 83.75rem;
  max-width: 100%;
  margin: 0 auto;
  height: 56.25rem;
  position: relative;
}
.details .bg {
  background: url('../assets/card_bg.png');
  position: absolute;
  background-size: 100% auto;
  background-position: bottom;
  background-repeat: no-repeat;
  width: 100%;
  height: 100%;
  z-index: 0;
  bottom: -6.25rem;
  opacity: .7
}
.section-title {
  font-size: 2.38rem;
  font-weight: bold;
  margin-top: 3.75rem;
  position: relative;
}
.details .features {
  position: relative;
  z-index: 100
}
.details .features .block {
  display: flex;
}
.details .features .block >div {
  padding: 0 0 1.88rem 0.94rem;
}
.details .features .block .label {
  font-size: 1.50rem;
}
.details .features .block .value {
  font-size: 1.50rem;
  font-weight: 400;
  color: #000;
}
.details .features .block .blue {
  color: #003DA1;
  font-weight: bold;
}

.details .features .block img {
  display: flex;
  object-fit: contain;
}
.details .features .block .img_wrap {
  padding: 0;
}
.section-title:before {
  content: '';
  position: absolute;
  background: url('../assets/pc_left.png');
  background-size: 100% 100%;
  width: 29.38rem;
  height: 0.25rem;
  top: 1.88rem;
  left: 0;
}
.section-title:after {
  content: '';
  position: absolute;
  background: url('../assets/pc_right.png');
  background-size: 100% 100%;
  width: 29.38rem;
  height: 0.25rem;
  top: 1.88rem;
  right: 0;
}
.overview {
  overflow: hidden;
  width: 83.75rem;
  max-width: 100%;
  margin: 0 auto;
  height: 56.25rem;
  position: relative;
}
.overview-text {
  padding: 0 4.38rem;
}
.overview li{
  font-size: 1.50rem;
  margin-top: 1.25rem;
}
.section-title2 {
  font-size: 2.25rem;
  width: 68.63rem;
  color: #003DA1;
  text-align: center;
  font-weight: bold;
  margin-top: 6.25rem;
  margin-left: auto;
  margin-right: auto;
  position: relative;
}
.section-title2:before {
  content: '';
  position: absolute;
  background: url('../assets/title_left.png');
  background-size: 100% 100%;
  width: 2.50rem;
  height: 1.25rem;
  top: 1.06rem;
  left: 0;
}
.section-title2:after {
  content: '';
  position: absolute;
  background: url('../assets/title_right.png');
  background-size: 100% 100%;
  width: 2.50rem;
  height: 1.25rem;
  top: 1.06rem;
  right: 0;
}
.features { margin:0.75rem 0 0 1.13rem; color:#3b4a59; }
.note { margin-top:0.75rem; color:#3b4a59; line-height:1.6; font-size:0.88rem; }

/* form */
.form-note { background: linear-gradient(90deg, rgba(93,176,255,0.06), rgba(180,220,255,0.04)); padding:0.75rem; border-radius:0.50rem; margin-bottom:0.88rem; color:#115; }
.apply-form { display:block; }
.radio-row { display:flex; gap:0.75rem; margin-bottom:0.75rem; }
.form-grid {  gap:0.75rem; background: #fff; padding: 2.50rem 2.50rem 0.63rem; border-radius: 1.25rem; }
.field { display:flex; flex-direction:column; }
.field .label { font-size:1.13rem; color:#6b7a86; margin-bottom:0.38rem; }
.field input, .field textarea, .field select {
  margin-bottom: 1.88rem;
  border:0.06rem solid #e2e8f0 !important;
  min-height: 2.00rem;
  padding:0.63rem 0.75rem; border-radius:0.50rem; font-size:1.13rem;
  background:rgba(0, 61, 161, 0.08)
}
.field input {
  min-height: 2.00rem;
  box-sizing: border-box;
  background:rgba(0, 61, 161, 0.08);
}
input:focus, select:focus, textarea:focus {
  outline: none;   /* 去掉默认黑边 */
  box-shadow: none; /* 有些浏览器还会加阴影 */
}
.field.full { grid-column: 1 / -1; }
.form-actions { margin-top:0.75rem; display:flex; justify-content:center; }
.btn-primary {
  border-radius: 0.63rem;
  border: 0.13rem solid #FFF;
  background: linear-gradient(135deg, #EEFAFF 0%, #F4FCFF 100%);
  box-shadow: 0 0.63rem 2.50rem 0 rgba(53, 76, 101, 0.20);
  height: 5.88rem;
  width: 68.75rem;
  font-size: 1.88rem;
  margin-top: 1.88rem;
  color: #000;
  font-weight: 500;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}

.btn-primary:hover { 
  background: linear-gradient(90deg, #87CEEB 0%, #003DA1 100%);
  color: #fff;
}

/* form result */
.form-result { margin-top:0.75rem; text-align:center; color:#2b6b2b; font-weight:600; }

.form-section {
  overflow: hidden;
  width: 83.75rem;
  max-width: 100%;
  margin: 0 auto;
  position: relative;
  padding-bottom: 6.25rem;
}
.card {
  border-radius: 1.88rem;
  border: 0.19rem solid #FFF;
  background: #F7FBFF;
  /* 网站内容承载 */
  box-shadow: 0 0.63rem 2.50rem 0 rgba(136, 164, 194, 0.08);
  padding: 1.88rem;
}

.card .title {
  font-size: 1.88rem;
  text-align: center;
  margin-bottom: 1.88rem;
}

.audioWrap .label {
  font-size: 1.13rem;
}
.buttonWrap {
  display: flex;
  gap: 1.25rem;
  margin: 1.25rem 0 1.88rem;
}
.buttonWrap .button{
  height: 3.75rem;
  flex: 1;
  border-radius: 0.63rem;
  border: 0.13rem solid #FFF;
  background: linear-gradient(135deg, #EEFAFF 0%, #F4FCFF 100%);

  box-shadow: 0 0.63rem 2.50rem 0 rgba(113, 134, 158, 0.16);
  color: #000;
  font-size: 1.88rem;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-weight: 500;
}
.buttonWrap .button:hover {
  background: linear-gradient(90deg, #87CEEB 0%, #003DA1 100%);
  color: #fff;
}
.buttonWrap .active {
  background: linear-gradient(90deg, #87CEEB 0%, #003DA1 100%);
  color: #fff;
}






















/* responsive */
@media (max-width: 56.25rem) {
  .stats-grid { grid-template-columns: repeat(2, 1fr); }
  .form-grid { grid-template-columns: 1fr; }
  .hero-inner { flex-direction:column; }
}
@media (max-width: 30.00rem) {
  .stats-grid { grid-template-columns: 1fr; }
  .logo { width: 5.88rem }
  .logo-fallback { display:inline-block; }
  .site-header.fixed {
    background: url('../assets/mobile_header.png');
    background-size: 100% 100%;
  }
  .hero-img {
    height: 12.50rem;
  }
  .hero-media {
    padding-top: 1.5rem;
  }
  .intro{
    font-size: 1.25rem;
  }
  .stat-card {
    height: 8.75rem;
  padding-top: 1.3rem;
  }
  .container {
    padding: 0 0.94rem;
  }
  
  .stat-card .tag { font-size:0.81rem; background: linear-gradient(90deg, #87CEEB 0%, rgba(135, 206, 235, 0.00) 100%); color:#003DA1; margin-bottom:0.50rem; font-weight:700; width: 6.44rem; height: 1.25rem; display: flex; align-items: center; justify-content: center; }
  .stat-card .value { font-size:2.750rem; font-weight:800; color:#161C22; }
  .stat-card .currency { font-size:1.875rem; margin-right:0.38rem; color:#444C54; }
  .stat-card .unit { font-size:1.875rem; color:#444C54; margin-left:0.38rem; }

  .wrap {
    min-height: auto;
  }
  .details {
    height: auto;
    padding-bottom: 7.50rem;
  }
  .details .bg{
    bottom: 0;
  }
  .details img {
    width: 1.88rem;
    height: 1.88rem;
  }
  .features {
    margin: 0 !important;
  }
  .details .label {
    font-size: 1.13rem !important;
  }
  .details .value {
    font-size: 0.94rem !important;
  }
  .section-title {
    font-size: 1.25rem;
  }
  .section-title:before {
    background: url('../assets/mobile_left.png');
    background-size: 100% 100%;
    width: 4.38rem;
    height: 0.17rem;
    top: 0.88rem;
    left: 0;
  }
  .section-title:after {
    background: url('../assets/mobile_left.png');
    background-size: 100% 100%;
    width: 4.38rem;
    height: 0.17rem;
    top: 0.88rem;
    transform: rotate(180deg);
    right: 0;
  }
  .overview {
    height: auto;
  }
  .overview-text {
    padding: 0 1.4rem;
  }
  .overview li{
    font-size: .75rem;
    margin-top: 1.25rem;
  }




  .section-title2 {
    font-size: 1.13rem;
    max-width: 75%;
    color: #003DA1;
    text-align: center;
    font-weight: bold;
    margin-top: 2.25rem;
    margin-left: auto;
    margin-right: auto;
    position: relative;
  }
  .section-title2:before {
    content: '';
    position: absolute;
    background: url('../assets/title_left.png');
    background-size: 100% 100%;
    width: 2.50rem;
    height: 1.35rem;
    top: 1.06rem;
    left: -2.5rem;
  }
  .section-title2:after {
    content: '';
    position: absolute;
    background: url('../assets/title_right.png');
    background-size: 100% 100%;
    width: 2.50rem;
    height: 1.35rem;
    top: 1.06rem;
    right: -2.5rem;
  }

  .card {
    padding: 0.81rem 0.31rem;
  }
  .form-grid{
    padding: 0.81rem 0.31rem 0;
  }
  .card .title {
    font-size: 0.94rem;
    font-weight: 500;
    margin-bottom: .94rem;
  }
  .audioWrap .label {
    font-size: 0.94rem;
  }
  .buttonWrap .button{
    height: 2.69rem;
    font-size: 1.13rem;
  }
  .field input, .field textarea, .field select {
    margin-bottom: 0.63rem !important;
  }

  .btn-primary {
    height: 3.38rem;
    font-size: 1rem;
    margin-top: .50rem;
  }
}
