/* ARTVERSE · founders.css · /founders only (loaded after site.css) */

/* Hero -------------------------------------------------------------------------
   LUOMU spirit: giant thin FOUNDERS glowing on Studio Mist, the two founders'
   cut-outs standing in front of it, anchored to the bottom edge of the stage.
   ≥1240px: one full-height stage, copy left, page index right, figures between.
   900–1239px: split: figures in the right half of the stage, copy in the left half, so
   the h1 and the enquiry button are on the first screen of a small laptop or iPad.
   <900px: the stage (word + figures) stacks above the copy, which sits on Gallery White.
   The Concrete veil starts clear under the header so VERSE never sits on mid-grey. */
.fhero { position: relative; --giant: clamp(3.5rem, 15.2vw, 17.5rem); }
.fhero__stage {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(60% 50% at 54% 76%, rgba(244, 244, 243, .95) 0%, rgba(244, 244, 243, 0) 72%),
    linear-gradient(180deg, rgba(139, 142, 146, 0) 0, rgba(139, 142, 146, .1) 80px, rgba(139, 142, 146, .34) 24%, rgba(139, 142, 146, .14) 45%, rgba(139, 142, 146, 0) 62%),
    var(--mist);
}
.fhero__giant {
  position: relative;
  z-index: 0;
  margin: 0;
  font-size: var(--giant);
  letter-spacing: .05em;
  text-align: center;
  color: var(--white);
  text-shadow: 0 0 .03em rgba(255, 255, 255, .95), 0 0 .12em rgba(255, 255, 255, .7), 0 0 .3em rgba(255, 255, 255, .45);
  user-select: none;
  pointer-events: none;
}
.fhero__figures {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  pointer-events: none;
}
.fhero__figures img { flex: none; width: auto; max-width: none; }
.fhero__pair { height: 100%; }

.fhero__copy { display: grid; gap: 1.5rem; justify-items: start; }
.fhero__intro { max-width: 34ch; color: var(--graphite); font-size: var(--fs-lede); line-height: 1.65; }
.fhero__intro [lang] { font-size: .92em; }
.fhero__actions { --cluster-gap: 1rem 2rem; padding-top: .3rem; }

.fhero__index ul { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--black); }
.fhero__index a {
  display: grid;
  gap: .1rem;
  padding: .95rem 0;
  border-bottom: 1px solid var(--rule-on-light);
  text-decoration: none;
  transition: padding .4s var(--ease);
}
.fhero__index a:hover { padding-left: .6rem; }
.fhero__index-name { font-family: var(--f-display); font-size: 1.5rem; line-height: 1.15; }
.fhero__index-name [lang] { font-size: .6em; letter-spacing: .12em; margin-left: .35em; color: var(--graphite); }
.fhero__index-note { font-family: var(--f-mono); font-size: .8125rem; color: var(--graphite); }

@media (min-width: 1240px) {
  /* --fig-h is capped by the height budget and by the free width between copy and index;
     the stage height then follows the figures, and the giant word is anchored to their
     heads, so the overlap is the same at every size. */
  .fhero {
    --hero-h: clamp(700px, min(100svh, calc(42vw + 300px)), 1040px);
    --edge: max(var(--gutter), calc((100vw - var(--max)) / 2));
    --copy-w: clamp(21rem, 26vw, 25rem);
    --index-w: clamp(13.5rem, 17vw, 16rem);
    --fig-h: min(
      calc(var(--hero-h) - var(--header-h) - .5 * var(--giant) - 1.5rem),
      calc((100vw - 2 * var(--edge) - var(--copy-w) - var(--index-w) - 4rem) / .88)
    );
    --stage-h: calc(var(--fig-h) + var(--header-h) + .5 * var(--giant) + 1.5rem);
    min-height: var(--stage-h);
  }
  .fhero__stage { position: absolute; inset: 0; }
  .fhero__giant { position: absolute; left: 0; right: 0; bottom: calc(var(--fig-h) - .4 * var(--giant) + 1.25rem); }
  .fhero__figures {
    position: absolute;
    bottom: 0;
    left: calc(var(--edge) + var(--copy-w) + 2rem);
    right: calc(var(--edge) + var(--index-w) + 2rem);
    height: var(--fig-h);
  }
  .fhero__content {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: var(--copy-w) minmax(0, 1fr) var(--index-w);
    grid-template-rows: minmax(0, 1fr) auto auto;
    min-height: var(--stage-h);
    padding-top: calc(var(--header-h) + .95 * var(--giant));
    padding-bottom: clamp(2.5rem, 6vh, 4.5rem);
    pointer-events: none;
  }
  .fhero__content a, .fhero__content button { pointer-events: auto; }
  .fhero__copy { grid-column: 1; grid-row: 1 / -1; align-self: end; }
  /* The bilingual kicker heads the page index on the right; its hairline is the list's top rule. */
  .fhero__kicker { grid-column: 3; grid-row: 2; display: flex; padding-right: 0; }
  .fhero__index { grid-column: 3; grid-row: 3; }
  .fhero__index ul { border-top: 0; }
}
@media (min-width: 1240px) and (max-height: 760px) {
  .fhero__copy { gap: 1.1rem; }
  .fhero__intro { font-size: 1rem; line-height: 1.6; }
}

