/* Isolated language control: the existing HERO and graph keep their layout. */
.teaser-language {
  position: absolute;
  z-index: 5;
  top: calc(clamp(20px, 3.5vw, 56px) - 8px);
  right: clamp(20px, 3.5vw, 56px);
  width: 152px;
  color: #17171a;
}
.teaser-language-label {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
.teaser-language-select {
  display: block;
  width: 100%;
  min-height: 44px;
  padding: 10px 34px 10px 12px;
  appearance: none;
  -webkit-appearance: none;
  border: 1px solid #e3e3e6;
  border-radius: 10px;
  background: #fff;
  color: inherit;
  font: 400 13px/1.5 var(--sans), 'PingFang SC', 'Microsoft YaHei', sans-serif;
  cursor: pointer;
}
.teaser-language-select:hover { border-color: #bdbdc5; }
.teaser-language-select:focus-visible,
.teaser-language-fallback a:focus-visible {
  outline: 2px solid #17171a;
  outline-offset: 4px;
}
.teaser-language-select:disabled { cursor: default; opacity: .65; }
.teaser-language-chevron {
  position: absolute;
  top: 15px;
  right: 12px;
  pointer-events: none;
}
.teaser-language-fallback {
  display: grid;
  margin-top: 6px;
  padding: 4px;
  border: 1px solid #e3e3e6;
  border-radius: 10px;
  background: #fff;
}
.teaser-language-fallback a {
  display: flex;
  align-items: center;
  min-height: 44px;
  padding: 8px;
  border-radius: 6px;
  color: inherit;
  font: 400 13px/1.5 var(--sans), 'PingFang SC', 'Microsoft YaHei', sans-serif;
  text-decoration: none;
}
.teaser-language-fallback a:hover,
.teaser-language-fallback a[aria-current='page'] { background: #f4f4f5; }
/* Without JavaScript the real links take their own row, not the HERO's space. */
.teaser:has(.teaser-language-fallback) {
  height: auto;
  min-height: 100svh;
  grid-template-rows: auto auto minmax(0, 1fr);
}
.teaser:has(.teaser-language-fallback) .teaser-language { position: static; width: 100%; }
.teaser:has(.teaser-language-fallback) .teaser-language-select,
.teaser:has(.teaser-language-fallback) .teaser-language-chevron { display: none; }
.teaser-language-fallback { display: flex; flex-wrap: wrap; justify-content: flex-end; }
:lang(es) .foundation-copy .architecture-label h3 { overflow-wrap: break-word; hyphens: auto; }
:lang(zh-Hans) body {
  font-family: var(--sans), 'PingFang SC', 'Microsoft YaHei', sans-serif;
}
:lang(zh-Hans) .teaser h1,
:lang(zh-Hans) .teaser-foundation h2 {
  font-family: var(--head), 'PingFang SC', 'Microsoft YaHei', sans-serif;
  letter-spacing: -.02em;
  line-height: 1.2;
}
@media (max-width: 650px) and (min-height: 481px) {
  .teaser-language { top: 14px; right: 24px; width: 140px; }
  .teaser-stage { min-width: 0; grid-template-columns: minmax(0, 1fr); }
  .teaser-visual { max-width: 100%; }
}
@media (max-height: 680px) and (max-width: 650px) and (min-height: 481px) {
  .teaser-language { top: 8px; right: 20px; }
}
@media (max-height: 480px) {
  .teaser-language { top: 2px; right: 24px; width: 140px; }
}
