/* Consistent, complete Simplified Chinese glyphs without a third-party font request. */
@font-face {
  font-family: 'Chris Sans SC';
  src: url('/assets/fonts/chris-sans-sc.woff2?v=20261019-models') format('woff2');
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}
:root {
  --sans: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Chris Sans SC', 'PingFang SC', 'Microsoft YaHei', sans-serif;
  --serif: var(--sans);
  --ink: #252623;
  --muted: #595c55;
}
body {font-size:16px; line-height:1.75; font-weight:400; -webkit-text-size-adjust:100%; text-size-adjust:100%}
.zh, [lang='zh-Hans'] {font-variant-east-asian:normal}
.zh {letter-spacing:normal; word-break:normal; line-break:strict}
h1,h2,h3 {font-weight:600; overflow-wrap:break-word}
.hero h1 {font-weight:600; letter-spacing:-.025em; line-height:1.2}
.hero h1 .en {font-size:1em; line-height:1.1}
.hero .intro {font-size:15px; line-height:1.85}
.hero-foot {font-style:normal; font-size:13px; letter-spacing:.015em}
.section-title {font-weight:600; letter-spacing:-.025em; line-height:1.35}
.section-title .en {font-size:1em}
.project-meta h3 {font-weight:600; line-height:1.25; letter-spacing:-.025em; font-size:28px}
.project-meta>div {min-width:0}
.project-meta p {font-size:14px; line-height:1.8}
.project-meta .eyebrow,.eyebrow {line-height:1.7}
.eyebrow .zh {letter-spacing:.04em}
.number {font-style:normal; font-weight:500; font-size:16px}
.section-aside,.research-bottom p,.source-note {font-size:14px; line-height:1.8}
.about h2 {font-weight:600; letter-spacing:-.025em; line-height:1.4}
.about h2 .en {font-size:1em; line-height:1.3}
.about p,.concept-grid p,.project-header .project-lede {font-size:15px; line-height:1.9}
.about .name-line {font-size:17px; font-weight:500}
.research-card {display:block; min-width:0}
.research-card h3 {font-size:20px; font-weight:600; line-height:1.5; letter-spacing:-.015em; margin:18px 0 8px}
.research-card p {font-size:15px; line-height:1.85; max-width:none}
.research-card p .zh,.research-card h3 .zh {line-height:inherit}
.material-photo figcaption,.gallery figcaption,.page-grid figcaption,.boards-grid figcaption {font-size:14px; line-height:1.8; padding-bottom:2px; overflow:visible}
.gallery figcaption>span:first-child {min-width:0; overflow-wrap:break-word}
.gallery figcaption>span:last-child {flex-shrink:0}
.project-header h1 {font-weight:600; line-height:1.12; letter-spacing:-.04em}
.project-header h2 {font-weight:500; line-height:1.65}
.concept-grid h2 {font-weight:600; letter-spacing:-.025em; line-height:1.45}
.next-project h2 {font-weight:600; line-height:1.25; letter-spacing:-.025em}
.visit h2 {font-weight:600; letter-spacing:-.035em; line-height:1.15}
.visit p {font-size:15px; line-height:1.85}
.reader-intro h1,.qr-page h1 {font-weight:600; letter-spacing:-.025em; line-height:1.35}
.reader-intro p,.qr-help {font-size:15px; line-height:1.85}
.qr-card h2 {font-weight:600; line-height:1.35; letter-spacing:-.025em}
.viewer-nav {min-height:70px; height:auto; padding:12px 20px}
.viewer-caption {min-width:0; white-space:normal; overflow:visible; text-overflow:clip; line-height:1.5; font-size:13px; overflow-wrap:break-word}
.viewer-nav button {flex-shrink:0}
.viewer-stage {height:calc(100dvh - 155px)}
@media(max-width:700px) {
  .hero h1 {font-size:44px; line-height:1.23; letter-spacing:-.025em}
  .hero .intro,.about p,.concept-grid p,.project-header .project-lede,.visit p {font-size:15px; line-height:1.85}
  .project-meta h3 {font-size:26px; line-height:1.25}
  .project-meta p {font-size:14px; line-height:1.8}
  .section-title {font-size:29px; line-height:1.4}
  .section-aside,.research-bottom p {font-size:14px; line-height:1.8}
  .research-card h3 {font-size:19px; line-height:1.5}
  .research-card p {font-size:14px; line-height:1.85}
  .gallery figcaption,.page-grid figcaption,.boards-grid figcaption {font-size:13px; line-height:1.8}
  .project-header h1 {font-size:clamp(36px,10.5vw,45px); line-height:1.15}
  .project-header h2 {font-size:17px; line-height:1.6}
  .next-project h2 {font-size:27px; line-height:1.3}
  .about h2 {font-size:30px; line-height:1.45}
  .visit h2 {font-size:46px; line-height:1.15}
  .viewer-caption {font-size:12px; line-height:1.55}
  .viewer-nav {padding:10px 12px; gap:10px; min-height:76px}
  .viewer-stage {height:calc(100dvh - 164px)}
}