@media (max-width: 1239.98px) {
  .fhero {
    --fig-h: min(calc((100vw - 2 * var(--gutter)) / .9), 38rem, max(19rem, 58svh));
  }
  .fhero__stage { padding-top: calc(var(--header-h) + 3vw); }
  .fhero__figures { height: var(--fig-h); margin-top: calc(-.46 * var(--giant)); }
  .fhero__content {
    display: grid;
    gap: 1.6rem;
    padding-top: clamp(2.5rem, 7vw, 4rem);
  }
  .fhero__kicker { justify-self: start; }
  .fhero__intro { max-width: 42ch; }
  .fhero__index { margin-top: 1.5rem; }
}
@media (min-width: 760px) and (max-width: 899.98px) {
  .fhero__content { grid-template-columns: minmax(0, 7fr) minmax(0, 4fr); column-gap: clamp(2rem, 5vw, 4rem); }
  .fhero__kicker { grid-column: 1; grid-row: 1; }
  .fhero__copy { grid-column: 1; grid-row: 2; }
  .fhero__index { grid-column: 2; grid-row: 2; align-self: end; margin-top: 0; }
}
@media (min-width: 900px) and (max-width: 1239.98px) {
  /* Split: the figures stand in the right half of the stage, the copy sits over its left
     half. The in-page index is left out here (the page reads in that order anyway). */
  .fhero { display: grid; grid-template-columns: minmax(0, 1fr); --fig-h: min(calc((50vw - var(--gutter)) / .9), 38rem, max(20rem, 62svh)); }
  .fhero__stage { grid-row: 1; grid-column: 1; }
  .fhero__figures { width: 50vw; margin-left: auto; padding-right: var(--gutter); }
  .fhero__content {
    grid-row: 1;
    grid-column: 1;
    align-self: end;
    position: relative;
    z-index: 2;
    padding-top: 0;
    padding-bottom: clamp(2rem, 5vh, 3.5rem);
    gap: 1.25rem;
  }
  .fhero__kicker, .fhero__copy { max-width: min(26rem, calc(50vw - 2 * var(--gutter))); }
  .fhero__copy { gap: 1.25rem; }
  .fhero__intro { font-size: 1rem; line-height: 1.6; }
  .fhero__index { display: none; }
}

/* Founder profiles ----------------------------------------------------------------
   Goey: portrait left, name and story right, on Gallery White.
   Nico: mirrored on Runway Black, with a three-frame portfolio strip. */
.profile__grid {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 1fr) minmax(0, 6fr);
  grid-template-rows: auto 1fr;
  grid-template-areas:
    "media . head"
    "media . body";
  row-gap: clamp(2rem, 3.5vw, 3rem);
}
.profile--nico .profile__grid {
  grid-template-columns: minmax(0, 6fr) minmax(0, 1fr) minmax(0, 5fr);
  grid-template-rows: auto 1fr auto;
  grid-template-areas:
    "head . media"
    "body . media"
    "work work work";
}
.profile__head { grid-area: head; display: grid; gap: 1.5rem; align-content: start; min-width: 0; }
.profile__media { grid-area: media; position: relative; align-self: start; min-width: 0; }
.profile__body { grid-area: body; display: grid; gap: 1.6rem; align-content: start; min-width: 0; }

