/* Round 2 presentation. Stored pages, pictures and copy stay in place.
   Green follows tiens.com.cn #137d52. Gold is only the focus ring. */

html body {
  color: #1c2430;
  line-height: 1.85;
  font-family: "PingFang SC", "Hiragino Sans GB", "Noto Sans SC", "Microsoft YaHei", "Segoe UI", sans-serif;
  background: #fff;
}

html body .elementor-widget-heading .elementor-heading-title,
html body .entry-content h1,
html body .entry-content h2,
html body .entry-content h3,
html body .phoenix-honors-module .phoenix-honors-header h1 {
  font-family: "Source Serif 4", "Songti SC", "Noto Serif SC", "Times New Roman", serif;
  letter-spacing: 0.02em;
  line-height: 1.25;
  color: #137d52;
}

html body .entry-content p,
html body .elementor-widget-theme-post-content p,
html body .elementor-widget-text-editor p,
html body .entry-content li,
html body .elementor-widget-text-editor li {
  line-height: 1.85;
  max-width: 42em;
}

/* Round 7. Reading copy is 41 characters wide at 1.85.
   The big slider title stays on its stored leading. The slogan
   paragraph under that title is body copy, so it uses 1.85 too. */
html body .entry-content p:not([class*="n2-font"]),
html body .elementor-widget-theme-post-content p:not([class*="n2-font"]),
html body .elementor-widget-text-editor p:not([class*="n2-font"]),
html body .entry-content li,
html body .elementor-widget-text-editor li,
html body.home .n2-ss-slider p[class*="paragraph"] {
  line-height: 1.85 !important;
  max-width: 41em;
}

/* Reading copy, not the slider slogan. 17px at 41em is about 41 characters. */
html body .entry-content p:not([class*="n2-font"]),
html body .elementor-widget-theme-post-content p:not([class*="n2-font"]),
html body .elementor-widget-text-editor p:not([class*="n2-font"]),
html body .entry-content li,
html body .elementor-widget-text-editor li {
  font-size: 17px;
}

html body .entry-content h1,
html body .elementor-widget-theme-post-content h1 {
  font-size: clamp(2rem, 3.4vw, 3.15rem);
  margin: 0.55em 0 0.5em;
}

html body .entry-content h2,
html body .elementor-widget-theme-post-content h2 {
  font-size: clamp(1.55rem, 2.4vw, 2.15rem);
  margin-top: 1.6em;
}

html body header.elementor-location-header .elementor-element-0da0f37,
html body header.elementor-location-header .elementor-element-0da0f37:not(.elementor-motion-effects-element-type-background),
html body header.elementor-location-header .elementor-element-0da0f37 > .elementor-motion-effects-container > .elementor-motion-effects-layer {
  background-color: #fff !important;
  background-image: none !important;
  box-shadow: 0 1px 0 rgba(19, 125, 82, 0.16);
  opacity: 1 !important;
  visibility: visible !important;
}

html body header.elementor-location-header .elementor-nav-menu--main .elementor-item {
  color: #137d52 !important;
  fill: #137d52 !important;
  visibility: visible !important;
}

/* Elementor leaves a visibility:hidden copy of the header bar on the same
   coordinates. Hide that copy. The visible bar has no such inline style. */
html body header.elementor-location-header .elementor-element-0da0f37[style*="visibility: hidden"],
html body header.elementor-location-header .elementor-element-0da0f37[style*="visibility:hidden"] {
  display: none !important;
}

/* Language choices must be readable independently of the hero behind them. */
html body header.elementor-location-header .wpml-ls-legacy-dropdown a {
  color: #17543e !important;
  background: #fff !important;
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  box-sizing: border-box;
  font-size: 14px;
  line-height: 1.4;
  white-space: nowrap;
}
html body header.elementor-location-header .wpml-ls-legacy-dropdown a span { color: inherit !important; }
html body header.elementor-location-header .wpml-ls-legacy-dropdown a.js-wpml-ls-item-toggle {
  background: #f0f5f1 !important;
  border: 1px solid #b5cdbd !important;
  border-radius: 6px;
  padding: 10px 30px 10px 12px;
}
html body header.elementor-location-header .wpml-ls-legacy-dropdown .wpml-ls-flag {
  flex: 0 0 auto;
  width: 20px;
  height: 14px;
  object-fit: cover;
  margin: 0;
}
html body header.elementor-location-header .wpml-ls-legacy-dropdown .wpml-ls-sub-menu {
  background: #fff !important;
  opacity: 1 !important;
  backdrop-filter: none !important;
  border: 1px solid #d4e0d7 !important;
  border-radius: 8px;
  padding: 8px !important;
  margin: 0 !important;
  top: calc(100% + 8px);
  left: auto !important;
  right: 0 !important;
  width: 200px !important;
  max-width: calc(100vw - 24px) !important;
  max-height: calc(100svh - 88px);
  overflow-y: auto;
  box-shadow: 0 12px 32px #163d2926;
  z-index: 110;
}
html body header.elementor-location-header .wpml-ls-legacy-dropdown .wpml-ls-sub-menu li,
html body header.elementor-location-header .wpml-ls-legacy-dropdown .wpml-ls-sub-menu a {
  width: 100% !important;
  max-width: none !important;
}
html body header.elementor-location-header .wpml-ls-legacy-dropdown .wpml-ls-sub-menu a {
  padding: 10px 12px;
  border: 0 !important;
  border-radius: 4px;
}
html body header.elementor-location-header .wpml-ls-legacy-dropdown a:hover,
html body header.elementor-location-header .wpml-ls-legacy-dropdown a:focus-visible {
  background: #eaf3ed !important;
}
html body header.elementor-location-header .wpml-ls-legacy-dropdown a:focus-visible {
  outline: 2px solid #137d52;
  outline-offset: 2px;
}
html body header .tiens-language-ready .wpml-ls-sub-menu {
  display: none !important;
  visibility: hidden !important;
}
html body header .tiens-language-ready.tiens-language-open .wpml-ls-sub-menu {
  display: block !important;
  visibility: visible !important;
}

html body .ast-primary-header-bar,
html body .ast-primary-header-bar .site-primary-header-wrap {
  min-height: 64px;
}

html body .elementor-nav-menu--main .elementor-nav-menu--dropdown {
  min-width: 220px;
  padding: 8px 0;
  border-radius: 12px;
  box-shadow: 0 16px 40px rgba(19, 125, 82, 0.12);
}

html body .elementor-nav-menu--main .elementor-nav-menu--dropdown a {
  line-height: 1.8;
  padding: 8px 16px;
  color: #1c2430;
}

