@font-face {
  font-family: "Noto Sans SC";
  font-style: normal;
  font-weight: 300 600;
  font-display: swap;
  src: url("../webfonts/noto-sans-sc-page.woff2?v=20260715-2") format("woff2");
}

html,
body,
input,
select,
textarea,
button {
  font-family: "Source Sans Pro", "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif;
}

.reveal-subtitle.subtitle-reveal-ready .subtitle-letter {
  opacity: 0;
  transition: opacity 3s ease;
  transition-delay: var(--letter-delay);
}

.reveal-subtitle.subtitle-reveal-visible .subtitle-letter {
  opacity: 1;
}

.reveal-subtitle {
  max-width: min(42rem, calc(100vw - 3rem));
  margin-inline: auto;
  overflow-wrap: anywhere;
  text-wrap: balance;
}

@media screen and (max-width: 736px) {
  .reveal-subtitle {
    max-width: calc(100vw - 4rem);
    letter-spacing: 0.12rem;
  }
}

@media screen and (max-width: 480px) {
  .reveal-subtitle {
    max-width: calc(100vw - 2rem);
    letter-spacing: 0.08rem;
    line-height: 1.75;
  }
}

@media (prefers-reduced-motion: reduce) {
  .reveal-subtitle .subtitle-letter {
    opacity: 1 !important;
    transition: none !important;
  }
}