.profile__name {
  font-family: var(--f-display);
  font-size: clamp(4.5rem, 10.5vw, 9.75rem);
  line-height: .84;
  letter-spacing: .02em;
  padding-bottom: .12em;
  border-bottom: 1px solid var(--rule-strong);
}
.profile__name [lang] {
  font-size: .19em;
  font-weight: 600;
  letter-spacing: .14em;
  margin-left: .35em;
  vertical-align: .95em;
  color: var(--fg-muted);
}
.profile__role { font-family: var(--f-mono); font-size: .9375rem; color: var(--fg-muted); margin-top: -.6rem; }

.profile__story { font-size: clamp(1.0625rem, 1rem + .35vw, 1.25rem); line-height: 1.7; color: var(--fg); max-width: 54ch; }
.profile__story [lang] { font-size: .94em; }
.profile__label { padding-top: 1.4rem; border-top: 1px solid var(--rule); }
.profile__creds { gap: 1rem 2rem; align-items: start; }
.profile__creds li { font-size: .96875rem; align-content: start; }
.page-founders :lang(zh) { word-break: keep-all; overflow-wrap: break-word; }
@media (min-width: 1100px), (min-width: 600px) and (max-width: 899.98px) {
  .profile__creds { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (min-width: 900px) and (max-width: 1099.98px) {
  .profile__grid { grid-template-rows: auto auto; grid-template-areas: "head head head" "media . body"; }
  .profile--nico .profile__grid { grid-template-rows: auto auto auto; grid-template-areas: "head head head" "body . media" "work work work"; }
}

.profile__portrait { --offset: clamp(10px, 1.3vw, 18px); margin-right: var(--offset); }
.profile--goey .profile__portrait img { object-position: 50% 30%; }
.profile--nico .profile__portrait img { object-position: 46% 35%; }
.profile--goey .profile__media { padding-bottom: 0; }

/* Goey "then" inset: a 2005 clipping laid over the corner of the portrait. */
.profile__then {
  position: absolute;
  right: calc(-1 * clamp(.5rem, 4vw, 4.5rem));
  bottom: 0;
  z-index: 2;
  width: clamp(8.5rem, 36%, 13.5rem);
  display: grid;
  gap: .5rem;
  margin: 0;
}
.profile__then .clip__link { padding: .45rem; background: var(--white); }
.profile__then figcaption { color: var(--graphite); }

/* Nico at work: a tag-pair label and a three-frame strip under the profile. */
.profile__work {
  grid-area: work;
  display: grid;
  grid-template-columns: minmax(0, 3fr) minmax(0, 9fr);
  gap: 1.75rem clamp(12px, 1.6vw, 24px);
  margin-top: clamp(2rem, 5vw, 4.5rem);
  padding-top: clamp(1.75rem, 3vw, 2.5rem);
  border-top: 1px solid var(--rule);
}
.profile__work-label { display: grid; gap: 1rem; align-content: start; }
.profile__work-label .tag-pair__en b { color: var(--white); }
.profile__strip {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(10px, 1.6vw, 24px);
}
.profile__strip .frame { outline: 1px solid var(--rule); }
.profile__strip li:nth-child(2) { margin-top: clamp(1rem, 3vw, 2.5rem); }

@media (max-width: 899.98px) {
  .profile__grid,
  .profile--nico .profile__grid {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: none;
    grid-template-areas: "head" "media" "body" "work";
    row-gap: 2.5rem;
  }
  .profile__work { grid-template-columns: minmax(0, 1fr); margin-top: .5rem; }
  .profile__strip li:nth-child(2) { margin-top: 0; }
  .profile__media { width: min(100%, 32rem); }
  .profile--nico .profile__media { margin-left: auto; }
  .profile__portrait { width: calc(100% - 2.5rem); }
  .profile--nico .profile__portrait { margin-left: auto; margin-right: var(--offset); }
  .profile--goey .profile__media { padding-bottom: 0; }
  .profile__then { right: 0; width: clamp(8rem, 38%, 12rem); }
}

@media (max-width: 639.98px) {
  /* Phones: one large frame, then a two-up row, so no picture shrinks to a thumbnail. */
  .profile__strip { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 1.25rem; }
  .profile__strip li:first-child { grid-column: 1 / -1; }
  .profile__strip li:first-child .frame { aspect-ratio: 4 / 5; }
  /* The inset's caption wraps to three lines here: leave room so it clears the portrait's offset hairline. */
  .profile--goey .profile__media { padding-bottom: 0; }
}

/* Shared titles ---------------------------------------------------------------- */
.roles__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 3rem clamp(1.25rem, 3vw, 3rem);
  align-items: start;
}
.role { display: grid; gap: .9rem; align-content: start; min-width: 0; }
.role:nth-child(2) { margin-top: clamp(2.5rem, 7vw, 6.5rem); }
.role:nth-child(3) { margin-top: clamp(1.25rem, 3.5vw, 3.25rem); }
.role__media { margin-bottom: .6rem; }
.role__media video { width: 100%; height: 100%; object-fit: cover; }
.role:first-child .frame img { object-position: 38% 50%; }
.role__title {
  display: grid;
  gap: .35rem;
  font-family: var(--f-sans);
  font-weight: 500;
  font-size: .9375rem;
  line-height: 1.4;
  letter-spacing: .24em;
  text-transform: uppercase;
}
.role__title [lang] { font-size: 1.0625rem; letter-spacing: .08em; text-transform: none; color: var(--graphite); }
.role p { color: var(--graphite); font-size: .96875rem; line-height: 1.6; max-width: 36ch; }
@media (max-width: 699.98px) {
  .roles__grid { grid-template-columns: minmax(0, 1fr); gap: 2.75rem; }
  .role, .role:nth-child(n) { margin-top: 0; }
  .role {
    grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
    column-gap: clamp(1rem, 4vw, 2.5rem);
    row-gap: .6rem;
    align-items: start;
  }
  .role__media { grid-column: 1; grid-row: 1 / span 3; margin: 0; }
  .role > :not(.role__media) { grid-column: 2; }
}
@media (max-width: 639.98px) {
  /* The narrow image column has no room for a caption; the alt text carries it. */
  .role__media figcaption { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
  .role__media { gap: 0; }
}
@media (max-width: 479.98px) {
  .role__title { letter-spacing: .18em; font-size: .875rem; }
}

/* Heritage timeline ------------------------------------------------------------- */
.timeline { border-top: 1px solid var(--black); }
.tl {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 3fr) minmax(0, 4fr) minmax(0, 5fr);
  gap: 1.75rem clamp(1.5rem, 3vw, 3rem);
  padding-block: clamp(2.25rem, 4.5vw, 4rem);
  border-bottom: 1px solid var(--rule);
}
.tl::before { content: ""; position: absolute; top: -1px; left: 0; width: 3.5rem; height: 1px; background: var(--black); }
.tl__year { display: grid; gap: .9rem; align-content: start; }
.tl__num {
  font-family: var(--f-display);
  font-size: clamp(3.5rem, 7.2vw, 6.75rem);
  line-height: .82;
  font-variant-numeric: lining-nums;
}
.tl__who { font-weight: 500; font-size: .75rem; letter-spacing: .28em; text-transform: uppercase; }
.tl__who [lang] { font-size: 1rem; letter-spacing: .12em; margin-left: .3em; color: var(--graphite); text-transform: none; }
.tl__text { display: grid; gap: .7rem; align-content: start; }
.tl__title { font-family: var(--f-display); font-size: clamp(1.375rem, 2.1vw, 1.875rem); line-height: 1.15; }
.tl__title [lang] { font-weight: 600; font-size: .86em; letter-spacing: .06em; }
.tl__cn { font-size: 1rem; color: var(--graphite); }
.tl__text p:last-child { color: var(--graphite); max-width: 44ch; margin-top: .25rem; }
.tl__media { display: grid; gap: clamp(.75rem, 1.4vw, 1.1rem); align-content: start; min-width: 0; }

/* Archive clippings: equal heights per row (flex-grow follows each image's aspect ratio). */
.clips { display: flex; gap: clamp(.75rem, 1.4vw, 1.1rem); align-items: flex-start; }
.clip { flex: var(--ar, 1) 1 0%; min-width: 0; display: grid; gap: .5rem; margin: 0; }
.clips--single .clip { flex: none; width: min(100%, 21rem); }
.clips--single .clip--wide { width: 100%; }
.clips--single .clip--small { width: min(62%, 15rem); }
.clip__link {
  position: relative;
  display: block;
  border: 1px solid var(--rule);
  background: var(--white);
  color: var(--black);
  transition: border-color .3s var(--ease);
}
.clip__link img { width: 100%; height: auto; transition: opacity .4s var(--ease); }
a.clip__link:hover { border-color: var(--black); }
a.clip__link:hover img { opacity: .9; }
.clip__mark {
  position: absolute;
  right: .45rem;
  bottom: .45rem;
  width: 26px;
  height: 26px;
  padding: 4px;
  background: var(--gallery);
  border: 1px solid var(--rule-on-light);
  stroke: var(--black);
  transition: background-color .3s var(--ease);
}
.clip__link:hover .clip__mark { background: var(--white); border-color: var(--black); }
.clip .caption { color: var(--graphite); }

@media (max-width: 1099.98px) {
  .tl { grid-template-columns: minmax(0, 1fr) minmax(0, 2.4fr); }
  .tl__year { grid-row: 1 / span 2; }
  .tl__media { grid-column: 2; }
}
@media (max-width: 639.98px) {
  .tl { grid-template-columns: minmax(0, 1fr); gap: 1.25rem; }
  .tl__year { grid-row: auto; display: flex; flex-wrap: wrap; align-items: baseline; gap: .5rem 1.25rem; }
  .tl__num { font-size: 3.5rem; }
  .tl__media { grid-column: 1; margin-top: .5rem; }
  .clips--single .clip { width: min(100%, 20rem); }
  .clips--single .clip--wide { width: 100%; }
  .clips--single .clip--small { width: 62%; }
  .clips--stack-sm { flex-direction: column; }
  .clips--stack-sm .clip { flex: none; width: 100%; }
  .clips--stack-sm .clip + .clip { width: 62%; }
}

/* 2026: Mrs Majestic Queen Malaysia and the house of four divisions ----------------- */
.founding__grid {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  gap: 2.5rem clamp(2rem, 5vw, 5rem);
  align-items: start;
}
.founding__year { display: grid; gap: 1.5rem; align-content: start; }
.founding__num {
  display: grid;
  justify-items: start;
  gap: clamp(1.25rem, 2.2vw, 2rem);
  font-size: clamp(6rem, 15vw, 13.5rem);
  line-height: .8;
  margin-top: .5rem;
  color: var(--white);
}
/* The page's one Ember feature: a hairline set under the year. */
.founding__num::after { content: ""; width: clamp(3rem, 6vw, 5.5rem); height: 1px; margin-left: .06em; background: var(--ember); }
.founding__text { display: grid; gap: 2rem; align-content: start; padding-top: .4rem; }
.founding__text .lede { color: var(--mist); }
.founding__roles {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.5rem clamp(1.5rem, 3vw, 2.5rem);
}
.founding__roles li { display: grid; gap: .3rem; padding-top: 1.1rem; border-top: 1px solid var(--rule-strong); align-content: start; }
.founding__name { font-family: var(--f-display); font-size: clamp(1.75rem, 2.6vw, 2.25rem); line-height: 1; letter-spacing: .02em; margin-bottom: .45rem; }
.founding__name [lang] { font-size: .5em; letter-spacing: .12em; margin-left: .35em; color: var(--mist); }
.founding__role { font-size: .96875rem; line-height: 1.45; }
.founding__cn { font-size: .875rem; color: var(--mist); }

.arch {
  display: grid;
  justify-items: center;
  margin-top: clamp(4rem, 9vw, 7.5rem);
  text-align: center;
}
.arch__master { font-size: clamp(2.75rem, 6.5vw, 5.25rem); color: var(--white); }
.arch__trunk { display: block; width: 1px; height: clamp(2rem, 4vw, 3.25rem); margin-top: clamp(1rem, 2vw, 1.75rem); background: var(--rule-strong); }
.arch__list { position: relative; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); width: 100%; }
.arch__list::before { content: ""; position: absolute; top: 0; left: 12.5%; right: 12.5%; height: 1px; background: var(--rule-strong); }
.arch__list li { display: flex; flex-direction: column; align-items: center; min-width: 0; }
.arch__list li::before { content: ""; width: 1px; height: clamp(1.25rem, 2.2vw, 1.75rem); background: var(--rule-strong); }
.arch__link {
  --lockup-size: clamp(1.25rem, 2.3vw, 2rem);
  display: inline-block;
  margin-top: .6rem;
  padding: .6rem .9rem 1rem;
  text-decoration: none;
  color: var(--white);
}
.arch__link .lockup__div { transition: color .3s var(--ease); }
.arch__link:hover .lockup__div { color: var(--ember); }
@media (max-width: 899.98px) {
  .founding__grid { grid-template-columns: minmax(0, 1fr); }
  .founding__num { margin-top: 0; }
}
@media (max-width: 639.98px) {
  .arch__trunk, .arch__list::before, .arch__list li::before { display: none; }
  .arch__master { padding-bottom: 1.5rem; }
  .arch__list { grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--rule-strong); }
  .arch__list li { padding-block: 1.25rem; border-bottom: 1px solid var(--rule); }
  .arch__list li:nth-child(odd) { border-right: 1px solid var(--rule); }
  .arch__link { --lockup-size: 1.375rem; margin-top: 0; padding: .5rem; }
}

