/* Shared three-language header. This is the single geometry source for public pages. */
:root {
  --header-navy: #123f5c;
  --header-gold: #a66d1f;
  --header-line: rgba(205, 154, 63, 0.56);
}

/* Shared typography and footer-icon visual-size normalization. */
:root {
  --aura-site-font: "Songti SC", STSong, "Noto Serif SC", serif;
  --en-text-color: #244f67;
  --en-body-size: 21px;
  --en-body-weight: 520;
  --en-body-line-height: 1.7;
  --en-section-title-size: clamp(30px, 2.7vw, 34px);
  --en-card-title-size: clamp(24px, 2vw, 27px);
  --en-small-text-size: 18px;
}

html[lang] body:not(#aura-font-override):not(#aura-font-override):not(#aura-font-override):not(#aura-font-override),
html[lang] body:not(#aura-font-override):not(#aura-font-override):not(#aura-font-override):not(#aura-font-override) *:not(svg):not(svg *):not(.fa):not([class^="fa-"]):not([class*=" fa-"]):not(.material-icons):not(.material-symbols-outlined) {
  font-family: var(--aura-site-font) !important;
}

/* English type scale: component-scoped so prices, buttons and AURA MATRIX ONE stay independent. */
html[lang="en"] body.home-page.site-en :is(.cy-section-copy, .cy-module-text p, .cy-about-text p),
html[lang="en"] body.site-en:not(.en-oracle-final) main.detail-page-shell :is(.detail-panel p:not(.subtitle):not(.detail-price):not(.update-note), .detail-mini-card p),
html[lang="en"] body main.naming-page-shell :is(.naming-hero-copy p, .naming-intro, .naming-card p, .naming-visual-card p, .naming-audience-card p, .naming-step p, .naming-plan-description p, .naming-note p, .naming-list li),
html[lang="en"] body main.pay-page-shell :is(.pay-subtitle, .pay-panel p, .pay-note, .pay-list li) {
  color: var(--en-text-color) !important;
  font-size: var(--en-body-size) !important;
  font-weight: var(--en-body-weight) !important;
  line-height: var(--en-body-line-height) !important;
}

html[lang="en"] body.home-page.site-en .cy-module-text h3,
html[lang="en"] body.site-en:not(.en-oracle-final) main.detail-page-shell .detail-mini-card :is(h2, h3),
html[lang="en"] body main.naming-page-shell :is(.naming-card, .naming-visual-card, .naming-audience-card, .naming-step, .naming-plan) h3 {
  font-size: var(--en-card-title-size) !important;
  font-weight: 700 !important;
}

html[lang="en"] body.site-en:not(.en-oracle-final) main.detail-page-shell .detail-panel h1,
html[lang="en"] body main.naming-page-shell .naming-hero h1,
html[lang="en"] body main.pay-page-shell .pay-hero h1 {
  font-size: clamp(48px, 4.4vw, 56px) !important;
  font-weight: 700 !important;
}

html[lang="en"] body main.naming-page-shell .naming-section > h2,
html[lang="en"] body main.pay-page-shell .pay-panel h2 {
  font-size: var(--en-section-title-size) !important;
  font-weight: 700 !important;
}

html[lang="en"] body.site-en:not(.en-oracle-final) main.detail-page-shell .detail-panel .subtitle,
html[lang="en"] body main.naming-page-shell :is(.naming-hero-slogan, .naming-hero-subtitle) {
  font-size: clamp(27px, 2.4vw, 34px) !important;
  font-weight: 650 !important;
  line-height: 1.45 !important;
}

html[lang="en"] body.home-page.site-en :is(.cy-more, .section-label, .hint),
html[lang="en"] body main.naming-page-shell :is(.naming-eyebrow, .naming-tag, .naming-fit),
html[lang="en"] body main.pay-page-shell .pay-eyebrow {
  font-size: var(--en-small-text-size) !important;
}

/* Align repeated card rows by their real content, without oversized fixed title gaps. */
@media (min-width: 841px) {
  html[lang="en"] body.en-palm-final main.detail-page-shell .detail-grid .detail-mini-card,
  html[lang="en"] body main.naming-page-shell :is(.naming-value-grid .naming-card, .naming-audience-grid .naming-audience-card) {
    display: grid !important;
    grid-template-rows: subgrid !important;
    grid-row: span 2 !important;
    row-gap: 20px !important;
  }

  html[lang="en"] body main.naming-page-shell :is(.naming-method-grid, .naming-flow-grid) .naming-step,
  html[lang="en"] body main.naming-page-shell .naming-visual-grid .naming-visual-card {
    display: grid !important;
    grid-template-rows: subgrid !important;
    grid-row: span 3 !important;
    row-gap: 16px !important;
  }

  html[lang="en"] body main.naming-page-shell :is(.naming-card, .naming-visual-card, .naming-audience-card, .naming-step) > :is(h3, p) {
    height: auto !important;
    min-height: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
}

html[lang="en"] body .cy-footer-section .cy-wechat .footer-icon-medallion {
  background-size: 100% !important;
}

html[lang="en"] body .cy-footer-section :is(.cy-service-point, .cy-wechat) h3 {
  margin: 0 0 4px !important;
  font-size: 17px !important;
  font-weight: 680 !important;
  line-height: 1.35 !important;
}

html[lang="en"] body .cy-footer-section :is(.cy-service-point, .cy-wechat) p {
  margin: 0 !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 1.5 !important;
}

html[lang="en"] body:not(.en-oracle-final) .cy-footer-section :is(.cy-service-point, .cy-wechat) p {
  color: #405c70 !important;
}

html[lang="en"] body .cy-footer-section :is(.cy-service-point, .cy-wechat-copy) > div {
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  align-self: center !important;
}

html[lang] body:not(#aura-footer-override):not(#aura-footer-override):not(#aura-footer-override):not(#aura-footer-override) .cy-footer-section .cy-service-point:nth-child(1) .footer-icon-medallion {
  background-size: 125.4% !important;
}

html[lang] body:not(#aura-footer-override):not(#aura-footer-override):not(#aura-footer-override):not(#aura-footer-override) .cy-footer-section .cy-service-point:nth-child(2) .footer-icon-medallion {
  background-size: 125.5% !important;
}

html[lang] body:not(#aura-footer-override):not(#aura-footer-override):not(#aura-footer-override):not(#aura-footer-override) .cy-footer-section .cy-service-point:nth-child(3) .footer-icon-medallion {
  background-size: 120.1% !important;
}

html[lang] body:not(#aura-footer-override):not(#aura-footer-override):not(#aura-footer-override):not(#aura-footer-override) .cy-footer-section .cy-service-point:nth-child(4) .footer-icon-medallion {
  background-size: 128.5% !important;
}

html[lang] body:not(#aura-footer-override):not(#aura-footer-override):not(#aura-footer-override):not(#aura-footer-override) .cy-footer-section .cy-service-point:nth-child(5) .footer-icon-medallion {
  background-size: 100% !important;
}

html[lang] body .cy-footer-section .cy-service-point:nth-child(1) .footer-icon-medallion {
  background-size: 125.4% !important;
}

html[lang] body .cy-footer-section .cy-service-point:nth-child(2) .footer-icon-medallion {
  background-size: 125.5% !important;
}

html[lang] body .cy-footer-section .cy-service-point:nth-child(3) .footer-icon-medallion {
  background-size: 120.1% !important;
}

html[lang] body .cy-footer-section .cy-service-point:nth-child(4) .footer-icon-medallion {
  background-size: 128.5% !important;
}

html[lang] body .cy-footer-section .cy-service-point:nth-child(5) .footer-icon-medallion {
  background-size: 100% !important;
}

html[lang] body.site-cn .site-header {
  position: sticky !important;
  top: 0 !important;
  z-index: 999999 !important;
  min-width: 0 !important;
  background: rgba(255, 253, 248, 0.94) !important;
  border-bottom: 1px solid var(--header-line) !important;
  box-shadow: none !important;
  backdrop-filter: blur(16px) saturate(120%) !important;
  -webkit-backdrop-filter: blur(16px) saturate(120%) !important;
}

html[lang] body.site-cn .site-header .container.site-nav {
  width: min(1440px, calc(100% - 40px)) !important;
  max-width: 1440px !important;
  min-height: 82px !important;
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) auto !important;
  grid-template-rows: none !important;
  gap: clamp(12px, 1.2vw, 22px) !important;
  align-items: center !important;
  padding: 0 !important;
}

html[lang] body.site-cn .site-header .brand-logo,
html[lang] body.site-cn .site-header .brand-logo-img {
  display: block !important;
  width: 96px !important;
  height: 62px !important;
  max-width: none !important;
  object-fit: contain !important;
  object-position: left center !important;
}

/* The English mark is tightly cropped to its visible alpha boundary. Keep the
   header grid cell unchanged while allowing the mark itself to use its full
   104px desktop width. */
html[lang="en"] body.site-cn .site-header .brand-logo-img[src*="logo-aura-matrix-en-transparent-alpha-cropped.png"] {
  width: 96px !important;
  height: auto !important;
  max-width: none !important;
  object-fit: contain !important;
  object-position: left center !important;
}

/* The Chinese artwork has substantial transparent top and bottom margins.
   Its image box is intentionally larger so its visible mark matches the
   fully-filled English wordmark without changing the header grid geometry. */
html[lang="zh-CN"] body.site-cn .site-header .brand-logo-img,
html[lang="zh-Hant"] body.site-cn .site-header .brand-logo-img {
  width: 97.6px !important;
  height: 97.6px !important;
  max-width: none !important;
  object-fit: contain !important;
  object-position: center !important;
}

html[lang] body.site-cn .site-header .brand-logo-img[src*="logo-chenyao-starry-cyan-01.png"] {
  width: 101.1px !important;
  height: 101.1px !important;
}

html[lang] body.site-cn .site-header .brand-logo-img[src*="logo-chenyao-starry-violet-01.png"] {
  width: 100.1px !important;
  height: 100.1px !important;
}

/* Keep the existing Chinese logo dimensions; compensate only for transparent
   artwork margins so the visible mark sits at the optical centre of the header. */
html[lang="zh-CN"] body.site-cn .site-header .brand-logo-img,
html[lang="zh-Hant"] body.site-cn .site-header .brand-logo-img {
  position: relative !important;
  top: -20px !important;
  vertical-align: middle !important;
}

html[lang] body.site-cn .site-header .main-nav {
  display: flex !important;
  width: 100% !important;
  min-width: 0 !important;
  justify-self: stretch !important;
  align-items: center !important;
  justify-content: center !important;
  flex-wrap: nowrap !important;
  gap: clamp(32px, 2.5vw, 38px) !important;
  overflow: visible !important;
  color: var(--header-navy) !important;
  font-family: "Avenir Next", "Helvetica Neue", Arial, "PingFang SC", "Microsoft YaHei", sans-serif !important;
  font-size: clamp(17px, 1.25vw, 20px) !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  letter-spacing: 0 !important;
  white-space: nowrap !important;
}

html[lang] body.site-cn .site-header .main-nav a {
  display: inline-flex !important;
  min-width: 0 !important;
  min-height: 42px !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 5px 0 !important;
  color: var(--header-navy) !important;
  -webkit-text-fill-color: var(--header-navy) !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  font: inherit !important;
  text-align: center !important;
  white-space: nowrap !important;
}

html[lang] body.site-cn .site-header .main-nav a::after {
  content: none !important;
  display: none !important;
}

html[lang] body.site-cn .site-header .main-nav a.active,
html[lang] body.site-cn .site-header .main-nav a:hover {
  color: var(--header-gold) !important;
  -webkit-text-fill-color: var(--header-gold) !important;
}

html[lang] body.site-cn .site-header .language-switch {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: fit-content !important;
  min-width: 0 !important;
  flex: 0 0 auto !important;
  flex-wrap: nowrap !important;
  gap: clamp(18px, 1.4vw, 24px) !important;
  padding: 8px clamp(18px, 1.4vw, 24px) !important;
  border: 1.5px solid #A66D1F !important;
  border-radius: 999px !important;
  background: rgba(255, 250, 239, 0.92) !important;
  box-shadow: 0 4px 14px rgba(145, 95, 20, 0.08), inset 0 0 0 1px rgba(255, 240, 195, 0.25) !important;
  white-space: nowrap !important;
}

html[lang] body.site-cn .site-header .language-switch a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 3px 0 !important;
  border-radius: 999px !important;
  color: var(--header-navy) !important;
  -webkit-text-fill-color: var(--header-navy) !important;
  background: transparent !important;
  font-family: "Avenir Next", "Helvetica Neue", Arial, "PingFang SC", "Microsoft YaHei", sans-serif !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
}

