/* ==========================================================================
   掌域 GEO 官网 · 排版基线（base.css）
   reset / 排版 / 容器 / 焦点与无障碍 / 减少动效
   ========================================================================== */

/* —— reset —— */
*,*::before,*::after{box-sizing:border-box}
html{
  scroll-behavior:smooth;
  scroll-padding-top:calc(var(--nav-h) + 16px); /* 锚点落点不被 sticky 导航遮挡 */
  -webkit-text-size-adjust:100%;
}
body{
  margin:0;
  font-family:var(--font-sans);
  font-size:var(--font-size-body);
  line-height:var(--lh-body);
  font-weight:var(--weight-regular);
  color:var(--color-text-primary);
  background:var(--color-surface);
  font-variant-numeric:tabular-nums;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4,p,ul,ol,figure,blockquote{margin:0}
ul,ol{padding:0}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
summary{cursor:pointer}
hr{border:0;border-top:1px solid var(--color-border);margin:0}

/* —— 排版工具类 —— */
.section-title{
  font-size:var(--font-size-h2);
  line-height:var(--lh-h2);
  font-weight:var(--weight-bold);
  color:var(--color-text-primary);
}
.card-title{
  font-size:var(--font-size-h3);
  line-height:var(--lh-h3);
  font-weight:var(--weight-semibold);
}
.caption{
  font-size:var(--font-size-caption);
  line-height:var(--lh-caption);
  color:var(--color-text-secondary);
}
.text-secondary{color:var(--color-text-secondary)}
.text-tertiary{color:var(--color-text-tertiary)}

/* —— 容器（≥1200 内容恰好 1280；768–1199 全宽−48；≤767 全宽−32）—— */
.container{
  max-width:calc(var(--container-max) + var(--page-pad) * 2);
  margin-inline:auto;
  padding-inline:var(--page-pad);
}

/* —— 焦点（键盘可见）—— */
:focus-visible{
  outline:2px solid var(--color-primary);
  outline-offset:2px;
  border-radius:var(--radius-4);
}

/* —— 跳转链接（首 Tab 可达，视觉隐藏）—— */
.skip-link{
  position:absolute;
  top:-64px;
  left:var(--space-16);
  z-index:100;
  padding:var(--space-8) var(--space-16);
  background:var(--color-surface);
  border:1px solid var(--color-border);
  border-radius:var(--radius-8);
  font-size:var(--font-size-caption);
  transition:top .15s ease-out;
}
.skip-link:focus{top:var(--space-16)}

/* —— 减少动效 —— */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{
    transition-duration:.01ms !important;
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
  }
  /* 卡片悬停位移的取消在 components.css 末尾（需排在 hover 规则之后，同优先级按加载顺序取胜） */
}