/* Closing band (shared .cta-band) ------------------------------------------------------ */
.founders-cta { --cta-fig-h: clamp(36rem, 54vw, 51rem); --cta-fig-h-sm: clamp(30rem, 120vw, 42rem); }

/* Archive viewer (founders.js opens it; links work without it) ----------------------- */
.viewer {
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
  margin: 0;
  padding: 0;
  border: 0;
  background: var(--black);
  color: var(--white);
}
.viewer::backdrop { background: rgba(17, 17, 18, .6); }
.viewer__stage {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  height: 100%;
  gap: 1rem;
  padding: 1rem var(--gutter) max(1.25rem, env(safe-area-inset-bottom));
}
.viewer__close { grid-row: 1; justify-self: end; }
.viewer__figure {
  grid-row: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: .9rem;
  height: 100%;
  min-height: 0;
  margin: 0;
}
.viewer__img { flex: none; width: auto; height: auto; max-width: 100%; max-height: calc(100% - 2.75rem); }
.viewer__caption { text-align: center; }
html.viewer-open { overflow: hidden; }
.founders-cta .cta-band__figure { padding-top: clamp(2.5rem, 5vw, 4.5rem); }

/* Bilingual copy (English first, Simplified Chinese beside it) ------------------------ */
/* Chinese paragraphs and heading lines break between any characters (keep-all would hold a
   whole clause together and push the column wider than a phone). */
