/* ============================================================
   巨学问官网 · 基础层（Base）
   reset + 全局排版 + 布局容器。与业务无关，所有页面共享。
   ============================================================ */

*,*::before,*::after{box-sizing:border-box;}

html{
  scroll-behavior:smooth;
  scroll-padding-top:calc(var(--header-h) + 16px); /* 锚点不被吸顶导航遮挡 */
  -webkit-text-size-adjust:100%;
}

body{
  margin:0;
  font-family:var(--font-sans);
  font-size:var(--fs-body);
  line-height:var(--lh-body);
  color:var(--ink);
  background:var(--bg);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

img,svg,video{display:block; max-width:100%;}
svg{flex-shrink:0;}
a{color:inherit; text-decoration:none;}
h1,h2,h3,h4,h5,p,dl,dd{margin:0;}
ul,ol{margin:0; padding:0; list-style:none;}
button{font:inherit; color:inherit;}

:focus-visible{
  outline:2px solid var(--c-navy);
  outline-offset:3px;
  border-radius:var(--r-xs);
}
::selection{background:var(--c-navy); color:#fff;}

/* ---------- 布局容器 ---------- */
.wrap{
  width:100%; max-width:var(--maxw);
  margin-inline:auto; padding-inline:var(--gutter);
}
.wrap--narrow{max-width:var(--maxw-narrow);}
.wrap--text{max-width:var(--maxw-text);}   /* 正文最佳行宽容器 */

/* ---------- 全局排版（行高一律引用令牌，不写裸值） ---------- */
.t-display{font-size:var(--fs-display); line-height:var(--lh-tight); font-weight:var(--fw-black); letter-spacing:-.015em;}
.t-h1{font-size:var(--fs-h1); line-height:var(--lh-tight); font-weight:var(--fw-black); letter-spacing:-.01em;}
.t-h3{font-size:var(--fs-h3); line-height:var(--lh-snug); font-weight:var(--fw-black);}
.t-lead{font-size:var(--fs-lead); line-height:var(--lh-lead); color:var(--ink-2);}

code{
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  font-size:.9em; padding:2px 6px; border-radius:4px;
  background:var(--bg-soft); border:1px solid var(--line-2); color:var(--c-navy);
}

/* ---------- 无障碍 ---------- */
.sr-only{
  position:absolute; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0;
}
.skip-link{
  position:absolute; left:50%; top:-60px; transform:translateX(-50%);
  z-index:var(--z-modal); background:var(--c-navy); color:#fff;
  padding:10px 20px; border-radius:0 0 var(--r-xs) var(--r-xs); font-weight:var(--fw-bold);
  transition:top var(--dur);
}
.skip-link:focus{top:0;}

/* ---------- 打印 ---------- */
@media print{
  .hdr,.ft,.floatbar,.mnav{display:none !important;}
  .hero,.cta-band{background:#fff !important; color:#000 !important;}
}
