@font-face {
  font-family: "Source Han Serif SC";
  font-weight: 500;
  font-style: normal;
  font-display: swap;
  src: url("fonts/SHSerifSC-Medium.subset.woff2?v=0cad9f66") format("woff2");
}

:root {
  --paper: #F4F0E7;
  --paper-raised: #FAF7F0;
  --paper-sunk: #EBE5D8;
  --ink: #1C1A17;
  --ink-2: #4B463F;
  --ink-3: #706A61;
  --ink-4: #B9B2A6;
  --rule: #DDD4C0;
  --seal: #B23A26;
  --serif: "Source Han Serif SC", "Songti SC", STSong, serif;
  --sans: -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", system-ui, sans-serif;
}

* { box-sizing: border-box; }
body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: var(--sans);
  font-variant-numeric: tabular-nums;
  line-height: 1.85;
  -webkit-font-smoothing: antialiased;
}
a { color: inherit; text-decoration: underline; text-underline-offset: .2em; text-decoration-thickness: 1px; }
a:hover { text-decoration-thickness: 2px; }
:focus-visible { outline: 2px solid var(--ink); outline-offset: 5px; }
img { display: block; max-width: 100%; }
.shell { width: calc(100% - 48px); max-width: 760px; margin-inline: auto; }
.nowrap { white-space: nowrap; font-variant-numeric: tabular-nums; }
h1, h2, h3, .brand, .work-name, .slogan, .stmt p {
  font-family: var(--serif);
  font-weight: 500;
}
h1 { margin: 0; font-size: clamp(2rem, 4.2vw, 2.8rem); line-height: 1.4; }
h2 { margin: 0 0 20px; font-size: 1.4rem; line-height: 1.5; }
h3 { font-size: 1.3rem; line-height: 1.6; }
p { margin: 16px 0 0; }
main { padding-block: 58px 12px; }
main > section + section { margin-top: 48px; }
.site-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 100px;
}
.brand { display: inline-flex; align-items: center; gap: 10px; font-size: 19px; white-space: nowrap; }
.brand img { flex: 0 0 28px; width: 28px; height: 28px; }
.site-header nav { font-size: 14px; white-space: nowrap; color: var(--ink-2); }
.site-header nav a { display: inline-block; padding-block: 10px; }
.site-footer { margin-top: 76px; padding-block: 24px 44px; border-top: 1px solid var(--rule); }
.site-footer p { margin: 8px 0 0; color: var(--ink-3); font-size: 12px; line-height: 2; }
.site-footer a { display: inline-block; }
.home { padding-top: 62px; }
.home-title h1 { font-size: clamp(2.8rem, 7vw, 3.8rem); letter-spacing: .04em; }
.slogan { margin-top: 16px; font-size: clamp(1.65rem, 3vw, 2rem); }
.home .lead { margin-top: 28px; }
.lead { margin-top: 28px; color: var(--ink-2); font-size: 18px; line-height: 1.9; }
.featured { margin-top: 42px; }
.featured-list { margin: 0; padding: 0; list-style: none; }
.featured-list li { margin-top: 10px; }
.featured-list a { display: inline-block; padding-block: 6px; }
.work-name { font-size: 20px; }
.status { color: var(--ink-3); font-size: 14px; }
.more { display: inline-block; margin-top: 24px; padding-block: 6px; }
.company-line { margin-top: 36px; font-size: 14px; color: var(--ink-3); }
.contact-line { margin-top: 12px; font-size: 15px; }
.contact-line a, .evidence a { overflow-wrap: anywhere; }
.work-group { margin-top: 48px; }
.work-list { margin: 0; padding: 0; list-style: none; }
.work-list > li + li { margin-top: 8px; }
.work-row { display: block; padding-block: 8px; }
.breadcrumb { margin: 0 0 24px; color: var(--ink-3); font-size: 14px; }
.facts { margin: 36px 0 0; font-size: 15px; }
.facts > div { display: grid; grid-template-columns: 5em minmax(0, 1fr); gap: 20px; padding-block: 9px; }
.facts dt { color: var(--ink-3); }
.facts dd { margin: 0; overflow-wrap: anywhere; }
.story { margin-top: 44px; }
.story p { font-size: 17px; }
.note { margin-top: 28px; color: var(--ink-3); font-size: 14px; }
.evidence { margin-top: 36px; }
.about section { margin-top: 40px; }
.about section p { font-size: 17px; }
.about .facts { margin-top: 16px; }
.about .facts > div { grid-template-columns: 12em minmax(0, 1fr); }
.legal .eyebrow { color: var(--ink-3); font-size: 13px; margin-bottom: 14px; }
.legal .meta { color: var(--ink-3); font-size: 13px; }
.legal h2 { margin-top: 40px; }
.legal p, .legal li { font-size: 16px; }
.legal .lead { font-size: 17px; }
.legal ul { padding-left: 1.2em; }
.legal li { margin-top: 10px; }
.manifesto { position: relative; isolation: isolate; }
.manifesto::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background: url("paper-grain.svg") repeat;
  background-size: 340px 340px;
  opacity: .3;
}
.manifesto-title { font-size: clamp(1.35rem, 3vw, 1.8rem); }
.stmt { min-height: 80vh; display: flex; align-items: center; padding-block: 60px; }
.stmt p { margin: 0; font-size: clamp(1.7rem, 3.8vw, 2.8rem); line-height: 1.65; }
.stmt.anchor p { font-size: clamp(2.2rem, 5vw, 3.5rem); line-height: 1.5; }
.mute { color: var(--ink-3); }
/* 纸纹降低底色亮度；宣言页次要文字用更深一档墨色，保持可读对比度。 */
.manifesto .mute, .manifesto .site-footer p { color: var(--ink-2); }
.fade-ready .r { opacity: 0; transition: opacity .9s ease; }
.fade-ready .r.in { opacity: 1; }
@media (max-width: 540px) {
  .shell { width: calc(100% - 40px); }
  .site-header { min-height: 84px; gap: 10px; }
  .brand { font-size: 17px; gap: 8px; }
  .site-header nav { font-size: 13px; }
  main { padding-top: 38px; }
  .home { padding-top: 40px; }
  .home .lead { font-size: 17px; }
  .featured { margin-top: 32px; }
  .featured-list li { margin-top: 12px; }
  .featured-list .status { font-size: 13px; }
  .company-line { margin-top: 30px; }
  .site-footer { margin-top: 56px; }
  .facts > div { gap: 12px; }
  .about .facts > div { grid-template-columns: 1fr; gap: 2px; }
}
@media (max-width: 360px) {
  .site-header { flex-wrap: wrap; gap: 0; padding-block: 14px; }
  .site-header nav { margin-left: auto; }
}
@media (prefers-reduced-motion: reduce) {
  .fade-ready .r { opacity: 1; transition: none; }
}