.page-founders .zh-p, .page-founders .zh-sub { word-break: normal; line-break: strict; }
.profile__body, .tl__text, .founding__text, .fhero__copy { grid-template-columns: minmax(0, 1fr); }
.fhero__copy > .fhero__intro.zh-p { margin-top: -.9rem; font-size: 1rem; line-height: 1.85; }
.profile__body > .profile__story.zh-p { margin-top: -.9rem; font-size: clamp(1rem, .95rem + .25vw, 1.125rem); line-height: 1.85; color: var(--fg-muted); }
.role > p.zh-p { margin-top: -.45rem; font-size: .9375rem; line-height: 1.8; }
.section-head__main > .lede.zh-p, .founding__text > .lede.zh-p, .cta-band__copy > .lede.zh-p { margin-top: -.6rem; }
.founding__text > .lede.zh-p { margin-top: -1.2rem; }
/* The timeline's English note is no longer the last child: style both lines as notes. */
.tl__text p:not(.tl__cn) { color: var(--graphite); max-width: 44ch; }
.tl__text p:not(.tl__cn):not(.zh-p) { margin-top: .25rem; }
.tl__text .zh-p { margin-top: -.35rem; font-size: .9375rem; }
.viewer__close .zh-i { margin-left: .4em; }
@media (max-width: 479.98px) {
  /* Long bilingual buttons: the Chinese drops to its own line rather than widen the page. */
  .page-founders main .btn { flex-wrap: wrap; row-gap: .35em; column-gap: 0; white-space: normal; text-align: center; }
  .page-founders main .btn .zh-i { margin-left: .55em; }
}
/* Captions: the Chinese takes its own line under the English (and in the archive viewer). */
.page-founders figcaption .zh-i { display: block; margin: .2em 0 0; letter-spacing: .08em; }
.fhero__index-note .zh-i { display: block; margin: .15em 0 0; letter-spacing: .1em; }
.section-head__main > .lede.zh-p, .founding__text > .lede.zh-p, .cta-band__copy > .lede.zh-p { max-width: 27em; }
