:root {
  --font-satoshi: 'Satoshi', 'PingFang SC', 'Microsoft YaHei', sans-serif;
  --font-body: 'Figtree', 'PingFang SC', 'Microsoft YaHei', sans-serif;
  --font-nav: 'Satoshi', 'PingFang SC', 'Microsoft YaHei', sans-serif;
}

nav a { white-space: nowrap; }
.nav-lang { font-family: var(--font-nav) !important; font-size: 14px !important; }
.card-intro, .card-line2 { line-height: 1.55; letter-spacing: 0.02em; height: auto; }
.card-intro { min-height: var(--intro-h); }
.card-title, .card-desc, .card-tag, .card-cta { letter-spacing: 0.02em; }
.card-tag { display: inline-flex; align-items: center; height: 30px; line-height: 1; }
.card-desc { line-height: 1.65; }
.about-header .tagline { line-height: 1.7; }
.about-card.is-intro { font-size: 21px; line-height: 1.9; letter-spacing: 0.02em; }
.about-card.is-intro a { overflow-wrap: anywhere; }
.language-notice {
  margin-top: 24px;
  font: 400 14px/1.7 'Satoshi', 'PingFang SC', 'Microsoft YaHei', sans-serif;
  color: #666;
}

@media (max-width: 1100px) {
  .about-card.is-intro { font-size: clamp(16px, 14px + 0.3vw, 18px); }
}
@media (max-width: 600px) {
  nav > .nav-lang { font-size: 16px !important; }
  .hero .card-intro {
    font-size: 17px;
    line-height: 1.6;
    text-wrap: wrap;
  }
  .hero .card-line2 {
    padding: 6px 12px;
    font-size: 18px;
    line-height: 1.6;
    text-wrap: wrap;
  }
}
@media (min-width: 601px) and (max-width: 1279px) {
  .card-intro { min-height: 0; }
}
@media (min-width: 601px) and (max-width: 1279px) and (max-aspect-ratio: 4/3) {
  .card-line2 { top: calc(var(--ipad-line2-top) + 16px); width: max-content; }
}
