/* Scoped to Kairos. Hosted client websites keep their own styles and languages. */
.kairos-site header nav.kairos-header-nav { gap: .75rem; max-width: 1600px; }
.kairos-site .kairos-language-control { margin-left: auto; flex: 0 0 auto; }
.kairos-site .kairos-language-select {
  min-height: 44px; max-width: 138px; padding: .5rem .45rem;
  color: #d3b984; background: #080808; border: 1px solid #c9a96e45;
  border-radius: 3px; font: inherit; font-size: 16px; cursor: pointer;
}
.kairos-site .kairos-language-select:focus-visible,
.kairos-site .kairos-mobile-menu-link:focus-visible { outline: 2px solid #c9a96e; outline-offset: 4px; }
.kairos-site .kairos-mobile-menu-links { display: flex; flex-direction: column; gap: .25rem; padding-block: 1rem; }
.kairos-site .kairos-mobile-menu-link { padding: .6rem 0; min-height: 44px; display: flex; align-items: center; font-size: 1rem; line-height: 1.45; }
.kairos-site .kairos-mobile-menu-link:hover { color: #e8e4df; }
.kairos-site .kairos-mobile-menu { max-height: calc(100dvh - 80px); overflow-y: auto; }
.kairos-site .kairos-nav-links { gap: .8rem; }
.kairos-site .kairos-nav-links span { font-size: .8125rem; letter-spacing: .015em; }
.kairos-site .kairos-header-nav > a { flex-shrink: 0; }
.kairos-site .kairos-header-nav img { max-width: 85px; }
@media (max-width: 1439px) {
  .kairos-site .kairos-nav-links { display: none; }
  .kairos-site .kairos-menu-toggle { display: flex; }
  .kairos-site .kairos-mobile-menu { display: block; }
}
@media (min-width: 1440px) {
  .kairos-site .kairos-nav-links { display: flex; margin-left: auto; }
  .kairos-site .kairos-language-control { margin-left: 0; }
  .kairos-site .kairos-menu-toggle, .kairos-site .kairos-mobile-menu { display: none; }
  .kairos-site .kairos-language-select { font-size: .875rem; max-width: 124px; }
}
@media (max-width: 480px) {
  .kairos-site header nav.kairos-header-nav { gap: .5rem; }
  .kairos-site .kairos-language-select { max-width: 122px; }
  .kairos-site .fixed.bottom-0 > div > div { align-items: stretch; }
  .kairos-site .fixed.bottom-0 .shrink-0 { flex-wrap: wrap; }
  .kairos-site .fixed.bottom-0 button { white-space: normal; min-height: 44px; }
}
html[lang="zh-CN"] .kairos-site {
  --font-sans: "PingFang SC", "Microsoft YaHei", "Noto Sans CJK SC", sans-serif;
  --font-serif: "Songti SC", "STSong", "Noto Serif CJK SC", "SimSun", serif;
  font-family: var(--font-sans);
}
html[lang="zh-CN"] .kairos-site .font-serif { font-family: var(--font-serif); }
html[lang="zh-CN"] .kairos-site .font-sans { font-family: var(--font-sans); }
html[lang="zh-CN"] .kairos-site main :is(p,li) { line-height: 1.95; }
html[lang="zh-CN"] .kairos-site :is(h1,h2,h3) { line-height: 1.45; letter-spacing: .015em; }
html[lang="zh-CN"] .kairos-site .uppercase { letter-spacing: .065em; }
html[lang="zh-CN"] .kairos-site .italic { font-style: normal; }
html[lang="es"] .kairos-site :is(h1,h2,h3) { overflow-wrap: break-word; }
html[lang="es"] .kairos-site .uppercase { letter-spacing: .08em; }
html[lang="es"] .kairos-site svg text[font-size="32"] { font-size: 28px; }
/* Keep focused form controls clear of the fixed navigation. */
.kairos-site :is(input,textarea,select) { scroll-margin-top: 100px; }