html[lang] body.site-cn .site-header .language-switch a.active {
  color: #9A641D !important;
  -webkit-text-fill-color: #9A641D !important;
  font-weight: 700 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

html[lang] body.site-cn .site-header .language-switch a:hover {
  color: #9A641D !important;
  -webkit-text-fill-color: #9A641D !important;
  background: transparent !important;
}

@media (max-width: 1120px) and (min-width: 761px) {
  html[lang] body.site-cn .site-header .container.site-nav {
    width: calc(100% - 24px) !important;
    min-height: 76px !important;
    grid-template-columns: 88px minmax(0, 1fr) auto !important;
    gap: 10px !important;
  }

  html[lang] body.site-cn .site-header .main-nav {
    gap: 14px !important;
    font-size: 17px !important;
  }

  html[lang] body.site-cn .site-header .main-nav a {
    flex: 0 1 auto !important;
    min-height: 42px !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
  }

  html[lang] body.site-cn .site-header .language-switch a {
    padding-inline: 0 !important;
  }
}

@media (max-width: 760px) {
  html[lang] body.site-cn .site-header .container.site-nav {
    width: min(100% - 28px, 1440px) !important;
    min-height: 70px !important;
    grid-template-columns: 70px minmax(0, 1fr) auto !important;
    grid-template-rows: none !important;
    gap: 7px !important;
    padding: 0 !important;
  }

  html[lang] body.site-cn .site-header .brand-logo,
  html[lang] body.site-cn .site-header .brand-logo-img {
    width: 70px !important;
    height: 46px !important;
  }

  html[lang="en"] body.site-cn .site-header .brand-logo-img[src*="logo-aura-matrix-en-transparent-alpha-cropped.png"] {
    width: 77px !important;
    height: 46px !important;
    max-width: none !important;
  }

  html[lang="zh-CN"] body.site-cn .site-header .brand-logo-img,
  html[lang="zh-Hant"] body.site-cn .site-header .brand-logo-img {
    width: 71.2px !important;
    height: 71.2px !important;
  }

  html[lang] body.site-cn .site-header .brand-logo-img[src*="logo-chenyao-starry-cyan-01.png"] {
    width: 73.7px !important;
    height: 73.7px !important;
  }

  html[lang] body.site-cn .site-header .brand-logo-img[src*="logo-chenyao-starry-violet-01.png"] {
    width: 73px !important;
    height: 73px !important;
  }

  html[lang] body.site-cn .site-header .language-switch {
    justify-self: end !important;
    gap: 14px !important;
    padding: 7px 14px !important;
  }

  html[lang] body.site-cn .site-header .language-switch a {
    padding: 2px 0 !important;
    font-size: 13px !important;
  }

  html[lang] body.site-cn .site-header .main-nav {
    grid-column: auto !important;
    justify-content: flex-start !important;
    flex-wrap: nowrap !important;
    gap: 18px !important;
    font-size: 14px !important;
    white-space: nowrap !important;
    overflow-x: auto !important;
    overscroll-behavior-x: contain !important;
    scrollbar-width: none !important;
  }

  html[lang] body.site-cn .site-header .main-nav::-webkit-scrollbar {
    display: none !important;
  }

  html[lang] body.site-cn .site-header .main-nav a {
    min-height: 34px !important;
    flex: 0 0 auto !important;
  }
}

/* Final English component overrides: high specificity only where legacy page rules use !important. */
html[lang="en"] body:not(#en-final-scope).home-page.site-en.en-home-final :is(.cy-section-copy, .cy-module-text p, .cy-about-text p),
html[lang="en"] body:not(#en-final-scope).site-en:not(.en-oracle-final) main.detail-page-shell :is(.detail-panel p:not(.subtitle):not(.detail-price):not(.update-note), .detail-mini-card p),
html[lang="en"] body:not(#en-final-scope).site-cn main.naming-page-shell.naming-page-shell :is(.naming-hero-copy p, .naming-intro, .naming-card p, .naming-visual-card p, .naming-audience-card p, .naming-step p, .naming-plan-description p, .naming-note p, .naming-list li),
html[lang="en"] body:not(#en-final-scope).site-cn main.pay-page-shell.pay-page-shell :is(.pay-subtitle, .pay-panel p, .pay-note, .pay-list li) {
  color: var(--en-text-color) !important;
  font-size: var(--en-body-size) !important;
  font-weight: var(--en-body-weight) !important;
  line-height: var(--en-body-line-height) !important;
}

html[lang="en"] body:not(#en-final-scope).home-page.site-en.en-home-final .cy-module-text h3,
html[lang="en"] body:not(#en-final-scope).site-en:not(.en-oracle-final) main.detail-page-shell .detail-mini-card :is(h2, h3),
html[lang="en"] body:not(#en-final-scope).site-cn main.naming-page-shell.naming-page-shell :is(.naming-card, .naming-visual-card, .naming-audience-card, .naming-step, .naming-plan) h3 {
  font-size: var(--en-card-title-size) !important;
  font-weight: 700 !important;
}

html[lang="en"] body:not(#en-final-scope).site-en:not(.en-oracle-final) main.detail-page-shell .detail-panel h1,
html[lang="en"] body:not(#en-final-scope).site-cn main.naming-page-shell.naming-page-shell .naming-hero h1,
html[lang="en"] body:not(#en-final-scope).site-cn main.pay-page-shell.pay-page-shell .pay-hero h1 {
  font-size: clamp(48px, 4.4vw, 56px) !important;
  font-weight: 700 !important;
}

html[lang="en"] body:not(#en-final-scope).site-cn main.naming-page-shell.naming-page-shell .naming-section > h2,
html[lang="en"] body:not(#en-final-scope).site-cn main.pay-page-shell.pay-page-shell .pay-panel h2 {
  font-size: var(--en-section-title-size) !important;
  font-weight: 700 !important;
}

html[lang="en"] body:not(#en-final-scope).site-en:not(.en-oracle-final) main.detail-page-shell .detail-panel .subtitle,
html[lang="en"] body:not(#en-final-scope).site-cn main.naming-page-shell.naming-page-shell :is(.naming-hero-slogan, .naming-hero-subtitle) {
  font-size: clamp(27px, 2.4vw, 34px) !important;
  font-weight: 650 !important;
  line-height: 1.45 !important;
}

html[lang="en"] body.site-cn.site-cn.site-cn .cy-footer-section :is(.cy-service-point, .cy-wechat) h3 {
  margin: 0 0 4px !important;
  font-size: 17px !important;
  font-weight: 680 !important;
  line-height: 1.35 !important;
}

html[lang="en"] body.site-cn.site-cn.site-cn .cy-footer-section :is(.cy-service-point, .cy-wechat) p {
  margin: 0 !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 1.5 !important;
}

html[lang="en"] body.site-cn.site-cn.site-cn:not(.en-oracle-final) .cy-footer-section :is(.cy-service-point, .cy-wechat) p {
  color: #405c70 !important;
}

html[lang="en"] body.site-cn.site-cn.site-cn .site-header .main-nav {
  font-weight: 650 !important;
}

@media (min-width: 841px) {
  html[lang="en"] body:not(#en-final-scope).en-palm-final main.detail-page-shell .detail-grid .detail-mini-card,
  html[lang="en"] body:not(#en-final-scope).site-cn main.naming-page-shell.naming-page-shell :is(.naming-value-grid .naming-card, .naming-audience-grid .naming-audience-card) {
    display: grid !important;
    grid-template-rows: subgrid !important;
    grid-row: span 2 !important;
    row-gap: 20px !important;
  }

  html[lang="en"] body:not(#en-final-scope).site-cn main.naming-page-shell.naming-page-shell :is(.naming-method-grid, .naming-flow-grid) .naming-step,
  html[lang="en"] body:not(#en-final-scope).site-cn main.naming-page-shell.naming-page-shell .naming-visual-grid .naming-visual-card {
    display: grid !important;
    grid-template-rows: subgrid !important;
    grid-row: span 3 !important;
    row-gap: 16px !important;
  }

  html[lang="en"] body:not(#en-final-scope).site-cn main.naming-page-shell.naming-page-shell :is(.naming-card, .naming-visual-card, .naming-audience-card, .naming-step) > :is(h3, p) {
    height: auto !important;
    min-height: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
}

/* Keep the five naming-audience cards in a normal vertical flow; do not split a card into subgrid-sized halves. */
@media (min-width: 841px) {
  html[lang="en"] body:not(#naming-audience-fix).site-cn main.naming-page-shell.naming-page-shell .naming-audience-grid .naming-audience-card {
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    grid-template-rows: none !important;
    grid-row: auto !important;
    row-gap: 0 !important;
  }

  html[lang="en"] body:not(#naming-audience-fix).site-cn main.naming-page-shell.naming-page-shell .naming-audience-grid .naming-audience-card h3 {
    min-height: calc(2 * 1.3em) !important;
    margin: 0 !important;
    color: #2f7398 !important;
  }

  html[lang="en"] body:not(#naming-audience-fix).site-cn main.naming-page-shell.naming-page-shell .naming-audience-grid .naming-audience-card:nth-child(n + 4) h3 {
    min-height: calc(3 * 1.3em) !important;
  }

  html[lang="en"] body:not(#naming-audience-fix).site-cn main.naming-page-shell.naming-page-shell .naming-audience-grid .naming-audience-card p {
    margin: 28px 0 0 !important;
    color: #244f67 !important;
  }

  html[lang="en"] body.en-naming-final main.naming-page-shell.naming-page-shell .naming-audience-grid .naming-audience-card {
    min-height: 510.34375px !important;
  }

  html[lang="en"] body.site-cn:not(.site-en) main.naming-page-shell.naming-page-shell .naming-audience-grid .naming-audience-card {
    min-height: 597.734375px !important;
  }
}

/* English pages contain legacy page-level header rules with extra body classes. */
html[lang="en"] body.site-cn.site-cn.site-cn .site-header .container.site-nav {
  width: min(1440px, calc(100% - 40px)) !important;
  max-width: 1440px !important;
  min-height: 82px !important;
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) auto !important;
  grid-template-rows: none !important;
  gap: clamp(12px, 1.2vw, 22px) !important;
  align-items: center !important;
  padding: 0 !important;
}

html[lang="en"] body.site-cn.site-cn.site-cn .site-header .brand-logo,
html[lang="en"] body.site-cn.site-cn.site-cn .site-header .brand-logo-img:not([src*="logo-aura-matrix-en-transparent-alpha-cropped.png"]) {
  display: block !important;
  width: 96px !important;
  height: 62px !important;
  max-width: none !important;
  object-fit: contain !important;
  object-position: left center !important;
}

html[lang="en"] body.site-cn.site-cn.site-cn .site-header .main-nav {
  display: flex !important;
  width: 100% !important;
  min-width: 0 !important;
  justify-self: stretch !important;
  align-items: center !important;
  justify-content: center !important;
  flex-wrap: nowrap !important;
  gap: clamp(10px, 1vw, 14px) !important;
  overflow: visible !important;
  font-family: "Avenir Next", "Helvetica Neue", Arial, sans-serif !important;
  font-size: 18px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  letter-spacing: 0 !important;
  white-space: nowrap !important;
}

html[lang="en"] body.site-cn.site-cn.site-cn .site-header .main-nav a {
  display: inline-flex !important;
  flex: 0 0 auto !important;
  min-width: 0 !important;
  min-height: 42px !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 5px 0 !important;
  font: inherit !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
}

html[lang="en"] body.site-cn.site-cn.site-cn .site-header .language-switch {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: fit-content !important;
  min-width: 0 !important;
  flex: 0 0 auto !important;
  flex-wrap: nowrap !important;
  gap: clamp(18px, 1.4vw, 24px) !important;
  padding: 8px clamp(18px, 1.4vw, 24px) !important;
  border: 1.5px solid #A66D1F !important;
  border-radius: 999px !important;
  background: rgba(255, 250, 239, 0.92) !important;
  box-shadow: 0 4px 14px rgba(145, 95, 20, 0.08), inset 0 0 0 1px rgba(255, 240, 195, 0.25) !important;
  white-space: nowrap !important;
}

html[lang="en"] body.site-cn.site-cn.site-cn .site-header .language-switch a {
  display: inline-flex !important;
  padding: 3px 0 !important;
  font-family: "Avenir Next", "Helvetica Neue", Arial, sans-serif !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
}

html[lang="en"] body.site-cn.site-cn.site-cn .site-header .language-switch a.active {
  color: #9A641D !important;
  -webkit-text-fill-color: #9A641D !important;
  font-weight: 700 !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* English navigation uses authored line groups, never browser-selected wraps. */
html[lang="en"] body.site-cn.site-cn.site-cn .site-header .container.site-nav {
  min-height: 82px !important;
}

html[lang="en"] body.site-cn.site-cn.site-cn .site-header .main-nav {
  gap: clamp(29px, 2.1vw, 36px) !important;
  font-size: 18px !important;
  line-height: 1.06 !important;
}

html[lang="en"] body.site-cn.site-cn.site-cn .site-header .main-nav a {
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 0 !important;
  padding-block: 0 !important;
  line-height: 1.06 !important;
  text-align: center !important;
  white-space: nowrap !important;
}

html[lang="en"] body.site-cn.site-cn.site-cn .site-header .main-nav a > span {
  display: block !important;
}

@media (max-width: 1360px) and (min-width: 1121px) {
  html[lang="en"] body.site-cn.site-cn.site-cn .site-header .container.site-nav {
    width: calc(100% - 24px) !important;
    gap: 8px !important;
  }

  html[lang="en"] body.site-cn.site-cn.site-cn .site-header .main-nav {
    gap: clamp(20px, 2vw, 28px) !important;
    font-size: 18px !important;
  }
}

@media (max-width: 1120px) and (min-width: 761px) {
  html[lang="en"] body.site-cn.site-cn.site-cn .site-header .container.site-nav {
    width: calc(100% - 24px) !important;
    min-height: 76px !important;
    grid-template-columns: 88px minmax(0, 1fr) auto !important;
    gap: 10px !important;
  }

  html[lang="en"] body.site-cn.site-cn.site-cn .site-header .main-nav {
    justify-content: flex-start !important;
    gap: 4px !important;
    font-size: 18px !important;
    overflow-x: auto !important;
    overscroll-behavior-x: contain !important;
    scrollbar-width: none !important;
  }

  html[lang="en"] body.site-cn.site-cn.site-cn .site-header .main-nav::-webkit-scrollbar {
    display: none !important;
  }
}

@media (max-width: 1120px) and (min-width: 761px) {
  html[lang="en"] body.site-cn.site-cn.site-cn .site-header .container.site-nav {
    min-height: 76px !important;
  }

  html[lang="en"] body.site-cn.site-cn.site-cn .site-header .main-nav {
    gap: 12px !important;
  }
}

@media (max-width: 760px) {
  html[lang="en"] body.site-cn.site-cn.site-cn .site-header .container.site-nav {
    width: min(100% - 28px, 1440px) !important;
    min-height: 70px !important;
    grid-template-columns: 70px minmax(0, 1fr) auto !important;
    grid-template-rows: none !important;
    gap: 7px !important;
    padding: 0 !important;
  }

  html[lang="en"] body.site-cn.site-cn.site-cn .site-header .brand-logo,
  html[lang="en"] body.site-cn.site-cn.site-cn .site-header .brand-logo-img:not([src*="logo-aura-matrix-en-transparent-alpha-cropped.png"]) {
    width: 70px !important;
    height: 46px !important;
  }

  html[lang="en"] body.site-cn.site-cn.site-cn .site-header .main-nav {
    grid-column: auto !important;
    justify-content: flex-start !important;
    gap: 18px !important;
    font-size: 14px !important;
    overflow-x: auto !important;
    overscroll-behavior-x: contain !important;
    scrollbar-width: none !important;
  }

  html[lang="en"] body.site-cn.site-cn.site-cn .site-header .main-nav::-webkit-scrollbar {
    display: none !important;
  }

  html[lang="en"] body.site-cn.site-cn.site-cn .site-header .main-nav a {
    min-height: 34px !important;
  }

  html[lang="en"] body.site-cn.site-cn.site-cn .site-header .language-switch {
    gap: 14px !important;
    padding: 7px 14px !important;
  }

  html[lang="en"] body.site-cn.site-cn.site-cn .site-header .language-switch a {
    padding: 2px 0 !important;
    font-size: 13px !important;
  }
}

@media (max-width: 760px) {
  html[lang="zh-CN"] body.site-cn .site-header .brand-logo-img,
  html[lang="zh-Hant"] body.site-cn .site-header .brand-logo-img {
    top: -15px !important;
  }

  html[lang="en"] body.site-cn.site-cn.site-cn .site-header .container.site-nav {
    min-height: 82px !important;
  }

  html[lang="en"] body.site-cn.site-cn.site-cn .site-header .main-nav {
    gap: 14px !important;
    font-size: 17px !important;
  }

  html[lang="en"] body.site-cn.site-cn.site-cn .site-header .main-nav a {
    min-height: 48px !important;
  }
}

/* Keep this final so page-specific and header-specific type rules share one stack. */
html[lang] body:not(#aura-font-override):not(#aura-font-override):not(#aura-font-override):not(#aura-font-override),
html[lang] body:not(#aura-font-override):not(#aura-font-override):not(#aura-font-override):not(#aura-font-override) *:not(svg):not(svg *):not(.fa):not([class^="fa-"]):not([class*=" fa-"]):not(.material-icons):not(.material-symbols-outlined) {
  font-family: var(--aura-site-font) !important;
}

/* Final navigation scale: navigation only; active gold remains independent. */
html[lang] body.site-cn .site-header .main-nav {
  color: #0d3652 !important;
  font-size: 19px !important;
  font-weight: 650 !important;
}

html[lang="en"] body.site-cn.site-cn.site-cn .site-header .main-nav {
  font-size: 20px !important;
}

html[lang] body.site-cn .site-header .main-nav a {
  color: #0d3652 !important;
  -webkit-text-fill-color: #0d3652 !important;
}

html[lang] body.site-cn .site-header .main-nav a.active,
html[lang] body.site-cn .site-header .main-nav a:hover {
  color: var(--header-gold) !important;
  -webkit-text-fill-color: var(--header-gold) !important;
}

html[lang] body.site-cn .site-header .language-switch a {
  color: #0d3652 !important;
  -webkit-text-fill-color: #0d3652 !important;
  font-size: 16px !important;
  font-weight: 650 !important;
}

html[lang] body.site-cn .site-header .language-switch a.active,
html[lang] body.site-cn .site-header .language-switch a:hover {
  color: #9a641d !important;
  -webkit-text-fill-color: #9a641d !important;
}

@media (max-width: 760px) {
  html[lang] body.site-cn .site-header .main-nav {
    font-size: 15px !important;
  }

  html[lang="en"] body.site-cn.site-cn.site-cn .site-header .main-nav {
    font-size: 18px !important;
  }

  html[lang] body.site-cn .site-header .language-switch a,
  html[lang="en"] body.site-cn.site-cn.site-cn .site-header .language-switch a {
    font-size: 14px !important;
  }
}

/* Mobile header geometry: give navigation its own full-width row. */
@media (max-width: 760px) {
  html[lang] body.site-cn .site-header .container.site-nav,
  html[lang="en"] body.site-cn.site-cn.site-cn .site-header .container.site-nav {
    grid-template-columns: minmax(70px, 1fr) auto !important;
    grid-template-rows: 54px auto !important;
    min-height: 102px !important;
    column-gap: 12px !important;
    row-gap: 0 !important;
  }

  html[lang] body.site-cn .site-header .main-nav,
  html[lang="en"] body.site-cn.site-cn.site-cn .site-header .main-nav {
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
    width: 100% !important;
    padding: 0 2px 6px !important;
  }

html[lang] body.site-cn .site-header .language-switch,
  html[lang="en"] body.site-cn.site-cn.site-cn .site-header .language-switch {
    grid-column: 2 !important;
    grid-row: 1 !important;
  }
}

/* Final phone navigation contract: static source order remains horizontally scrollable. */
@media (max-width: 760px) {
  html[lang] body.site-cn .site-header .main-nav {
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    overscroll-behavior-x: contain !important;
    white-space: nowrap !important;
  }

  html[lang] body.site-cn .site-header .main-nav a {
    flex: 0 0 auto !important;
    white-space: nowrap !important;
  }

  html[lang="en"] body.site-en.site-en.site-en.site-cn .site-header .main-nav,
  html[lang="en"] body.site-en.site-en.site-en.site-cn .site-header .main-nav a {
    flex-wrap: nowrap !important;
    white-space: nowrap !important;
  }

  html[lang="en"] body.site-en.site-en.site-en.site-cn .site-header .main-nav {
    overflow-x: auto !important;
    overscroll-behavior-x: contain !important;
  }

  html[lang="en"] body.site-en.site-en.site-en.site-cn .site-header .main-nav a {
    flex: 0 0 auto !important;
  }

  html[lang] body.site-cn { overflow-x: hidden !important; }
}

/* Keep the English language switch inside the tablet header.  The legacy
   three-column tablet grid leaves its final column at zero width. */
@media (min-width: 761px) and (max-width: 900px) {
  html[lang="en"] body.site-en.site-en.site-cn .site-header .container.site-nav {
    grid-template-columns: minmax(96px, 1fr) auto !important;
    grid-template-rows: 62px auto !important;
    column-gap: 16px !important;
  }

  html[lang="en"] body.site-en.site-en.site-cn .site-header .brand-logo {
    grid-column: 1 !important;
    grid-row: 1 !important;
  }

  html[lang="en"] body.site-en.site-en.site-cn .site-header .language-switch {
    grid-column: 2 !important;
    grid-row: 1 !important;
    width: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    transform: none !important;
    justify-self: end !important;
    align-self: center !important;
  }

  html[lang="en"] body.site-en.site-en.site-cn .site-header .main-nav {
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
    width: 100% !important;
    min-width: 0 !important;
    overflow-x: auto !important;
    overscroll-behavior-x: contain !important;
  }
}

/* Recovery closeout: preserve the approved content while restoring the
   established full-width Hero and single-column responsive layouts. */
html[lang] body.site-cn main.naming-page-shell .naming-wrap {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

html[lang] body.site-cn main.naming-page-shell .naming-wrap > .naming-hero {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  border-left-width: 0 !important;
  border-right-width: 0 !important;
  border-radius: 0 !important;
}

@media (max-width: 860px) {
  html[lang^="zh"] body.home-page #about.cy-about-section {
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: auto auto auto auto !important;
  }

  html[lang^="zh"] body.home-page.home-page #about.cy-about-section > h2 {
    grid-column: 1 !important;
    grid-row: 1 !important;
  }

  html[lang^="zh"] body.home-page.home-page #about.cy-about-section > .am-about-final-founder {
    grid-column: 1 !important;
    grid-row: 2 !important;
  }

  html[lang^="zh"] body.home-page.home-page #about.cy-about-section > .cy-about-text {
    grid-column: 1 !important;
    grid-row: 3 !important;
  }

  html[lang^="zh"] body.home-page.home-page #about.cy-about-section > .cy-about-visual {
    grid-column: 1 !important;
    grid-row: 4 !important;
  }

  html[lang^="zh"] body.home-page #about.cy-about-section > .cy-about-visual,
  html[lang^="zh"] body.home-page #about.cy-about-section > .cy-about-text {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }
}

@media (max-width: 760px) {
  html[lang] body.site-cn main.naming-page-shell .naming-audience-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  html[lang] body.site-cn main.naming-page-shell .naming-audience-grid > .naming-audience-card {
    width: auto !important;
    min-width: 0 !important;
    grid-column: auto !important;
  }
}

@media (max-width: 600px) {
  html[lang="en"] body.site-cn.site-cn.site-cn.site-cn .cy-footer-section .cy-service-points {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  html[lang="en"] body.site-cn.site-cn.site-cn.site-cn .cy-footer-section .cy-service-point,
  html[lang="en"] body.site-cn.site-cn.site-cn.site-cn .cy-footer-section .cy-service-point > div,
  html[lang="en"] body.site-cn.site-cn.site-cn.site-cn .cy-footer-section .cy-service-point :is(h3, p) {
    width: auto !important;
    min-width: 0 !important;
    white-space: normal !important;
  }
}
