/* Launch typography and shared navigation. Original covers keep their own styles. */
:root {
  --launch-red: #7d1027;
  --launch-gold: #a67c35;
  --launch-ink: #252329;
  --launch-muted: #625a60;
  --launch-line: #e7dde0;
  --launch-sans: "Microsoft YaHei", "PingFang SC", Arial, sans-serif;
  --launch-serif: "Noto Serif SC", "SimSun", serif;
}

html.gq-preview body.gq-site-refined :is(main.section, main > .section) {
  color: var(--launch-ink);
  font-family: var(--launch-sans);
  font-size: 16px;
  line-height: 1.8;
}

html.gq-preview body.gq-site-refined .site-header :is(a, input, button, select) {
  font-family: var(--launch-sans);
}

html.gq-preview body.gq-site-refined .site-header .site-nav a {
  font-size: 15px !important;
  line-height: 1.5 !important;
  white-space: normal;
}

html.gq-preview body.gq-site-refined .site-search :is(input, button) {
  font-size: 14px !important;
}

html.gq-preview body.gq-site-refined .site-search-results .site-search-result strong {
  font-size: 15px !important;
  line-height: 1.7 !important;
}

html.gq-preview body.gq-site-refined .site-search-results .site-search-result span {
  font-size: 13px !important;
  line-height: 1.7 !important;
}

/* The local language interface can occupy this compact header slot. */
html.gq-preview .site-header .site-language-switcher {
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
  min-width: 0;
  margin-left: 12px;
}

html.gq-preview .site-header .site-language-switcher select {
  height: 38px;
  max-width: 112px;
  padding: 0 8px;
  border: 1px solid var(--launch-line);
  border-radius: 4px;
  background: #fff;
  color: var(--launch-red);
  font: 13px/1.5 var(--launch-sans);
}

html.gq-preview body.gq-site-refined .site-footer {
  padding: 40px 0 24px !important;
  font-family: var(--launch-sans);
}

html.gq-preview body.gq-site-refined .site-footer .site-purpose {
  margin-bottom: 24px;
  padding: 0 0 20px;
  color: #ecd6aa !important;
  font-size: 16px !important;
  line-height: 1.8 !important;
  text-wrap: balance;
}

html.gq-preview body.gq-site-refined .site-footer .footer-grid {
  gap: 32px !important;
  align-items: start;
  padding-bottom: 32px !important;
}

html.gq-preview body.gq-site-refined .site-footer .footer-grid > * { min-width: 0; }

html.gq-preview body.gq-site-refined .site-footer .footer-grid h2 {
  margin-bottom: 16px !important;
  color: #ecd6aa !important;
  font: 600 16px/1.5 var(--launch-sans) !important;
}

html.gq-preview body.gq-site-refined .site-footer .footer-brand h2 {
  color: #fff !important;
  font-size: 24px !important;
}

html.gq-preview body.gq-site-refined .site-footer :is(.footer-desc, .footer-grid li, .footer-grid a) {
  font-size: 15px !important;
  line-height: 1.85 !important;
  overflow-wrap: anywhere;
}

html.gq-preview body.gq-site-refined .site-footer .footer-desc { max-width: 38ch; }

html.gq-preview body.gq-site-refined .site-footer .footer-bottom {
  font-size: 13px !important;
  line-height: 1.8 !important;
  overflow-wrap: anywhere;
}

html.gq-preview body.gq-site-refined .site-footer .footer-bottom-inline {
  gap: 12px 24px !important;
  flex-wrap: wrap;
}

@media (max-width: 980px) {
  /* Existing menu controls still open, close and restore focus; the entries form a PC-style row. */
  html.gq-preview body.gq-site-refined .site-header .site-nav {
    top: 68px !important;
    right: 0 !important;
    left: 0 !important;
    bottom: auto !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 0 16px !important;
    border: 0 !important;
    border-bottom: 1px solid var(--launch-line) !important;
    background: #fff !important;
    box-shadow: 0 8px 24px rgba(37, 35, 41, .1) !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    transform: translateY(-120%) !important;
    scrollbar-width: thin;
  }

  html.gq-preview body.gq-site-refined .site-header .site-nav.open { transform: none !important; }

  html.gq-preview body.gq-site-refined .site-header .site-nav ul {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    width: max-content !important;
    min-width: 100%;
    gap: 0 !important;
  }

  html.gq-preview body.gq-site-refined .site-header .site-nav li { flex: 0 0 auto; width: auto !important; }

  html.gq-preview body.gq-site-refined .site-header .site-nav a {
    width: auto !important;
    min-height: 50px !important;
    padding: 0 16px !important;
    border-bottom: 0 !important;
    white-space: nowrap;
  }

  html.gq-preview body.gq-site-refined .site-header .preview-nav-join-source { margin: 0 !important; }
  html.gq-preview .site-header .site-language-switcher { margin-left: 6px; }
  html.gq-preview .site-header .site-language-switcher select { max-width: 72px; height: 36px; font-size: 12px; }
}

