*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:var(--font);
  background:var(--bg);
  color:var(--text-strong);
  line-height:1.65;
  font-size:16px;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
/* 全局网格底纹 + 氛围光 */
body::before{
  content:"";position:fixed;inset:0;z-index:-2;
  background-image:var(--grid);
  background-size:40px 40px;
  opacity:.5;
}
body::after{
  content:"";position:fixed;inset:0;z-index:-3;
  background:
    radial-gradient(circle at 85% 8%,rgba(0,229,255,.10) 0%,transparent 42%),
    radial-gradient(circle at 10% 95%,rgba(30,94,200,.12) 0%,transparent 45%),
    var(--bg);
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
ul{list-style:none}
.container{max-width:var(--container);margin:0 auto;padding:0 var(--sp-4)}
section{padding:var(--sp-10) 0;position:relative}

/* 排版层级 */
h1,h2,h3{font-weight:700;line-height:1.2;color:var(--text-strong)}
.eyebrow{
  display:inline-block;font-size:12px;letter-spacing:.22em;color:var(--accent);
  text-transform:uppercase;margin-bottom:var(--sp-2);
}
.section-title{
  font-size:clamp(30px,4vw,46px);font-weight:700;margin-bottom:var(--sp-2);
  display:flex;align-items:center;gap:14px;
}
.section-title::before{
  content:"";width:5px;height:34px;border-radius:3px;
  background:var(--grad-accent);flex:none;
}
.section-sub{color:var(--text-mid);font-size:17px;max-width:760px;margin-bottom:var(--sp-8)}
.text-fade{color:var(--text-mid)}
.gradient-text{
  background:var(--grad-accent);-webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;
}

/* 滚动入场 */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s ease}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}

/* 通用栅格 */
.grid{display:grid;gap:var(--sp-4)}
.grid-3{grid-template-columns:repeat(3,1fr)}
.grid-2{grid-template-columns:repeat(2,1fr)}
@media (max-width:900px){.grid-3,.grid-2{grid-template-columns:1fr}}
