/* Keep each SplitText line as its own reveal mask and give CJK glyphs safe vertical room. */
html[lang="zh-CN"] [data-split] > .line-0,
html[lang="zh-CN"] [data-split] > .line-1 {
  line-height: 1.2;
}

/* Remove the inline-SVG baseline gap that clips the mobile hero wordmark. */
.hero .hero-title > svg {
  display: block;
}

/* Header lockup follows the source site's compact mark + wordmark structure. */
.header .header-logo,
.mobile .mobile-logo {
  text-decoration: none;
}

.brand-lockup {
  align-items: center;
  color: var(--textPositive);
  display: flex;
  gap: 0.5rem;
  height: 100%;
  width: 100%;
}

.brand-mark {
  display: block;
  flex: 0 0 4.5rem;
  height: 1.8rem;
  overflow: visible;
  width: 4.5rem;
}

.brand-wordmark {
  align-items: flex-start;
  display: flex;
  flex: 0 0 auto;
  flex-direction: column;
  font-family: "PP Neue Montreal", Arial, sans-serif;
  justify-content: center;
  white-space: nowrap;
}

.brand-wordmark-mt {
  display: block;
  font-size: 1.15rem;
  font-weight: 700;
  letter-spacing: -0.04em;
  line-height: 0.86;
}

.brand-wordmark-sub {
  display: block;
  font-size: 0.62rem;
  font-weight: 500;
  letter-spacing: 0.015em;
  line-height: 1;
  margin-top: 0.18rem;
}

.mobile .brand-lockup {
  color: #b7b7b7;
}

@media screen and (min-width: 750px) {
  .brand-lockup {
    gap: 0.8rem;
  }

  .brand-mark {
    flex-basis: 5.8rem;
    height: 2.4rem;
    width: 5.8rem;
  }

  .brand-wordmark-mt {
    font-size: 1.55rem;
  }

  .brand-wordmark-sub {
    font-size: 0.78rem;
    margin-top: 0.22rem;
  }

  .header .menu-cta {
    min-width: 15rem;
    white-space: nowrap;
    width: 10.4166666667vw;
  }
}

/* Home typography sample: retain the source layout and motion timelines while
   giving Chinese copy its own optical scale, rhythm, and deterministic font. */
:root {
  --mt-cjk-body: "Noto Sans SC Variable", "PingFang SC", "Microsoft YaHei", sans-serif;
  --mt-cjk-display: "PP Neue Montreal", "Noto Sans SC Variable", "PingFang SC", "Microsoft YaHei", sans-serif;
  --mt-cjk-mono: "Berkeley Mono", "Noto Sans SC Variable", "PingFang SC", "Microsoft YaHei", sans-serif;
}

html[lang="zh-CN"] .is-home {
  font-family: var(--mt-cjk-display);
  font-synthesis: none;
  line-break: strict;
}

html[lang="zh-CN"] .is-home .-t0,
html[lang="zh-CN"] .is-home .-t1,
html[lang="zh-CN"] .is-home .-t2,
html[lang="zh-CN"] .is-home .-t3,
html[lang="zh-CN"] .is-home .-t4,
html[lang="zh-CN"] .is-home .-t5,
html[lang="zh-CN"] .is-home .-t6,
html[lang="zh-CN"] .is-home .-t7 {
  font-family: var(--mt-cjk-display);
}

html[lang="zh-CN"] .is-home .-p,
html[lang="zh-CN"] .is-home .-p1,
html[lang="zh-CN"] .is-home .-p2,
html[lang="zh-CN"] .is-home .-p3,
html[lang="zh-CN"] .is-home .-p4,
html[lang="zh-CN"] .is-home .-p5,
html[lang="zh-CN"] .is-home .-p6 {
  font-family: var(--mt-cjk-mono);
}

html[lang="zh-CN"] .is-home [data-split] > [class^="line-"] {
  line-height: inherit;
  margin-block: -0.06em;
  padding-block: 0.06em;
}

html[lang="zh-CN"] body:has(.is-home) .header .menu-link,
html[lang="zh-CN"] body:has(.is-home) .mobile .menu-link {
  font-family: var(--mt-cjk-display);
  font-synthesis: none;
}

html[lang="zh-CN"] body:has(.is-home) .mobile .menu-link.-t3 {
  font-size: 3.4rem;
  letter-spacing: -0.02em;
  line-height: 1.18;
  text-transform: none;
}

html[lang="zh-CN"] .is-home .hero-description .-p1 {
  font-family: var(--mt-cjk-mono);
  font-size: 1.1rem;
  letter-spacing: 0.02em;
  line-height: 1.45;
  white-space: nowrap;
}

html[lang="zh-CN"] .is-home .unlimited-title {
  font-size: 9.2307692308vw;
  font-weight: 480;
  letter-spacing: -0.035em;
  line-height: 1.15;
  margin-left: auto;
  margin-right: auto;
  max-width: 9.5em;
  text-transform: none;
  text-wrap: balance;
}

html[lang="zh-CN"] .is-home .unlimited-description .-p,
html[lang="zh-CN"] .is-home .foundation-description .-p1,
html[lang="zh-CN"] .is-home .intro .box-description,
html[lang="zh-CN"] .is-home .press .subtitle-item,
html[lang="zh-CN"] .is-home .press .excerpt-text.-p2,
html[lang="zh-CN"] .is-home .feed .article-title,
html[lang="zh-CN"] .is-home .signup label,
html[lang="zh-CN"] .is-home .signup input,
html[lang="zh-CN"] .is-home .signup .form-message,
html[lang="zh-CN"] .is-home .signup .signup-success {
  font-family: var(--mt-cjk-body);
  font-weight: 400;
  letter-spacing: 0.005em;
  text-transform: none;
}

html[lang="zh-CN"] .is-home .unlimited-description .-p,
html[lang="zh-CN"] .is-home .foundation-description .-p1 {
  font-size: 1.3rem;
  line-height: 1.72;
}

html[lang="zh-CN"] .is-home .foundation-statement,
html[lang="zh-CN"] .is-home .company-title,
html[lang="zh-CN"] .is-home .company-message > .-t4,
html[lang="zh-CN"] .is-home .footer-title {
  font-family: var(--mt-cjk-body);
  font-size: 2.2rem;
  font-weight: 480;
  letter-spacing: -0.025em;
  line-height: 1.32;
  text-transform: none;
}