@media (max-width: 700px) {
  html.gq-preview body.gq-site-refined .site-footer .footer-grid {
    grid-template-columns: 190px repeat(3, 110px) !important;
    gap: 20px !important;
    overflow-x: auto;
    padding-bottom: 24px !important;
    scrollbar-width: thin;
  }

  html.gq-preview body.gq-site-refined .site-footer :is(.footer-desc, .footer-grid li, .footer-grid a) {
    font-size: 14px !important;
  }
}


/* Homepage footer: a compact four-column directory with the original contact content. */
html.gq-preview body.home-page.gq-preview-index.gq-site-refined .site-footer {
  padding: 28px 0 16px !important;
}

html.gq-preview body.home-page.gq-preview-index.gq-site-refined .site-footer .site-purpose {
  margin-bottom: 18px !important;
  padding: 0 0 12px !important;
}

html.gq-preview body.home-page.gq-preview-index.gq-site-refined .site-footer .footer-grid {
  grid-template-columns: minmax(280px, 1.45fr) repeat(3, minmax(160px, .7fr)) !important;
  gap: 24px !important;
  margin-bottom: 0 !important;
  padding-bottom: 12px !important;
}

html.gq-preview body.home-page.gq-preview-index.gq-site-refined .site-footer .footer-brand {
  grid-column: auto !important;
}

html.gq-preview body.home-page.gq-preview-index.gq-site-refined .site-footer .footer-logo {
  margin-bottom: 8px !important;
}

html.gq-preview body.home-page.gq-preview-index.gq-site-refined .site-footer .footer-grid h2 {
  margin: 0 0 8px !important;
}

html.gq-preview body.home-page.gq-preview-index.gq-site-refined .site-footer .footer-desc {
  margin-bottom: 12px !important;
  line-height: 1.7 !important;
}

html.gq-preview body.home-page.gq-preview-index.gq-site-refined .site-footer .footer-join-cta {
  min-height: 44px !important;
}

html.gq-preview body.home-page.gq-preview-index.gq-site-refined .site-footer .footer-grid ul {
  gap: 0 !important;
}

html.gq-preview body.home-page.gq-preview-index.gq-site-refined .site-footer .footer-grid li {
  margin: 0 !important;
  padding: 0 !important;
}

html.gq-preview body.home-page.gq-preview-index.gq-site-refined .site-footer .footer-grid li a {
  min-height: 40px !important;
  max-width: 100%;
  padding: 4px 0 !important;
  line-height: 1.7 !important;
}

html.gq-preview body.home-page.gq-preview-index.gq-site-refined .site-footer .footer-contact {
  padding: 8px 0 10px !important;
}

html.gq-preview body.home-page.gq-preview-index.gq-site-refined .site-footer .footer-bottom {
  margin: 0 !important;
  padding-top: 12px !important;
}

@media (max-width: 980px) {
  html.gq-preview body.home-page.gq-preview-index.gq-site-refined .site-footer {
    padding: 24px 0 14px !important;
  }

  html.gq-preview body.home-page.gq-preview-index.gq-site-refined .site-footer .site-purpose {
    margin-bottom: 16px !important;
    padding-bottom: 10px !important;
  }

  html.gq-preview body.home-page.gq-preview-index.gq-site-refined .site-footer .footer-grid {
    grid-template-columns: 190px repeat(3, 150px) !important;
    gap: 16px !important;
    padding-bottom: 12px !important;
    overflow-x: auto;
    scrollbar-width: thin;
    scroll-padding-inline: 8px;
  }

  html.gq-preview body.home-page.gq-preview-index.gq-site-refined .site-footer .footer-grid li a {
    min-height: 44px !important;
  }
}