html body .elementor-button,
html body a.elementor-button,
html body .ast-custom-button {
  border-radius: 0 !important;
  letter-spacing: 0.08em;
  line-height: 1.4 !important;
  padding: 0 0 2px !important;
  background: transparent !important;
  color: #137d52 !important;
  border: 0 !important;
  border-bottom: 1px solid #137d52 !important;
  box-shadow: none !important;
}

html body .elementor-button:hover,
html body .elementor-button:focus,
html body .ast-custom-button:hover,
html body .ast-custom-button:focus {
  background: transparent !important;
  color: #0c5a3a !important;
}

html body .ast-header-button-1 .ast-custom-button,
html body .ast-header-button-1 .ast-custom-button:hover {
  background: transparent !important;
  color: #137d52 !important;
}

html body #ast-scroll-top {
  width: 46px;
  height: 46px;
  border-radius: 50%;
  background: #137d52;
  box-shadow: 0 8px 20px rgba(19, 125, 82, 0.2);
}

html body #n2-ss-69 .n2-ss-slider-2 {
  background-color: #0f3d2a;
}

html body .phoenix-honors-module {
  background: #f4faf6;
  margin-top: 96px;
}

html body .phoenix-honors-module .phoenix-honors-container {
  max-width: 1180px;
  padding: 88px 28px 72px;
}

html body .phoenix-honors-module .phoenix-honors-header {
  margin-bottom: 36px;
}

html body .phoenix-honors-module .phoenix-honors-header h1 {
  font-size: clamp(36px, 4.4vw, 56px);
  font-weight: 560;
  letter-spacing: 0.06em;
  margin-bottom: 12px;
}

html body .phoenix-honors-module .phoenix-honors-header p {
  font-size: 17px;
  line-height: 1.85;
  color: #3d4a43;
  max-width: 41em;
}

html body .phoenix-honors-module .phoenix-honors-tabs {
  background: transparent;
  border-radius: 0;
  gap: 16px;
  margin-bottom: 36px;
  padding: 0;
  align-items: stretch;
}

html body .phoenix-honors-module .phoenix-honors-tab-item {
  display: flex;
  align-items: center;
}

html body .phoenix-honors-module .phoenix-honors-tab-button {
  background: #fff;
  color: #137d52;
  border: 1px solid #b7d7c6;
  border-radius: 999px;
  padding: 0 18px;
  font-size: 15px;
  letter-spacing: 0.04em;
  min-width: 132px;
  min-height: 44px;
  height: 44px;
  line-height: 44px;
  font-weight: 650;
  box-sizing: border-box;
}

html body .phoenix-honors-module .phoenix-honors-tab-item.active .phoenix-honors-tab-button,
html body .phoenix-honors-module .phoenix-honors-tab-item:hover .phoenix-honors-tab-button {
  background: #137d52;
  color: #fff;
  border-color: #137d52;
}

html body .phoenix-honors-module .phoenix-honors-card {
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 10px 28px rgba(19, 125, 82, 0.06);
}

html body .phoenix-honors-module .phoenix-honors-card-content {
  padding: 22px 22px 26px;
  line-height: 1.85;
}

/* The stored "view all" control was a button nested in a link, so the click
   stopped on the button. The theme turns it into one link. */
html body .phoenix-honors-view-all {
  text-align: center;
  margin: 36px 16px 12px;
  max-width: 100%;
}

html body a.phoenix-honors-view-all-link.phoenix-honors-view-all-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  max-width: 100%;
  min-height: 44px;
  min-width: 44px;
  padding: 8px 22px;
  border: 1px solid #137d52;
  border-radius: 999px;
  background: #fff;
  color: #137d52;
  font-size: 15px;
  font-weight: 650;
  line-height: 1.8;
  letter-spacing: 0.06em;
  text-align: center;
  text-decoration: none;
  white-space: normal;
}

html body a.phoenix-honors-view-all-link.phoenix-honors-view-all-button:hover,
html body a.phoenix-honors-view-all-link.phoenix-honors-view-all-button:focus {
  color: #fff;
  background: #137d52;
  border-color: #137d52;
}

html body .entry-content img,
html body .elementor-widget-theme-post-content img {
  border-radius: 12px;
}

.tiens-band {
  display: block;
  clear: both;
  width: 100%;
  flex: 0 0 100%;
  box-sizing: border-box;
  background: #fff;
  color: #1c2430;
  font-family: "PingFang SC", "Hiragino Sans GB", "Noto Sans SC", "Microsoft YaHei", "Segoe UI", sans-serif;
}

.tiens-band-section {
  max-width: 1180px;
  margin: 0 auto;
  padding: 148px 40px 108px;
}

.tiens-band-section:first-child { padding-top: 176px; }

.tiens-band-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 8px;
}

html body .tiens-band h2 {
  font-family: "Source Serif 4", "Songti SC", "Noto Serif SC", serif;
  font-size: clamp(36px, 4.4vw, 56px);
  font-weight: 560;
  color: #137d52;
  letter-spacing: 0.06em;
  margin: 0 0 18px;
  line-height: 1.25;
}

.tiens-band p,
.tiens-card-copy,
.tiens-band-lead {
  max-width: 42em;
  line-height: 1.85;
  color: #3d4a43;
  margin: 0 0 72px;
}

.tiens-band-lead {
  max-width: 41em;
  font-size: 17px;
  line-height: 1.85;
}

.tiens-card-line {
  display: block;
  margin: 22px 0 0;
  max-width: 41em;
  font-size: 17px;
  line-height: 1.85;
  color: #3d4a43;
}

.tiens-card-copy {
  display: inline;
  margin: 0;
  max-width: none;
  font-size: inherit;
  line-height: inherit;
  color: inherit;
}

.tiens-cards {
  display: grid;
  gap: 112px 128px;
  align-items: start;
}

.tiens-cards-feature { grid-template-columns: repeat(2, minmax(0, 1fr)); }

a.tiens-card {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  min-height: 0;
  padding: 40px 8px 12px;
  background: transparent;
  border: 0;
  border-top: 1px solid #d5e6dc;
  border-radius: 0;
  color: #1c2430;
  text-decoration: none;
  box-sizing: border-box;
}

a.tiens-card:hover,
a.tiens-card:focus {
  border-color: #137d52;
  background: #fff;
}

.tiens-card-title {
  font-family: "Source Serif 4", "Songti SC", "Noto Serif SC", "Times New Roman", serif;
  font-size: clamp(32px, 3vw, 44px);
  font-weight: 560;
  letter-spacing: 0.03em;
  line-height: 1.25;
  color: #137d52;
}

a.tiens-more,
.tiens-card .tiens-more,
.tiens-band-head .tiens-more {
  display: inline;
  margin: 0 0 0 0.45em;
  padding-top: 0;
  color: #137d52;
  letter-spacing: 0.06em;
  font-weight: 650;
  font-size: 17px;
  line-height: 1.85;
  text-decoration: none;
  background: none;
  border: 0;
  border-bottom: 1px solid transparent;
}

