*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.skip-link{position:absolute;left:-9999px;top:auto;z-index:100;padding:var(--sp-3) var(--sp-4);background:var(--primary);color:var(--on-dark);font-weight:700}
.skip-link:focus{left:var(--sp-4);top:var(--sp-4)}
:focus{outline:none}
:focus-visible{outline:2px solid var(--primary);outline-offset:2px}
.band--dark :focus-visible{outline-color:var(--link-on-dark)}
body.nav-open{overflow:hidden}
@font-face{font-family:"Inter";src:url("../assets/fonts/inter-300.woff2?v=a73466f42e64") format("woff2");font-weight:300;font-display:swap}
@font-face{font-family:"Inter";src:url("../assets/fonts/inter-700.woff2?v=a84091e81338") format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:"Source Han Sans SC";src:url("../assets/fonts/shs-300.woff2?v=42e3a2400066") format("woff2");font-weight:300;font-display:swap}
@font-face{font-family:"Source Han Sans SC";src:url("../assets/fonts/shs-700.woff2?v=19463f412f37") format("woff2");font-weight:700;font-display:swap}
body{
  font-family:Inter,"Source Han Sans SC","PingFang SC","Microsoft YaHei",system-ui,sans-serif;
  font-weight:300; font-size:var(--fs-body); line-height:1.55;
  color:var(--body); background:var(--canvas);
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,strong,b{font-weight:700;color:var(--ink);line-height:1.15}
img,svg,video{display:block;max-width:100%}
img{height:auto}
a{color:inherit;text-decoration:none}
.container{max-width:var(--maxw);margin-inline:auto;padding-inline:clamp(16px,5vw,48px)}
.band{padding-block:var(--sp-section);scroll-margin-top:calc(var(--nav-h) + 8px)}
.band--dark{background:var(--surface-dark);color:var(--on-dark-soft)}
.band--dark h1,.band--dark h2,.band--dark h3{color:var(--on-dark)}
.band--soft{background:var(--surface-soft);color:var(--body)}
.band--strip{padding-block:var(--sp-5);background:var(--brand-navy);color:var(--on-dark)}
/* hero scroll-morph —— main.js 按滚动进度写 --hero-m/--hero-r；无 JS 或 reduced-motion 时保持默认通栏 */
.js #hero{margin:var(--hero-m,0);border-radius:var(--hero-r,0)}