html[lang="zh-CN"] .is-home .intro .text-item,
html[lang="zh-CN"] .is-home .intro .box-title,
html[lang="zh-CN"] .is-home .company-footnotes .-p,
html[lang="zh-CN"] .is-home .company .art-details .-p,
html[lang="zh-CN"] .is-home .press .footnote-item .-p,
html[lang="zh-CN"] .is-home .feed .article-date,
html[lang="zh-CN"] .is-home .signup .signup-footnote .-p,
html[lang="zh-CN"] .is-home .footer .footer-footnote .-p {
  font-family: var(--mt-cjk-mono);
  letter-spacing: 0.01em;
  line-height: 1.55;
  text-transform: none;
}

html[lang="zh-CN"] .is-home .intro .box-description,
html[lang="zh-CN"] .is-home .company .company-message.message-2,
html[lang="zh-CN"] .is-home .company .company-message.message-3 {
  text-align: left;
}

html[lang="zh-CN"] .is-home .intro .box-description {
  font-size: 1.2rem;
  line-height: 1.65;
}

html[lang="zh-CN"] .is-home .press .subtitle-item,
html[lang="zh-CN"] .is-home .feed .article-title {
  font-size: 2rem;
  font-weight: 450;
  line-height: 1.42;
}

html[lang="zh-CN"] .is-home .press .excerpt-text.-p2 {
  font-size: 2rem;
  line-height: 1.5;
}

html[lang="zh-CN"] .is-home .signup-title {
  font-family: var(--mt-cjk-body);
  font-size: 8.2051282051vw;
  font-weight: 480;
  letter-spacing: -0.03em;
  line-height: 1.15;
  text-transform: none;
}

html[lang="zh-CN"] .is-home .footer .menu-link.-t4 {
  font-family: var(--mt-cjk-body);
  font-size: 2.2rem;
  font-weight: 480;
  letter-spacing: -0.02em;
  line-height: 1.25;
  text-transform: none;
}

html[lang="zh-CN"] .is-home .footer .menu-cta {
  white-space: nowrap;
}

html[lang="zh-CN"] .is-home .footer .article-author a + a {
  margin-left: 0.8em;
}

@media screen and (min-width: 750px) {
  html[lang="zh-CN"] body:has(.is-home) .header .menu-link {
    font-size: 2rem;
    letter-spacing: -0.02em;
    line-height: 1.25;
    text-transform: none;
  }

  html[lang="zh-CN"] .is-home .hero-description .-p1 {
    font-size: 1.5rem;
  }

  html[lang="zh-CN"] .is-home .unlimited-title {
    font-size: 5vw;
    line-height: 1.1;
  }

  html[lang="zh-CN"] .is-home .unlimited-description .-p {
    font-size: 1.4rem;
    line-height: 1.72;
  }

  html[lang="zh-CN"] .is-home .foundation-description .-p1 {
    font-size: 1.5rem;
    line-height: 1.72;
  }

  html[lang="zh-CN"] .is-home .foundation-statement,
  html[lang="zh-CN"] .is-home .company-title,
  html[lang="zh-CN"] .is-home .company-message > .-t4,
  html[lang="zh-CN"] .is-home .footer-title {
    font-size: 2.5vw;
    line-height: 1.2;
  }

  html[lang="zh-CN"] .is-home .intro .box-description {
    font-size: 1.25rem;
  }

  html[lang="zh-CN"] .is-home .press .subtitle-item,
  html[lang="zh-CN"] .is-home .feed .article-title {
    font-size: 2.2rem;
    line-height: 1.45;
  }

  html[lang="zh-CN"] .is-home .press .excerpt-text.-p2 {
    font-size: 2.2rem;
    line-height: 1.55;
  }

  html[lang="zh-CN"] .is-home .signup-title {
    font-size: 5vw;
    line-height: 1.1;
  }

  html[lang="zh-CN"] .is-home .footer .menu-link.-t4 {
    font-size: 2.5vw;
    line-height: 1.2;
  }

  html[lang="zh-CN"] .is-home .footer .menu-cta {
    min-width: 22rem;
    width: 16.6666666667vw;
  }
}

/* Picked once per hard load by navigation-fallback.js. The curated palette
   stays light enough for the signup artwork and black type to remain legible. */
:root {
  --mt-signup-accent: #d2c39d;
}

.signup .block-content,
.signup .signup-submit {
  background-color: var(--mt-signup-accent);
}

.signup .signup-mask {
  color: var(--mt-signup-accent);
}

.signup .signup-input {
  border-color: var(--mt-signup-accent);
}

@media screen and (min-width: 750px) {
  .signup .line {
    border-color: var(--mt-signup-accent);
  }
}

/* Added editorial sections deliberately reuse the original site's type scale,
   gutters and one-pixel rules so they read as part of the existing system. */
.courseoutline,
.coursefaq,
.institution-section {
  padding-bottom: 21.5384615385vw;
  padding-top: 21.5384615385vw;
}

.courseoutline-intro,
.coursefaq-heading,
.studio-activity-heading {
  display: grid;
  gap: 2.4rem;
  margin-bottom: 8rem;
}

.courseoutline-kicker,
.coursefaq-kicker,
.institution-eyebrow {
  color: #878787;
}

.courseoutline-title,
.coursefaq-title,
.institution-title {
  max-width: 12em;
}

.courseoutline-lead,
.coursefaq-intro,
.studio-activity-intro {
  max-width: 36em;
}

.courseoutline-media,
.studio-activity-figure {
  margin: 0 0 8rem;
}

.courseoutline-media img,
.studio-activity-asset {
  display: block;
  width: 100%;
}