a.tiens-card:hover .tiens-more,
a.tiens-card:focus .tiens-more {
  color: #0c5a3a;
  border-bottom-color: #0c5a3a;
}

footer.tiens-portal {
  display: block;
  box-sizing: border-box;
  background: #faf8f4;
  color: #243028;
  font-family: "PingFang SC", "Hiragino Sans GB", "Noto Sans SC", "Microsoft YaHei", "Segoe UI", sans-serif;
  line-height: 1.85;
  padding: 0;
  margin: 160px 0 0;
}

footer.tiens-portal * { box-sizing: border-box; }

footer.tiens-portal .tiens-portal-inner {
  max-width: 1180px;
  margin: 0 auto;
  padding: 64px 28px 36px;
}

footer.tiens-portal h2 {
  font-family: "Source Serif 4", "Songti SC", "Noto Serif SC", serif;
  font-size: 18px;
  letter-spacing: 0.06em;
  font-weight: 700;
  color: #137d52;
  margin: 0 0 16px;
  line-height: 1.8;
}

footer.tiens-portal .tiens-portal-lead {
  max-width: 41em;
  margin: 0 0 36px;
  color: #3d4a43;
  font-size: 17px;
  line-height: 1.85;
}

footer.tiens-portal .tiens-portal-search {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
  margin: 0 0 36px;
}

footer.tiens-portal .tiens-portal-search label {
  font-size: 14px;
  letter-spacing: 0.06em;
  color: #137d52;
  font-weight: 650;
}

footer.tiens-portal .tiens-portal-search input[type="search"] {
  flex: 1 1 220px;
  min-height: 44px;
  border-radius: 999px;
  border: 1px solid #d7e4dc;
  padding: 0 16px;
  font: inherit;
  color: #1c2430;
  background: #fff;
}

footer.tiens-portal button {
  font: inherit;
  cursor: pointer;
  border-radius: 0;
  border: 0;
  border-bottom: 1px solid #137d52;
  background: transparent;
  color: #137d52;
  min-height: 44px;
  min-width: 44px;
  padding: 0 8px;
  letter-spacing: 0.12em;
  font-weight: 650;
}

footer.tiens-portal .tiens-portal-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 36px 28px;
}

footer.tiens-portal .tiens-portal-links {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 14px;
}

footer.tiens-portal a.tiens-portal-link {
  display: inline-block;
  min-height: 0;
  padding: 2px 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #243028;
  text-decoration: none;
  line-height: 1.85;
  letter-spacing: 0;
  font-size: 15px;
}

footer.tiens-portal a.tiens-portal-link:hover,
footer.tiens-portal a.tiens-portal-link:focus {
  background: transparent;
  color: #0c5a3a;
  text-decoration: underline;
  text-underline-offset: 4px;
}

footer.tiens-portal .tiens-portal-quick {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 36px;
  margin-top: 48px;
  padding-top: 8px;
}

footer.tiens-portal a.tiens-portal-quick-link {
  color: #137d52;
  font-size: 15px;
  font-weight: 650;
  letter-spacing: 0.08em;
  line-height: 1.8;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  text-decoration: none;
  border-bottom: 1px solid #137d52;
  padding-bottom: 2px;
}

footer.tiens-portal a.tiens-portal-quick-link:hover,
footer.tiens-portal a.tiens-portal-quick-link:focus {
  color: #0c5a3a;
  border-bottom-color: #0c5a3a;
}

footer.tiens-portal .tiens-portal-langs {
  margin-top: 32px;
  padding-top: 18px;
  border-top: 1px solid #e6e0d4;
}

footer.tiens-portal .tiens-portal-langs h2 { margin-bottom: 12px; }

footer.tiens-portal .tiens-portal-bar {
  background: #137d52;
  color: #fff;
  text-align: center;
  letter-spacing: 0.18em;
  font-weight: 650;
  line-height: 1.8;
  padding: 14px 16px;
}

button.tiens-top {
  position: fixed;
  right: 22px;
  bottom: 108px;
  z-index: 90;
  width: 52px;
  height: 52px;
  min-height: 52px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: #137d52;
  color: #fff;
  font: inherit;
  font-size: 13px;
  letter-spacing: 0.04em;
  cursor: pointer;
  box-shadow: 0 10px 24px rgba(19, 125, 82, 0.28);
}

button.tiens-top:hover,
button.tiens-top:focus {
  background: #0c5a3a;
  color: #fff;
}

a:focus-visible,
button:focus-visible,
input:focus-visible {
  outline: 3px solid #c6a15b;
  outline-offset: 3px;
}

.tiens-column-head {
  max-width: 1100px;
  margin: 0 auto;
  padding: 32px 28px 0;
  box-sizing: border-box;
}

.tiens-column-head h2 {
  margin: 0 0 8px;
  color: #137d52;
  font-size: 1.6rem;
  font-weight: 650;
  line-height: 1.8;
  letter-spacing: 0.04em;
}

.tiens-column-head p {
  max-width: 41em;
  min-height: 1.85em;
  margin: 0 0 20px;
  color: #3d4a43;
  font-size: 17px;
  line-height: 1.85;
}

.tiens-capsules {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 10px;
  align-items: stretch;
  margin: 0 0 28px;
  min-height: 44px;
}

a.tiens-capsule {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 8px 16px;
  border-radius: 999px;
  border: 1px solid #d5e6dc;
  background: #fff;
  color: #1c2430;
  text-decoration: none;
  line-height: 1.8;
  font-size: 15px;
  box-sizing: border-box;
}

a.tiens-capsule:hover,
a.tiens-capsule:focus {
  background: #0f6b46;
  border-color: #0f6b46;
  color: #fff;
}

@media (min-width: 1100px) {
  .tiens-capsules { gap: 10px 8px; }
  a.tiens-capsule { padding: 8px 12px; font-size: 14px; }
}

html body.tiens-column .tiens-column-head + * {
  margin-top: 0 !important;
}

html body.tiens-column .phoenix-partners-card__image,
html body .phoenix-honors-card-image {
  width: 180px;
  height: 180px;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
}

html body.tiens-column .phoenix-partners-card__image img,
html body .phoenix-honors-card-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.tiens-missing-note {
  display: block;
  margin-top: 6px;
  color: #6b4e16;
  background: #f8f1e3;
  border-radius: 999px;
  font-size: 12px;
  line-height: 1.4;
  letter-spacing: 0.04em;
  text-align: center;
  padding: 3px 8px;
}

