:root{
  --blue1:#0a4cbf;
  --blue2:#1d7fe6;
  --blue3:#54b8ff;
  --ink:#0b1b3b;
  --muted:#5b6b88;
  --card:#ffffff;
  --line:#dfe9f7;
  --soft:#f3f7ff;
  --shadow: 0 18px 40px rgba(11,30,70,.12);
  --shadow2: 0 12px 28px rgba(11,30,70,.10);
  --r16:16px;
  --r20:20px;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,"Noto Sans",sans-serif;
  color:var(--ink);
  background:#eaf1ff;
}
html{
  scroll-padding-top:72px; /* offset sticky nav when jumping to anchors */
  scroll-behavior:smooth;
}

/* layout */
.wrap{
  max-width:1080px;
  margin:0 auto;
  padding:0 22px;
}

/* top bar */
.topbar{
  position:sticky; top:0; z-index:50;
  background: linear-gradient(90deg, #0a4cbf 0%, #1d7fe6 55%, #3aa3ff 100%);
  box-shadow: 0 8px 22px rgba(3,17,55,.18);
}
.topbar__inner{
  height:64px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}
.brand{
  font-weight:900;
  letter-spacing:.3px;
  color:#fff;
  font-size:18px;
  display:flex;
  align-items:baseline;
  gap:2px;
}
.brand__a{opacity:1}
.brand__b{font-weight:700; opacity:.92}

.nav{
  display:flex;
  align-items:center;
  gap:18px;
}
.nav a{
  color:#eaf4ff;
  text-decoration:none;
  font-size:13px;
  opacity:.95;
}
.nav a:hover{opacity:1}
.caret{font-size:11px; opacity:.9; margin-left:4px}

/* buttons */
.btn{
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:10px 16px;
  border-radius:999px;
  font-weight:800;
  font-size:13px;
  border:1px solid rgba(255,255,255,.35);
  color:#fff;
  user-select:none;
}
.btn--ghost{
  background: rgba(255,255,255,.16);
  backdrop-filter: blur(8px);
}
.btn--primary{
  background: linear-gradient(180deg, #2f8cff 0%, #176ae0 100%);
  border: 1px solid rgba(255,255,255,.22);
  box-shadow: 0 10px 22px rgba(6,30,90,.20);
}
.btn--small{padding:9px 14px; font-size:13px}
.btn--right{margin-top:10px; align-self:flex-end}

/* hero */
.hero{
  background:
    radial-gradient(900px 320px at 65% 30%, rgba(255,255,255,.22) 0%, rgba(255,255,255,0) 60%),
    linear-gradient(135deg, #0a4cbf 0%, #1d7fe6 55%, #54b8ff 100%);
  padding:38px 0 42px;
}
.hero__inner{
  background: transparent;
  border:0px;
  border-radius: 0px;
  box-shadow: 0 16px 32px rgba(11,30,70,.18);
  padding:32px 30px;
  display:grid;
  grid-template-columns: 1.05fr .95fr;
  gap:26px;
  align-items:center;
}
.hero h1{
  margin:0 0 10px;
  color:#fff;
  font-size:34px;
  line-height:1.18;
  letter-spacing:.2px;
}
.hero__sub{
  margin:0 0 14px;
  color:rgba(255,255,255,.92);
  font-weight:600;
  font-size:15px;
}
.hero__bullets{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:8px 18px;
  margin:14px 0 16px;
}
.bitem{
  display:flex;
  align-items:flex-start;
  gap:10px;
  color:rgba(255,255,255,.92);
  font-size:13px;
}
.bdot{
  width:8px;height:8px;
  border-radius:999px;
  background: rgba(255,255,255,.95);
  margin-top:6px;
  flex:0 0 auto;
}
.hero__art{
  width:100%;
  border-radius: 0px;
  background: transparent;
  border: 0px;
  padding:16px;
}
.hero__art svg{width:100%; height:auto; display:block}

/* band sections */
.band{
  background: linear-gradient(180deg, #f8fbff 0%, #eaf1ff 100%);
  padding:26px 0 10px;
}
.centerHead{
  text-align:center;
  padding:14px 0 12px;
}
.centerHead h2{
  margin:0;
  color:#1559c9;
  font-size:22px;
  letter-spacing:.2px;
}
.centerHead p{
  margin:6px 0 0;
  color:#3c6fce;
  font-weight:600;
  font-size:13px;
}

.aboutRow{
  display:grid;
  grid-template-columns: 1.05fr .95fr;
  gap:18px;
  align-items:center;
  padding:8px 0 18px;
}
.aboutText{
  background: rgba(255,255,255,.70);
  border: 1px solid rgba(223,233,247,.9);
  border-radius: 16px;
  box-shadow: var(--shadow2);
  padding:16px 16px;
}
.muted{color:var(--muted); font-size:13px; line-height:1.7; margin:0 0 10px}
.aboutArt{
  background: rgba(255,255,255,.70);
  border: 1px solid rgba(223,233,247,.9);
  border-radius: 16px;
  box-shadow: var(--shadow2);
  padding:12px;
}
.aboutArt svg{width:100%; height:auto; display:block}

/* KPI strip */
.kpiBand{
  padding:16px 0 26px;
  background: linear-gradient(180deg, #f8fbff 0%, #f0f6ff 100%);
}
.kpiBand__title{
  text-align:center;
  margin:8px 0 14px;
  color:#1559c9;
  font-size:20px;
}
.kpis{
  display:grid;
  grid-template-columns: repeat(4, 1fr);
  gap:12px;
  background:
    /* 水波纹 1 */
    radial-gradient(
      600px 120px at 20% 30%,
      rgba(255,255,255,.35),
      rgba(255,255,255,0) 60%
    ),
    /* 水波纹 2 */
    radial-gradient(
      500px 100px at 80% 70%,
      rgba(255,255,255,.28),
      rgba(255,255,255,0) 65%
    ),
    /* 主体渐变 */
    linear-gradient(
      180deg,
      rgba(232,243,255,.96) 0%,
      rgba(222,236,252,.90) 100%
    );
  border: 1px solid rgba(170,190,220,.35);
  border-radius: 0px;
  box-shadow: 0 6px 14px rgba(11,30,70,.06);
  padding:16px;
}
.kpi{
  text-align:center;
  border-right: 1px solid rgba(160,180,210,.45);
  padding:10px 6px;
}
.kpi:last-child{border-right:none}
.kpi__num{
  font-size:26px;
  font-weight:900;
  color:#1b63d8;
  margin-bottom:4px;
}
.kpi__label{
  font-size:12px;
  color:#4c6da6;
  font-weight:700;
}

/* titles */
.sectionTitle{
  text-align:center;
  margin:18px 0 12px;
  color:#1559c9;
  font-size:20px;
}
.sectionTitle--sp{margin-top:18px}

/* Core capabilities */
.capBand{
  background: linear-gradient(180deg, #f8fbff 0%, #eaf1ff 100%);
  padding:10px 0 22px;
}
.capGrid{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:12px;
}

/* === Card：方形 + 弱边界 === */
.capCard{
  background:
    /* 极淡水波纹 */
    radial-gradient(
      520px 120px at 30% 20%,
      rgba(255,255,255,.35),
      rgba(255,255,255,0) 60%
    ),
    linear-gradient(
      180deg,
      rgba(240,248,255,.95),
      rgba(228,240,252,.88)
    );

  border: 1px solid rgba(180,200,225,.35); /* ✅ 弱化边界 */
  border-radius: 0;                        /* ✅ 去圆角 */
  box-shadow: 0 6px 14px rgba(11,30,70,.06);
  padding:16px 14px 14px;
}

/* === Head：纵向结构（文字在上，图在下） === */
.capCard__head{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:8px;
  margin-bottom:10px;
}

.capCard__t{
  order:1;
  font-weight:700;
  color:#3d65a4;
  font-size:14px;
  line-height:1.35;
}

/* === Icon：方形、弱存在感 === */
.capIcon{
  order:2;
  width:330px;
  height:auto;
  border-radius:0;
  background:none;
  border:0;
  position:relative;
  padding:0
}

.capIcon img{
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;

  /* 防止被 flex / grid 挤压 */
  max-width: 100%;
}



/* === 列表 === */
.capList{
  margin:0;
  padding-left:16px;
  color:#546b8f;
  font-size:12px;
  line-height:1.6;
}
.capList li{margin:6px 0}

.capList .num{
  font-weight:600;
  color:#1b63d8; /* 可选：让数字更突出 */
}


/* === Icon drawings（保持，但整体更克制） === */
/* .capIcon--mail::after{
  content:"";
  position:absolute;
  inset:12px 11px 14px 11px;
  border:2px solid rgba(21,89,201,.85);
}
.capIcon--mail::before{
  content:"";
  position:absolute;
  left:13px; right:13px; top:18px;
  border-top:2px solid rgba(21,89,201,.85);
  transform: skewY(-12deg);
}

.capIcon--seg::after{
  content:"";
  position:absolute;
  left:11px; top:14px;
  width:22px; height:16px;
  border:2px solid rgba(21,89,201,.85);
}
.capIcon--seg::before{
  content:"";
  position:absolute;
  right:11px; top:14px;
  width:10px; height:10px;
  border-radius:999px;
  border:2px solid rgba(21,89,201,.85);
}

.capIcon--shield::after{
  content:"";
  position:absolute;
  left:14px; right:14px; top:12px; bottom:12px;
  border:2px solid rgba(21,89,201,.85);
  clip-path: polygon(0 0,100% 0,100% 55%,50% 100%,0 55%);
} */


/* Post */
.postBand{
  background: linear-gradient(180deg, #f8fbff 0%, #eaf1ff 100%);
  padding:8px 0 26px;
}
.subTitle{
  text-align:center;
  color:#27406f;
  font-weight:500;
  font-size:13px;
  margin:-6px 0 14px;
}
.postGrid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:12px;
}
.postCard{
  background: linear-gradient(
    180deg,
    rgba(197, 222, 247, 0.95) 0%,
    rgba(231, 237, 243, 0.9) 55%,
    rgba(245,250,255,.85) 100%
  );

  border: 1px solid rgba(180,200,225,.35); /* 弱化边界 */
  border-radius: 0;                        /* ✅ 去圆角 */
  box-shadow: 0 6px 14px rgba(11,30,70,.06);
  padding:14px;
}
.postCard__t{
  font-weight:700;
  color:#1b63d8;
  font-size:13px;
  margin-bottom:20px;
  position: relative;
}

.postCard__t::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-12px;
  height:16px;

  /* 一条平滑下凹的曲线（SVG path） */
  background-repeat:no-repeat;
  background-position:center;
  background-size:100% 16px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 16' preserveAspectRatio='none'%3E%3Cpath d='M0,8 C20,8 30,13 50,14 C70,13 80,8 100,8' fill='none' stroke='rgba(160,190,225,0.55)' stroke-width='1.2' stroke-linecap='round'/%3E%3C/svg%3E");
}

.postList{
  margin:0;
  padding-left:16px;
  color:#546b8f;
  font-size:12px;
  line-height:1.65;
}
.postList li{margin:6px 0}

/* Partner */
.partnerGrid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:12px;
  margin-top:10px;
}
.partnerCard{
  background: rgba(232,243,255,.95);
  border: 1px solid rgba(180,200,225,.30);
  border-radius: 0;
  box-shadow: 0 6px 14px rgba(11,30,70,.06);
  padding:14px;
  display:flex;
  flex-direction:column;
}
.partnerCard__t{
  position: relative;
  font-weight:900;
  color:#1b63d8;
  font-size:13px;
  padding-bottom:8px;
  margin-bottom:10px;
}

.partnerCard__t::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;

  height:1px;
  background: linear-gradient(
    90deg,
    rgba(180,200,225,0),
    rgba(180,200,225,.55),
    rgba(180,200,225,0)
  );
}
.partnerCard--cta{position:relative}

/* footer line */
.footerLine{
  margin-top:14px;
  padding:12px 0 2px;
  text-align:center;
  color:#3c6fce;
  font-weight:700;
  font-size:12px;
}
.footerLine b{color:#1b63d8}
.sep{margin:0 10px; opacity:.6}

/* responsive */
@media (max-width: 980px){
  .nav{display:none}
  .hero__inner{grid-template-columns:1fr}
  .hero__bullets{grid-template-columns:1fr}
  .aboutRow{grid-template-columns:1fr}
  .kpis{grid-template-columns:repeat(2,1fr)}
  .kpi{border-right:none; border-bottom:1px solid rgba(223,233,247,.9)}
  .kpi:nth-last-child(-n+2){border-bottom:none}
  .capGrid{grid-template-columns:1fr}
  .postGrid{grid-template-columns:1fr}
  .partnerGrid{grid-template-columns:1fr}
}