.courseoutline-media img {
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

.courseoutline-media figcaption,
.studio-activity-caption {
  border-top: 1px solid #878787;
  margin-top: 1.6rem;
  padding-top: 1.2rem;
}

.courseoutline-grid {
  border-top: 1px solid #878787;
}

.courseoutline-card {
  border-bottom: 1px solid #878787;
  padding: 3.2rem 0 4.8rem;
}

.courseoutline-card-index,
.courseoutline-card h3 {
  margin-bottom: 2.4rem;
}

.courseoutline-stages {
  list-style: none;
}

.courseoutline-stages li {
  border-top: 1px solid rgba(135, 135, 135, 0.45);
  display: grid;
  gap: 1.2rem;
  line-height: 1;
  padding: 2rem 0;
}

.courseoutline-stages p,
.courseoutline-note,
.coursefaq-answer p,
.studio-fact-text,
.studio-profile-copy p,
.studio-boundary-grid p {
  line-height: 1.35;
  text-transform: none;
}

.courseoutline-note {
  color: #878787;
  margin-top: 2.4rem;
  max-width: 52em;
}

.coursefaq-list {
  border-top: 1px solid #878787;
}

.coursefaq-item {
  border-bottom: 1px solid #878787;
}

.coursefaq-item summary {
  align-items: center;
  cursor: pointer;
  display: grid;
  gap: 1.6rem;
  grid-template-columns: 4rem 1fr 2.4rem;
  list-style: none;
  padding: 2.4rem 0;
}

.coursefaq-item summary::-webkit-details-marker {
  display: none;
}

.coursefaq-item summary::after {
  content: "+";
  font-family: "Berkeley Mono", monospace;
  font-size: 2.4rem;
  justify-self: end;
  line-height: 1;
}

.coursefaq-item[open] summary::after {
  content: "−";
}

.coursefaq-answer {
  max-width: 60em;
  padding: 0 2.4rem 2.8rem 5.6rem;
}

.coursefaq-footnote {
  align-items: flex-start;
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
  justify-content: space-between;
  padding-top: 3.2rem;
}

.coursefaq-footnote a {
  color: inherit;
  text-decoration: none;
}

.studio-facts-grid {
  border-top: 1px solid #878787;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 6.4rem;
}

.studio-fact {
  border-bottom: 1px solid #878787;
  min-width: 0;
  padding: 3.2rem 1.6rem 4rem 0;
}

.studio-fact:nth-child(odd) {
  border-right: 1px solid #878787;
}

.studio-fact:nth-child(even) {
  padding-left: 1.6rem;
}

.studio-fact-value,
.studio-fact-title {
  margin-bottom: 1.6rem;
}

.studio-profile-heading,
.studio-profile-grid,
.studio-boundary-grid {
  display: grid;
  gap: 4rem;
}

.studio-profile-heading,
.studio-boundary .institution-title {
  margin-bottom: 6.4rem;
}

.studio-profile-copy {
  border-top: 1px solid #878787;
  padding-top: 2.4rem;
}

.studio-profile-copy h3 {
  margin-bottom: 2.4rem;
}

.studio-activity-asset {
  aspect-ratio: 4 / 3;
  overflow: hidden;
  position: relative;
}

.studio-activity-asset img {
  left: 0;
  object-position: center;
  position: absolute;
  top: 0;
}

.studio-boundary-grid {
  border-top: 1px solid #878787;
  padding-top: 3.2rem;
}

/* Consultation form: keep the original form reveal, but expose real labels and
   support the expanded qualification fields. */
.is-contact .application-intro {
  color: #878787;
  line-height: 1.45;
  margin-bottom: 6rem;
  max-width: 72rem;
  text-transform: none;
}

.is-contact .form-group > label,
.is-contact .form-group > legend {
  color: #878787;
  display: block;
  font-family: "Berkeley Mono", monospace;
  font-size: 1.2rem;
  margin-bottom: 1.2rem;
  text-transform: uppercase;
}

.is-contact fieldset.form-group {
  border: 0;
  border-bottom: 1px solid #878787;
  min-width: 0;
}

.is-contact .form-select {
  appearance: none;
  background: transparent;
  border: 0;
  border-radius: 0;
}

.is-contact .application-options {
  display: grid;
  gap: 1.2rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  padding: 1.6rem 0;
}

.is-contact form .application-option {
  align-items: center;
  color: #878787;
  display: flex;
  gap: 1rem;
  margin: 0;
  text-transform: none;
}

.is-contact .application-option input,
.is-contact .privacy-row input {
  accent-color: var(--mt-signup-accent);
  flex: 0 0 auto;
  height: 1.8rem;
  width: 1.8rem;
}

.is-contact form .privacy-row {
  align-items: flex-start;
  color: #878787;
  display: flex;
  gap: 1.2rem;
  line-height: 1.45;
  margin: 2.4rem 0 3.2rem;
  text-transform: none;
}

.is-contact .privacy-row a {
  color: inherit;
}

.is-contact .privacy-row input {
  margin-top: 0.2rem;
}

.is-contact .application-status {
  color: #878787;
  line-height: 1.45;
  margin-top: 2rem;
  min-height: 2em;
  text-transform: none;
}

.is-contact .email-fallback {
  border-top: 1px solid #878787;
  color: #878787;
  margin-top: 2.4rem;
  padding-top: 2.4rem;
}

.is-contact .email-fallback a {
  color: #b7b7b7;
}

.is-contact .copy-email {
  background: transparent;
  border: 1px solid #878787;
  color: #878787;
  cursor: pointer;
  margin-top: 1.6rem;
  padding: 1.2rem 2rem;
}

.is-contact .copy-email:focus-visible,
.is-contact .form-button:focus-visible,
.coursefaq-item summary:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 0.4rem;
}

.is-contact .form-button:disabled {
  cursor: wait;
  opacity: 0.55;
}

.is-contact .consultation-steps.signup-input {
  border: 0;
  display: grid;
  gap: 3rem;
  margin: 0 auto 1.6rem;
  max-width: 110rem;
  text-align: left;
}

.is-contact .consultation-step {
  border-top: 1px solid rgba(0, 0, 0, 0.38);
  display: grid;
  gap: 1.2rem;
  padding-top: 1.6rem;
}

.is-contact .consultation-step p {
  line-height: 1.35;
  text-transform: none;
}

