/* Reset + 全局排版 — 大牌空气感：轻字重 · 宽行距 · 慷慨留白 */
*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0;
  font-family: var(--hm-font);
  font-size: clamp(16px, 1vw + 14px, 18px);
  font-weight: 400;
  line-height: 1.85;
  letter-spacing: 0.01em;
  color: var(--hm-text);
  background: var(--hm-bg);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

a {
  color: var(--hm-primary);
  text-decoration: none;
  transition: color var(--hm-duration) var(--hm-ease);
}

a:hover {
  color: var(--hm-primary-dark);
}

h1, h2, h3, h4, h5, h6 {
  margin: 0 0 0.6em;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -0.02em;
}

h1,
h2 {
  font-family: var(--hm-font-display);
  font-weight: 900;
  letter-spacing: -0.025em;
}

h1 { font-size: clamp(2.2rem, 4.5vw + 1rem, 3.5rem); line-height: 1.15; }
h2 { font-size: clamp(1.8rem, 2.8vw + 1rem, 2.6rem); line-height: 1.18; }
h3 { font-size: clamp(1.2rem, 1.2vw + 0.9rem, 1.45rem); font-weight: 600; }

p {
  margin: 0 0 1.25em;
}

ul, ol {
  margin: 0 0 1.25em;
  padding-left: 1.25em;
}

strong {
  font-weight: 600;
}

.hm-skip {
  position: absolute;
  left: -9999px;
  z-index: 9999;
  padding: 8px 16px;
  background: var(--hm-primary);
  color: #fff;
}

.hm-skip:focus {
  left: 8px;
  top: 8px;
}

.hm-main {
  min-height: 50vh;
}