img.tiens-missing-avatar {
  outline: 1px solid #c6a15b;
  outline-offset: -1px;
}

a.tiens-unlinked,
span.tiens-unlinked {
  cursor: default;
  text-decoration: none;
  pointer-events: none;
}

html body header.elementor-location-header .dropdown-menu-toggle + .sub-arrow {
  margin-left: 4px;
  color: #137d52;
  font-size: 11px;
}

article[id^="award-"], #concepts, #institutes { scroll-margin-top: 96px; }

html body.tiens-column .elementor-slide-heading,
html body.tiens-column .n2-ss-highlighted-heading-before,
html body.tiens-column .elementor-widget-heading .elementor-heading-title {
  line-height: 1.25 !important;
  margin-top: 0;
  margin-bottom: 18px;
}

html body.tiens-column .phoenix-partners-gallery__container,
html body.tiens-column .phoenix-ambassadors__container,
html body.tiens-column .phoenix-honors-container,
html body.tiens-column .entry-content .elementor-posts-container {
  max-width: 1100px;
  margin-left: auto;
  margin-right: auto;
}

@media (min-width: 1100px) {
  html body header.elementor-location-header .elementor-element-0da0f37 {
    flex-wrap: nowrap !important;
  }
  html body header.elementor-location-header .elementor-element-ec95abd {
    width: auto !important;
    max-width: 100% !important;
    min-width: 0 !important;
    flex: 1 1 auto !important;
    --container-widget-width: auto;
  }
  /* Search, login and the language switch stay on the right of the same row.
     The menu takes only the space between the logo and those controls. */
  html body header.elementor-location-header .elementor-element-cf494a5,
  html body header.elementor-location-header .elementor-element-604f068,
  html body header.elementor-location-header .elementor-element-9128347 {
    flex: 0 0 auto !important;
    width: auto !important;
    max-width: max-content !important;
    position: relative;
    z-index: 4;
  }
  html body header.elementor-location-header .elementor-element-9128347 .elementor-widget-container,
  html body header.elementor-location-header .elementor-element-9128347 .wpml-ls,
  html body header.elementor-location-header .elementor-element-9128347 ul,
  html body header.elementor-location-header .elementor-element-9128347 li,
  html body header.elementor-location-header .elementor-element-9128347 a {
    width: auto !important;
    max-width: max-content !important;
  }
  html body header.elementor-location-header .elementor-element-cf494a5 {
    margin-left: 8px !important;
  }
  html body header.elementor-location-header .elementor-nav-menu--main {
    max-width: 100%;
    width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: thin;
  }
  html body header.elementor-location-header .elementor-nav-menu--main.tiens-nav-scroll {
    scroll-padding-inline: 24px;
    -webkit-mask-image: linear-gradient(90deg, #000 0, #000 calc(100% - 28px), transparent);
    mask-image: linear-gradient(90deg, #000 0, #000 calc(100% - 28px), transparent);
  }
  html body header.elementor-location-header .elementor-nav-menu--main.tiens-nav-scroll:not(.tiens-nav-at-start) {
    -webkit-mask-image: linear-gradient(90deg, transparent, #000 18px, #000 calc(100% - 28px), transparent);
    mask-image: linear-gradient(90deg, transparent, #000 18px, #000 calc(100% - 28px), transparent);
  }
  html body header.elementor-location-header .elementor-nav-menu--main.tiens-nav-scroll.tiens-nav-at-end:not(.tiens-nav-at-start) {
    -webkit-mask-image: linear-gradient(90deg, transparent, #000 18px, #000 100%);
    mask-image: linear-gradient(90deg, transparent, #000 18px, #000 100%);
  }
  html body header.elementor-location-header .elementor-nav-menu--main > ul.elementor-nav-menu {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center;
    width: max-content;
  }
  html body header.elementor-location-header .elementor-nav-menu--main .elementor-nav-menu > .menu-item > .elementor-item {
    font-size: 14px !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    padding: 8px 3px !important;
    white-space: nowrap !important;
    line-height: 1.8 !important;
  }
  html[lang^="zh"] body header.elementor-location-header .elementor-nav-menu--main .elementor-nav-menu > .menu-item > .elementor-item {
    font-size: 17px !important;
    font-weight: 600 !important;
    padding: 8px 12px !important;
  }
  html body header.elementor-location-header .elementor-nav-menu--main .sub-menu .elementor-sub-item {
    font-size: 16px !important;
    line-height: 1.8 !important;
    padding: 8px 14px !important;
  }
  html body header.elementor-location-header .elementor-nav-menu--main .menu-item-has-children > .sub-menu {
    min-width: 240px;
    padding: 10px 0;
    border-radius: 14px;
    background: #fff;
  }
  html body header.elementor-location-header .elementor-nav-menu--main .menu-item-has-children:hover > .sub-menu,
  html body header.elementor-location-header .elementor-nav-menu--main .menu-item-has-children:focus-within > .sub-menu {
    display: block !important;
  }
  /* The tablet dropdown is a second copy of the same menu. On a wide
     screen it sits on the same coordinates with empty hit targets. */
  html body header.elementor-location-header nav.elementor-nav-menu--dropdown {
    display: none !important;
  }
  html body header.elementor-location-header .elementor-element-0e90782,
  html body header.elementor-location-header .elementor-element-0e90782 img {
    width: 96px !important;
    max-width: 96px !important;
  }
  html body header.elementor-location-header .elementor-element-0e90782 {
    flex: 0 0 96px !important;
    min-width: 96px !important;
  }
  html body header.elementor-location-header .elementor-button {
    font-size: 13px !important;
    white-space: nowrap;
  }
}

@media (max-width: 900px) {
  html body header.elementor-location-header .elementor-element-0e90782,
  html body header.elementor-location-header .elementor-element-0e90782 img {
    width: 108px !important;
    max-width: 108px !important;
  }
  html body .wpml-ls-legacy-dropdown .wpml-ls-native { white-space: nowrap; }
  /* Every language homepage uses its own slider id. zh-hant is
     n2-ss-8, English is n2-ss-69, French is n2-ss-232. Cover the
     homepage slider, not those two ids alone. */
  html body.home .n2-section-smartslider,
  html body.home .n2-ss-align,
  html body.home .n2-padding,
  html body.home .n2-ss-slider,
  html body.home .n2-ss-slider .n2-ss-slider-wrapper-inside,
  html body.home .n2-ss-slider .n2-ss-slider-1,
  html body.home .n2-ss-slider .n2-ss-slider-2,
  html body.home .n2-ss-slider .n2-ss-slider-3 {
    width: 100% !important;
    max-width: 100% !important;
    min-height: calc(100vh - 64px) !important;
    min-height: calc(100svh - 64px) !important;
    height: calc(100vh - 64px) !important;
    height: calc(100svh - 64px) !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  html body.home { overflow-x: clip; }
  html body.home .n2-ss-slider:not(.n2-ss-loaded) .n2-ss-slide-background[data-public-id="1"] {
    transform: none !important;
    position: absolute !important;
    inset: 0 !important;
    visibility: visible !important;
  }
  html body.home .n2-ss-slider:not(.n2-ss-loaded) .n2-ss-slide-background:not([data-public-id="1"]) {
    visibility: hidden !important;
  }
  html body.home .n2-ss-slider .n2-ss-slider-3 { position: relative !important; }
  html body.home .n2-ss-slider .n2-ss-slide-backgrounds {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
  }
  html body.home .n2-ss-slider .n2-ss-slide-background-image,
  html body.home .n2-ss-slider .n2-ss-slide-background-image picture,
  html body.home .n2-ss-slider .n2-ss-slide-background-image img {
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    object-fit: cover !important;
    object-position: center 42% !important;
  }
  .tiens-cards-feature { grid-template-columns: 1fr; gap: 64px; }
  a.tiens-card { min-height: 0; padding: 28px 4px 8px; }
  .tiens-column-head { padding: 32px 16px 0; overflow: hidden; }
  .tiens-capsules {
    flex-wrap: nowrap;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    max-width: 100%;
    margin-bottom: 28px;
    padding-bottom: 6px;
  }
  a.tiens-capsule { flex: 0 0 auto; }
}

@media (max-width: 980px) {
  footer.tiens-portal .tiens-portal-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 640px) {
  html body .ast-primary-header-bar,
  html body .ast-primary-header-bar .site-primary-header-wrap { min-height: 56px; }
  html body .phoenix-honors-module .phoenix-honors-container { padding: 48px 16px 36px; }
  html body .phoenix-honors-module .phoenix-honors-tab-button { min-width: 108px; }
  .tiens-band-section,
  .tiens-band-section:first-child { padding: 96px 16px 48px; }
  .tiens-cards-feature { grid-template-columns: 1fr; gap: 56px; }
  a.tiens-card { min-height: 0; padding: 24px 4px 4px; }
  .tiens-card-title { font-size: 30px; }
  footer.tiens-portal .tiens-portal-inner { padding: 56px 16px 36px; }
  footer.tiens-portal .tiens-portal-grid { grid-template-columns: 1fr; }
  .tiens-column-head { padding: 32px 16px 0; overflow: hidden; }
  .tiens-capsules {
    flex-wrap: nowrap;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    max-width: 100%;
    margin-bottom: 28px;
  }
  a.tiens-capsule { flex: 0 0 auto; }
  footer.tiens-portal a.tiens-portal-link {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
  }
  footer.tiens-portal .tiens-portal-links { gap: 4px; }
  button.tiens-top { right: 14px; bottom: 108px; }
}

/* The mirrored Elementor footer keeps a 1024px social icon and a
   divider fixed at 1000px (phone) or 1600px (desktop). The honors
   block is also marked 1124% wide. Those sizes are what make the
   document wider than the screen. Size them here; leave the stored
   HTML alone. */
html body footer.elementor-location-footer {
  max-width: 100%;
  overflow-x: clip;
}
html body footer.elementor-location-footer .e-con,
html body footer.elementor-location-footer .e-con-inner,
html body footer.elementor-location-footer .elementor-widget,
html body footer.elementor-location-footer .elementor-widget-container,
html body footer.elementor-location-footer a {
  min-width: 0;
  max-width: 100%;
}
html body footer.elementor-location-footer img {
  max-width: 100% !important;
  width: auto !important;
  height: auto !important;
}
html body footer.elementor-location-footer .elementor-element-929bff9 img,
html body footer.elementor-location-footer .elementor-element-d62adb2 img,
html body footer.elementor-location-footer .elementor-element-d51e7b6 img {
  width: 72px !important;
  max-width: 72px !important;
}
html body footer.elementor-location-footer .elementor-element-8f84dda img {
  width: auto !important;
  max-width: min(240px, 64vw) !important;
}
html body footer.elementor-location-footer .elementor-divider-separator {
  width: 100% !important;
  max-width: 100% !important;
}
html body .elementor-element-83a9c5b {
  width: 100% !important;
  max-width: 100% !important;
}
html body .phoenix-honors-module,
html body .phoenix-honors-carousel-container,
html body .phoenix-honors-cards-wrapper {
  max-width: 100%;
  overflow-x: hidden;
}
html body .tiens-column-head {
  max-width: 100%;
}

/* A finger-sized target keeps the compact mobile header easy to operate. */
button.tiens-top[hidden] { display: none !important; }

/* One return-to-top control, after the accessible portal control is ready. */
html.tiens-has-top body #ast-scroll-top { display: none !important; }

/* Keep the whole feature card clickable without underlining every sentence. */
html body .entry-content a.tiens-card-feature,
html body a.tiens-card-feature:hover,
html body a.tiens-card-feature:focus { text-decoration: none; }
html body a.tiens-card-feature .tiens-more {
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 5px;
}

/* Verified membership and original archive materials have separate headings. */
.tiens-roster { width:100%; max-width:1100px; margin:48px auto; padding:0 20px; }
.tiens-roster-eyebrow { color:#5c675f; margin:0 0 8px; }
html body .tiens-roster h2 { font-size:clamp(28px,3vw,40px); color:#137d52; line-height:1.4; margin:0 0 36px; }
.tiens-roster h2 span { display:inline-block; font-size:20px; font-weight:400; }
.tiens-roster-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:48px 32px; }
.tiens-roster-person { min-width:0; overflow-wrap:anywhere; }
.tiens-roster-person img { display:block; width:100%; height:auto; aspect-ratio:4/5; object-fit:contain; background:#f5f7f4; }
html body .tiens-roster-person h3 { font-size:20px; line-height:1.8; margin:16px 0 8px; }
html body .tiens-roster-person h3 a { color:#137d52; text-decoration:none; }
html body .tiens-roster-more { color:#137d52; font-size:16px; line-height:1.85; text-underline-offset:4px; }
.tiens-roster-empty { padding:24px; background:#f4faf6; border-radius:8px; }
.tiens-roster-archive { width:100%; max-width:1100px; margin:32px auto; padding:16px 20px; border-top:1px solid #d9e6de; }
.tiens-roster-archive > summary { cursor:pointer; color:#137d52; min-height:44px; line-height:1.85; padding:8px 0; }
.tiens-roster-archive > p { line-height:1.85; }
@media(max-width:760px) { .tiens-roster-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px 20px; } }
@media(max-width:430px) { .tiens-roster-grid { grid-template-columns:1fr; } }
html body.home .n2-ss-slide-background-image::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(9, 38, 29, .34), rgba(9, 38, 29, .06));
  pointer-events: none;
}
html body.home .n2-ss-slide [class*="n2-font"] {
  text-shadow: 0 2px 12px rgba(9, 38, 29, .3);
}
@media (max-width: 1099px) {
  html body header.elementor-location-header .elementor-menu-toggle {
    min-width: 44px;
    min-height: 44px;
    padding: 10px;
    justify-content: center;
    align-items: center;
  }
}
html {
  overflow-x: clip;
}

@media (max-width: 1099px) {
  html body header.elementor-location-header nav.elementor-nav-menu--dropdown .menu-item-has-children > a {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    min-height: 44px;
    min-width: 0;
    box-sizing: border-box;
  }
  html body header.elementor-location-header nav.elementor-nav-menu--dropdown .menu-item-has-children > a .sub-arrow {
    flex: 0 0 44px;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 44px;
    min-width: 44px;
    min-height: 44px;
    cursor: pointer;
  }
  html body header.elementor-location-header nav.elementor-nav-menu--dropdown .menu-item-has-children.tiens-sub-open > a .sub-arrow {
    transform: rotate(180deg);
  }
  html body header.elementor-location-header nav.elementor-nav-menu--dropdown .menu-item-has-children > .sub-menu {
    display: none;
    margin: 0;
    padding: 4px 0 8px 14px;
    width: 100%;
    box-sizing: border-box;
    background: #f7fbf8;
  }
  /* Class, not :focus-within. Focus stays on the row after a second tap,
     and a focus rule would keep the list open. !important beats the stored
     `ul { display: none }` and any inline height left by the old menu script. */
  html body header.elementor-location-header nav.elementor-nav-menu--dropdown .menu-item-has-children.tiens-sub-open > .sub-menu,
  html body header.elementor-location-header nav.elementor-nav-menu--dropdown .menu-item-has-children.elementor-active > .sub-menu {
    display: block !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    visibility: visible !important;
    position: static !important;
    transform: none !important;
    opacity: 1 !important;
  }
  html body header.elementor-location-header nav.elementor-nav-menu--dropdown .elementor-sub-item {
    display: block;
    padding: 10px 16px;
    min-height: 44px;
    line-height: 1.8;
    color: #1c2430;
  }
}

/* Codex 5 / R1: menus and search stay above the full-width hero. */
html body header.elementor-location-header { position:relative; z-index:100; }
html body header .sub-menu[popover]:popover-open {
  display:block !important; visibility:visible !important; opacity:1 !important;
  width:max-content !important; min-width:240px; max-width:calc(100vw - 24px);
  max-height:calc(100svh - 90px); overflow:auto; border:1px solid #dce7df;
  padding:12px 0; margin:0; border-radius:8px; background:#fff; color:#1c2430;
  box-shadow:0 18px 48px #123d2926;
}
html body header .sub-menu[popover]:popover-open a {
  display:block; padding:10px 20px !important; font-size:16px; line-height:1.8;
  color:#175b40 !important; white-space:normal;
}
/* A menu owns its colors in every state. Archived Elementor hover rules used
   a charcoal bar with dark green text; this also covers older QQ kernels. */
html body header.elementor-location-header .sub-menu a.elementor-sub-item,
html body ul.tiens-desktop-menu a.elementor-sub-item {
  background: #fff !important;
  color: #17543e !important;
  opacity: 1 !important;
  visibility: visible !important;
  position: relative;
  min-height: 44px;
  box-sizing: border-box;
  text-shadow: none !important;
  transition: none !important;
}
html body header.elementor-location-header .sub-menu a.elementor-sub-item:hover,
html body header.elementor-location-header .sub-menu a.elementor-sub-item:focus,
html body header.elementor-location-header .sub-menu a.elementor-sub-item.highlighted,
html body ul.tiens-desktop-menu a.elementor-sub-item:hover,
html body ul.tiens-desktop-menu a.elementor-sub-item:focus,
html body ul.tiens-desktop-menu a.elementor-sub-item.highlighted {
  background: #eaf3ed !important;
  color: #123e2d !important;
  box-shadow: inset 3px 0 #137d52;
}
html body header.elementor-location-header .sub-menu a.elementor-sub-item::before,
html body header.elementor-location-header .sub-menu a.elementor-sub-item::after,
html body ul.tiens-desktop-menu a.elementor-sub-item::before,
html body ul.tiens-desktop-menu a.elementor-sub-item::after { content: none !important; }
@media (min-width: 1100px) {
  html body header .tiens-desktop-ready > ul > li > .sub-menu:not(.tiens-menu-open) {
    display: none !important;
  }
  html body ul.tiens-desktop-menu.tiens-menu-open {
    display: block !important; visibility: visible !important; opacity: 1 !important;
    position: fixed !important; z-index: 1200 !important;
    width: max-content !important; min-width: 240px; max-width: calc(100vw - 24px);
    max-height: calc(100vh - 90px); overflow: auto !important;
    margin: 0 !important; padding: 8px !important; list-style: none;
    background: #fff !important; border: 1px solid #d4e0d7; border-radius: 10px;
    box-shadow: 0 18px 48px #123d2926;
  }
  html body ul.tiens-desktop-menu.tiens-menu-open li { display: block; float: none; margin: 0; }
  html body ul.tiens-desktop-menu.tiens-menu-open a.elementor-sub-item {
    display: block; padding: 10px 16px !important; border-radius: 4px;
    font-size: 16px !important; line-height: 1.8 !important; white-space: normal;
    text-decoration: none;
  }
}
.tiens-header-search { position:relative; color:#137d52; }
html body a.tiens-image-link { display: block; width: 100%; height: 100%; color: inherit; }
html body a.tiens-image-link:focus-visible { outline: 3px solid #137d52; outline-offset: -4px; }
html body .fohow-image-item:hover,
html body .fohow-foundation-image-item:hover { transform: translateY(-3px); }
html body .cert-nav-button,
html body .cert-row3-nav-button { min-width: 44px; min-height: 44px; }
@media (prefers-reduced-motion: reduce) {
  html body .fohow-image-item:hover,
  html body .fohow-foundation-image-item:hover { transform: none; }
}
html body figure.tiens-missing-image {
  display: grid; place-items: center; width: 100%; min-height: 160px;
  aspect-ratio: 16 / 9; margin: 0; padding: 24px;
  border: 1px solid #dce7df; background: #f4f7f4; color: #405246;
  text-align: center; font-size: 16px; line-height: 1.8;
}
.tiens-header-search summary { list-style:none; cursor:pointer; display:flex; align-items:center; justify-content:center; min-width:44px; min-height:44px; }
.tiens-header-search summary::-webkit-details-marker { display:none; }
.tiens-header-search svg { fill:none; stroke:currentColor; stroke-width:1.6; }
html body .tiens-header-search form {
  position:absolute; right:0; top:calc(100% + 12px); width:340px; max-width:calc(100vw - 24px);
  padding:24px; background:#fff; box-shadow:0 18px 50px #133b2929; border:1px solid #dce7df;
  border-radius:8px; display:flex; align-items:end; gap:12px;
}
.tiens-header-search label { flex:1; min-width:0; font-size:14px; }
html body .tiens-header-search input { width:100%; min-width:0; min-height:44px; padding:8px; }
html body .tiens-header-search button { min-height:44px; padding:8px 12px; background:#137d52; color:white; }
.tiens-content-anchor { display:block; scroll-margin-top:100px; }
html body .tiens-honors-expanded .phoenix-honors-cards-container {
  display:grid !important; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px;
  transform:none !important; width:100% !important;
}
html body .tiens-honors-expanded .phoenix-honors-card { width:auto !important; min-width:0 !important; margin:0; }
html body .tiens-honors-expanded .phoenix-honors-carousel-nav-prev,
html body .tiens-honors-expanded .phoenix-honors-carousel-nav-next { display:none !important; }
html body .phoenix-honors-card:has(a[href]) { cursor:pointer; }
footer.tiens-portal .tiens-portal-langs .tiens-portal-links { display:flex; flex-wrap:wrap; gap:12px 28px; }
html body .tiens-band-section:first-child { padding-top:112px; }
.tiens-brand-eyebrow { color:#7e7969; letter-spacing:.22em; font-size:13px; margin:0 0 20px; }
@media (max-width:760px) {
  html body .tiens-honors-expanded .phoenix-honors-cards-container { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:500px) {
  html body .tiens-honors-expanded .phoenix-honors-cards-container { grid-template-columns:1fr; }
  html body .tiens-band-section:first-child { padding-top:72px; }
  footer.tiens-portal .tiens-portal-langs .tiens-portal-links { gap:4px 22px; }
}
html body .phoenix-honors-tabs { flex-wrap:wrap; justify-content:center; }
html body a.tiens-honor-level { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:0 18px; border:1px solid #b7d7c6; border-radius:999px; font-size:15px; font-weight:650; color:#137d52; background:#fff; text-decoration:none; line-height:1.8; }
html body a.tiens-honor-level:hover { background:#137d52; color:#fff; }
/* Reserve the header's real height so it never covers the hero. */
html body.home #content { padding-top:var(--tiens-header-height,64px); }
@media(max-width:900px) {
  html body.home .n2-section-smartslider,
  html body.home .n2-ss-align,
  html body.home .n2-padding,
  html body.home .n2-ss-slider,
  html body.home .n2-ss-slider .n2-ss-slider-wrapper-inside,
  html body.home .n2-ss-slider .n2-ss-slider-1,
  html body.home .n2-ss-slider .n2-ss-slider-2,
  html body.home .n2-ss-slider .n2-ss-slider-3 {
    height:calc(100svh - var(--tiens-header-height,64px)) !important;
    min-height:calc(100svh - var(--tiens-header-height,64px)) !important;
  }
}
footer.tiens-portal .tiens-portal-langs .tiens-portal-links { flex-direction:row; }
html body a.tiens-honor-level { align-self:flex-end; height:44px; box-sizing:border-box; }

/* Codex 5 / R2: one continuous brand footer, using the original assets. */
html body footer.elementor-location-footer {
  background: #f3f5f0;
  padding: 36px 32px 28px;
  margin: 0;
}
html body footer.elementor-location-footer .e-con,
html body footer.elementor-location-footer .e-con-inner {
  margin: 0 !important;
  padding: 0 !important;
  min-height: 0 !important;
  gap: 0 !important;
  background: none !important;
  width: 100%;
}
html body footer.elementor-location-footer > .e-con {
  max-width: 1124px !important;
  margin: 0 auto !important;
}
html body footer.elementor-location-footer .elementor-element-eb0ca61 > .e-con-inner {
  display: grid !important;
  grid-template-columns: minmax(160px, 1fr) repeat(3, 140px);
  align-items: center;
  gap: 24px !important;
  padding-bottom: 28px !important;
}
html body footer.elementor-location-footer .elementor-widget-image {
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  justify-self: stretch;
  text-align: center;
}
html body footer.elementor-location-footer .elementor-widget-image a {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  border-radius: 6px;
}
html body footer.elementor-location-footer .elementor-widget-image a:hover {
  background: #e7ede5;
}
html body footer.elementor-location-footer .elementor-widget-image a:focus-visible {
  outline: 2px solid #137d52;
  outline-offset: 3px;
}
html body footer.elementor-location-footer .elementor-element-8f84dda { justify-self: start; }
html body footer.elementor-location-footer .elementor-element-8f84dda img {
  width: 180px !important;
  max-width: 100% !important;
  height: auto !important;
}
html body footer.elementor-location-footer .elementor-element-929bff9 img,
html body footer.elementor-location-footer .elementor-element-d62adb2 img {
  width: 36px !important;
  max-width: 36px !important;
  height: 36px !important;
  object-fit: contain;
}
html body footer.elementor-location-footer .elementor-element-d51e7b6 img {
  width: 108px !important;
  max-width: 108px !important;
  height: 36px !important;
  object-fit: contain;
}
html body footer.elementor-location-footer .elementor-divider { padding: 0 !important; }
html body footer.elementor-location-footer .elementor-divider-separator {
  border-color: #cfdace !important;
  border-width: 1px !important;
}
html body footer.elementor-location-footer .elementor-element-a46390b {
  padding-top: 22px !important;
}
html body footer.elementor-location-footer .elementor-widget-text-editor {
  width: auto !important;
  color: #405246 !important;
  text-align: left;
  font-size: 14px;
  line-height: 1.8;
}
html body footer.elementor-location-footer .elementor-widget-text-editor p {
  color: #405246 !important;
  margin: 0 !important;
}
/* Keep the homepage's large cards, with a consistent rhythm between sections. */
html body .tiens-band-section { padding-bottom: 96px; }
html body .tiens-cards-feature { gap: 88px 96px; }
@media (max-width: 760px) {
  html body footer.elementor-location-footer { padding: 32px 24px 32px; }
  html body footer.elementor-location-footer .elementor-element-eb0ca61 > .e-con-inner {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px 12px !important;
    padding-bottom: 24px !important;
  }
  html body footer.elementor-location-footer .elementor-element-8f84dda {
    grid-column: 1 / -1;
    justify-self: center;
  }
  html body footer.elementor-location-footer .elementor-element-8f84dda img { width: 156px !important; }
  html body footer.elementor-location-footer .elementor-element-d51e7b6 img {
    width: 96px !important;
    max-width: 100% !important;
    height: 32px !important;
  }
  html body footer.elementor-location-footer .elementor-element-929bff9 img,
  html body footer.elementor-location-footer .elementor-element-d62adb2 img {
    width: 32px !important;
    height: 32px !important;
  }
  html body footer.elementor-location-footer .elementor-widget-text-editor {
    text-align: center;
    font-size: 13px;
    width: 100% !important;
  }
  html body .tiens-band-section { padding-bottom: 64px; }
  html body .tiens-cards-feature { gap: 56px; }
}

/* R4: a restrained brand introduction; archive copy and four destinations stay intact. */
html body .tiens-discover-intro { position:relative; padding-right:260px; }
html body .tiens-discover-mark { position:absolute; right:0; top:22px; width:220px; height:auto; border-radius:0; opacity:.85; }
html body .tiens-band .tiens-brand-eyebrow { margin:0 0 24px; color:#706c5e; }
html body .tiens-discover-intro .tiens-band-lead { margin-bottom:72px; }
html body .tiens-cards-feature { counter-reset:discover; gap:76px 100px; }
html body .tiens-card-feature { counter-increment:discover; position:relative; padding-top:32px; padding-right:42px; }
html body .tiens-card-feature::after { content:'0' counter(discover); position:absolute; right:8px; top:38px; color:#8c8266; font:14px/1.8 Georgia,serif; letter-spacing:.1em; pointer-events:none; }
html body .tiens-card-feature:focus-visible { outline:2px solid #137d52; outline-offset:8px; }
html body .tiens-card-feature:hover .tiens-more { text-decoration-thickness:2px; }

/* Missing footage is an honest, readable state, never an inert play button. */
html body .tiens-media-unavailable { box-sizing:border-box; width:100%; max-width:1100px; margin:24px auto; padding:clamp(28px,5vw,72px); background:#f3f6f0; border:1px solid #dde5d9; border-left:3px solid #ae9661; text-align:left; color:#33473c; }
html body .tiens-media-unavailable .tiens-media-eyebrow { margin:0 0 20px; color:#776b50; font-size:12px; letter-spacing:.2em; }
html body .tiens-media-unavailable h2 { margin:0 0 20px; font-size:clamp(26px,3vw,38px); line-height:1.4; color:#18573d; }
html body .tiens-media-unavailable p { max-width:41em; margin:0 0 20px; font-size:17px; line-height:1.85; }
html body a.tiens-media-more { display:inline-flex; align-items:center; gap:20px; min-height:44px; color:#137d52; text-decoration:underline; text-underline-offset:6px; line-height:1.8; }
html body .tiens-media-status { display:inline-block; padding:4px 0; font-size:15px; line-height:1.8; color:#776b50; }
html body .elementor-wrapper:has(> .tiens-media-unavailable) { aspect-ratio:auto; padding:0; height:auto; display:block; }
html body .elementor-wrapper:has(> .tiens-media-unavailable)::before { display:none; }
html body .tiens-media-disclosure > summary { cursor:pointer; min-height:44px; color:#137d52; line-height:1.85; }
html body video.tiens-content-video { display:block; max-width:100%; height:auto; background:#18382b; aspect-ratio:16/9; object-fit:contain; }
@media(max-width:760px) {
 html body .tiens-discover-intro { padding-right:0; }
 html body .tiens-discover-mark { position:static; display:block; width:144px; margin:0 0 32px; }
 html body .tiens-cards-feature { gap:48px; }
 html body .tiens-discover-intro .tiens-band-lead { margin-bottom:48px; }
 html body .tiens-media-unavailable { margin:20px auto; padding:28px 22px; overflow-wrap:anywhere; }
}
/* Fixed header also reserves space above articles and media pages. Column
   pages already reserve it in their injected column navigation. */
html body:not(.home):not(.tiens-column) #content { padding-top:var(--tiens-header-height,76px); }

/* R5: an authentic group portrait anchors the Phoenix introduction. */
html body .tiens-discover-intro { display:grid; grid-template-columns:1fr 1.12fr; align-items:center; gap:72px; padding:0; margin-bottom:80px; }
html body .tiens-discover-mark { position:static; display:block; width:148px; margin:0 0 28px; opacity:1; }
html body .tiens-discover-copy { min-width:0; }
html body .tiens-discover-intro .tiens-band-lead { margin:0; }
html body .tiens-discover-window { display:block; color:#17543e; text-decoration:none !important; background:#f4f6f0; }
html body .tiens-discover-window > img { display:block; width:100%; height:auto; aspect-ratio:16/9; object-fit:cover; border-radius:0; }
html body .tiens-window-caption { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:18px 24px; font-size:16px; line-height:1.8; }
html body .tiens-window-caption .tiens-more { margin:0; white-space:nowrap; text-decoration:underline; text-underline-offset:5px; }
html body .tiens-discover-window:hover .tiens-more { text-decoration-thickness:2px; }
html body .tiens-discover-window:focus-visible { outline:2px solid #137d52; outline-offset:6px; }
html body .tiens-language-status { position:absolute; top:calc(100% + 8px); right:0; width:250px; max-width:calc(100vw - 32px); padding:14px 18px; background:#fff; border:1px solid #d4e0d7; border-left:3px solid #137d52; box-shadow:0 8px 24px #123d291a; color:#17543e; font:14px/1.8 sans-serif; white-space:normal; z-index:110; }
html body .tiens-language-status[hidden] { display:none !important; }
html body .tiens-language-open .tiens-language-status { display:none; }
html body header a.js-wpml-ls-item-toggle[aria-busy=true] { box-shadow:inset 0 -3px #137d52; }
/* Balance the long worldwide directory while retaining every destination. */
@media(min-width:1100px) {
 footer.tiens-portal .tiens-portal-grid { grid-template-columns:1fr 1fr 1fr 1.8fr; gap:32px; }
 footer.tiens-portal .tiens-portal-grid > section:last-child .tiens-portal-links { display:block; columns:2; column-gap:28px; }
 footer.tiens-portal .tiens-portal-grid > section:last-child a { display:block; break-inside:avoid; margin-bottom:14px; }
}
@media(max-width:760px) {
 html body .tiens-discover-intro { grid-template-columns:1fr; gap:36px; margin-bottom:56px; }
 html body .tiens-discover-mark { width:136px; margin-bottom:24px; }
 html body .tiens-window-caption { padding:16px 20px; }
 /* Phone pages must not grow a horizontal scrollbar from a wide asset. */
 html, body { overflow-x: clip; }
 html body header .elementor-menu-toggle { min-width: 44px; min-height: 44px; }
}