@media screen and (min-width: 750px) {
  .courseoutline,
  .coursefaq,
  .institution-section {
    padding-bottom: 8.3333333333vw;
    padding-top: 8.3333333333vw;
  }

  .courseoutline-intro,
  .coursefaq-heading,
  .studio-activity-heading {
    align-items: start;
    gap: 2.7777777778vw;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-bottom: 5.5555555556vw;
  }

  .courseoutline-kicker,
  .coursefaq-kicker,
  .studio-activity-heading .institution-eyebrow {
    grid-column: 1 / -1;
  }

  .courseoutline-media,
  .studio-activity-figure {
    margin-bottom: 5.5555555556vw;
  }

  .courseoutline-media img,
  .studio-activity-asset {
    aspect-ratio: 16 / 8;
  }

  .courseoutline-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .courseoutline-card {
    border-right: 1px solid #878787;
    padding: 2.7777777778vw 2.7777777778vw 3.3333333333vw 0;
  }

  .courseoutline-card + .courseoutline-card {
    padding-left: 2.7777777778vw;
  }

  .courseoutline-card:last-child {
    border-right: 0;
    padding-right: 0;
  }

  .coursefaq-item summary {
    grid-template-columns: 5.5555555556vw 1fr 3.2rem;
    padding: 2.4rem 0;
  }

  .coursefaq-answer {
    padding-left: 5.5555555556vw;
  }

  .coursefaq-footnote {
    align-items: center;
    flex-direction: row;
  }

  .studio-facts-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-top: 4.1666666667vw;
  }

  .studio-fact,
  .studio-fact:nth-child(even) {
    border-bottom: 0;
    border-right: 1px solid #878787;
    padding: 2.7777777778vw;
  }

  .studio-fact:first-child {
    padding-left: 0;
  }

  .studio-fact:last-child {
    border-right: 0;
    padding-right: 0;
  }

  .studio-profile-heading {
    grid-template-columns: 1fr 2fr;
  }

  .studio-profile-heading .institution-title {
    grid-column: 2;
  }

  .studio-profile-grid,
  .studio-boundary-grid {
    gap: 2.7777777778vw;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-left: 33.3333333333%;
  }

  .studio-activity-heading .institution-title,
  .studio-activity-heading .studio-activity-intro {
    grid-row: 2;
  }

  .is-contact .application-options {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .is-contact .consultation-steps.signup-input {
    gap: 2.7777777778vw;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .is-contact .consultation-step {
    padding-top: 2.4rem;
  }
}

/* Mobile is a separate editorial composition, not a scaled desktop canvas.
   These rules preserve the source site's scroll timelines and motion modules,
   while giving Chinese copy, touch controls and added content usable measures. */
@media screen and (max-width: 899px) {
  html[lang="zh-CN"] :is(
      .is-irx-honu,
      .is-company,
      .is-news,
      .is-contact,
      .is-terms-of-service,
      .is-privacy-policy,
      .single
    ) {
    font-family: var(--mt-cjk-display);
    font-synthesis: none;
    line-break: strict;
    word-break: normal;
  }

  html[lang="zh-CN"] :is(
      .is-irx-honu,
      .is-company,
      .is-news,
      .is-contact,
      .is-terms-of-service,
      .is-privacy-policy,
      .single
    ) :is(h1, h2, h3, .-t0, .-t1, .-t2, .-t3, .-t4, .-t5, .-t6, .-t7) {
    font-family: var(--mt-cjk-display);
    font-synthesis: none;
  }

  html[lang="zh-CN"] :is(
      .is-irx-honu,
      .is-company,
      .is-news,
      .is-contact,
      .is-terms-of-service,
      .is-privacy-policy,
      .single
    ) :is(p, li, summary, label, legend, input, select, textarea) {
    font-family: var(--mt-cjk-body);
    text-transform: none;
  }

  html[lang="zh-CN"] :is(
      .is-irx-honu,
      .is-company,
      .is-news,
      .is-contact,
      .is-terms-of-service,
      .is-privacy-policy,
      .single
    ) :is(
      .article-meta,
      .article-date,
      .research-index-meta,
      .courseoutline-kicker,
      .coursefaq-kicker,
      .institution-eyebrow,
      .form-group > label,
      .form-group > legend
    ) {
    font-family: var(--mt-cjk-mono);
  }

  html[lang="zh-CN"] :is(.page, .single) [data-split] > [class^="line-"] {
    line-height: inherit;
    margin-block: -0.06em;
    padding-block: 0.06em;
  }

  html[lang="zh-CN"] .mobile .menu-link.-t3 {
    align-items: center;
    display: inline-flex;
    font-family: var(--mt-cjk-display);
    font-size: clamp(3.4rem, 6vw, 4.6rem);
    letter-spacing: -0.025em;
    line-height: 1.18;
    min-height: 4.4rem;
    text-transform: none;
  }

  .mobile .footnote,
  .footer .menu-link,
  .footer .footer-footnote a {
    align-items: center;
    display: inline-flex;
    min-height: 4.4rem;
  }

  .footer .menu-cta {
    min-height: 4.4rem;
  }

  .mobile-open,
  .mobile-close {
    background: transparent;
    border: 0;
    color: inherit;
    cursor: pointer;
    font: inherit;
    padding: 0;
  }

  .header .header-logo {
    align-items: center;
    display: flex;
    min-height: 4.4rem;
  }

  .mobile .mobile-logo,
  .footer .footer-logo {
    align-items: center;
    display: flex;
    min-height: 4.4rem;
  }

  .header .mobile-open {
    align-items: flex-end;
    gap: 0.6rem;
    height: 4.4rem;
    justify-content: center;
    width: 4.4rem;
  }

  .header .mobile-open .burger-line {
    width: 2.4rem;
  }

  .header .mobile-open .burger-line:last-child {
    width: 1.2rem;
  }

  .mobile .mobile-close {
    height: 4.4rem;
    width: 4.4rem;
  }

  .mobile .mobile-close .line {
    width: 2.4rem;
  }

  .mobile-open:focus-visible,
  .mobile-close:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 0.3rem;
  }

  .feed .feed-block,
  .team .team-block {
    -webkit-overflow-scrolling: touch;
    overflow-x: auto;
    overflow-y: hidden;
    overscroll-behavior-inline: contain;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
  }

  .feed .feed-block::-webkit-scrollbar,
  .team .team-block::-webkit-scrollbar {
    display: none;
  }

  .feed .feed-article,
  .team .team-article {
    scroll-snap-align: start;
  }

  .signup-form,
  .signup-input,
  .signup-submit {
    touch-action: none;
  }

  .-rotate.--active {
    pointer-events: auto;
    touch-action: none;
    z-index: 6;
  }

  html[lang="zh-CN"] .footer .footer-title,
  html[lang="zh-CN"] .footer .menu-link {
    font-family: var(--mt-cjk-body);
    text-transform: none;
  }

  html[lang="zh-CN"] .footer .footer-footnote {
    font-family: var(--mt-cjk-mono);
  }

  .footer .article-author {
    white-space: nowrap;
  }

  .footer .footer-logo {
    justify-content: center;
    margin-inline: auto;
  }

  .footer .footer-logo::after {
    display: none;
  }

  .footer .footer-wordmark {
    display: block;
    line-height: inherit;
    white-space: nowrap;
  }

  /* Method */
  .is-irx-honu .irxhonu-title {
    font-size: clamp(5.6rem, 14vw, 7.2rem);
    line-height: 1;
    max-width: calc(100vw - 4rem);
    white-space: nowrap;
  }

  .is-irx-honu .largetitle-title {
    font-size: clamp(3rem, 7.8vw, 4rem);
    letter-spacing: -0.025em;
    line-height: 1.26;
    max-width: 12em;
    text-align: center;
    text-align-last: center;
    text-transform: none;
    text-wrap: balance;
  }

  .is-irx-honu .split-title,
  .is-irx-honu .split-title .line-0,
  .is-irx-honu .split-title .line-1 {
    text-align: left !important;
    text-align-last: left;
  }

  .is-irx-honu :is(
      .courseoutline-lead,
      .courseoutline-note,
      .coursefaq-intro,
      .coursefaq-answer p,
      .coursefaq-footnote p
    ) {
    font-size: clamp(1.55rem, 3.8vw, 1.8rem);
    line-height: 1.65;
    text-wrap: pretty;
  }

  .is-irx-honu :is(.courseoutline-title, .coursefaq-title) {
    font-size: clamp(2.8rem, 6.6vw, 3.6rem);
    letter-spacing: -0.025em;
    line-height: 1.22;
    max-width: 14em;
    text-wrap: balance;
  }

  .is-irx-honu .courseoutline-card h3,
  .is-irx-honu .productinfo :is(.productinfo-title, .productinfo-message .-t4) {
    font-size: clamp(2.2rem, 5.4vw, 2.8rem);
    line-height: 1.28;
    text-wrap: balance;
  }

  .is-irx-honu .courseoutline-stages p,
  .is-irx-honu .productinfo .footnote .-p1 {
    font-size: clamp(1.45rem, 3.6vw, 1.7rem);
    line-height: 1.6;
  }

  .is-irx-honu .coursefaq-item summary {
    min-height: 6.4rem;
  }

  .is-irx-honu .coursefaq-item summary .-p2 {
    font-size: clamp(1.9rem, 4.8vw, 2.2rem);
    line-height: 1.4;
  }

  .is-irx-honu .coursefaq-footnote a,
  .is-contact :is(.email-fallback a, .contact-email) {
    align-items: center;
    display: inline-flex;
    min-height: 4.4rem;
  }

  /* Company */
  .is-company .tunnel .sticky-content {
    width: 86vw;
  }

  .is-company .tunnel-title,
  .is-company .tunnel-title .line-0,
  .is-company .tunnel-title .line-1 {
    font-size: clamp(2.6rem, 6.15vw, 3rem);
    letter-spacing: -0.02em;
    line-height: 1.14;
    text-align: left !important;
    text-align-last: left;
    text-transform: none;
    text-wrap: balance;
    width: min(78vw, 34rem);
  }

  .is-company .tunnel-description {
    font-family: var(--mt-cjk-body);
    font-size: clamp(1.4rem, 3.5vw, 1.6rem);
    line-height: 1.6;
    max-width: 31rem;
  }

  .is-company .statement-title,
  .is-company .statement-title .line-0,
  .is-company .statement-title .line-1,
  .is-company .statement-description {
    text-align: left !important;
    text-align-last: left;
    text-transform: none;
  }

  .is-company .statement-title {
    font-size: clamp(3.4rem, 8.8vw, 4.4rem);
    letter-spacing: -0.03em;
    line-height: 1.12;
    max-width: 12em;
    text-wrap: balance;
  }

  .is-company .statement-description {
    font-family: var(--mt-cjk-body);
    font-size: clamp(1.55rem, 3.8vw, 1.8rem);
    line-height: 1.65;
    max-width: 42em;
  }

  .is-company > * .team-title.-t2,
  .is-company .team > * .team-title.-t2 {
    font-size: clamp(4.6rem, 8vw, 6.4rem);
    letter-spacing: -0.035em;
    line-height: 1.05;
    white-space: nowrap;
  }

  .is-company .team .team-title.-p2 {
    font-family: var(--mt-cjk-body);
    font-size: clamp(2rem, 4.8vw, 2.4rem);
    line-height: 1.35;
  }

  .is-company .team :is(.team-text, .team-link) {
    font-family: var(--mt-cjk-body);
    font-size: clamp(1.4rem, 3.5vw, 1.6rem);
    line-height: 1.62;
    text-transform: none;
  }

  .is-company .team-link {
    align-items: center;
    display: inline-flex;
    min-height: 4.4rem;
  }

  .is-company .institution-section :is(
      .studio-fact-text,
      .studio-profile-copy p,
      .studio-activity-intro,
      .studio-boundary-grid p
    ) {
    font-family: var(--mt-cjk-body);
    font-size: clamp(1.4rem, 3.5vw, 1.8rem);
    line-height: 1.58;
  }

  .is-company .institution-section .institution-title.-t3 {
    font-size: clamp(3rem, 7.4vw, 4rem);
    letter-spacing: -0.025em;
    line-height: 1.22;
    text-wrap: balance;
  }

  .is-company .studio-profile .institution-title.-t2 {
    font-family: "PP Neue Montreal", Arial, sans-serif;
    font-size: clamp(5.2rem, 12vw, 7.2rem);
    letter-spacing: -0.04em;
    line-height: 1;
  }

  .is-company .institution-section h3.-p2,
  .is-company .studio-fact-title {
    font-family: var(--mt-cjk-body);
    font-size: clamp(1.9rem, 4.6vw, 2.3rem);
    line-height: 1.38;
  }

  /* Research index and articles */
  html[lang="zh-CN"] .is-news .newshero-subtitle,
  html[lang="zh-CN"] .single .newshero-subtitle,
  html[lang="zh-CN"] .is-news .newshero-excerpt {
    text-align: left;
    text-align-last: left;
  }

  html[lang="zh-CN"] .is-news .newshero-subtitle {
    font-family: var(--mt-cjk-body);
    font-size: clamp(2.8rem, 7.6vw, 3.4rem);
    font-weight: 460;
    letter-spacing: -0.025em;
    line-height: 1.25;
    text-transform: none;
    text-wrap: balance;
  }

  html[lang="zh-CN"] .is-news .newshero-article {
    width: min(78vw, 34rem);
  }

  html[lang="zh-CN"] .is-news .newshero-excerpt {
    font-family: var(--mt-cjk-body);
    font-size: clamp(1.6rem, 3.9vw, 1.8rem);
    line-height: 1.68;
    text-transform: none;
  }

  html[lang="zh-CN"] .is-news .feed .article-content,
  html[lang="zh-CN"] .single .feed .article-content {
    display: block;
  }

  html[lang="zh-CN"] .is-news .feed .article-copy {
    padding-right: 0;
  }

  html[lang="zh-CN"] .is-news .feed .article-title,
  html[lang="zh-CN"] .single .feed .article-title {
    font-family: var(--mt-cjk-body);
    font-size: clamp(1.9rem, 4.7vw, 2.2rem);
    font-weight: 450;
    line-height: 1.42;
    width: 100%;
  }

  html[lang="zh-CN"] .is-news .feed .article-summary {
    font-family: var(--mt-cjk-body);
    font-size: clamp(1.35rem, 3.3vw, 1.5rem);
    line-height: 1.62;
  }

  html[lang="zh-CN"] .is-news .feed .article-meta,
  html[lang="zh-CN"] .single .feed .article-date {
    margin-top: 1.8rem;
    min-width: 0;
    text-align: left;
    width: auto;
  }

  html[lang="zh-CN"] .is-news .research-index {
    padding-bottom: 9.6rem;
    padding-top: 9.6rem;
  }

  html[lang="zh-CN"] .is-news .research-index-header {
    display: grid;
    gap: 2rem;
    margin-bottom: 4.8rem;
  }

  html[lang="zh-CN"] .is-news #research-index-title {
    font-family: var(--mt-cjk-body);
    font-size: clamp(3.2rem, 7.6vw, 4rem);
    letter-spacing: -0.025em;
    line-height: 1.2;
    width: auto;
  }

  html[lang="zh-CN"] .is-news .research-index-intro,
  html[lang="zh-CN"] .is-news .research-index-summary {
    font-family: var(--mt-cjk-body);
    font-size: clamp(1.5rem, 3.7vw, 1.7rem);
    line-height: 1.65;
  }

  html[lang="zh-CN"] .is-news .research-index-link {
    gap: 1.6rem;
    padding: 3.2rem 0;
  }

  html[lang="zh-CN"] .is-news .research-index-title {
    font-family: var(--mt-cjk-body);
    font-size: clamp(2rem, 4.9vw, 2.4rem);
    font-weight: 480;
    line-height: 1.38;
  }

  html[lang="zh-CN"] .single .newshero-subtitle {
    font-family: "PP Neue Montreal", Arial, sans-serif;
    font-size: clamp(2.4rem, 7.2vw, 3rem);
    letter-spacing: -0.025em;
    line-height: 1.05;
    text-transform: uppercase;
    white-space: nowrap;
  }

  html[lang="zh-CN"] .single .article .article-block.block-1 {
    margin-bottom: 6.4rem;
  }

  html[lang="zh-CN"] .single .article .article-block.block-1 h1 {
    font-family: var(--mt-cjk-body);
    font-size: clamp(3.2rem, 7.8vw, 4rem);
    font-weight: 500;
    letter-spacing: -0.03em;
    line-height: 1.24;
    margin-bottom: 2.4rem;
    text-wrap: balance;
  }

  html[lang="zh-CN"] .single .article .article-meta {
    font-size: 1.2rem;
    line-height: 1.65;
  }

  html[lang="zh-CN"] .single .article .article-block.block-2 {
    max-width: 68rem;
    width: 100%;
  }

  html[lang="zh-CN"] .single .article .article-subheading {
    font-family: var(--mt-cjk-body);
    font-size: clamp(2rem, 4.8vw, 2.4rem);
    font-weight: 520;
    line-height: 1.42;
    margin: 5.2rem 0 1.8rem;
  }

  html[lang="zh-CN"] .single .article .article-subheading:first-child {
    margin-top: 0;
  }

  html[lang="zh-CN"] .single .article .article-block.block-2 p.-p3 {
    font-family: var(--mt-cjk-body);
    font-size: clamp(1.65rem, 4vw, 1.8rem);
    line-height: 1.76;
    margin-bottom: 2.2rem;
  }

  html[lang="zh-CN"] .single .feed-title {
    font-family: var(--mt-cjk-body);
    font-size: clamp(4.6rem, 11vw, 6rem);
    letter-spacing: -0.035em;
    line-height: 1.05;
  }

  /* Contact */
  .is-contact .application-intro {
    font-family: var(--mt-cjk-body);
    font-size: clamp(1.55rem, 3.8vw, 1.8rem);
    line-height: 1.68;
    margin-bottom: 4rem;
  }

  .is-contact .signup-title {
    margin-inline: auto;
    max-width: 6.5em;
    text-wrap: balance;
  }

  .is-contact .form .form-group {
    margin-bottom: 3.2rem;
  }

  .is-contact .form .form-input {
    font-family: var(--mt-cjk-body);
    line-height: 1.2;
    min-height: 4.8rem;
  }

  .is-contact .form textarea.form-input {
    min-height: 9rem;
    padding-top: 1rem;
  }

  .is-contact .application-option {
    min-height: 4.4rem;
    padding: 0.8rem 0;
  }

  .is-contact .application-option input,
  .is-contact .privacy-row input {
    height: 2rem;
    width: 2rem;
  }

  .is-contact form .privacy-row {
    align-items: center;
    font-family: var(--mt-cjk-body);
    font-size: clamp(1.4rem, 3.4vw, 1.6rem);
    line-height: 1.62;
    min-height: 4.4rem;
  }

  .is-contact .copy-email {
    min-height: 4.8rem;
  }

  .is-contact .contact-title,
  .is-contact .contact :is(.contact-email, .contact-phone, .block-3 .-t6) {
    font-family: var(--mt-cjk-body);
    font-size: clamp(1.65rem, 4vw, 1.9rem);
    line-height: 1.55;
    text-transform: none;
  }

  .is-contact .contact .contact-block.block-3 {
    width: min(70vw, 29rem);
  }

  .is-contact .contact .contact-block.block-3 .-t6 {
    text-wrap: balance;
  }

  .is-contact .consultation-step p {
    font-family: var(--mt-cjk-body);
    line-height: 1.5;
  }

  /* Legal pages */
  html[lang="zh-CN"] :is(.is-terms-of-service, .is-privacy-policy) .title-txt {
    font-family: var(--mt-cjk-body);
    font-size: clamp(5.2rem, 15vw, 7rem);
    font-weight: 500;
    letter-spacing: -0.035em;
    line-height: 1.05;
  }

  html[lang="zh-CN"] :is(.is-terms-of-service, .is-privacy-policy) .paragraph-text,
  html[lang="zh-CN"] :is(.is-terms-of-service, .is-privacy-policy) .paragraph-text .line-0,
  html[lang="zh-CN"] :is(.is-terms-of-service, .is-privacy-policy) .paragraph-text .line-1 {
    text-align: left !important;
    text-align-last: left;
  }

  html[lang="zh-CN"] :is(.is-terms-of-service, .is-privacy-policy) .paragraph-text .-t4 {
    font-family: var(--mt-cjk-body);
    font-size: clamp(2.1rem, 3.2vw, 2.6rem);
    letter-spacing: -0.015em;
    line-height: 1.55;
  }

  html[lang="zh-CN"] :is(.is-terms-of-service, .is-privacy-policy) .text-block {
    max-width: 68rem;
  }

  html[lang="zh-CN"] :is(.is-terms-of-service, .is-privacy-policy) .text-block p.-p3 {
    font-family: var(--mt-cjk-body);
    font-size: clamp(1.65rem, 2.2vw, 1.8rem);
    line-height: 1.75;
    margin-bottom: 2.4rem;
  }

  html[lang="zh-CN"] :is(.is-terms-of-service, .is-privacy-policy) .text-block p:has(> strong) {
    font-size: clamp(2rem, 2.8vw, 2.4rem);
    line-height: 1.4;
    margin-bottom: 1.4rem;
    margin-top: 4.8rem;
  }

  html[lang="zh-CN"] :is(.is-terms-of-service, .is-privacy-policy) .text-block p.-p3 > strong {
    display: block;
    font-size: clamp(2rem, 2.8vw, 2.4rem);
    font-weight: 550;
    line-height: 1.4;
  }

  html[lang="zh-CN"] :is(.is-terms-of-service, .is-privacy-policy) .text-block p:first-child {
    margin-top: 0;
  }
}

