/* Live Chinese typography: native CJK faces, existing Latin brand fonts. */
:root {
  --cn-sans: "Microsoft YaHei", "PingFang SC", "Noto Sans CJK SC", sans-serif;
  --cn-song: "Songti SC", "STSong", "SimSun", "Noto Serif CJK SC", serif;
  --cn-red: #ff6559;
  --cn-blue: #79a3ff;
  --cn-lime: #d8ec8b;
  --cn-pink: #f0b8b8;
}
body { font-family: Space, var(--cn-sans); }
.cn-display {
  font-family: var(--cn-sans);
  font-weight: 500;
  font-style: normal;
  letter-spacing: -.045em;
  line-height: 1.2;
  text-wrap: balance;
}
.cn-display em {
  display: inline-block;
  font-family: var(--cn-song);
  font-size: 1.04em;
  font-weight: 700;
  font-style: normal;
  letter-spacing: -.065em;
  line-height: 1.15;
  transform: skewX(-6deg);
  transform-origin: center;
}
.cn-line { display: inline-block; white-space: nowrap; }
.intro h2.cn-display {
  font-size: clamp(34px, 4.7vw, 76px);
  letter-spacing: -.04em;
  line-height: 1.35;
}
.intro-name { font-weight: 500; letter-spacing: .015em; }
.cn-dash { font-family: Space, sans-serif; color: #626660; margin-left: .15em; font-weight: 400; }
.intro-studio { white-space: nowrap; }
#intro-heading .accent-red { color: var(--cn-red); }
.about h2.cn-display { font-size: clamp(27px, 2.65vw, 42px); line-height: 1.4; letter-spacing: -.04em; }
.about h2.cn-display em { color: var(--cn-lime); font-size: 1.04em; }
.about-grid > p { line-height: 1.95; font-size: 14px; }
.profile-intro h2.cn-display { font-size: clamp(38px, 4.6vw, 70px); line-height: 1.3; letter-spacing: -.045em; }
.profile-intro h2.cn-display em { color: var(--cn-blue); font-size: 1.12em; letter-spacing: -.05em; }
.section-heading h2.cn-display { font-size: clamp(35px, 4.4vw, 70px); line-height: 1.25; letter-spacing: -.045em; }
.section-heading h2.cn-display em { color: var(--cn-red); font-size: 1.08em; }
.exhibition-cutout .exhibition-side h3.cn-display { font-size: clamp(22px, 4.2vw, 64px); line-height: 1.2; letter-spacing: -.05em; }
.exhibition-year { font-family: Space, sans-serif; font-weight: 400; font-size: .85em; letter-spacing: -.07em; }
.exhibition-side h3.cn-display em { color: var(--cn-blue); font-size: 1.04em; }
.archive-heading h2.cn-display { font-size: clamp(32px, 4.3vw, 68px); line-height: 1.25; letter-spacing: -.05em; }
.archive-heading h2.cn-display em { color: var(--cn-lime); font-size: 1.06em; }
.footer-main h2.cn-display { font-size: clamp(37px, 4.7vw, 75px); line-height: 1.3; letter-spacing: -.04em; }
.footer-main h2.cn-display em { color: var(--cn-pink); font-size: 1.1em; padding: 0 .025em; }
.section-heading, .archive-heading { gap: 24px; }
.section-heading > span { flex-shrink: 0; }
.archive-controls { flex-shrink: 0; }
@media (max-width: 900px) {
  .intro h2.cn-display { font-size: clamp(32px, 5.8vw, 52px); }
  .exhibition-cutout .exhibition-side h3.cn-display { font-size: clamp(22px, 4.2vw, 38px); }
}
@media (max-width: 600px) {
  .intro h2.cn-display { font-size: clamp(28px, 7.3vw, 42px); line-height: 1.4; }
  .profile-intro h2.cn-display { font-size: 43px; }
  .profile-intro h2.cn-display br { display: block; }
  .profile-intro h2.cn-display em { display: inline-block; }
  .section-heading h2.cn-display, .archive-heading h2.cn-display { font-size: clamp(28px, 7.5vw, 40px); }
  .exhibition-cutout .exhibition-side h3.cn-display { font-size: clamp(17px, 4.7vw, 28px); }
  .footer-main h2.cn-display { font-size: clamp(34px, 8.5vw, 48px); }
  .archive-heading { gap: 12px; }
}
