/* ============================================================
   base.css · reset + 排版 + 容器 + 栅格 + 工具类
   ============================================================ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  font-family:var(--font-zh);
  font-size:var(--fs-body);
  line-height:var(--lh-body);
  color:var(--c-text);
  background:var(--c-bg);
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none;transition:color .2s}
ul,ol{list-style:none}
button{font-family:inherit;cursor:pointer;border:none;background:none}
input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}
h1,h2,h3,h4{line-height:1.3;font-weight:700;color:var(--c-text)}
strong{font-weight:700}

/* 数字用等宽比例字体 */
.num{font-family:var(--font-num);font-variant-numeric:tabular-nums}

/* 容器 */
.container{width:100%;max-width:var(--container);margin:0 auto;padding:0 var(--sp-4)}

/* 区块间距 */
.section{padding:64px 0}
.section-sm{padding:40px 0}
.section-tint{background:linear-gradient(180deg,#EEF4FE,#F6F8FC)}

/* 区块标题 */
.section-head{text-align:center;max-width:720px;margin:0 auto var(--sp-5)}
.section-head .eyebrow{
  display:inline-block;color:var(--c-primary);font-weight:700;font-size:15px;
  letter-spacing:.08em;background:var(--c-primary-soft);padding:4px 14px;border-radius:var(--r-pill);
  margin-bottom:var(--sp-3);
}
.section-head h2{font-size:var(--fs-h2);margin-bottom:var(--sp-2)}
.section-head p{color:var(--c-text-2)}

/* 栅格 */
.grid{display:grid;gap:var(--sp-4)}
.grid-2{grid-template-columns:repeat(2,1fr)}
.grid-3{grid-template-columns:repeat(3,1fr)}
.grid-4{grid-template-columns:repeat(4,1fr)}

/* 工具类 */
.text-center{text-align:center}
.text-accent{color:var(--c-accent)}
.text-primary{color:var(--c-primary)}
.text-success{color:var(--c-success)}
.text-danger{color:var(--c-danger)}
.text-muted{color:var(--c-text-2)}
.mt-2{margin-top:var(--sp-2)} .mt-3{margin-top:var(--sp-3)} .mt-4{margin-top:var(--sp-4)}
.mt-5{margin-top:var(--sp-5)} .mt-6{margin-top:var(--sp-6)}
.hidden{display:none!important}

/* 面包屑 */
.breadcrumb{padding:var(--sp-3) 0;color:var(--c-text-3);font-size:var(--fs-sm)}
.breadcrumb a:hover{color:var(--c-primary)}
.breadcrumb span{margin:0 6px}
.back-home{display:inline-block;color:var(--c-primary);font-weight:600;text-decoration:none;border:1px solid var(--c-primary-soft);padding:6px 14px;border-radius:999px;background:var(--c-primary-soft);transition:.2s}
.back-home:hover{background:var(--c-primary);color:#fff}

/* 响应式 */
@media (max-width:960px){
  .grid-3,.grid-4{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:640px){
  :root{--fs-hero:30px;--fs-h1:26px;--fs-h2:26px}
  .section{padding:40px 0}
  .grid-2,.grid-3,.grid-4{grid-template-columns:1fr}
  .container{padding:0 var(--sp-3)}
}