@media screen and (max-width: 749px) {
  .brand-lockup {
    gap: 0.6rem;
  }

  .brand-mark {
    flex-basis: 5.2rem;
    height: 2.1rem;
    width: 5.2rem;
  }

  .brand-wordmark-mt {
    font-size: 1.3rem;
  }

  .brand-wordmark-sub {
    font-size: 0.67rem;
    margin-top: 0.2rem;
  }

  .hero .hero-title {
    line-height: 0;
  }

  .hero .hero-title > svg {
    height: 100%;
    width: 100%;
  }

  html[lang="zh-CN"] .is-home .press .title-item.item-0.-t2 {
    font-size: 15.8vw;
  }

  html[lang="zh-CN"] .is-home .press .excerpt-readmore {
    white-space: nowrap;
    width: 15rem;
  }

  html[lang="zh-CN"] .is-home .company .company-message.message-1 > .-t4 {
    margin-left: auto;
    max-width: 7em;
    text-wrap: balance;
  }

  .footer .menu-link,
  .footer .footer-footnote a {
    align-items: center;
    display: inline-flex;
    min-height: 4.4rem;
  }

  .footer .menu-cta > .menu-link {
    height: 100%;
    justify-content: center;
    width: 100%;
  }

  html[lang="zh-CN"] .footer .menu-cta {
    flex: 0 0 17rem;
    white-space: nowrap;
    width: 17rem;
  }

  html[lang="zh-CN"] .footer .footer-title {
    text-wrap: balance;
    width: min(60vw, 24rem);
  }

  .mobile .footnote {
    align-items: center;
    display: flex;
    min-height: 4.4rem;
  }

  .footer .footer-logo {
    box-sizing: border-box;
    height: 4.4rem;
    padding-block: 1.4rem;
  }

  .is-company .studio-activity-heading,
  .is-company .studio-activity-figure {
    margin-bottom: 4.8rem;
  }

  html[lang="zh-CN"] .is-news .newshero-title {
    font-family: "PP Neue Montreal", Arial, sans-serif;
    font-size: 20vw;
    letter-spacing: -0.055em;
    line-height: 1;
    margin-left: 0;
  }

  .is-contact .form .form-input {
    font-size: clamp(2.8rem, 7.5vw, 3.2rem);
  }
}

@media screen and (max-width: 400px) {
  html[lang="zh-CN"] .is-home .press .subtitle-item,
  html[lang="zh-CN"] .is-home .feed .article-title {
    font-size: 1.8rem;
    line-height: 1.45;
  }
}

@media screen and (min-width: 750px) and (max-width: 899px) {
  .header .menu {
    display: none;
  }

  .header .mobile-open {
    display: flex;
  }

  /* At this width the source trigger expects the footer to occupy most of a
     viewport. Keeping that depth lets its entrance timeline actually cross
     the trigger line on tall tablets. */
  .footer {
    min-height: 80vh;
    min-height: max(62.5vw, 80svh);
  }

  .feed .feed-article,
  .team .team-article {
    flex: 0 0 38.8888888889vw;
    margin-right: 1.8rem;
    width: 38.8888888889vw;
  }

  html[lang="zh-CN"] .is-home .press .article-subtitle {
    width: min(46vw, 42rem);
  }

  html[lang="zh-CN"] .is-home .feed .article-title {
    font-size: 1.8rem;
    line-height: 1.45;
    width: 60%;
  }

  .courseoutline-intro,
  .coursefaq-heading {
    display: grid;
    gap: 2.4rem;
    grid-template-columns: 1fr;
    margin-bottom: 6.4rem;
  }

  .courseoutline-grid {
    display: grid;
    grid-template-columns: 1fr;
  }

  .courseoutline-card,
  .courseoutline-card + .courseoutline-card,
  .courseoutline-card:last-child {
    border-right: 0;
    padding: 3.2rem 0 4rem;
  }

  .is-irx-honu .productinfo .productinfo-block {
    justify-content: space-between;
    width: 100%;
  }

  .is-irx-honu .productinfo .productinfo-block.block-1 {
    align-items: flex-end;
    flex-direction: row;
  }

  .is-irx-honu .productinfo .productinfo-block.block-2 {
    padding-left: 0;
    padding-top: 4rem;
  }

  .is-irx-honu .productinfo .productinfo-block.block-3 {
    display: none;
  }

  .is-irx-honu .productinfo .productinfo-message {
    width: min(42rem, 72vw);
  }

  .is-irx-honu .productinfo .productinfo-message.message-2 {
    margin-right: 2.7777777778vw;
  }

  .is-irx-honu .productinfo .productinfo-message.message-3 {
    margin-bottom: 2.4rem;
    width: min(42rem, 72vw);
  }

  .is-irx-honu .productinfo .productinfo-footnotes.footnotes-1 {
    display: none;
  }

  .is-irx-honu .productinfo .productinfo-footnotes.footnotes-2 {
    display: flex;
    justify-content: space-between;
    width: 100%;
  }

  .is-irx-honu .productinfo .footnote.footnote-1,
  .is-irx-honu .productinfo .footnote.footnote-2 {
    width: 41.0256410256vw;
  }

  .is-company .tunnel .sticky-content {
    width: 82vw;
  }

  .is-company .tunnel-title {
    font-size: clamp(3.2rem, 4.5vw, 4rem);
    line-height: 1.12;
    width: min(72vw, 56rem);
  }

  .is-company .studio-facts-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .is-company .studio-fact,
  .is-company .studio-fact:nth-child(even) {
    border-bottom: 1px solid #878787;
    padding: 3.2rem;
  }

  .is-company .studio-fact:nth-child(odd) {
    padding-left: 0;
  }

  .is-company .studio-fact:nth-child(even) {
    border-right: 0;
  }

  .is-company .studio-profile-grid,
  .is-company .studio-boundary-grid {
    gap: 3.2rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-left: 0;
    width: 100%;
  }

  html[lang="zh-CN"] .is-news .newshero-title {
    font-family: "PP Neue Montreal", Arial, sans-serif;
    font-size: 18vw;
    letter-spacing: -0.055em;
    line-height: 1;
    margin-left: 0;
  }

  .is-contact .form .form-input {
    font-size: clamp(2.8rem, 4vw, 3.2rem);
  }

  .is-contact .consultation-steps.signup-input {
    gap: 2rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-inline: auto;
    width: min(88vw, 68rem);
  }

  .is-contact .consultation-step p {
    font-size: clamp(1.6rem, 2.2vw, 1.8rem);
  }

  .footer .footnote-item.footnote-2,
  .footer .footnote-item.footnote-2 .-p {
    min-width: 12rem;
    width: auto;
  }
}

/* The footer wordmark is real DOM text so spacing is not collapsed and the
   brand is not carried by generated CSS content. */
.footer .footer-logo {
  justify-content: center;
  margin-inline: auto;
}

.footer .footer-logo::after {
  display: none;
}

.footer .footer-wordmark {
  display: block;
  line-height: inherit;
  white-space: nowrap;
}

/* Touch devices in landscape get a compact, usable composition instead of
   the source site's blocking “rotate your device” interstitial. */
@media screen and (orientation: landscape) and (max-width: 1024px) {
  .-rotate.--active {
    display: none !important;
    pointer-events: none;
  }

  .header .menu {
    display: none;
  }

  .header .header-logo,
  .mobile .mobile-logo,
  .footer .footer-logo {
    align-items: center;
    display: flex;
    min-height: 4.4rem;
  }

  .header .mobile-open {
    align-items: flex-end;
    background: transparent;
    border: 0;
    color: inherit;
    display: flex;
    gap: 0.6rem;
    height: 4.4rem;
    justify-content: center;
    padding: 0;
    width: 4.4rem;
  }

  .mobile .mobile-close {
    background: transparent;
    border: 0;
    color: inherit;
    height: 4.4rem;
    padding: 0;
    width: 4.4rem;
  }

  .mobile .mobile-container {
    justify-content: flex-end;
    padding: 0 4vw max(2.4rem, env(safe-area-inset-bottom));
  }

  .mobile .menu,
  .mobile .menu-list {
    margin-bottom: 1.2rem;
  }

  .mobile .menu-list {
    display: grid;
    gap: 0.4rem 3.2rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .mobile .menu-item:first-child {
    margin-bottom: 0;
  }

  html[lang="zh-CN"] .mobile .menu-link.-t3 {
    font-family: var(--mt-cjk-display);
    font-size: clamp(2.2rem, 6.5vh, 3rem);
    line-height: 1.12;
    min-height: 4.4rem;
    text-transform: none;
  }

  .mobile .footnote {
    align-items: center;
    display: inline-flex;
    min-height: 4.4rem;
  }

  .signup-form,
  .signup-input,
  .signup-submit {
    touch-action: none;
  }
}

.is-device .-rotate.--active {
  pointer-events: auto;
  touch-action: none;
  z-index: 6;
}
